<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Just a Blog in the Park</title><link>/</link><description>Recent content on Just a Blog in the Park</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>&amp;copy; &lt;a href="https://github.com/Artiavis"&gt;Jeff Rabinowitz&lt;/a&gt;, 2025</copyright><lastBuildDate>Sun, 03 Jul 2022 16:00:00 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>I Bought a Happy Hacking Keyboard</title><link>/2022/07/03/i-bought-a-happy-hacking-keyboard/</link><pubDate>Sun, 03 Jul 2022 16:00:00 -0400</pubDate><guid>/2022/07/03/i-bought-a-happy-hacking-keyboard/</guid><description>&lt;p&gt;A few months ago, a coworker (unwittingly) sent me down a keyboard-enthusiast rabbit-hole. My frenetic journey culminated in purchasing the &lt;a href="https://hhkeyboard.us/hhkb/pro-hybrid-type-s"&gt;Happy Hacking Keyboard Professional Hybrid Type-S&lt;/a&gt;, the fanciest model in the Happy Hacking Keyboard (&amp;ldquo;HHKB&amp;rdquo;) family of keyboards. I though I&amp;rsquo;d share my thoughts and impressions with you, in case you&amp;rsquo;re curious and want to learn more.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.justabloginthepark.com/img/2022/XT301126.jpeg"
alt="Photograph of the Happy Hacking Keyboard Professional Hybrid Type-S"&gt;
&lt;/figure&gt;
&lt;h2 id="my-rating-of-the-hhkb"&gt;My Rating of the HHKB&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;You can click on the categories in the table below to jump to the relevant section in this post.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>I Got an Instant Pot</title><link>/2021/06/27/i-got-an-instant-pot/</link><pubDate>Sun, 27 Jun 2021 19:37:52 -0400</pubDate><guid>/2021/06/27/i-got-an-instant-pot/</guid><description>&lt;h2 id="i-got-an-instant-pot"&gt;I Got an Instant Pot&lt;/h2&gt;
&lt;p&gt;Last year, I picked up an &lt;a href="https://en.wikipedia.org/wiki/Instant_Pot"&gt;Instant Pot&lt;/a&gt; multi cooker, thinking it would simplify cooking dinner on weeknights. Now that I&amp;rsquo;ve owned and used it for about 9 months, I&amp;rsquo;d like to share what I like about it, and what I don’t. For the record, I’m using the basic &lt;a href="https://amazon.com/dp/B00FLYWNYQ/"&gt;Instant Pot Duo 6-quart model&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="capabilities-i-use"&gt;Capabilities I Use&lt;/h3&gt;
&lt;p&gt;The Instant Pot is sort of like a &lt;a href="https://en.wikipedia.org/wiki/Dutch_oven"&gt;Dutch Oven&lt;/a&gt; — it’s a thick-bottomed steel pot that can sauté, steam, and pressure cook food. And, much like a Dutch Oven, it’s very handy that quite a few recipes can be made in a single pot, which simplifies preparation and cleanup.&lt;/p&gt;</description></item><item><title>Turning Over a New Writing Leaf</title><link>/2021/01/18/turning-over-a-new-writing-leaf/</link><pubDate>Mon, 18 Jan 2021 20:30:00 -0500</pubDate><guid>/2021/01/18/turning-over-a-new-writing-leaf/</guid><description>&lt;p&gt;Have you ever known that you wanted to write about something, but weren&amp;rsquo;t sure where to start? I&amp;rsquo;ve often experienced that when writing for this very blog. I&amp;rsquo;ll have a topic like &lt;a href="https://www.justabloginthepark.com/tags/programming"&gt;programming&lt;/a&gt; or &lt;a href="https://www.justabloginthepark.com/tags/cooking"&gt;cooking&lt;/a&gt; that I want to share a thought about, and get stuck&amp;hellip; starting. That&amp;rsquo;s one of the reasons I haven&amp;rsquo;t been blogging as often as I&amp;rsquo;d have liked to.&lt;/p&gt;
&lt;p&gt;In order to tackle this &amp;ldquo;writer&amp;rsquo;s block&amp;rdquo;, I&amp;rsquo;m going to try changing my blogging approach in three related ways: setting explicit writing goals, taking notes towards those ends, and not rushing the writing process.&lt;/p&gt;</description></item><item><title>Saving TiddlyWiki Documents</title><link>/2021/01/01/saving-tiddlywiki-documents/</link><pubDate>Fri, 01 Jan 2021 13:34:59 -0500</pubDate><guid>/2021/01/01/saving-tiddlywiki-documents/</guid><description>&lt;p&gt;Using a TiddlyWiki is a tale of two cities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Each TiddlyWiki document is a single HTML file &lt;a href="https://tiddlywiki.com/#Quine"&gt;that contains 100% of its own source code and data&lt;/a&gt; and &lt;a href="https://tiddlywiki.com/#BrowserCompatibility"&gt;is compatible with all modern browsers&lt;/a&gt; (and operating systems). Therefore, opening and reading a TiddlyWiki couldn&amp;rsquo;t be simpler.&lt;/li&gt;
&lt;li&gt;On the other hand, editing TiddlyWiki is a bit messy if done without a plugin.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;With a plugin&lt;/em&gt;, editing and saving a TiddlyWiki happens &amp;ldquo;in-place&amp;rdquo;, the same as with a Microsoft Word document (or the like). If I edit &lt;code&gt;mytiddlywiki.html&lt;/code&gt; from my &lt;code&gt;Downloads&lt;/code&gt; folder, I can save back to &lt;code&gt;mytiddlywiki.html&lt;/code&gt; in my &lt;code&gt;Downloads&lt;/code&gt; folder.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Without a plugin&lt;/em&gt;, editing and saving a TiddlyWiki spits out a _clone of the modified wiki. If I edit &lt;code&gt;mytiddlywiki.html&lt;/code&gt; from my &lt;code&gt;Downloads&lt;/code&gt; folder, I can save &lt;code&gt;mytiddlywiki copy.html&lt;/code&gt;, but I won&amp;rsquo;t be able to save back to &lt;code&gt;mytiddlywiki.html&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For that reason, serious users of TiddlyWiki should adopt an app or plugin which allows saving TiddlyWikis in-place.&lt;/p&gt;</description></item><item><title>Interesting TiddlyWiki Apps</title><link>/2020/12/31/interesting-tiddlywiki-apps/</link><pubDate>Thu, 31 Dec 2020 08:30:00 -0500</pubDate><guid>/2020/12/31/interesting-tiddlywiki-apps/</guid><description>&lt;p&gt;I continue to be fascinated by the world of TiddlyWiki, and have been trying
to scratch an itch in my mind by learning more about it.
One of the deeper aspects of TiddlyWiki, called out by its creator
Jeremy Ruston (&lt;a href="https://jermolene.com/)"&gt;https://jermolene.com/)&lt;/a&gt;, is that TiddlyWiki can be leveraged
by non-software-developers to craft ad-hoc, well-tailored informational
&amp;ldquo;apps&amp;rdquo;. This is very similar to how non-software-developers have used
Microsoft Excel&amp;rsquo;s spreadsheet-scripting to do likewise in business,
crafting custom programs to meet a need, without paying for software developers
to get into the mix.
And this is bolstered by how TiddlyWiki is entirely self contained
(see &lt;a href="https://www.justabloginthepark.com/2020/12/29/playing-with-tiddlywiki/"&gt;Playing with TiddlyWiki&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Playing with Tiddlywiki</title><link>/2020/12/29/playing-with-tiddlywiki/</link><pubDate>Tue, 29 Dec 2020 08:05:04 -0500</pubDate><guid>/2020/12/29/playing-with-tiddlywiki/</guid><description>&lt;p&gt;People who are close to me know that I have a bit of a thing for Productivity
Software of all shapes and sizes. I&amp;rsquo;m usually a categorical thinker; I rely on
notes (either my own or those others put up online) to acquire specialized
knowledge in a variety of subjects, which I then bring to the table at work
and at home. Therefore, I&amp;rsquo;ve had an on-again-off-again affair with various
note-taking apps. I certainly haven&amp;rsquo;t tried them all, but I&amp;rsquo;ve tried a few,
and had trouble sticking with them. And I&amp;rsquo;m here today to talk about my
latest experiment, which is
&lt;a href="https://tiddlywiki.com/"&gt;TiddlyWiki&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Moka Notes</title><link>/2020/05/10/moka-notes/</link><pubDate>Sun, 10 May 2020 12:17:52 -0400</pubDate><guid>/2020/05/10/moka-notes/</guid><description>&lt;p&gt;Over the winter, with some prodding from a friend in the neighborhood,
I decided to get into making coffee from scratch. And I decided to
jump into the deep end with
&lt;a href="https://en.wikipedia.org/wiki/Moka_pot"&gt;Moka Pot&lt;/a&gt;
(sometimes known as a &amp;ldquo;stove-top espresso maker&amp;rdquo;).&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.justabloginthepark.com/img/2020/05/10/Moka.jpg"
alt="Moka Pot Brewing Coffee"&gt;&lt;figcaption&gt;
&lt;p&gt;Coffee brewing with a Moka pot.&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Moka pots are more popular in Europe, but can be found all over the
world; they&amp;rsquo;ve been around since the 1930&amp;rsquo;s. The Moka pot is a
stove-top coffee pot which approximates espresso while not costing
a small fortune (as opposed to espresso makers which can be pricey).
They come in a variety of sizes; and size &lt;em&gt;does matter&lt;/em&gt; when it comes
to Moka pot. Moka pots are sold in increments of &amp;ldquo;cup&amp;rdquo; sizes, where
each &amp;ldquo;cup&amp;rdquo; corresponds with a single-shot of Moka &amp;ldquo;espresso&amp;rdquo;;
exactly that much &amp;ldquo;espresso&amp;rdquo; must be brewed every time for
consistent (or even decent) results.&lt;/p&gt;</description></item><item><title>Recommended Programming Languages for High School Students</title><link>/2020/02/02/recommended-programming-languages-for-high-school-students/</link><pubDate>Sun, 02 Feb 2020 22:00:00 -0500</pubDate><guid>/2020/02/02/recommended-programming-languages-for-high-school-students/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: All opinions expressed herein are my own and don&amp;rsquo;t necessarily
reflect that of my employer.&lt;/em&gt;
&lt;em&gt;&lt;strong&gt;Caveat&lt;/strong&gt;: I hold these opinions and make these recommendations specifically
with respect to high school students (or casual hobbyists).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I have a friend in my neighborhood who teaches high school computer science.
When she happened to mention that she was trying a new curriculum for one of
her classes, I asked her which programming language she was planning to use
in her class. She said that she hadn&amp;rsquo;t quite decided yet, but was leaning
towards JavaScript, because it&amp;rsquo;s ubiquitous and (importantly!) runs well on her
school&amp;rsquo;s Chromebook machines.
Upon hearing that she was favoring JavaScript,
I ran my mouth and
recommend that she instead consider Python.
Based on my professional experience with both JavaScript and Python,
I feel comfortable stating that JavaScript has quite a few pitfalls in terms of
learning, and has a non-trivial path to writing high-quality code.
I also feel comfortable stating that Python has a number of educational virtues,
and has a fairly strong path for students to learn to write high-quality code.&lt;/p&gt;</description></item><item><title>The Upgrade: Fujifilm X-T30</title><link>/2019/09/01/the-upgrade-fujifilm-x-t30/</link><pubDate>Sun, 01 Sep 2019 12:00:00 -0400</pubDate><guid>/2019/09/01/the-upgrade-fujifilm-x-t30/</guid><description>&lt;p&gt;&lt;em&gt;Disclaimer: All thoughts here are my own; this is not an endorsement of any products,
brands, or media channels.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A little bit over two years ago, I got back into photography with
&lt;a href="https://www.justabloginthepark.com/2017/08/13/fuji-x100t/"&gt;my purchase of the Fujifilm X100T&lt;/a&gt;.
(You can see many of my exploits with it over in &lt;a href="https://www.justabloginthepark.com/photos"&gt;my photo gallery&lt;/a&gt;;
most of the older photos were taken with it.)
What I loved about that camera &amp;ndash; and still enjoy about it, really &amp;ndash; is how
&amp;ldquo;connected&amp;rdquo; I feel to photography using it. It has no extraneous bells or
whistles, and puts the photographer in charge of the photographic trinity
(aperture, shutter speed, ISO). It feels like an extension of the photographer.&lt;/p&gt;</description></item><item><title>Tiny Talk in Scheme</title><link>/2019/06/02/tiny-talk-in-scheme/</link><pubDate>Sun, 02 Jun 2019 18:07:26 -0400</pubDate><guid>/2019/06/02/tiny-talk-in-scheme/</guid><description>&lt;p&gt;A while back, I started tinkering with a new flavor of Lisp (for me):
&lt;a href="https://en.wikipedia.org/wiki/Scheme_(programming_language)"&gt;Scheme&lt;/a&gt;,
using the
&lt;a href="https://cisco.github.io/ChezScheme/"&gt;ChezScheme&lt;/a&gt;
dialect.
A Scheme-compliant Lisp is one which (among some other bits) implements a faily
minimal set of functions/macros; simple string manipulations, data
structures and compound data types, basic math and I/O,
and a fairly sophisticated function definition, error handling, and hygienic macro facility
(a full summary of the language spec can be found &lt;a href="https://www.scheme.com/tspl4/summary.html#./summary:h0"&gt;here&lt;/a&gt;).
I chose Chez Scheme because of its fascinating heritage as an industrial-strengh
production-ready Scheme dialect, and because it seemed more traditional (being fully self-hosted);
but that&amp;rsquo;s a conversation for another post.&lt;/p&gt;</description></item><item><title>Learning Speedlights with Nikon SB-900</title><link>/2018/08/25/learning-speedlights-with-nikon-sb-900/</link><pubDate>Sat, 25 Aug 2018 21:51:13 -0400</pubDate><guid>/2018/08/25/learning-speedlights-with-nikon-sb-900/</guid><description>&lt;p&gt;&lt;a href="https://www.justabloginthepark.com/2018/08/21/the-switch-nikon-d700/"&gt;A few days ago I wrote about my experience shooting with the Nikon D700&lt;/a&gt;.
At the time, I mentioned that I had borrowed the Nikon SB-900 speedlight (now discontinued)
with which to learn the beginnings of flash photography; not wanting to go on a
complete tangent about my learnings about flash photography, I didn&amp;rsquo;t dwell on it then.
Today, though, I&amp;rsquo;d like to share some of my earliest learnings using the SB-900.
I used the book
&amp;ldquo;
&lt;a href="https://amazon.com/dp/0817439560"&gt;Understanding Flash Photography&lt;/a&gt;
&amp;rdquo; by Bryan Peterson
as a learning reference. (I don&amp;rsquo;t think it&amp;rsquo;s necessarily the best book for this purpose,
but it served well enough as a learning reference. If I was looking to get into professional
portraiture or event photography, I&amp;rsquo;d no doubt get a book on that specifically.)&lt;/p&gt;</description></item><item><title>The Switch – Nikon D700</title><link>/2018/08/21/the-switch-nikon-d700/</link><pubDate>Tue, 21 Aug 2018 21:17:19 -0400</pubDate><guid>/2018/08/21/the-switch-nikon-d700/</guid><description>&lt;p&gt;At the beginning of July,
&lt;a href="https://www.justabloginthepark.com/2018/07/04/one-year-with-fujifilm-x100t/"&gt;I commemorated one year with the Fujifilm X100T&lt;/a&gt;.
Although it
is more targeted &lt;em&gt;and&lt;/em&gt; limited than an interchangeable-lens (ILC) camera.
I really believe this limitation is a huge boon for learning.
The rangefinder-styled camera, with a fast fixed-perspective lens, moves without
my conscious intervention to capture a fleeting vision, the same way that a spoonful
of soup just rises from my bowl and up to my mouth without really registering in my mind.
When I think back to my high school photography, tinkering with my
father&amp;rsquo;s DSLR, that whole affair seems rather crude by comparison.
&amp;ldquo;&lt;a href="http://allthetropes.wikia.com/wiki/Elegant_Weapon_for_a_More_Civilized_Age"&gt;A more elegant weapon, for a more civilized age&lt;/a&gt;,&amp;rdquo;
is an apt comparison between the nimble, even diminutive
&lt;a href="https://en.wikipedia.org/wiki/Rangefinder_camera"&gt;rangefinder&lt;/a&gt; over the overwrought,
glass-clad hand-cannon we call the
&lt;a href="https://en.wikipedia.org/wiki/Single-lens_reflex_camera"&gt;SLR&lt;/a&gt;.
Only once I freed myself of the concerns of lenses and zooms, and sat down to
&lt;a href="https://amazon.com/dp/1607748509"&gt;learn exposure in earnest&lt;/a&gt;
, could I come back
to face the terrible SLR. So when my father offered to lend me his main SLR gear bag
for a few weeks, I accepted with trepidation, and lent him my X100 in turn.&lt;/p&gt;</description></item><item><title>The Legend of Zelda: Breath of the Wild Review</title><link>/2018/08/12/the-legend-of-zelda-breath-of-the-wild-review/</link><pubDate>Sun, 12 Aug 2018 11:30:00 -0400</pubDate><guid>/2018/08/12/the-legend-of-zelda-breath-of-the-wild-review/</guid><description>&lt;p&gt;This summer, I finally pulled the trigger and picked up a Nintendo Switch, so
that I could play &amp;ldquo;Breath of the Wild&amp;rdquo;. (A friend was kind enough to lend me his
copy so that I didn&amp;rsquo;t need to pay $60 out of pocket.) I know I&amp;rsquo;m well over a year
late to the game, but I still wanted to briefly share my thoughts.&lt;/p&gt;
&lt;p&gt;&lt;a href="#takeaways"&gt;TL;DR skip to the conclusion already!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Warning: Very minor spoilers below, unless you skip the conclusion.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>One year with Fujifilm X100T</title><link>/2018/07/04/one-year-with-fujifilm-x100t/</link><pubDate>Wed, 04 Jul 2018 12:11:14 -0400</pubDate><guid>/2018/07/04/one-year-with-fujifilm-x100t/</guid><description>&lt;p&gt;One year ago today, I resumed my long-adjourned photography hobby,
&lt;a href="https://www.justabloginthepark.com/2017/08/13/fuji-x100t/"&gt;with the Fujifilm X100T&lt;/a&gt;.
There&amp;rsquo;s two thoughts I&amp;rsquo;d like to share today.
You can see some of my photos at &lt;a href="https://www.justabloginthepark.com/photos"&gt;my photo gallery&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="fujifilm-x100t--a-retrospective"&gt;Fujifilm X100T &amp;ndash; a retrospective&lt;/h2&gt;
&lt;p&gt;I still think that the Fuji X100T was one of the best possible cameras I could
have picked up at the time. Its great manual controls and compact size made it
a great camera for learning and taking everywhere. Its classic styling and
compact size makes it a secret weapon in the hands of someone moderately
experienced, as it can go toe-to-toe with a crop-sized DSLR in its areas of
strength, all while not intimidating to friends and family.
And its integration with the
&lt;a href="https://www.justabloginthepark.com/2017/11/29/fujifilm-instax-sp-2-the-friendly-portable-photograph-printer/"&gt;Instax SP2 smartphone printer&lt;/a&gt;
are great, both for starting conversations, and for handing out keepsakes.&lt;/p&gt;</description></item><item><title>Photoswipe Hugo gallery</title><link>/2018/06/24/photoswipe-hugo-gallery/</link><pubDate>Sun, 24 Jun 2018 18:22:04 -0400</pubDate><guid>/2018/06/24/photoswipe-hugo-gallery/</guid><description>&lt;p&gt;As I&amp;rsquo;ve recently gotten
&lt;a href="https://www.justabloginthepark.com/2017/08/13/fuji-x100t/"&gt;more&lt;/a&gt;
&lt;a href="https://www.justabloginthepark.com/2017/12/05/fuji-tcl-x100-ii/"&gt;into&lt;/a&gt;
&lt;a href="https://www.justabloginthepark.com/2017/12/17/asking-about-camera-advice/"&gt;photography&lt;/a&gt;,
I&amp;rsquo;ve been feeling the dearth of a gallery on this site.
While I&amp;rsquo;ve recently
&lt;a href="https://www.instagram.com/artiavis/"&gt;dusted off my Instagram account&lt;/a&gt;,
I still want to be able to share my better pictures without forcing my visitors
to enter Facebook&amp;rsquo;s internet dragnet. So I started looking at options.&lt;/p&gt;
&lt;p&gt;The first, and most obvious choice, was to see about whether I could scrape
photos or photo links from my Instagram and mirror them here. While this
does exist, and there are third-party services who will mirror images for you,
there isn&amp;rsquo;t an easy and standalone way to mirror my Instagram here.
Not being interested in linking individual Instagram posts onto this blog, I went
looking for something a bit less heavy and overwrought.&lt;/p&gt;</description></item><item><title>Fuji LH X100 lens hood</title><link>/2018/05/22/fuji-lh-x100-lens-hood/</link><pubDate>Tue, 22 May 2018 21:59:35 -0400</pubDate><guid>/2018/05/22/fuji-lh-x100-lens-hood/</guid><description>&lt;p&gt;In the continuation of my slow but inexorable backslide into the Fuji camera gear
universe, I recently picked up a secondhand lens hood for my
&lt;a href="https://www.justabloginthepark.com/2017/08/13/fuji-x100t/"&gt;X100T&lt;/a&gt;. Although it was a bit on the
expensive side, I figured the construction would be of higher quality and more
natural looking (in keeping with the traditional charm of the camera itself).&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.justabloginthepark.com/img/2018/05/22/LH-X100T.jpg"&gt;
&lt;/figure&gt;
&lt;h2 id="construction-and-fit"&gt;Construction and fit&lt;/h2&gt;
&lt;p&gt;The lens hood system comprises two pieces, and adapter which threads onto the
front of the base lens; and the hood itself, which cleverly twists and locks onto
flanges on the edge of the adapter.&lt;/p&gt;</description></item><item><title>Making chicken stock from scratch</title><link>/2018/04/09/making-chicken-stock-from-scratch/</link><pubDate>Mon, 09 Apr 2018 19:07:51 -0400</pubDate><guid>/2018/04/09/making-chicken-stock-from-scratch/</guid><description>&lt;p&gt;Yesterday, I woke up and decided to try and make chicken stock from scratch.
And, after another ten minutes of
reflection, I further resolved to make it &amp;ldquo;from scratch&amp;rdquo; if at all possible.
I rushed out the door to go grocery shopping, and grabbed the first set of ingredients:
soup greens. Then, while I was at the butcher, I grabbed the second set of ingredients:
chicken bones (prepackaged). (The bones ran me about $5, but my butcher charges a lot
because they&amp;rsquo;re the only game in town; I&amp;rsquo;m pretty sure at other places it would
be cheaper.)&lt;/p&gt;</description></item><item><title>Computer Backup Methodologies</title><link>/2018/03/27/computer-backup-methodologies/</link><pubDate>Tue, 27 Mar 2018 22:58:22 -0400</pubDate><guid>/2018/03/27/computer-backup-methodologies/</guid><description>&lt;p&gt;I was chatting with my dad the other day, and the topic of backing up computers
came up. At the moment, he uses the &amp;ldquo;Time Machine&amp;rdquo; feature built into his aging
MacBook Pro to do backups of his hard drive. However, his Time Machine is backing
up to an already tired external USB hard drive, and he&amp;rsquo;s now at the point where
both his laptop and his USB hard drive are at risk of keeling over whenever.
What should he be doing in his situation?&lt;/p&gt;</description></item><item><title>Review: Java Concurrency in Practice</title><link>/2018/03/17/review-java-concurrency-in-practice/</link><pubDate>Sat, 17 Mar 2018 23:50:00 -0400</pubDate><guid>/2018/03/17/review-java-concurrency-in-practice/</guid><description>&lt;p&gt;I was recently assigned to a new project at work, which requires some concurrent
programming. I&amp;rsquo;ve long put off investing in any formal Java programming texts,
partly out of thriftiness and partially because none of the professional
programming I&amp;rsquo;ve done to date required a formal education/reading of relevant
texts to avoid writing completely incorrect code. Usually in line-of-business
application development, a sub-optimal solution is not &lt;em&gt;completely incorrect&lt;/em&gt;;
at worst, it wastes CPU cycles. However, when it comes to concurrent programming,
there&amp;rsquo;s three options:&lt;/p&gt;</description></item><item><title>Review: Dini Delivers</title><link>/2018/03/17/review-dini-delivers/</link><pubDate>Sat, 17 Mar 2018 20:10:18 -0400</pubDate><guid>/2018/03/17/review-dini-delivers/</guid><description>&lt;p&gt;Lately, both my wife and I have been working long
hours at our jobs; the health of our diets have suffered as a result. Although
we have a few minutes each night to cook, we don&amp;rsquo;t have the time to run out to
the market in the middle of the week, or to lavish time on a full-course meal.
Whereas in years past I used to dictate the meal plan for the week and put two
or three complex dishes into each weeks&amp;rsquo; menu, that either my wife or I would
simply make after arriving home from work, these days we scarcely even have time
for that. We often just make pasta or chicken and call it a night.&lt;/p&gt;</description></item><item><title>Why Kotlin Over Lombok?</title><link>/2017/12/23/why-kotlin-over-lombok/</link><pubDate>Sat, 23 Dec 2017 21:47:01 -0500</pubDate><guid>/2017/12/23/why-kotlin-over-lombok/</guid><description>&lt;p&gt;This is a continuation of the ideas from &lt;a href="https://www.justabloginthepark.com/2017/06/28/is-kotlin-the-new-java/"&gt;&amp;ldquo;Is Kotlin the New Java?&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="what-is-lombok"&gt;What is Lombok?&lt;/h2&gt;
&lt;p&gt;For those of you who are not familiar,
&lt;a href="https://projectlombok.org/features/all"&gt;Project Lombok&lt;/a&gt; is a build tool for the
Java programming language, which adds nifty capabilities that many Java developers
feel they sorely lack. Some of the more vanilla features include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/GetterSetter"&gt;&amp;ldquo;Getter&amp;rdquo; and &amp;ldquo;Setter&amp;rdquo; generators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/ToString"&gt;&amp;ldquo;ToString&amp;rdquo;&lt;/a&gt; and &lt;a href="https://projectlombok.org/features/EqualsAndHashCode"&gt;&amp;ldquo;EqualsAndHashCode&amp;rdquo;&lt;/a&gt; generators&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/Data"&gt;&amp;ldquo;Data&amp;rdquo;&lt;/a&gt; and &lt;a href="https://projectlombok.org/features/Value"&gt;&amp;ldquo;Value&amp;rdquo;&lt;/a&gt; class generators&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/Cleanup"&gt;Automatic resource cleanup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/NonNull"&gt;Not-Null&lt;/a&gt; assertions&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/Builder"&gt;Builder class generators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectlombok.org/features/constructor"&gt;Constructor helpers of various sorts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There&amp;rsquo;s also a few more exotic features (which I personally have not seen developers)
use in the wild, but which no doubt &lt;em&gt;someone&lt;/em&gt; is using, including
&lt;a href="https://projectlombok.org/features/SneakyThrows"&gt;suppressing checked exceptions&lt;/a&gt;, &lt;a href="https://projectlombok.org/features/GetterLazy"&gt;lazy fields&lt;/a&gt;, &lt;a href="https://projectlombok.org/features/val"&gt;magic &amp;ldquo;val&amp;rdquo; keyword&lt;/a&gt;, &lt;a href="https://projectlombok.org/features/experimental/Delegate"&gt;delegation&lt;/a&gt;, &lt;a href="https://projectlombok.org/features/experimental/Wither"&gt;&amp;ldquo;with&amp;quot;ers&lt;/a&gt;, &lt;a href="https://projectlombok.org/features/experimental/UtilityClass"&gt;util&lt;/a&gt; and &lt;a href="https://projectlombok.org/features/experimental/Helper"&gt;helper&lt;/a&gt; classes.&lt;/p&gt;</description></item><item><title>Asking About Camera Advice</title><link>/2017/12/17/asking-about-camera-advice/</link><pubDate>Sun, 17 Dec 2017 22:03:02 -0500</pubDate><guid>/2017/12/17/asking-about-camera-advice/</guid><description>&lt;p&gt;Lately I&amp;rsquo;ve been getting questions from a few family members and colleagues about
which cameras (or kinds of cameras) they should consider getting. Generally, I
get this question from folks with relatively recent smartphones (e.g. iPhone 6S+)
who believe that they may be able to take better photographs with a better,
standalone camera. (I mostly get this question from parents of young kids, but
I&amp;rsquo;ve also gotten it once or twice from people interested in vacation photos or
lifestyle photography.) I&amp;rsquo;ll reference some useful guides by &lt;a href="http://dpreview.com"&gt;http://dpreview.com&lt;/a&gt;
(disclaimer, they are owned by my employer) and add notes where I think they&amp;rsquo;re
useful. I hope that these links prove useful to those who are looking for this guidance.&lt;/p&gt;</description></item><item><title>Fuji TCL-X100 II</title><link>/2017/12/05/fuji-tcl-x100-ii/</link><pubDate>Tue, 05 Dec 2017 21:45:34 -0500</pubDate><guid>/2017/12/05/fuji-tcl-x100-ii/</guid><description>&lt;p&gt;In addition to
&lt;a href="https://www.justabloginthepark.com/2017/11/29/fujifilm-instax-sp-2-the-friendly-portable-photograph-printer/"&gt;my aforementioned impulsive purchase of the Fujifilm Instax SP-2 smartphone printer&lt;/a&gt;
(for printing mementos from social occasions), I also impulsively purchased the
&lt;a href="https://www.bhphotovideo.com/c/product/1311235-REG/fujifilm_16534730_tcl_x100_ii_tele_conversion.html"&gt;Fujifilm TCL-X100 II&lt;/a&gt;
teleconversion lens for my
&lt;a href="https://www.justabloginthepark.com/2017/08/13/fuji-x100t/"&gt;Fujifilm X100T&lt;/a&gt; camera.
This was something I was thinking about for &lt;del&gt;a while&lt;/del&gt; about a week, and
although I hesitated quite a bit in the store, I ended up pulling the trigger on it.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.justabloginthepark.com/img/2017/12/05/side-shot-fuji-tcl-x100.jpg"
alt="Fuji TCL-X100 II lens"&gt;&lt;figcaption&gt;
&lt;p&gt;The Fuji TCL-X100 II conveter lens is an engineering marvel, and when attached to the camera, looks quite convincingly part of the original body. It&amp;rsquo;s quite attractive.&lt;/p&gt;</description></item><item><title>Fujifilm Instax SP-2: The Friendly Portable Photograph Printer</title><link>/2017/11/29/fujifilm-instax-sp-2-the-friendly-portable-photograph-printer/</link><pubDate>Wed, 29 Nov 2017 11:30:00 -0500</pubDate><guid>/2017/11/29/fujifilm-instax-sp-2-the-friendly-portable-photograph-printer/</guid><description>&lt;p&gt;A little over a week ago, I went out and picked up the
&lt;a href="https://amazon.com/dp/B01GTKG6RA"&gt;Fujifilm Instax SP-2&lt;/a&gt;
(smartphone) printer from &lt;a href="https://www.bhphotovideo.com/"&gt;B&amp;amp;H&lt;/a&gt; to bring to a friend&amp;rsquo;s wedding.
Though this was a bit of an impulse purchase, I had my eye on this printer for a couple of weeks, and thought I would get good use out of it going into Thanksgiving Weekend. It&amp;rsquo;s kind of like a Polaroid for the 21st century, except you know (more or less) what your pics will turn out like before printing. (This is essentially a more expensive, stand-alone version of Fujifilm&amp;rsquo;s Instax line of cameras, which use the same types of film for a true Polaroid experience.)&lt;/p&gt;</description></item><item><title>Why I am not jumping on the newly debuted iPhone</title><link>/2017/09/17/why-i-am-not-jumping-on-the-newly-debuted-iphone/</link><pubDate>Sun, 17 Sep 2017 21:46:54 -0400</pubDate><guid>/2017/09/17/why-i-am-not-jumping-on-the-newly-debuted-iphone/</guid><description>&lt;p&gt;Call me a crotchety old (young) man if you will. In fact, I can scarcely recognize
myself from the days of yore. When I was in school, I was constantly tinkering
with my Android phones (the
&lt;a href="https://en.wikipedia.org/wiki/HTC_ThunderBolt"&gt;&amp;ldquo;HTC Thunderbolt&amp;rdquo;&lt;/a&gt; and
&lt;a href="https://en.wikipedia.org/wiki/HTC_Butterfly"&gt;&amp;ldquo;HTC Droid DNA&amp;rdquo;&lt;/a&gt;, respectively).
&lt;a href="https://www.pcmag.com/encyclopedia/term/63820/android-rom"&gt;I would flash all sorts of ROMs&lt;/a&gt;,
trying to squeeze extra performance or battery
life out of apps. I was thrilled to be able to find all sorts of sketchy apps
which wouldn&amp;rsquo;t cost a dime out of pocket, but which would pop up all sorts of
little ads. Android phones were good phones for me in college, where I had an
abundance of time and shortages of cash.&lt;/p&gt;</description></item><item><title>Mpix Photo Prints</title><link>/2017/09/14/mpix-photo-prints/</link><pubDate>Thu, 14 Sep 2017 00:40:54 -0400</pubDate><guid>/2017/09/14/mpix-photo-prints/</guid><description>&lt;p&gt;&lt;a href="https://www.justabloginthepark.com/2017/08/13/fuji-x100t/"&gt;As I recently discussed&lt;/a&gt;, I&amp;rsquo;ve recently
acquired a camera for improving my family photography (and maybe also indulging
in some hobbyist photography as well). My original motivation for purchasing that
camera was not just to have better quality digital photos, but especially to have
beautiful photos which I can frame or put into family albums.&lt;/p&gt;
&lt;p&gt;Now that I&amp;rsquo;ve been shooting for a little while, I decided to order some prints
online. Although my father (and significant photography influencer) uses AdoramaPix,
I heard good things about &lt;a href="https://mpix.com/"&gt;Mpix&lt;/a&gt; and decided to give them a go.&lt;/p&gt;</description></item><item><title>Fuji X100T</title><link>/2017/08/13/fuji-x100t/</link><pubDate>Sun, 13 Aug 2017 21:43:09 -0400</pubDate><guid>/2017/08/13/fuji-x100t/</guid><description>&lt;p&gt;On July 4th, I jetted over to &lt;a href="//www.bhphotovideo.com/"&gt;B&amp;amp;H&lt;/a&gt; to pick up a new(ly used) camera.
I walked out with a
&lt;a href="//www.fujifilm.com/products/digital_cameras/x/fujifilm_x100t/"&gt;Fujifilm X100T&lt;/a&gt;
mirrorless point-and-shoot camera. This is the
story of how I chose that camera, and how I feel about it a few weeks later.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.justabloginthepark.com/img/2017/08/13/fuji-x100t-official-img.jpg" alt="Official FujiFilm website image for X100T"&gt;&lt;/p&gt;
&lt;h2 id="it-all-begins"&gt;It all begins&amp;hellip;&lt;/h2&gt;
&lt;p&gt;with me staying up until 4 o&amp;rsquo;clock in the morning one Saturday night. What had
begun as an innocent review of my family photos perversely devolved into a
compulsive episode of researching cameras with which to upgrade said family
photos. Those family photos were recorded almost exclusively with the iPhone 5s
and iPhone 6; yet, once printed, the quality left quite a bit to be desired.&lt;/p&gt;</description></item><item><title>Using ACDsee for Photography</title><link>/2017/07/11/using-acdsee-for-photography/</link><pubDate>Tue, 11 Jul 2017 20:42:10 -0400</pubDate><guid>/2017/07/11/using-acdsee-for-photography/</guid><description>&lt;p&gt;For the past few years, I&amp;rsquo;ve been interested in a more powerful digital photography
workflow solution than the brutish practice of shuffling JPG files around on my
hard drive and hoping for the best. I have really been seeking one (or more)
specialized programs which can handle the common photography tasks of organizing
photos from the moment they leave the camera to their final resting place on my
hard drive (and/or backup server), and performing common photo editing upon them
like curve adjustments and blemish removal. These solutions also needed to work
natively on Windows, integrate well with NAS solutions, and be capable enough
with RAW files. I was willing to pay for the software, but I didn&amp;rsquo;t want to have
to spend more than $75, and certainly not over $100, considering I am at best an
amateur photographer. I&amp;rsquo;m also mindful of my privacy&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.
After spending several hours researching the options available
to me, I have decided to use &lt;a href="https://www.acdsee.com/en/products/acdsee-pro"&gt;ACDSee Pro 10&lt;/a&gt; as my one-stop shop.&lt;/p&gt;</description></item><item><title>Is Kotlin the new Java?</title><link>/2017/06/28/is-kotlin-the-new-java/</link><pubDate>Wed, 28 Jun 2017 00:20:27 -0400</pubDate><guid>/2017/06/28/is-kotlin-the-new-java/</guid><description>&lt;p&gt;One of the programming languages I&amp;rsquo;ve (essentially) been ignoring for the past
couple of years has been &lt;a href="http://kotlinlang.org/"&gt;Kotlin&lt;/a&gt;,
the “better Java” from Jetbrains,
the author of IntelliJ and other IDE&amp;rsquo;s.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;
Recently, Kotlin has come back into focus for me for the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.android.com/kotlin/index.html"&gt;Google finally announced official Android support for Kotlin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Steve Yegge, that infamously opinionated programming language enthusiast,
&lt;a href="http://steve-yegge.blogspot.com/2017/05/why-kotlin-is-better-than-whatever-dumb.html"&gt;wrote a patently Yeggian post about how Kotlin scratches his itches&lt;/a&gt;
without supporting academic or impractical features.&lt;/li&gt;
&lt;li&gt;I began to tire (after only a handful of months!!) of diligently reminding my
colleagues to prefer &lt;a href="https://github.com/google/guava/wiki/ImmutableCollectionsExplained"&gt;Guava Immutable collections&lt;/a&gt;
over Java collections,
&lt;a href="https://projectlombok.org/features/Value"&gt;Lombok&lt;/a&gt;/&lt;a href="https://immutables.github.io/"&gt;Immutables&lt;/a&gt; over hand-rolled POJO&amp;rsquo;s, and
&lt;a href="https://stackoverflow.com/questions/13484202/how-to-use-nullable-and-nonnull-annotations-more-effectively"&gt;to please please use the &lt;code&gt;@Nullable&lt;/code&gt; and &lt;code&gt;@Nonnull&lt;/code&gt; annotations&lt;/a&gt;
or at the very least &lt;a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html"&gt;&lt;code&gt;java.util.Optional&lt;/code&gt;&lt;/a&gt;
instead of returning ambiguous types (such as empty/nullable/possibly full collections of possibly null values).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="some-features-need-to-exist-at-the-language-level"&gt;Some features need to exist at the language level&lt;/h3&gt;
&lt;p&gt;To paraphrase Jeff Bezos,&lt;/p&gt;</description></item><item><title>Clojure and the Esoteric Mysteries of Namespaces</title><link>/2017/06/18/clojure-and-the-esoteric-mysteries-of-namespaces/</link><pubDate>Sun, 18 Jun 2017 13:12:46 -0400</pubDate><guid>/2017/06/18/clojure-and-the-esoteric-mysteries-of-namespaces/</guid><description>&lt;p&gt;If you&amp;rsquo;ve ever been programming in Clojure and encountered an error which looks
something like, &lt;code&gt;IllegalStateException(&amp;quot;Can't change/establish root binding of: *ns* with set&amp;quot;)&lt;/code&gt;,
read on!&lt;/p&gt;
&lt;h2 id="preface"&gt;Preface&lt;/h2&gt;
&lt;p&gt;I recently had the drive/opportunity to deep-dive on how Clojure&amp;rsquo;s namespaces
function and how they provide a simple abstraction using the concept of Clojure&amp;rsquo;s
“&lt;code&gt;Var&lt;/code&gt;s”. Here is a deep-dive on how they work. This is a two-part
series.
The previous part of the series is available at
&lt;a href="https://www.justabloginthepark.com/2017/06/18/clojure-and-the-esoteric-mysteries-of-vars/"&gt;Clojure and the Esoteric Mysteries of Vars&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Clojure and the Esoteric Mysteries of Vars</title><link>/2017/06/18/clojure-and-the-esoteric-mysteries-of-vars/</link><pubDate>Sun, 18 Jun 2017 11:07:02 -0400</pubDate><guid>/2017/06/18/clojure-and-the-esoteric-mysteries-of-vars/</guid><description>&lt;p&gt;I recently had the drive/opportunity to deep-dive on how Clojure&amp;rsquo;s namespaces
function and how they provide a simple abstraction using the concept of Clojure&amp;rsquo;s
“&lt;code&gt;Var&lt;/code&gt;s”. Here is a deep-dive on how they work. This is a two-part
series. The next part of the series is available at
&lt;a href="https://www.justabloginthepark.com/2017/06/18/clojure-and-the-esoteric-mysteries-of-namespaces/"&gt;Clojure and the Esoteric Mysteries of Namespaces&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="vars-a-simplified-model-of-variables"&gt;Vars: A Simplified Model of Variables&lt;/h2&gt;
&lt;p&gt;One of Clojure&amp;rsquo;s essential motivations is to provide a hosted runtime for
easily concurrent programs, wherein most of the challenges of locking and
thread-safety are provided “for free” (at least in the sense of
the programmer not having to worry about these low-level concepts). To that end,
Clojure implements its variables differently than most other languages.&lt;/p&gt;</description></item><item><title>Review: Overwatch</title><link>/2017/06/04/review-overwatch/</link><pubDate>Sun, 04 Jun 2017 14:30:28 -0400</pubDate><guid>/2017/06/04/review-overwatch/</guid><description>&lt;p&gt;Around February, a friend told me that the extremely popular (and award-winning)
“&lt;a href="https://playoverwatch.com/"&gt;Overwatch&lt;/a&gt;” video game was on sale for
Chinese New Years. It was available at something like half off, so I picked it up
and decided to try it out. This is essentially my first purchase of a video game
that could be considered an FPS, a shooter, and a “Team Fortress”
style objective-based unique character-driven map. Here are my thoughts on it in
brief.&lt;/p&gt;</description></item><item><title>Bearish on Clojure in 2017</title><link>/2017/06/04/bearish-on-clojure-in-2017/</link><pubDate>Sun, 04 Jun 2017 00:00:00 +0000</pubDate><guid>/2017/06/04/bearish-on-clojure-in-2017/</guid><description>&lt;p&gt;There was a recent brouhaha in the Clojure community about
&lt;a href="https://lambdaisland.com/blog/25-05-2017-simple-and-happy-is-clojure-dying-and-what-has-ruby-got-to-do-with-it"&gt;the recent blog post&lt;/a&gt;
by a Clojure dabbler to the effect that Clojure may be a clean and beautiful language
but that it fails in a few pragmatic and ergonomic senses which hurts its adoption
and limits its appeal. Although the author admits that he probably made a mistake
in jumping to adopt Clojure, a foreign technological concept to him,
for a startup in a space that was also completely foreign to him, he does bring
up some worthwhile points that are worth chewing over.&lt;/p&gt;</description></item><item><title>Switching to Hugo Blogging</title><link>/2017/06/03/switching-to-hugo-blogging/</link><pubDate>Sat, 03 Jun 2017 00:00:00 +0000</pubDate><guid>/2017/06/03/switching-to-hugo-blogging/</guid><description>&lt;p&gt;I recently decided to switch the backend static site compilation toolchain for
this blog from the small &lt;a href="https://github.com/cryogen-project/cryogen"&gt;Cryogen project&lt;/a&gt;
in &lt;a href="https://clojure.org/"&gt;Clojure&lt;/a&gt; to the venerable &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;
project written in &lt;a href="https://golang.org/"&gt;Golang&lt;/a&gt;. Although I had previously
written that I wanted a hackable static site generator at
&lt;a href="https://www.justabloginthepark.com/2015/10/24/returning-to-blogging-with-cryogen/"&gt;Returning to Blogging with Cryogen&lt;/a&gt;,
my requirements lately have changed.
I thought I&amp;rsquo;d write a couple of quick notes about why I switched (and why I didn&amp;rsquo;t).&lt;/p&gt;
&lt;h3 id="hackabletoolchain--maintainabletoolchain"&gt;hackableToolchain &amp;lt;&amp;lt; maintainableToolchain&lt;/h3&gt;
&lt;p&gt;An easily hackable blog generator became less valueable to me than a robust and well
maintained one. Although it was nice getting to contribute code to Cryogen and to
make a difference, and to be able to understand the code base, the value of established
and battle-tested code is something I ignored at the time. (I knew it was a factor,
but at the time I just wanted to get rolling quickly. These days I&amp;rsquo;d rather have
something that works on its own.)&lt;/p&gt;</description></item><item><title>XCOM2: Review</title><link>/2017/03/19/xcom2-review/</link><pubDate>Sun, 19 Mar 2017 00:00:00 +0000</pubDate><guid>/2017/03/19/xcom2-review/</guid><description>&lt;p&gt;Over the holidays I picked up the iPad version of
&lt;a href="https://en.wikipedia.org/wiki/XCOM:_Enemy_Within"&gt;XCOM: Enemy Within&lt;/a&gt;,
the previous iteration in the XCOM franchise. For those unfamiliar with XCOM,
it&amp;rsquo;s a brilliant (but extremely challenging) series of turn-based tiled-map
strategy games. Although I ended up wiping close to 2/3 of the way through my
play through, I found Enemy Within compelling enough to try out
&lt;a href="https://en.wikipedia.org/wiki/XCOM_2"&gt;XCOM 2&lt;/a&gt;, with some encouragement from
friends and family. After having just beaten the game, here are my thoughts.&lt;/p&gt;</description></item><item><title>Switching to Spacemacs As My Default Editor</title><link>/2016/10/02/switching-to-spacemacs-as-my-default-editor/</link><pubDate>Sun, 02 Oct 2016 00:00:00 +0000</pubDate><guid>/2016/10/02/switching-to-spacemacs-as-my-default-editor/</guid><description>&lt;p&gt;I recently began to use &lt;a href="https://www.gnu.org/software/emacs/"&gt;Emacs&lt;/a&gt;
as my default text editor for most things, having switched from
&lt;a href="https://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt;. Specifically, I&amp;rsquo;m using
the brilliant &lt;a href="https://github.com/syl20bnr/spacemacs"&gt;Spacemacs&lt;/a&gt;
project, which can best be described as a fairly comprehensive set of
sensible defaults and plugins for Emacs with a clever plugin architecture.&lt;/p&gt;
&lt;p&gt;I used to be a casual &lt;a href="https://en.wikipedia.org/wiki/Vim_(text_editor)"&gt;VIM&lt;/a&gt;
user for remote file editing and a Sublime Text
user for local editing (with plugins). However, neither of these solutions
truly satisfied me. VIM is tricky to get fully working plugins for,
and a new set of plugins is needed for every target host. Keeping the
VIM plugins in sync is a chore even if effort is dedicated to it.
Sublime is also very nice, and has a better plugins story, but some of
the capabilities don&amp;rsquo;t seem to go far enough in my opinion. After hearing
many good things about Emacs using Spacemacs, I decided to check it out.&lt;/p&gt;</description></item><item><title>I'm Impressed by iPhone Photography</title><link>/2016/06/26/im-impressed-by-iphone-photography/</link><pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate><guid>/2016/06/26/im-impressed-by-iphone-photography/</guid><description>&lt;p&gt;My wife and I got back from our honeymoon in Italy a few weeks ago
(&lt;a href="https://www.justabloginthepark.com/2016/06/26/my-first-holiday-in-italy/"&gt;which you can read about here&lt;/a&gt;),
and I need to remark on how impressed I am by the performance our iPhones.
Both my wife&amp;rsquo;s iPhone 5S and my iPhone 6 performed spectacularly, taking
hundreds of photos for us during our ten days on holiday.&lt;/p&gt;
&lt;p&gt;I know there&amp;rsquo;s a lot of marketing hype about how good the iPhone camera is,
but this was my first time relying exclusively upon a smartphone camera for
pictures of a momentous chapter of my life, and I now buy the hype. The
iPhone really punches above its weight class in terms of performance and cost
efficiency. Because we were using smartphones, we were also able to rely
on Google Photos seamlessly backing up
full quality copies of our photos every night, to ensure we didn&amp;rsquo;t lose any
photos while we were trekking around.&lt;/p&gt;</description></item><item><title>My First Holiday in Italy</title><link>/2016/06/26/my-first-holiday-in-italy/</link><pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate><guid>/2016/06/26/my-first-holiday-in-italy/</guid><description>&lt;p&gt;This blog post is long overdue; I&amp;rsquo;ve been a bit preoccupied since getting back
to the States, but I wanted to briefly share some of my thoughts from my recent
honeymoon in Italy.&lt;/p&gt;
&lt;p&gt;My wife and I had our long-overdue honeymoon early last month, in gorgeous
Italy: Venice, Rome, Florence, and Milan.
This was the realization of a dream for us; few countries in the world have the
culture, history, art, dining, and exquisite beauty which Italy has.
We wanted to really see all the sights and soak up as much as possible, so
we decided to tour the major cities aggressively. (Maybe in a future visit
we can have the luxury of relaxing in a quiet resort and watching the world
pass us by.)&lt;/p&gt;</description></item><item><title>Microsoft's Word Flow Keyboard for iOS</title><link>/2016/05/17/microsofts-word-flow-keyboard-for-ios/</link><pubDate>Tue, 17 May 2016 00:00:00 +0000</pubDate><guid>/2016/05/17/microsofts-word-flow-keyboard-for-ios/</guid><description>&lt;p&gt;The other day, I heard about a new iOS app put out by Microsoft&amp;rsquo;s experimental
app development team (a “&lt;a href="https://www.microsoft.com/en-us/garage/"&gt;Microsoft Garage&lt;/a&gt;” project):
“&lt;a href="https://itunes.apple.com/us/app/word-flow-keyboard-english/id1077864246?mt=8"&gt;Word Flow&lt;/a&gt;”.
Having been impressed with some previous Microsoft Garage projects,
and noticing that the keyboard looked suspiciously familiar, I decided to check
it out.&lt;/p&gt;
&lt;p&gt;Like &lt;a href="http://www.swype.com/"&gt;Swype&lt;/a&gt;,
Word Flow allows both the classic point-and-tap typing mechanism, and the
swiping typing mechanism wherein a user drags their finger continuously between
the various letters on the keyboard which constitute a desired word
in order to generate it.
(However, I feel that Word Flow&amp;rsquo;s point-and-tap precision is higher than Swype&amp;rsquo;s was when I last used Swype.)&lt;/p&gt;</description></item><item><title>Upgrading to Windows 10</title><link>/2016/03/20/upgrading-to-windows-10/</link><pubDate>Sun, 20 Mar 2016 00:00:00 +0000</pubDate><guid>/2016/03/20/upgrading-to-windows-10/</guid><description>&lt;p&gt;Last weekend I finally decided to take the plunge and update my gaming PC to
Windows 10. My wife upgraded, my parents upgraded, and even my grandmother
upgraded, so I figured I may as well see what all the rage is about.&lt;/p&gt;
&lt;p&gt;The initial upgrade seemed to go smoothly, and completed in under an hour.
However, immediately after the first system restart (and Windows users know how
mandatory restarts can be for applying updates),
the Start button stopped working for me. I tried a variety of hacks suggested
on the internet, such as forcing reinstalls of the Metro environment, even
going so far as to do the &amp;ldquo;refresh&amp;rdquo; of my PC. To my dismay, none of these worked.
I ended up needing to do a full &amp;ldquo;restart&amp;rdquo; of my PC, wiping out my C drive and
all installed programs along the way.&lt;/p&gt;</description></item><item><title>Cooked</title><link>/2016/03/01/cooked/</link><pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate><guid>/2016/03/01/cooked/</guid><description>&lt;p&gt;Those who know me know I have a strong interest in cooking shows.
I am a huge fan of &lt;em&gt;Iron Chef&lt;/em&gt; and Alton Brown&amp;rsquo;s &lt;em&gt;Good Eats&lt;/em&gt;
(so much so that I actually own all three volumes of the &lt;em&gt;Good Eats&lt;/em&gt; cookbooks!).
Although I haven&amp;rsquo;t watched much in the way of cooking shows in recent years due
to not having a permanent cable subscription, my zest for this content is as
strong as ever.&lt;/p&gt;</description></item><item><title>Master of None</title><link>/2016/01/24/master-of-none/</link><pubDate>Sun, 24 Jan 2016 00:00:00 +0000</pubDate><guid>/2016/01/24/master-of-none/</guid><description>&lt;p&gt;My wife and I finally finished
&lt;a href="https://en.wikipedia.org/wiki/Aziz_Ansari"&gt;Aziz Ansari&amp;rsquo;s&lt;/a&gt;
&lt;a href="http://www.imdb.com/title/tt4635276/"&gt;“Master of None”&lt;/a&gt;,
the social commentary comedy about the challenges of coming of (older) age
for a directionless aspiring actor and his friends rounding their thirties.&lt;/p&gt;
&lt;p&gt;I particularly enjoyed episodes two and ten. Episode two has Dev and his friend
Brian discovering more about the culture of their immigrant families, which
they took for granted and never really learned about growing up. Episode ten,
the season finale, explores Dev&amp;rsquo;s struggles with commitment and
aspirations for his own life. These episodes, as well as all the rest,
cover some of the day-to-day struggles of Generation Y, both large and small.
Topics including relationships to political correctness are explored in a casual
and conversational manner. “Master of None”
skillfully asks questions and then masterfully offers answers that do not seem
out of place for a man in his late twenties or early thirties.
I enjoyed how the characters in the show appeared to be able to provide
lively debate on social issues that pertain to their own lives. Though their
conversations were spoken to each other, the delivery is to us, the audience.&lt;/p&gt;</description></item><item><title>Lisp Finally Clicked</title><link>/2016/01/17/lisp-finally-clicked/</link><pubDate>Sun, 17 Jan 2016 00:00:00 +0000</pubDate><guid>/2016/01/17/lisp-finally-clicked/</guid><description>&lt;p&gt;I&amp;rsquo;ve been meaning to write this post for a couple of weeks now.
There is a story told among programming language enthusiasts that
programming as an art only “clicks” once a programmer understands
the Lisp programming language.
I finally feel like I&amp;rsquo;ve reached that point.
Although I don&amp;rsquo;t think I&amp;rsquo;m an amazing
programmer, I finally feel like I understand the difference between
languages (like Python and Lisp), and why Lisp is often considered
so much more flexible
and powerful (at least in theory) than a language like Python or C.
(For reference, see any of Paul Graham&amp;rsquo;s somewhat self-assured arguments
about Lisp. &lt;a href="http://www.paulgraham.com/avg.html"&gt;I like his Blub essay the most.&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Comparing Freemium Game Models</title><link>/2016/01/10/comparing-freemium-game-models/</link><pubDate>Sun, 10 Jan 2016 00:00:00 +0000</pubDate><guid>/2016/01/10/comparing-freemium-game-models/</guid><description>&lt;p&gt;I suppose I&amp;rsquo;ve been playing freemium
video games for a few years now.
(For those who haven&amp;rsquo;t heard of the
&lt;a href="https://en.wikipedia.org/wiki/Freemium"&gt;“freemium”&lt;/a&gt; business
model, it&amp;rsquo;s the strategy of selling a good
or service which is free to access but costs money for premium
features. Freemium software, especially video games, are popular
because the barrier to entry is made as low as possible to hook
people.
&lt;a href="http://southpark.cc.com/full-episodes/s18e06-freemium-isnt-free"&gt;I highly recommend the South Park episode on the subject, “Freemium Isn&amp;rsquo;t Free”.&lt;/a&gt;)
Some of the freemium games I&amp;rsquo;ve played include (in chronological order of when I started playing each):&lt;/p&gt;</description></item><item><title>How Programming is Like Cooking</title><link>/2016/01/09/how-programming-is-like-cooking/</link><pubDate>Sat, 09 Jan 2016 00:00:00 +0000</pubDate><guid>/2016/01/09/how-programming-is-like-cooking/</guid><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Peter_Nau"&gt;Peter Naur&lt;/a&gt;,
famous in the programming world for his contributions to
&lt;a href="https://en.wikipedia.org/wiki/ALGOL_60"&gt;ALGOL&lt;/a&gt;
and the
&lt;a href="https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form"&gt;Backus-Naur Form (BNF)&lt;/a&gt;
notation for expressing grammars,
passed away last week. (For those who are not in the programming world,
ALGOL&amp;rsquo;s grammatical syntax inspired most of today&amp;rsquo;s most popular
programming languages, like C, C++, Java, and Python).
As a very young millennial programmer, I&amp;rsquo;d of course heard Naur&amp;rsquo;s name
from the BNF notation, but didn&amp;rsquo;t really get to appreciate just how prescient
his work was at the time.&lt;/p&gt;</description></item><item><title>IaaS and PaaS Explained: A Food Analogy</title><link>/2015/11/22/iaas-and-paas-explained-a-food-analogy/</link><pubDate>Sun, 22 Nov 2015 00:00:00 +0000</pubDate><guid>/2015/11/22/iaas-and-paas-explained-a-food-analogy/</guid><description>&lt;p&gt;The other night, I was meditating about my various options for deploying
applications at work, including
&lt;a href="https://en.wikipedia.org/wiki/Cloud_computing#Infrastructure_as_a_service_.28IaaS.29"&gt;“Infrastructure as a Service” (IaaS)&lt;/a&gt;
and
&lt;a href="https://en.wikipedia.org/wiki/Cloud_computing#Platform_as_a_service_.28PaaS.29"&gt;“Platform as a Service” (PaaS)&lt;/a&gt;.
Amidst my musing, I came up with an analogy for explaining the difference
between these various ways of deploying programming solutions,
in addition to the much more conventional approaches which were used
formerly (and are often still necessary).&lt;/p&gt;
&lt;h2 id="the-analogy"&gt;The Analogy&lt;/h2&gt;
&lt;p&gt;Suppose you want to get into the food services industry. You have many
decisions to make, but chief among them is deciding two related things.&lt;/p&gt;</description></item><item><title>The Clojure “Reductions” Function</title><link>/2015/11/17/the-clojure-reductions-function/</link><pubDate>Tue, 17 Nov 2015 00:00:00 +0000</pubDate><guid>/2015/11/17/the-clojure-reductions-function/</guid><description>&lt;p&gt;Tonight, while attempting a problem at &lt;a href="http://www.4clojure.com"&gt;4 Clojure&lt;/a&gt;
(problem number omitted so as not to give too many hints),
I was struck by the following problem:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What if I need a Clojure function which can take a sequence of functions
and can sequentially call them on some seed value?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;m specifically looking at something like:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-clojure" data-lang="clojure"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#66d9ef"&gt;defn &lt;/span&gt;some-fun
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [seed-val &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; funs]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;; Keep passing the calculated value through, while also appending to sequence&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (list ((first funs) seed-val) ((second funs) ((first funs) seed-val)) ...))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I ended up hacking something together using
&lt;a href="https://clojuredocs.org/clojure.core/iterate"&gt;&lt;code&gt;iterate&lt;/code&gt;&lt;/a&gt;,
but which wasn&amp;rsquo;t
terribly elegant.&lt;/p&gt;</description></item><item><title>Teaching Binary Using the Socratic Method</title><link>/2015/11/06/teaching-binary-using-the-socratic-method/</link><pubDate>Fri, 06 Nov 2015 00:00:00 +0000</pubDate><guid>/2015/11/06/teaching-binary-using-the-socratic-method/</guid><description>&lt;p&gt;Yesterday, I saw
&lt;a href="http://www.garlikov.com/Soc_Meth.html"&gt;this article&lt;/a&gt;
shared on Reddit&amp;rsquo;s programming subreddit.
I can&amp;rsquo;t due justice to the article, so I won&amp;rsquo;t even try
to summarize it. (Definitely read it before reading on here.)&lt;/p&gt;
&lt;p&gt;However, I think it&amp;rsquo;s worth sharing
because it highlights one of the most fundamental things that we take for
granted when trying to teach friends or family something
(not all of us are trained teachers).
Not every new concept is actually so complex and layered that it can&amp;rsquo;t
be easily intuited by someone with basic knowledge.
Often, we simply don&amp;rsquo;t go about motivating the understanding properly.&lt;/p&gt;</description></item><item><title>Clojure Zippers Emulate Object-Oriented Programming?</title><link>/2015/11/05/clojure-zippers-emulate-object-oriented-programming/</link><pubDate>Thu, 05 Nov 2015 00:00:00 +0000</pubDate><guid>/2015/11/05/clojure-zippers-emulate-object-oriented-programming/</guid><description>&lt;p&gt;Yesterday, I posted about using Clojure
&lt;a href="http://clojuredocs.org/clojure.zip/zipper"&gt;zippers&lt;/a&gt;
to solve the problem of automatically generating a Table of Contents.
During my work with Clojure&amp;rsquo;s implementation of zippers, I noticed something
interesting.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;zipper&lt;/code&gt; function creates (and returns) a new zipper object. Its parameters
are the following (lifted straight from the documentation):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;branch?&lt;/code&gt; – a function that takes a node of the zipper and returns a
true/false if it is capable of having children (even if it currently
does not).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;children&lt;/code&gt; – a function which, given a node in the zipper which is a
branch, returns a &lt;code&gt;seq&lt;/code&gt; (sequence) of its children.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;make-node&lt;/code&gt; – a function which, given a node and a sequence of its
children, returns a new branch node with the supplied children.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;root&lt;/code&gt; – the root node of the data structure (which can also be
any valid tree that the zipper to be constructed understands).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At first, this was a bit impenetrable. Why doesn&amp;rsquo;t the zipper just know how
to zip over its data? How many types of zippers are there, exactly?&lt;/p&gt;</description></item><item><title>Coding: Debugging the Gender Gap</title><link>/2015/11/05/coding-debugging-the-gender-gap/</link><pubDate>Thu, 05 Nov 2015 00:00:00 +0000</pubDate><guid>/2015/11/05/coding-debugging-the-gender-gap/</guid><description>&lt;p&gt;On Monday, I had the chance to view a private screening of the newish
documentary
&lt;a href="http://www.codedocumentary.com/"&gt;“Code: Debugging the Gender Gap”&lt;/a&gt;.
The premise of the documentary,
&lt;a href="http://www.imdb.com/title/tt4335520/plotsummary?ref_=tt_ov_pl"&gt;lifted straight from IMDB:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CODE documentary exposes the dearth of female and minority software
engineers and explores the reasons for this gender gap and digital divide.
The film highlights breakthrough efforts that are producing more diverse
programmers and shows how this critical gap can be closed. CODE asks: what
would society gain from having more women and people of color code, and how
do we get there?&lt;/p&gt;</description></item><item><title>Implementing a Table of Contents Using Zippers</title><link>/2015/11/04/implementing-a-table-of-contents-using-zippers/</link><pubDate>Wed, 04 Nov 2015 00:00:00 +0000</pubDate><guid>/2015/11/04/implementing-a-table-of-contents-using-zippers/</guid><description>&lt;p&gt;As I continue my forays with Clojure, I&amp;rsquo;m finding it enjoyable (if not entirely
productive) to hack with it on
&lt;a href="https://github.com/cryogen-project/cryogen"&gt;Cryogen&lt;/a&gt;, a nifty little
blog generator
&lt;a href="https://www.justabloginthepark.com/2015/10/24/returning-to-blogging-with-cryogen/"&gt;I already discussed recently&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On Sunday I had the privilege
&lt;a href="https://github.com/cryogen-project/cryogen-core/pull/51"&gt;of making my first pull request&lt;/a&gt;.
The essence of the PR was to fix a
&lt;a href="https://github.com/cryogen-project/cryogen/issues/62"&gt;couple of bugs&lt;/a&gt;
with the existing implementation of the logic for generating a Table
of Contents for a given blog post, and also replace a less robust
algorithm (for real-life use cases) with a more robust one.&lt;/p&gt;</description></item><item><title>F Sharp vs Clojure Toy Problem Shootout</title><link>/2015/10/28/f-sharp-vs-clojure-toy-problem-shootout/</link><pubDate>Wed, 28 Oct 2015 00:00:00 +0000</pubDate><guid>/2015/10/28/f-sharp-vs-clojure-toy-problem-shootout/</guid><description>&lt;p&gt;As a continuation of my forays in interesting and less industrially-oriented
programming languages, I decided to compare
&lt;a href="fsharp.org"&gt;F Sharp&lt;/a&gt;
against &lt;a href="clojure.org"&gt;Clojure&lt;/a&gt; for a relatively simple programming
problem, and to compare how the two felt in terms of programming ease,
friendliness, and how they each viewed the problem.&lt;/p&gt;
&lt;h2 id="the-problem"&gt;The Problem&lt;/h2&gt;
&lt;p&gt;The problem is a relatively one from
&lt;a href="https://reddit.com/r/dailyprogrammer"&gt;Reddit&amp;rsquo;s “Daily Programmer” subreddit&lt;/a&gt;, called
&lt;a href="https://www.reddit.com/r/dailyprogrammer/comments/3j3pvm/20150831_challenge_230_easy_json_treasure_hunt/"&gt;JSON Treasure Hunt&lt;/a&gt;:
given a random, unstructured JSON object, traverse the object looking for
a specific terminal value (in this case, a string &amp;ldquo;dailyprogrammer&amp;rdquo;).
This is, of course, an unstructured tree traversal question.&lt;/p&gt;</description></item><item><title>Returning to Blogging with Cryogen</title><link>/2015/10/24/returning-to-blogging-with-cryogen/</link><pubDate>Sat, 24 Oct 2015 00:00:00 +0000</pubDate><guid>/2015/10/24/returning-to-blogging-with-cryogen/</guid><description>&lt;p&gt;It&amp;rsquo;s been a long while since I last blogged. My last post dates back to
April of 2014, shortly before I graduated from Rutgers Engineering.
My life since then has been a bit of a whirlwind. I&amp;rsquo;ve since graduated,
moved to the Upper West Side, started working in banking, gotten engaged
and married, and moved out. I suppose I could be forgiven for not blogging
as actively.&lt;/p&gt;
&lt;h2 id="why-i-took-down-my-old-blog"&gt;Why I Took Down My Old Blog&lt;/h2&gt;
&lt;p&gt;My old blog was running on &lt;a href="ghost.org"&gt;Ghost&lt;/a&gt;, a nifty JavaScript-based
modern reimagination of the classic web-based blogging platform. Ghost
has some gorgeous themes, a svelte editing experience, and seems poised
to be the next generation of blogging platforms. It seems great. Why
did I leave it behind?&lt;/p&gt;</description></item><item><title>Pros and Cons of Clojure</title><link>/2015/10/18/pros-and-cons-of-clojure/</link><pubDate>Sun, 18 Oct 2015 00:00:00 +0000</pubDate><guid>/2015/10/18/pros-and-cons-of-clojure/</guid><description>&lt;p&gt;As part of my forays in interesting (and generally unusable at work)
programming languages, I began investigating
&lt;a href="clojure.org"&gt;Clojure&lt;/a&gt; back in June. Although I really love the
language as a whole (and, in fact, I&amp;rsquo;m using it to power this blog!),
I struggled not only to set it up, but to find its ideal niche.
This essay/rant is a result of a conversation I had about Clojure with
two friends, one who is an excellent polyglot programmer, and one
who is a beginner simply interested in Clojure as a practical Lisp.&lt;/p&gt;</description></item><item><title>Intro to Big Data</title><link>/2014/04/10/intro-to-big-data/</link><pubDate>Thu, 10 Apr 2014 00:00:00 +0000</pubDate><guid>/2014/04/10/intro-to-big-data/</guid><description>&lt;p&gt;Last Friday, I had the chance to attend a panel of career technologists and data scientists who all work in the
fascinating field known as “big data”. “Big data” is an umbrella term to describe data whose qualities are so atypical
that classical data analysis techniques fail to even begin to tackle understanding them. The data can be in any
conceivable format and in any field of study. For instance, in news analysis, “How are news articles relevantly accessed
when more arrive in a single day than a person can read in a lifetime?” Or for internet security, “Can login attempt
information from internet users across the world predict when a potential login request is coming from a spam-bot?”
Perhaps most interestingly, “Can anonymous medical patient data be leveraged to provide advanced diagnostic
capabilities?” (These are all real examples of active research being conducted by members of the the panel I attended.)&lt;/p&gt;</description></item><item><title>Version Controlling Documents</title><link>/2014/03/23/version-controlling-documents/</link><pubDate>Sun, 23 Mar 2014 00:00:00 +0000</pubDate><guid>/2014/03/23/version-controlling-documents/</guid><description>&lt;p&gt;As a college student (and despite studying Engineering), I&amp;rsquo;m occasionally required to write paper for class. Sometimes
they&amp;rsquo;re simply one-off papers that only need to be a page or two (like for my Ethics class), in which case it doesn&amp;rsquo;t
really matter what I write the papers in or whether I back them up in any meaningful capacity. In theory, if the worst
happened and I lost the file, I could rewrite it in a couple of hours and it wouldn’t be the end of the world. The
lion’s share of the effort invested would have been on the ideas, and a similar paper could be rewritten in even less
time.&lt;/p&gt;</description></item><item><title>Multiple Cores and Multithreading</title><link>/2014/03/09/multiple-cores-and-multithreading/</link><pubDate>Sun, 09 Mar 2014 00:00:00 +0000</pubDate><guid>/2014/03/09/multiple-cores-and-multithreading/</guid><description>&lt;p&gt;Have you ever seen advertisements for the latest computers which promote fancy processors with multi-core processors and
wonder exactly the advantage of having multiple cores is?&lt;/p&gt;
&lt;p&gt;The most tempting explanation, although perhaps too simplistic, is that “more is better”. The most common
mistake is thinking that &lt;em&gt;n cores must run programs n times faster than one core&lt;/em&gt;, ie a four core processor is
approximately four times faster than a single-core processor. Although &lt;em&gt;this has the potential to happen occasionally&lt;/em&gt;,
the true benefits are actually slightly different. First, though, we must understand what a core &lt;em&gt;does&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Job Hunting On Campus</title><link>/2014/02/09/job-hunting-on-campus/</link><pubDate>Sun, 09 Feb 2014 00:00:00 +0000</pubDate><guid>/2014/02/09/job-hunting-on-campus/</guid><description>&lt;p&gt;It&amp;rsquo;s February, and with the summer slowly approaching, many of my friends are beginning to look for work for after
graduation (or just the summer if they&amp;rsquo;re continuing at University). I&amp;rsquo;m fortunate enough to already have had a job
lined up for after graduation for a while, but this isn&amp;rsquo;t the norm. Most people are only beginning to look for jobs and
internships now. Although I don&amp;rsquo;t claim to be an expert at searching for jobs (far from it), I have been out there since
my freshman year, so I do have a couple of tips which will hopefully be helpful. Although my particular field,
Technology, is very large and highly in-demand, most work-hunting advice applies across the board.&lt;/p&gt;</description></item><item><title>A Slight Change in Schedule…</title><link>/2014/02/04/a-slight-change-in-schedule/</link><pubDate>Tue, 04 Feb 2014 00:00:00 +0000</pubDate><guid>/2014/02/04/a-slight-change-in-schedule/</guid><description>&lt;p&gt;Three months ago, &lt;a href="https://www.justabloginthepark.com/2013/10/28/classes-for-final-semester/"&gt;I posted my tentative schedule&lt;/a&gt; for this semester, my final one in
undergrad. At the time, I was very optimistic about taking &lt;em&gt;Systems Programming&lt;/em&gt; because I had been recommended the
professor, Brian Russell, by my roommate. In the end, I switched it out for a seminar in &lt;em&gt;Gender and Sexuality in Judaism&lt;/em&gt;. Here&amp;rsquo;s how.&lt;/p&gt;
&lt;h2 id="overlap-between-systems-and-network"&gt;Overlap Between &lt;em&gt;Systems&lt;/em&gt; and &lt;em&gt;Network&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Originally, I signed up for both &lt;em&gt;Systems Programming&lt;/em&gt; and &lt;em&gt;Network-centric Programming&lt;/em&gt;,
both of which are low-level programming courses in the
&lt;a href="http://en.wikipedia.org/wiki/C_(programming_language)"&gt;C programming language&lt;/a&gt;.
Although they both involve programming at a similar conceptual level, and involve writing programs of similar size and complexity,
I decided to go with &lt;em&gt;Network-centric&lt;/em&gt; instead of &lt;em&gt;Systems&lt;/em&gt; because I feel it covers more advanced materials in
addition to the basics already covered by &lt;em&gt;Systems&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Global Entry - Quick Border Reentry</title><link>/2014/01/23/global-entry-quick-border-reentry/</link><pubDate>Thu, 23 Jan 2014 00:00:00 +0000</pubDate><guid>/2014/01/23/global-entry-quick-border-reentry/</guid><description>&lt;p&gt;Last week, when I got back to JFK after my &lt;a href="https://www.justabloginthepark.com/2014/01/17/pathways-israel/"&gt;Israel trip&lt;/a&gt;, I was kind of dreading going through
customs – and not because I was carrying contraband. Last time I went through border control, I spent what felt
like forty five minutes (after a twelve hour flight, no less) waiting to go to the bathroom and grab my luggage and
scram. However, this time around, I saw something which piqued my interest, and somewhat reminded me of my earlier
&lt;a href="https://www.justabloginthepark.com/2013/11/19/the-eigenfacebook/"&gt;eigenface&lt;/a&gt; project.&lt;/p&gt;</description></item><item><title>Pathways Israel</title><link>/2014/01/17/pathways-israel/</link><pubDate>Fri, 17 Jan 2014 00:00:00 +0000</pubDate><guid>/2014/01/17/pathways-israel/</guid><description>&lt;p&gt;Each winter at University, I find myself wondering what to do with my winter breaks about a week before finals. Usually I spend my breaks conducting research for various labs at Rutgers, or else getting a head-start on school for the Spring. So about this time last month, while wondering what I would do with my (hopefully) final winter break of undergraduate studies, I received an email which offered a fantastic opportunity — go to Israel for two weeks on a deeply discounted program!&lt;/p&gt;</description></item><item><title>Software Engineering and Computer Science</title><link>/2013/12/24/software-engineering-and-computer-science/</link><pubDate>Tue, 24 Dec 2013 00:00:00 +0000</pubDate><guid>/2013/12/24/software-engineering-and-computer-science/</guid><description>&lt;p&gt;I&amp;rsquo;m planning on this post being the first in a series about my naïve thoughts about the significance of Software Engineering as an undergraduate with little so-called real-world experience. Stay tuned for followup posts, which I&amp;rsquo;ll post back here.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;For the past several decades, computer programming has been done in special &lt;em&gt;programming languages&lt;/em&gt; which can be either &lt;em&gt;interpreted&lt;/em&gt; or &lt;em&gt;compiled&lt;/em&gt; (translated) into a form which is natively comprehensible to computers (known as &lt;em&gt;machine code&lt;/em&gt;). The original programming languages (the Assembly family of languages specifically) were very simple, used for the simple purpose of avoiding the tedium of needing to program directly in machine code, but which otherwise required the same effort and had the same exact meaning as the machine code it translated to. Later on, slightly more powerful languages were created which could encapsulate more machine code into less words which in turn more closely resembled English. This eventually culminated in the development of Object-Oriented and Functional programming languages, which allow programs to be phrased in terms of programmer-defined nouns and verbs — thus giving birth to a large part of Software Engineering.&lt;/p&gt;</description></item><item><title>Bad Bidding or Avoid Buying Used Stuff</title><link>/2013/11/26/bad-bidding-or-avoid-buying-used-stuff/</link><pubDate>Tue, 26 Nov 2013 00:00:00 +0000</pubDate><guid>/2013/11/26/bad-bidding-or-avoid-buying-used-stuff/</guid><description>&lt;p&gt;As some of you may know, I&amp;rsquo;m currently in a class on Game Theory in the
Economics department. I originally signed up because, hey, games, but also
because I saw
&lt;a href="//en.wikipedia.org/wiki/A_Beautiful_Mind_(film)"&gt;A Beautiful Mind&lt;/a&gt;
and I wanted to learn a little more about Game Theory.
(My professor confessed that despite a large number of students taking the
class because of the movie, the little Game Theory used in the film is actually
incorrect. Oh well.) I find Game Theory fascinating and it really is a subject
that people should study, if only because its hyper-rational approach to life
actually has some applications, in addition to being insightful and stimulating.&lt;/p&gt;</description></item><item><title>Bitmap Graphics vs Vector Graphics</title><link>/2013/11/21/bitmap-graphics-vs-vector-graphics/</link><pubDate>Thu, 21 Nov 2013 00:00:00 +0000</pubDate><guid>/2013/11/21/bitmap-graphics-vs-vector-graphics/</guid><description>&lt;p&gt;One astute reader of
&lt;a href="https://www.justabloginthepark.com/2013/11/04/how-to-smooth-out-the-curves-understanding-digital-image-filtering/"&gt;a previous post&lt;/a&gt; observed that
although I seemed to imply that only
&lt;a href="https://en.wikipedia.org/wiki/Bitmap"&gt;bitmaps&lt;/a&gt;
can be digital images, there also exists such a thing as
&lt;a href="//en.wikipedia.org/wiki/Vector_graphics"&gt;vector graphics&lt;/a&gt;
which are also considered
digital images. At the time, it was not clear in context what was meant in
describing an image as &lt;em&gt;digital&lt;/em&gt;. While I conflated digital images with bitmaps,
which is inaccurate, I was only discussing bitmaps in that post, and the
conclusions therein are still valid.&lt;/p&gt;</description></item><item><title>The Eigenfacebook</title><link>/2013/11/19/the-eigenfacebook/</link><pubDate>Tue, 19 Nov 2013 00:00:00 +0000</pubDate><guid>/2013/11/19/the-eigenfacebook/</guid><description>&lt;p&gt;The end of the fall semester is always a very special time of year. The hubbub
of plans for winter break are omnipresent, festive lights illuminate themselves
around campus, and most importantly of all, professors finally get around to
assigning all their term projects with scarcely three weeks left with which to
complete them. This isn&amp;rsquo;t news to my fellow upperclassmen, although the
sophomores may only just begin to experience this for the first time.&lt;/p&gt;</description></item><item><title>How to Smooth Out the Curves - Understanding Digital Image Filtering</title><link>/2013/11/04/how-to-smooth-out-the-curves-understanding-digital-image-filtering/</link><pubDate>Mon, 04 Nov 2013 00:00:00 +0000</pubDate><guid>/2013/11/04/how-to-smooth-out-the-curves-understanding-digital-image-filtering/</guid><description>&lt;p&gt;In &lt;a href="https://www.justabloginthepark.com/2013/10/30/how-to-pump-up-the-bass-understanding-audio-frequencies/"&gt;a previous post&lt;/a&gt;, I discussed the physical
interpretation of digital music (and all digital audio) as both a time-varying
signal and a frequency-varying signal. This, of course, makes intuitive sense -
as we spend three or four minutes listening to a song, we can hear the guitars
and horns coming in and fading out, a singer intone the chorus of a song, etc.
At the same time, we appreciate the frequencies changing as well — the
singer hitting different notes, the instruments forming different chords.
Understanding the time and frequency behavior of auditory information is fairly
intuitive - in fact, one could even argue that visualizing the frequency-based
content is more informative than visualizing the time-based content.&lt;/p&gt;</description></item><item><title>How to Pump Up the Bass: Understanding Audio Frequencies</title><link>/2013/10/30/how-to-pump-up-the-bass-understanding-audio-frequencies/</link><pubDate>Wed, 30 Oct 2013 00:00:00 +0000</pubDate><guid>/2013/10/30/how-to-pump-up-the-bass-understanding-audio-frequencies/</guid><description>&lt;p&gt;The other day I was having a discussion with my roommate Mike about the physical
intuition of digital photographs, and how performing even the most fundamental
of operations (e.g. resizing) requires an appreciation of the underlying
mathematics. We are both currently in image processing classes, but very
different kinds. His course is in Computer Science, so his studies tend to be of
the &lt;em&gt;&lt;strong&gt;use Java; things happen; make apps&lt;/strong&gt;&lt;/em&gt; variety, with only some slight
motivation and understanding of what&amp;rsquo;s happening under the hood. My course, on
the other hand, is in Electrical Engineering, which means it is of the &lt;em&gt;&lt;strong&gt;here&amp;rsquo;s
some math, and here&amp;rsquo;s how you do this math in Matlab&lt;/strong&gt;&lt;/em&gt; variety. There&amp;rsquo;s
advantages to both educational approaches, but debating the merits of theory-
centric versus application-centric education styles is beyond the scope of this
post. Instead I want to quickly motivate some of the fundamental theorems of
Signal Processing and show how they are applied. In this post, I will cover the
first, and most intuitive, of signals: audio.&lt;/p&gt;</description></item><item><title>Classes for Final Semester</title><link>/2013/10/28/classes-for-final-semester/</link><pubDate>Mon, 28 Oct 2013 00:00:00 +0000</pubDate><guid>/2013/10/28/classes-for-final-semester/</guid><description>&lt;p&gt;I recently finished signing up for (hopefully) my final semester of
(undergraduate) classes at University. I don&amp;rsquo;t think the significance of this
coming semester being my final one has quite sunk in yet. Maybe it&amp;rsquo;s simply due
to me already being in the middle of the semester now, but I haven&amp;rsquo;t yet begun
panicking or experiencing &amp;lsquo;senioritis&amp;rsquo;. I&amp;rsquo;m sure those will both come in due
time, but in the meantime, I had to figure out which classes to take to round up
my college education.&lt;/p&gt;</description></item><item><title>Welcome to the Park!</title><link>/2013/10/28/welcome-to-the-park/</link><pubDate>Mon, 28 Oct 2013 00:00:00 +0000</pubDate><guid>/2013/10/28/welcome-to-the-park/</guid><description>&lt;p&gt;I love going for walks in the park. Whether I&amp;rsquo;m flushed with ideas and want to
let them percolate in my head, or I&amp;rsquo;m bone dry and can&amp;rsquo;t seem to get a single
thought to hit me, I find going for a walk always helps. Something about keeping
moving and watching the world stroll by always seems to get the juices flowing
at just the right pace.&lt;/p&gt;
&lt;p&gt;But a walk can&amp;rsquo;t be just anywhere to have this effect. Walking the city streets,
for example, just doesn&amp;rsquo;t seem to have the same effect. Perhaps it has to do
with the noise, or maybe it&amp;rsquo;s just the commotion of people rushing about trying
to &amp;ldquo;get things done&amp;rdquo;. Either way, I demand my meditative gardens to be slightly
removed from the most heavily trafficked paths so that I can (perhaps somewhat
selfishly) enjoy their tranquility. (For instance, the Rutgers Student Center
below might be a bit too active to get any good thinking done.)&lt;/p&gt;</description></item></channel></rss>