From 0cf47bf40ad9ae1ad2f4626e71d7ea9fc0163de2 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Thu, 15 Aug 2024 20:15:41 -0400 Subject: [PATCH] Refactor family.md to remove unnecessary image reference --- data/essays/2013/amsterdam_and_groningen.md | 4 +- data/essays/2013/beautiful_dublin.md | 4 +- .../2013/buying_your_first_real_camera.md | 4 +- data/essays/2013/growing_open_source_seeds.md | 12 ++- data/essays/2013/hotel_room.md | 12 +-- .../2013/how_i_develop_things_and_why.md | 8 +- data/essays/2013/introducing_dj_static.md | 10 +-- data/essays/2013/introducing_flask_sockets.md | 28 +++--- .../2013/israel_tel_aviv_amp_jerusalem.md | 26 +----- .../2013/paris_angelhack_api_days_2012.md | 54 +----------- .../2013/the_misunderstood_leica_monochrom.md | 24 +++-- .../essays/2013/understanding_ableton_push.md | 4 +- ...o_portrait_kenneth_reitz_infinite_state.md | 6 +- data/essays/2013/why_i_left_medium.md | 4 +- data/essays/2013/winter_solstice.md | 6 +- ...ucing_certifi_trust_database_for_humans.md | 12 ++- .../migraines_color_film_and_san_francisco.md | 4 +- .../photography_the_navigation_of_choice.md | 15 ++-- ...ound_again_review_of_the_fujifilm_x100t.md | 8 +- .../os_x_lightroom_and_the_new_photos_app.md | 6 +- ...xpected_negative_a_narcissistic_partner.md | 9 +- data/essays/2016/a_better_pip_workflowtm.md | 40 ++++----- ...g_unmastered_impulses_by_infinite_state.md | 8 +- .../introducing_records_sql_for_humanstm.md | 24 +++-- .../on_cybersecurity_and_being_targeted.md | 4 +- ...g_empathy_narcissism_and_mental_illness.md | 4 +- data/essays/2017/a_public_journal.md | 6 +- .../fish_as_default_shell_on_windows_10.md | 10 +-- .../new_album_messengers_rising_available.md | 2 +- data/essays/2017/new_ep_alchemical_divorce.md | 6 +- .../essays/2017/so_i_bought_a_surface_book.md | 4 +- ...d_studio_album_resolution_now_available.md | 4 +- ...dows_development_environment_adventures.md | 4 +- ...rking_with_icloud_macs_amp_the_ipad_pro.md | 28 +++--- ...y_you_should_use_apple_notes,_actually..md | 16 +--- ...why_you_should_use_apple_notes_actually.md | 88 ------------------- ...ll_for_sponsors_requests_30_development.md | 20 ----- data/essays/2018/first_soundtrack_scoring!.md | 15 ---- data/essays/2018/first_soundtrack_scoring.md | 15 ---- data/essays/2018/joining_digitalocean.md | 4 +- data/essays/2018/kr_vlog_0.md | 5 -- .../leica_28mm_summaron_m_f56_lens_review.md | 16 ++-- data/essays/2018/leica_m10_video_review.md | 5 -- ..._section:_\"objects_i_own_&_love\".md" | 23 ----- ..._website_section_objects_i_own_amp_love.md | 23 ----- data/essays/2018/on_love.md | 24 +++-- data/essays/2018/panasonic_gx850_review.md | 28 +++--- ...penv_one_year_later_amp_a_call_for_help.md | 12 ++- ...tive_thoughts_on_the_github_acquisition.md | 10 +-- ...rolevel_camera_recommendations_for_2018.md | 8 +- .../essays/2018/sony_rx100_mark_5_thoughts.md | 17 ++-- ...hinola_canfield_sport_45mm_watch_review.md | 18 ++-- .../2019/requests_iii_development_update.md | 5 +- ...t_specializing_in_python_amp_api_design.md | 2 +- 54 files changed, 184 insertions(+), 574 deletions(-) delete mode 100644 data/essays/2018/apple_pencil_note_taking_why_you_should_use_apple_notes_actually.md delete mode 100644 data/essays/2018/call_for_sponsors_requests_30_development.md delete mode 100644 data/essays/2018/first_soundtrack_scoring!.md delete mode 100644 data/essays/2018/first_soundtrack_scoring.md delete mode 100644 data/essays/2018/kr_vlog_0.md delete mode 100644 data/essays/2018/leica_m10_video_review.md delete mode 100644 "data/essays/2018/new_website_section:_\"objects_i_own_&_love\".md" delete mode 100644 data/essays/2018/new_website_section_objects_i_own_amp_love.md diff --git a/data/essays/2013/amsterdam_and_groningen.md b/data/essays/2013/amsterdam_and_groningen.md index 4b802ce..8aac533 100644 --- a/data/essays/2013/amsterdam_and_groningen.md +++ b/data/essays/2013/amsterdam_and_groningen.md @@ -1,6 +1,6 @@ # Amsterdam and Groningen - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666511942-8OQI0I98ONDVUWC9ZYM9/c45b9-img.jpg) ![bb6df-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666448914-NTEWN1OF76KDH77FHH5R/c090d-bb6df-img.jpg) ![Street Art_8716312973_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666493405-LRLFVFF5UH8HPJNPC3N2/825ef-dd069-street-art_8716312973_o.jpg) I just returned on a lovely trip to the Netherlands. I landed remarkably early in the morning (8am) and had to spend several hours walking around the city. Early morning Amsterdam was incredibly desolate and beautiful. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666511942-8OQI0I98ONDVUWC9ZYM9/c45b9-img.jpg) ![bb6df-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666448914-NTEWN1OF76KDH77FHH5R/c090d-bb6df-img.jpg) ![Street Art_8716312973_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666493405-LRLFVFF5UH8HPJNPC3N2/825ef-dd069-street-art_8716312973_o.jpg) I just returned on a lovely trip to the Netherlands. I landed remarkably early in the morning (8am) and had to spend several hours walking around the city. Early morning Amsterdam was incredibly desolate and beautiful. ![](https://d233eq3e3p3cv0.cloudfront.net/max/2048/0*bd5bYS7tKwjZ-KAv.jpeg) ![](https://d233eq3e3p3cv0.cloudfront.net/max/2048/0*Qs1EOFP9F2FNRpIs.jpeg) ![](https://d233eq3e3p3cv0.cloudfront.net/max/2048/0*Fo3AZ7J43L5X73oA.jpeg) @@ -47,5 +47,3 @@ Flickr sets for this trip are available: [Amsterdam](http://www.flickr.com/photos/kennethreitz/sets/72157633447625802/detail/) and [Groningen](http://www.flickr.com/photos/kennethreitz/sets/72157633470180315/detail/). I also[wrote a song](https://soundcloud.com/kennethreitz/amsterdam-experiment) about it. Many thanks to the PyGrunn team for putting on an excellent conference! I’m looking forward to returning when given the opportunity. - - \ No newline at end of file diff --git a/data/essays/2013/beautiful_dublin.md b/data/essays/2013/beautiful_dublin.md index d296307..9cab1f6 100644 --- a/data/essays/2013/beautiful_dublin.md +++ b/data/essays/2013/beautiful_dublin.md @@ -1,6 +1,6 @@ # Beautiful Dublin - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666508044-QQKB4ODKZZ6U6VN98BD4/bcaed-img.jpg) ![5d72c-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453811-CJPJ6KKTLVBRC5JH820S/cbf12-5d72c-img.jpg) ![10358968286_c8dd9bd603_h](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666526897-7F5I3J0YGYUNKCBDHQOV/f9338-f77e3-10358968286_c8dd9bd603_h.jpg) I recently returned from a trip to one of my favorite European cities — Dublin. ![view](http://farm8.staticflickr.com/7370/10359139473_9ec8654474_b.jpg) + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666508044-QQKB4ODKZZ6U6VN98BD4/bcaed-img.jpg) ![5d72c-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453811-CJPJ6KKTLVBRC5JH820S/cbf12-5d72c-img.jpg) ![10358968286_c8dd9bd603_h](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666526897-7F5I3J0YGYUNKCBDHQOV/f9338-f77e3-10358968286_c8dd9bd603_h.jpg) I recently returned from a trip to one of my favorite European cities — Dublin. ![view](http://farm8.staticflickr.com/7370/10359139473_9ec8654474_b.jpg) Dublin is a casual but picturesque city, filled with a cultured people of candor. @@ -17,5 +17,3 @@ Late into the night, the streets clear of all signs of life. ![the rich](http://farm6.staticflickr.com/5496/10358948415_b938467227_b.jpg) ![church](http://farm3.staticflickr.com/2806/10358960004_5c624a71b0_b.jpg) ![the egrett](http://farm8.staticflickr.com/7427/10358944935_2b22fe828b_h.jpg) - - \ No newline at end of file diff --git a/data/essays/2013/buying_your_first_real_camera.md b/data/essays/2013/buying_your_first_real_camera.md index 5c7b940..7e71fb4 100644 --- a/data/essays/2013/buying_your_first_real_camera.md +++ b/data/essays/2013/buying_your_first_real_camera.md @@ -1,6 +1,6 @@ # Buying Your First "Real" Camera - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463242-KXFEMCLBMI39GRMKN95K/0ffda-img.jpg) ![a4dff-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666450906-S98CP22X7YS0512JSPE7/58c9c-a4dff-img.jpg) ![IMG_0193_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472502-0KII8KG0Y8J5WZZEVKQW/2a9de-01b0b-img_0193_2.jpg) A friend of mine approached me recently, looking for camera advice. She has been experimenting with photography and is interested in investing in getting her first "real" camera, but didn't know where to start. I've made recommendations like this on numerous occasions, so I thought it would be useful to document my thoughts and findings here. Most people, when they get to this stage, run out to Best Buy, talk to the guy there, and walk away with a Canon T3i with a kit zoom lens. I just hope that you don't without considering other options first. I wish I hadn't. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463242-KXFEMCLBMI39GRMKN95K/0ffda-img.jpg) ![a4dff-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666450906-S98CP22X7YS0512JSPE7/58c9c-a4dff-img.jpg) ![IMG_0193_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472502-0KII8KG0Y8J5WZZEVKQW/2a9de-01b0b-img_0193_2.jpg) A friend of mine approached me recently, looking for camera advice. She has been experimenting with photography and is interested in investing in getting her first "real" camera, but didn't know where to start. I've made recommendations like this on numerous occasions, so I thought it would be useful to document my thoughts and findings here. Most people, when they get to this stage, run out to Best Buy, talk to the guy there, and walk away with a Canon T3i with a kit zoom lens. I just hope that you don't without considering other options first. I wish I hadn't. ## What is your goal? @@ -75,5 +75,3 @@ #### References * [Kenneth Reitz's 500px](http://500px.com/kennethreitz) \- [Fujifilm X100](http://www.amazon.com/gp/product/B0043RS864/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B0043RS864&linkCode=as2&tag=bookforkind-20) on Amazon \- [Sony RX100](http://www.amazon.com/gp/product/B00889ST2G/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00889ST2G&linkCode=as2&tag=bookforkind-20) on Amazon \- [Olympus OM\-D](http://www.amazon.com/gp/product/B00CHJO49A/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00CHJO49A&linkCode=as2&tag=bookforkind-20) on Amazon - - \ No newline at end of file diff --git a/data/essays/2013/growing_open_source_seeds.md b/data/essays/2013/growing_open_source_seeds.md index 68eeb5b..92bba6a 100644 --- a/data/essays/2013/growing_open_source_seeds.md +++ b/data/essays/2013/growing_open_source_seeds.md @@ -1,6 +1,6 @@ # Growing Open Source Seeds - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666521848-GM6AL9IP5T7VKA5UB2I1/e7fcb-img.jpg) ![327a7-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666450559-S9M77EY5UXSBE5TVLOJD/7f6f3-327a7-img.jpg) ![Image 2013.07.13 8-09-28 PM](http://static1.squarespace.com/static/665498111876725f7613f1e6/t/6680065e1022a0098af05aa8/1719666270410/c284a-f5085-image-2013.07.13-8-09-28-pm.jpeg.13-8-09-28-pm.jpeg.13-8-09-28-pm.jpeg.13-8-09-28-pm.jpeg?format=original) ## The Facebook Story + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666521848-GM6AL9IP5T7VKA5UB2I1/e7fcb-img.jpg) ![327a7-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666450559-S9M77EY5UXSBE5TVLOJD/7f6f3-327a7-img.jpg) ![Image 2013.07.13 8-09-28 PM](http://static1.squarespace.com/static/665498111876725f7613f1e6/t/6680065e1022a0098af05aa8/1719666270410/c284a-f5085-image-2013.07.13-8-09-28-pm.jpeg.13-8-09-28-pm.jpeg.13-8-09-28-pm.jpeg.13-8-09-28-pm.jpeg?format=original) ## The Facebook Story The Facebook Python SDK Years ago, Facebook created a Python library for interfacing with their API. The project had a large number of users (after all, Facebook is pretty popular), but was very rarely updated. One day, the library stopped working completely. Dozens of people trying to build apps and tools on Facebook opened up issues trying to help them resolve the problem. Nothing. @@ -21,7 +21,7 @@ * Interviews with journalists are live\-streamed on YouTube. * All formal discussions with other organizations are publicly documented and discussed with the community. - + > I’m not building Gittip, I’m building the community that’s building Gittip —@whit537 Gittip is an extreme example of a Shared Investment Project. Many large open source projects are run this way — Python, Django, Firefox, jQuery, etc. @@ -64,14 +64,14 @@ Luckily, this can be avoided: - + > Open source provides a unique opportunity for the trifecta of purpose, mastery and autonomy. By recognizing the power of these factors, we can keep ourselves motivated and continue to increase our impact. — @geemus A big part of this is doing less. Meet @lukasaoz‎ and @sigmavirus24, my evil minions. They make my life awesome. When a new issue or pull request comes in to the Requests repository, these gentlemen triage it. This saves me an immense amount of time. Instead of having the constant burden of having hundreds of pending issues and dozens of pending pull requests on Requests, I periodically check the repository and find a nice stack of PRs that have already been reviewed and updated, ready for merging or further comment. It’s been great learning from each other. - + > As I fork another of his projects, it occurs to me that I don’t program in the Python ecosystem: I program in the @kennethreitz ecosystem. — @Lukasaoz I try to do the same for Flask, Gunicorn, and Werkzeug as well (although I don’t contribute nearly as much as I should). @@ -82,7 +82,7 @@ People are going to ask for features (sometimes crazy ones). They will argue with you and complain that your design doesn’t fit their specific corner\-case and is therefore totally worthless. - + > Simplicity is always better than functionality.— @hintgens Cater your project to the masses, and you will slowly watch your project transform into something complex, heavy, and difficult to maintain. The best pull requests are the ones that remove lines of code. @@ -90,5 +90,3 @@ The easiest way to accomplish this is to document the project’s goals and intensions. When someone sends a crazy pull request, kindly thank them for their contribution, point them to the guidelines in the documentation, and encourage them to send another pull request. Open source makes the world a better place. Don’t make it complicated. - - \ No newline at end of file diff --git a/data/essays/2013/hotel_room.md b/data/essays/2013/hotel_room.md index 4d8100e..694970e 100644 --- a/data/essays/2013/hotel_room.md +++ b/data/essays/2013/hotel_room.md @@ -1,6 +1,6 @@ # Hotel Room - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666512342-Z3DKKS1JFEN1ASUIIDR7/c6daa-img.jpg) ![11800-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449540-KL8P9QGT4IXJKEK0ELG1/9cb7a-11800-img.jpg) ![Distilled_8734307387_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666464092-8MG0QBKZ9NLDMVJ4SUN9/120ec-0fa68-distilled_8734307387_o.jpg) Personal island of solitude. A place to reflect. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666512342-Z3DKKS1JFEN1ASUIIDR7/c6daa-img.jpg) ![11800-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449540-KL8P9QGT4IXJKEK0ELG1/9cb7a-11800-img.jpg) ![Distilled_8734307387_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666464092-8MG0QBKZ9NLDMVJ4SUN9/120ec-0fa68-distilled_8734307387_o.jpg) Personal island of solitude. A place to reflect. ![](https://d233eq3e3p3cv0.cloudfront.net/max/1600/0*dfYi4FrbiT_KKowM.jpeg) To get things done. @@ -9,13 +9,3 @@ ![](https://d233eq3e3p3cv0.cloudfront.net/max/1600/0*q-lBvyxFCMtQB2cD.jpeg) To relax. ![](https://d233eq3e3p3cv0.cloudfront.net/max/1600/0*9zwr2qfYMBhThm6a.jpeg) To miss home. - - - - - - - - - - \ No newline at end of file diff --git a/data/essays/2013/how_i_develop_things_and_why.md b/data/essays/2013/how_i_develop_things_and_why.md index bb1f952..4c29a14 100644 --- a/data/essays/2013/how_i_develop_things_and_why.md +++ b/data/essays/2013/how_i_develop_things_and_why.md @@ -1,6 +1,6 @@ # How I Develop Things and Why - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666483641-7NHNZCJH48KS4EMH5UO5/5c154-img.jpg) ![0065b-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449238-OL06YQ83TJDBV1J6RB4Y/2188c-0065b-img.jpg) I’ve always considered myself a bit of a software junkie. Nothing excites me more than a great piece of new software. Some of my best childhood memories are our trips to Grandma’s house, where I’d have access to a computer with a dial\-up connection that I’d use to obtain freeware and shareware. I’d bring 4 or 5 floppies with me and try to cram all the games, waveform editors, and utilities that I could sneaker\-net home. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666483641-7NHNZCJH48KS4EMH5UO5/5c154-img.jpg) ![0065b-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449238-OL06YQ83TJDBV1J6RB4Y/2188c-0065b-img.jpg) I’ve always considered myself a bit of a software junkie. Nothing excites me more than a great piece of new software. Some of my best childhood memories are our trips to Grandma’s house, where I’d have access to a computer with a dial\-up connection that I’d use to obtain freeware and shareware. I’d bring 4 or 5 floppies with me and try to cram all the games, waveform editors, and utilities that I could sneaker\-net home. Luckily today, excellent software written with passion oozes out of the app ecosystem. OS X and the App Store really fuel an economy of software built for humans by people that care. @@ -68,12 +68,10 @@ The Golden Rule™: - + > Do unto others as you would have them do to you. Adapted to: - -> Build tools for others that you want to be built for you. - \ No newline at end of file +> Build tools for others that you want to be built for you. diff --git a/data/essays/2013/introducing_dj_static.md b/data/essays/2013/introducing_dj_static.md index 44b6bfc..ba47e1b 100644 --- a/data/essays/2013/introducing_dj_static.md +++ b/data/essays/2013/introducing_dj_static.md @@ -1,10 +1,10 @@ # Introducing DJ-Static - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666514042-8LZBGIPDISPSA4D30E0C/cdc6c-img.jpg) ![499f4-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449350-0PEMOLE2R6AHK7SNZ26O/4bfef-499f4-img.jpg) ![687474703a2f2f6661726d382e737461746963666c69636b722e636f6d2f373338372f383930373335313939305f353836373764376333355f7a2e6a7067](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476621-0F1OGIEN3TRR2P7H82XU/3def4-e54d6-687474703a2f2f6661726d382e737461746963666c69636b722e636f6d2f373338372f383930373335313939305f353836373764376333355f7a2e6a7067.jpeg) Django [doesn't recommend](https://docs.djangoproject.com/en/1.5/howto/static-files/#admonition-serving-the-files) the production use of its static file server for a number of reasons. There exists, however, a lovely WSGI application aptly named [Static](http://lukearno.com/projects/static/). + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666514042-8LZBGIPDISPSA4D30E0C/cdc6c-img.jpg) ![499f4-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449350-0PEMOLE2R6AHK7SNZ26O/4bfef-499f4-img.jpg) ![687474703a2f2f6661726d382e737461746963666c69636b722e636f6d2f373338372f383930373335313939305f353836373764376333355f7a2e6a7067](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476621-0F1OGIEN3TRR2P7H82XU/3def4-e54d6-687474703a2f2f6661726d382e737461746963666c69636b722e636f6d2f373338372f383930373335313939305f353836373764376333355f7a2e6a7067.jpeg) Django [doesn't recommend](https://docs.djangoproject.com/en/1.5/howto/static-files/#admonition-serving-the-files) the production use of its static file server for a number of reasons. There exists, however, a lovely WSGI application aptly named [Static](http://lukearno.com/projects/static/). Thus, [DJ\-Static](https://github.com/kennethreitz/dj-static) was born. - + > Finally, a super\-simple way of serving assets in Django that’ll actually perform well — [@jacobian](https://twitter.com/jacobian/status/356754168075128833) ## Installation and Configuration @@ -13,13 +13,13 @@ Configure your static assets in `settings.py`: - + ``` STATIC_ROOT = 'staticfiles'STATIC_URL = '/static/' ``` Then, update your `wsgi.py` file to use DJ\-Static: - + ``` from django.core.wsgiimport get_wsgi_applicationfrom dj_static import Clingapplication = Cling(get_wsgi_application()) ``` @@ -40,5 +40,3 @@ from django.core.wsgiimport get_wsgi_applicationfrom dj_static import Clingappli ### Related Links * [DJ\-Static on PyPi](https://pypi.python.org/pypi/dj-static) \- [DJ\-Static on GitHub](https://github.com/kennethreitz/dj-static) \- [Django and Static Assets on Heroku](https://devcenter.heroku.com/articles/django-assets) \- [The 12 Factor App: Dev/prod Parity](http://12factor.net/dev-prod-parity) - - \ No newline at end of file diff --git a/data/essays/2013/introducing_flask_sockets.md b/data/essays/2013/introducing_flask_sockets.md index 3363489..9b43224 100644 --- a/data/essays/2013/introducing_flask_sockets.md +++ b/data/essays/2013/introducing_flask_sockets.md @@ -1,29 +1,29 @@ # Introducing Flask-Sockets - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666505947-ZIU1Q7IC5K18GY6EJIIY/b6254-img.jpg) ![c9ea9-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453199-ECQ3LQ1HSKOT0SZ24LP4/4da6b-c9ea9-img.jpg) ![L1021006](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666491703-UY6RHN24DJ8RCM4A2BUU/80748-4d711-l1021006.jpg) The state of [WebSockets](http://websocket.org) in Python is unfortunate — there's no obvious way to do it. Twisted \+ Autobhan? Node.js \+ HAProxy? Diesel.io? Nothing feels right. Let's create a WebSocket echo endpoint. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666505947-ZIU1Q7IC5K18GY6EJIIY/b6254-img.jpg) ![c9ea9-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453199-ECQ3LQ1HSKOT0SZ24LP4/4da6b-c9ea9-img.jpg) ![L1021006](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666491703-UY6RHN24DJ8RCM4A2BUU/80748-4d711-l1021006.jpg) The state of [WebSockets](http://websocket.org) in Python is unfortunate — there's no obvious way to do it. Twisted \+ Autobhan? Node.js \+ HAProxy? Diesel.io? Nothing feels right. Let's create a WebSocket echo endpoint. + - ``` from flask import Flaskfrom flask_sockets import Socketsapp = Flask(__name__)sockets = Sockets(app)@sockets.route('/echo')def echo_socket(ws):while True:message = ws.receive()ws.send(message)@app.route('/')def hello():return 'Hello World!' ``` Serving WebSockets in Python was really difficult. Now it's not. - -> I'm going to use the shit out of this. — Randall Degges -> -> This looks absolutely incredible. — Glenn Siegman -> -> How do you install this in node? — Nick Hudkins -> -> You are a golden god, sir. — Jeremy Bowers -> + +> I'm going to use the shit out of this. — Randall Degges +> +> This looks absolutely incredible. — Glenn Siegman +> +> How do you install this in node? — Nick Hudkins +> +> You are a golden god, sir. — Jeremy Bowers +> > \*foams at the mouth\* — Kyle Conroy ## Installation \& Deployment [Flask\-Sockets](https://github.com/kennethreitz/flask-sockets) is an easy to install Flask extension: - + ``` $ pip install Flask-Sockets ``` @@ -31,7 +31,7 @@ $ pip install Flask-Sockets A custom Gunicorn worker is included to make deployment as friendly as possible: - + ``` $ gunicorn -k flask_sockets.worker hello:app ``` @@ -44,5 +44,3 @@ $ gunicorn -k flask_sockets.worker hello:app ### Related Links * [Flask\-Sockets on PyPi](https://pypi.python.org/pypi/Flask-Sockets) \- [Flask\-Sockets on GitHub](https://github.com/kennethreitz/flask-sockets) \- [Gevent\-WebSocket](http://www.gelens.org/code/gevent-websocket/) \- [RFC 6455](http://tools.ietf.org/html/rfc6455) - - \ No newline at end of file diff --git a/data/essays/2013/israel_tel_aviv_amp_jerusalem.md b/data/essays/2013/israel_tel_aviv_amp_jerusalem.md index e359afa..069ceca 100644 --- a/data/essays/2013/israel_tel_aviv_amp_jerusalem.md +++ b/data/essays/2013/israel_tel_aviv_amp_jerusalem.md @@ -1,6 +1,6 @@ # Israel: Tel Aviv & Jerusalem - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666498142-IFEW2VW4GUGHECMTVWRN/98856-img.jpg) ![61fcf-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449726-8YQG1EN02PVYKX2ZP11I/5dad5-61fcf-img.jpg) ![8477989339_7d696fb1ba_h](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666468339-YDJQ2WHE1UHQ8FS5ET3W/21128-414b0-8477989339_7d696fb1ba_h.jpg) I recently returned from Israel for a conference, DevCon TLV. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666498142-IFEW2VW4GUGHECMTVWRN/98856-img.jpg) ![61fcf-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449726-8YQG1EN02PVYKX2ZP11I/5dad5-61fcf-img.jpg) ![8477989339_7d696fb1ba_h](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666468339-YDJQ2WHE1UHQ8FS5ET3W/21128-414b0-8477989339_7d696fb1ba_h.jpg) I recently returned from Israel for a conference, DevCon TLV. ## Preparation @@ -74,27 +74,3 @@ * [Other Exposures of Travel](http://static.squarespace.com/static/533ad9bde4b098d084a846b1/533d64b0e4b05778b6aa60f8/533d65a1e4b05778b6aa74ac/1396532641049/travel?format=original) * [Flickr Album](http://www.flickr.com/photos/kennethreitz/sets/72157632758808680/) - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/data/essays/2013/paris_angelhack_api_days_2012.md b/data/essays/2013/paris_angelhack_api_days_2012.md index 1312f5b..7b5940a 100644 --- a/data/essays/2013/paris_angelhack_api_days_2012.md +++ b/data/essays/2013/paris_angelhack_api_days_2012.md @@ -1,6 +1,6 @@ # Paris, AngelHack, API Days 2012 - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666484841-DR8IKQXGXAFG9BW5HFOE/5e66e-img.jpg) ![102ec-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449010-SVGEJ9KYR72P8SDR6IHG/de8f5-102ec-img.jpg) ![8241038176_f35609da67_c](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666461705-TIUUE9NK0OMUMCYLU0BM/050c4-eb9dd-8241038176_f35609da67_c.jpg) I just returned from a lovely trip to Paris, France. I was there for a Heroku\-sponsored hackathon: AngelHack:Paris. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666484841-DR8IKQXGXAFG9BW5HFOE/5e66e-img.jpg) ![102ec-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449010-SVGEJ9KYR72P8SDR6IHG/de8f5-102ec-img.jpg) ![8241038176_f35609da67_c](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666461705-TIUUE9NK0OMUMCYLU0BM/050c4-eb9dd-8241038176_f35609da67_c.jpg) I just returned from a lovely trip to Paris, France. I was there for a Heroku\-sponsored hackathon: AngelHack:Paris. ## Getting There @@ -78,7 +78,7 @@ ![image](http://farm9.staticflickr.com/8498/8255083478_737485d791_c.jpg) Due to some complicated circumstances, I had the opportunity to give an impromptu keynote. Despite only eight hours of advance notice, it went fairly well. I did make a few [comical mistakes](https://twitter.com/steveklabnik/statuses/275552778070413312), however: - + > My name is Kenneth Reitz, and I work for a subsidiary of Heroku named Salesforce. Err, I mean..." Lots of suits. Lots of sales. Lots of hackers. Lots of buzzwords. Lots of enterprise. @@ -100,53 +100,3 @@ Regardless, it was a fairly uneventful flight. I got a good photo of two strangers cuddling while watching a film on a MacBook: ![image](http://farm9.staticflickr.com/8341/8255097162_7afe7763ea_c.jpg) Funny how technology brings us together. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/data/essays/2013/the_misunderstood_leica_monochrom.md b/data/essays/2013/the_misunderstood_leica_monochrom.md index 0e103ef..fbed8c6 100644 --- a/data/essays/2013/the_misunderstood_leica_monochrom.md +++ b/data/essays/2013/the_misunderstood_leica_monochrom.md @@ -1,6 +1,6 @@ # The Misunderstood Leica Monochrom - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666469848-VPGMZWK1NYPB8RQRM3BY/24205-img.jpg) ![ff6d3-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453105-1CATA9UJ2LL770H9LZY0/5b456-ff6d3-img.jpg) ![1048327_10151706383320132_1618854113_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666464014-OMCT9621VMU6HIZZ6ZOQ/140f3-075b4-1048327_10151706383320132_1618854113_o.jpg) My camera of choice is the [**Leica M Monochrom**](http://www.amazon.com/gp/product/B0082ES6HA/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B0082ES6HA&linkCode=as2&tag=bookforkind-20). This digital black\-and\-white rangefinder camera is my most prized possession and the source of a great deal of inspiration. My beloved camera, unfortunately, has a tendency to polarize people. Instead of being perceived purely as a quality instrument of art and expression, it is often criticized for being an useless object of excess. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666469848-VPGMZWK1NYPB8RQRM3BY/24205-img.jpg) ![ff6d3-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453105-1CATA9UJ2LL770H9LZY0/5b456-ff6d3-img.jpg) ![1048327_10151706383320132_1618854113_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666464014-OMCT9621VMU6HIZZ6ZOQ/140f3-075b4-1048327_10151706383320132_1618854113_o.jpg) My camera of choice is the [**Leica M Monochrom**](http://www.amazon.com/gp/product/B0082ES6HA/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B0082ES6HA&linkCode=as2&tag=bookforkind-20). This digital black\-and\-white rangefinder camera is my most prized possession and the source of a great deal of inspiration. My beloved camera, unfortunately, has a tendency to polarize people. Instead of being perceived purely as a quality instrument of art and expression, it is often criticized for being an useless object of excess. Common objections include: @@ -54,25 +54,25 @@ Here are some real\-world images I captured with the Monochrom over the past few months. - [![IMG_0193_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666521683-XQL3FQKLAYBXIGGMY1OQ/e732c-0408c-img_0193_2.jpg)![IMG_0193_2]()](http://500px.com/photo/37684704) + [![IMG_0193_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666521683-XQL3FQKLAYBXIGGMY1OQ/e732c-0408c-img_0193_2.jpg)![IMG_0193_2]()](http://500px.com/photo/37684704) - IMG\_0193\_2 + IMG\_0193\_2 - [![L1018407](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666515298-YCG7NF2VRBHSRQI685K4/cf4aa-d77c8-l1018407.jpg)![L1018407]()](http://500px.com/photo/40224696) + [![L1018407](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666515298-YCG7NF2VRBHSRQI685K4/cf4aa-d77c8-l1018407.jpg)![L1018407]()](http://500px.com/photo/40224696) - L1018407 + L1018407 - [![IMG_0187_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666471218-EABC0PUL5JV69SMO4TTZ/2767a-2c51d-img_0187_2.jpg)![IMG_0187_2]()](http://500px.com/photo/36478426) + [![IMG_0187_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666471218-EABC0PUL5JV69SMO4TTZ/2767a-2c51d-img_0187_2.jpg)![IMG_0187_2]()](http://500px.com/photo/36478426) - IMG\_0187\_2 + IMG\_0187\_2 - [![L1018400](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666503301-DT6M9BCPPGPT85IP6K5M/a74af-ea9b3-l10184001.jpg)![L1018400]()](http://500px.com/photo/39957788) + [![L1018400](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666503301-DT6M9BCPPGPT85IP6K5M/a74af-ea9b3-l10184001.jpg)![L1018400]()](http://500px.com/photo/39957788) - L1018400 + L1018400 - [![IMG_0179_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666523710-3H4TZDC3I26KCF7TW7MX/e94ed-f6e48-img_0179_2.jpg)![IMG_0179_2]()](http://500px.com/photo/36478422) + [![IMG_0179_2](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666523710-3H4TZDC3I26KCF7TW7MX/e94ed-f6e48-img_0179_2.jpg)![IMG_0179_2]()](http://500px.com/photo/36478422) - IMG\_0179\_2 + IMG\_0179\_2 ## In Conclusion @@ -89,5 +89,3 @@ This camera is a testament to engineering, craftsmanship, and above all, beauty. It's truly an inspiration. - - \ No newline at end of file diff --git a/data/essays/2013/understanding_ableton_push.md b/data/essays/2013/understanding_ableton_push.md index 0d4ed6b..505da35 100644 --- a/data/essays/2013/understanding_ableton_push.md +++ b/data/essays/2013/understanding_ableton_push.md @@ -1,6 +1,6 @@ # Understanding Ableton Push - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666528644-BOZYFZX5APSX9DQ8712F/fc9ca-img.jpg) ![fd25d-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449460-BWDUQ2T0HVY62IB3EYJW/80ccb-fd25d-img.jpg) ![Push and Cans_8935067194_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666462700-YSVN9CGVU229GWWDVZ73/06b5d-50b70-push-and-cans_8935067194_o.jpg) Since I was a young child, I’ve loved music. I became a percussionist early on and dedicated over a decade of my life to my beloved drum kit. Today, I own a growing number of synths and keyboards, but my musical mind continues to gravitate around the concepts of rhythm and geometry. I find myself constrained and occasionally frustrated by the layout of a standard keyboard. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666528644-BOZYFZX5APSX9DQ8712F/fc9ca-img.jpg) ![fd25d-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449460-BWDUQ2T0HVY62IB3EYJW/80ccb-fd25d-img.jpg) ![Push and Cans_8935067194_o](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666462700-YSVN9CGVU229GWWDVZ73/06b5d-50b70-push-and-cans_8935067194_o.jpg) Since I was a young child, I’ve loved music. I became a percussionist early on and dedicated over a decade of my life to my beloved drum kit. Today, I own a growing number of synths and keyboards, but my musical mind continues to gravitate around the concepts of rhythm and geometry. I find myself constrained and occasionally frustrated by the layout of a standard keyboard. I eventually explored the Chapman Stick and its novel Matched Reciprocal Tuning. This tuning allows you to discover music geometrically. Play the same shape with both hands and the chords will be inverse of one another. From there, you can explore by simply moving up, down, left, right, diagonally, etc. It’s incredible. @@ -47,5 +47,3 @@ * [Hands\-on Review of the Ableton Push](http://www.sam-mallery.com/2013/05/hands-on-review-of-the-ableton-push/) \- [What Does it Mean to Be an Electronic Instrument?](http://createdigitalmusic.com/2013/03/what-does-it-mean-to-be-an-electronic-instrument/) \- [Playing Notes and Chords with Push](http://www.youtube.com/watch?v=CS2r13xX-nk) Order one. [Order one now](http://www.amazon.com/gp/product/B00AZ98TVS/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00AZ98TVS&linkCode=as2&tag=bookforkind-20). - - \ No newline at end of file diff --git a/data/essays/2013/video_portrait_kenneth_reitz_infinite_state.md b/data/essays/2013/video_portrait_kenneth_reitz_infinite_state.md index 30db9d5..29dbe09 100644 --- a/data/essays/2013/video_portrait_kenneth_reitz_infinite_state.md +++ b/data/essays/2013/video_portrait_kenneth_reitz_infinite_state.md @@ -1,13 +1,9 @@ # Video Portrait — Kenneth Reitz / Infinite State - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666474241-8FRKHUUPI8SJ6888RNYI/2dc72-img.jpg) ![fc094-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453307-2PV2T6J5Y490ICPRG8E7/a1e40-fc094-img.jpg) ![L1021015-Edit](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666462498-JCFHXAHQ1V7QWAUS3YYX/0689f-75f07-l1021015-edit1.jpg) My good friend [John Mangino](http://about.me/johnmangino) of [KeyFrame Films](http://keyframefilms.com) approached me recently about a new project — "video portraits" of humans from the Winchester, Virginia area. Here's the result of my interview — a candid conversation about software development and music production. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666474241-8FRKHUUPI8SJ6888RNYI/2dc72-img.jpg) ![fc094-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453307-2PV2T6J5Y490ICPRG8E7/a1e40-fc094-img.jpg) ![L1021015-Edit](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666462498-JCFHXAHQ1V7QWAUS3YYX/0689f-75f07-l1021015-edit1.jpg) My good friend [John Mangino](http://about.me/johnmangino) of [KeyFrame Films](http://keyframefilms.com) approached me recently about a new project — "video portraits" of humans from the Winchester, Virginia area. Here's the result of my interview — a candid conversation about software development and music production. \[vimeo 77190290 w\=700 h\=394] **Pub Trivia**: John is the owner of my old Canon 5D Mark II. It was used to capture this video. ## Featured Tracks \[soundcloud url\="https://api.soundcloud.com/tracks/110950393" params\="" width\="100%" height\="166" iframe\="true" /]\[soundcloud url\="https://api.soundcloud.com/tracks/87850234" params\="" width\="100%" height\="166" iframe\="true" /]\[soundcloud url\="https://api.soundcloud.com/tracks/72406604" params\="" width\="100%" height\="166" iframe\="true" /]\[soundcloud url\="https://api.soundcloud.com/tracks/98657394" params\="" width\="100%" height\="166" iframe\="true" /] - - - - \ No newline at end of file diff --git a/data/essays/2013/why_i_left_medium.md b/data/essays/2013/why_i_left_medium.md index 06b9f33..b82abf0 100644 --- a/data/essays/2013/why_i_left_medium.md +++ b/data/essays/2013/why_i_left_medium.md @@ -1,6 +1,6 @@ # Why I Left Medium - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666470442-3JY6Z7FYN2V0NRK80T6C/26178-img.jpg) ![09f83-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449097-0CU7VF0Y1E2S5LATMD8O/6c2d6-09f83-img.jpg) ![Praying for Land_8386426833_o.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666493653-J2DVSKAKKG0R4K0QGTJI/8309e-6ee3d-prayingforland_8386426833_o.jpg) A few months ago, I decided to move all of my content over to Medium. If you aren't aware, [Medium](http://medium.com) is a new content platform designed for readers and writers. Its main draw is an elegant writing interface combined with the ability to comment on specific pieces of text, instead of on an article as a whole. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666470442-3JY6Z7FYN2V0NRK80T6C/26178-img.jpg) ![09f83-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666449097-0CU7VF0Y1E2S5LATMD8O/6c2d6-09f83-img.jpg) ![Praying for Land_8386426833_o.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666493653-J2DVSKAKKG0R4K0QGTJI/8309e-6ee3d-prayingforland_8386426833_o.jpg) A few months ago, I decided to move all of my content over to Medium. If you aren't aware, [Medium](http://medium.com) is a new content platform designed for readers and writers. Its main draw is an elegant writing interface combined with the ability to comment on specific pieces of text, instead of on an article as a whole. I was finding myself a bit frustrated with my online presence — torn between voices of code, travel, photography, and music. I was originally going to dive head\-first into a content\-negotiated [BlackBox](https://github.com/kennethreitz/blackbox)\-driven experience where all of my content was indexed, searchable, and archived automatically on Archive.org. @@ -41,5 +41,3 @@ Medium really is a great platform if you just want to write. Unfortunately, for me, that just wasn't my problem. **Pub Trivia**: The dude in the photo at the top is [Max Fenton](http://www.maxfenton.com/), lost in his work as Readability's Community Manager a few years ago. He's awesome. - - \ No newline at end of file diff --git a/data/essays/2013/winter_solstice.md b/data/essays/2013/winter_solstice.md index a04a85f..94fe006 100644 --- a/data/essays/2013/winter_solstice.md +++ b/data/essays/2013/winter_solstice.md @@ -1,6 +1,6 @@ # Winter Solstice - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666522541-7UXEDM44HL07IGQNMJQ9/e906e-img.jpg) ![16140-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453925-7BZ42WVOA2HVCELC9SZE/6d144-16140-img.jpg) ![L1021731](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666530205-W94PA958KE0CGNCH0DLT/ff173-56f49-l1021731.jpg) Winter has fallen upon the Shenandoah Valley, and 2014 is fast approaching.To commemorate the occasion, I created a sonic reflection of the year'sjourneys. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666522541-7UXEDM44HL07IGQNMJQ9/e906e-img.jpg) ![16140-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666453925-7BZ42WVOA2HVCELC9SZE/6d144-16140-img.jpg) ![L1021731](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666530205-W94PA958KE0CGNCH0DLT/ff173-56f49-l1021731.jpg) Winter has fallen upon the Shenandoah Valley, and 2014 is fast approaching.To commemorate the occasion, I created a sonic reflection of the year'sjourneys. \[soundcloud url\="https://api.soundcloud.com/tracks/125913455" params\="color\=ff6600\&auto\_play\=false\&show\_artwork\=true" width\="100%" height\="166" iframe\="true" /] The brief transition from autumn into winter is stark, concise, and profound. These seasonal harmonies made a great opportunity to experiment with film. @@ -9,7 +9,3 @@ Winter made itself known proudly with a large snowstorm. It was oddly blissful. I love the insulating effect snow has on sound. There's nothing more tranquil than walking around a half\-abandoned town in the middle of the afternoon taking pictures during a light snowfall. ![bird bath](http://farm6.staticflickr.com/5525/11277634935_12a1fc218a_b.jpg) ![snow gate](http://farm8.staticflickr.com/7359/11277748303_ab3286c5c2_b.jpg) ![path](http://farm6.staticflickr.com/5473/11277633165_719939c66c_b.jpg) ![wonderland](http://farm6.staticflickr.com/5507/11277705283_6db6a7155d_b.jpg) ![chevy](http://farm6.staticflickr.com/5487/11277716113_9a901ffaa4_b.jpg) ![door](http://farm4.staticflickr.com/3745/11277732953_0c061249c1_b.jpg) ![church](http://farm3.staticflickr.com/2814/11277646384_c3b91de1ea_b.jpg) - - - - \ No newline at end of file diff --git a/data/essays/2014/introducing_certifi_trust_database_for_humans.md b/data/essays/2014/introducing_certifi_trust_database_for_humans.md index 4405c38..682d555 100644 --- a/data/essays/2014/introducing_certifi_trust_database_for_humans.md +++ b/data/essays/2014/introducing_certifi_trust_database_for_humans.md @@ -1,20 +1,20 @@ # Introducing Certifi: Trust Database for Humans - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666480948-AX4X1ZV8G9NHLZB6GX0Y/4d1eb-img.jpg) ![ff070-l1003886.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454123-IJU8ZW6ZC7ZQDKXNOSW3/67a45-ff070-l1003886.jpg) [![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666467200-WFP2XGWODEY4K4IJRFV5/18bf1-bace4-image-asset.jpeg)](/stockholm-2014) The internet is an untrusted place. Every HTTP request you make should have verification on by default. This happens every time you access a website with your web browser, without any knowledge to the user — there’s no reason your code should be any different. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666480948-AX4X1ZV8G9NHLZB6GX0Y/4d1eb-img.jpg) ![ff070-l1003886.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454123-IJU8ZW6ZC7ZQDKXNOSW3/67a45-ff070-l1003886.jpg) [![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666467200-WFP2XGWODEY4K4IJRFV5/18bf1-bace4-image-asset.jpeg)](/stockholm-2014) The internet is an untrusted place. Every HTTP request you make should have verification on by default. This happens every time you access a website with your web browser, without any knowledge to the user — there’s no reason your code should be any different. [Certifi](http://certifi.io/en/latest/) is here, for everyone, to make this possible. - + > “Unless you fully understand how system trust databases work (you probably don’t) and are capable to implement support for all relevant ones (you probably aren’t), I urge you: just use certifi.” - + — Hynek Schlawack - + > “One of the first things people should ask when using a new toolset: How do I use Certifi with this?” - + — Andrey Petrov @@ -47,5 +47,3 @@ * * - - \ No newline at end of file diff --git a/data/essays/2014/migraines_color_film_and_san_francisco.md b/data/essays/2014/migraines_color_film_and_san_francisco.md index 510ac37..071a34a 100644 --- a/data/essays/2014/migraines_color_film_and_san_francisco.md +++ b/data/essays/2014/migraines_color_film_and_san_francisco.md @@ -1,6 +1,6 @@ # Migraines, Color Film, and San Francisco - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666497546-V5MO5HVYRPSFMJBBFPEJ/97b7f-img.jpg) ![1c9fb-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454011-E7F27LE4QWFK3AZK60VE/1b434-1c9fb-img.jpg) ![scan0004](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666459616-EQP8LG0UYV1ETEA0DA4X/02b62-d7581-scan0004.jpg) I've made some major experience changes to my life recently (which I'll write about soon). I seem to have found myself with a newfound appreciation for color. I've been subtly adding more color to my wardrobe, buying brighter colored flowers for around the home, and I even purchased a brightly colored doormat to greet myself every time I come home. Of course, this raises some interesting questions about my photography. I shoot black and white exclusively with a camera that does the same. Should I re\-broaden my horizons? + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666497546-V5MO5HVYRPSFMJBBFPEJ/97b7f-img.jpg) ![1c9fb-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454011-E7F27LE4QWFK3AZK60VE/1b434-1c9fb-img.jpg) ![scan0004](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666459616-EQP8LG0UYV1ETEA0DA4X/02b62-d7581-scan0004.jpg) I've made some major experience changes to my life recently (which I'll write about soon). I seem to have found myself with a newfound appreciation for color. I've been subtly adding more color to my wardrobe, buying brighter colored flowers for around the home, and I even purchased a brightly colored doormat to greet myself every time I come home. Of course, this raises some interesting questions about my photography. I shoot black and white exclusively with a camera that does the same. Should I re\-broaden my horizons? I was, of course, quite tempted to go out and buy a [Fujifilm X100S](https://www.amazon.com/dp/B00ATM1MVA?tag=bookforkind-20&camp=0&creative=0&linkCode=as4&creativeASIN=B00ATM1MVA&adid=1DE096V5Z8VDMYYYP0Y7&). Instead, I decided to start experimenting with color film emulsions with my beloved 1954 Double Stroke Leica M3 (discussed in my [Leica interview](http://blog.leica-camera.com/photographers/interviews/kenneth-reitz-exploring-the-material-world-in-an-electronic-universe/)). I had already been experimenting with some B\&W emulsions and home development, so the transition was relatively seamless and pragmatic. @@ -35,5 +35,3 @@ ## Flickr Sets * [SF in Technicolor](http://www.flickr.com/photos/kennethreitz/sets/72157641097202613/) \- [SF in February](http://www.flickr.com/photos/kennethreitz/sets/72157640786202315/) \- [SF in January](http://www.flickr.com/photos/kennethreitz/sets/72157640031291924/) - - \ No newline at end of file diff --git a/data/essays/2014/photography_the_navigation_of_choice.md b/data/essays/2014/photography_the_navigation_of_choice.md index e2faf27..cb451b1 100644 --- a/data/essays/2014/photography_the_navigation_of_choice.md +++ b/data/essays/2014/photography_the_navigation_of_choice.md @@ -1,6 +1,6 @@ # Photography: The Navigation of Choice - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666486042-POGZDVGRXM9805E0DLOI/63776-img.jpg) ![f372f-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454735-VNNAG20D494A69TKFCL4/eba54-f372f-img.jpg) ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666488974-X6S1SXAY83D33M75QYM4/71275-dcc20-image-asset.jpeg) Photography is all about choices.  + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666486042-POGZDVGRXM9805E0DLOI/63776-img.jpg) ![f372f-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454735-VNNAG20D494A69TKFCL4/eba54-f372f-img.jpg) ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666488974-X6S1SXAY83D33M75QYM4/71275-dcc20-image-asset.jpeg) Photography is all about choices.  As the photographer discovers himself, they encounter a number of polarities that they feel they must chose between. These simple decisions have a dramatic impact on the **set and setting** of the observer capturing the moment.  @@ -32,25 +32,20 @@ And, because I've stuck to one focal  length for so long, my lens has become a true extension of my eye. When I look at a scene with my bare vision, I know *precisely* where the Leica 35mm framelines will appear once I hold the camera up to my eye.  - # + # # CONSTRAINTS FOSTER CREATIVITY - - ![Cleveland, Ohio](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666459408-DZGR6RCKTIPXH6147UJ5/0262f-e0d82-img_0193_2.jpg)![Cleveland, Ohio]() Cleveland, Ohio ![Jerusalem, Israel](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666509228-7M3SF82FWI71PYOFT49K/bd5cf-0ed71-img_0147_2.jpg)![Jerusalem, Israel]() Jerusalem, Israel ![Tokyo, Japan](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666516843-58OLMP5P07PY6FCSGPUU/d25c1-83707-image-asset.jpeg)![Tokyo, Japan]() Tokyo, Japan ![Winchester, Virginia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666501601-HDSBEL5K6DYO2KWXEL7X/a4122-a0460-l1006054.jpg)![Winchester, Virginia]() Winchester, Virginia ![Winchester, Virginia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666526156-QXEDWYKOOF0QE7BDOFW1/f268e-543f1-img_0008_2.jpg)![Winchester, Virginia]() Winchester, Virginia ![Singapore, Singapore](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666518112-1351YKR9OYZEXGRTLGG4/d9d7b-2648b-l1004499.jpg)![Singapore, Singapore]() Singapore, Singapore ![San Francisco, Califorinia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666525803-6540IOKTNZU5OQL4T269/f1418-a5989-l1004846.jpg)![San Francisco, Califorinia]() San Francisco, Califorinia ![New York City, New York](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666484602-KGFARVYJWBLFRJYJ2QHL/5d8d6-43b0f-l1004280.jpg)![New York City, New York]() New York City, New York ![Stockholm, Sweden](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472913-XVT3RNIEGPVFS92AJKI0/2b90c-e458e-l1003978.jpg)![Stockholm, Sweden]() Stockholm, Sweden ![Amsterdam, Netherlands](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666473011-CKXO5O2Z9EWLKL1YAXRU/2c104-5498a-dscf3891.jpg)![Amsterdam, Netherlands]() Amsterdam, Netherlands ![Winchester, Virginia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666525466-XIATA54V29BH4QGLO1ZN/ef9b5-cdb53-l1004164.jpg)![Winchester, Virginia]() Winchester, Virginia ![Portland, Oregon](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666529609-EEUXY7Z771812I1PKK41/fccd6-50872-dscf3874.jpg)![Portland, Oregon]() Portland, Oregon ![Montreal, Canada](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666494403-WAR9J3VWTW57T78JDKAX/85ef5-e6ca3-dscf3279.jpg)![Montreal, Canada]() Montreal, Canada ![Dublin, Ireland](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507873-J3XOR29X6AVQ9VOYU8L9/b9bf0-c80b0-l1021273.jpg)![Dublin, Ireland]() Dublin, Ireland ![Relax](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666481696-ZEGBGP2GLP6D171K3CGE/59947-2b49d-65df4005-419e-4969-8945-0b29e978234b.jpeg)![Relax]() Relax + +![Cleveland, Ohio](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666459408-DZGR6RCKTIPXH6147UJ5/0262f-e0d82-img_0193_2.jpg)![Cleveland, Ohio]() Cleveland, Ohio ![Jerusalem, Israel](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666509228-7M3SF82FWI71PYOFT49K/bd5cf-0ed71-img_0147_2.jpg)![Jerusalem, Israel]() Jerusalem, Israel ![Tokyo, Japan](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666516843-58OLMP5P07PY6FCSGPUU/d25c1-83707-image-asset.jpeg)![Tokyo, Japan]() Tokyo, Japan ![Winchester, Virginia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666501601-HDSBEL5K6DYO2KWXEL7X/a4122-a0460-l1006054.jpg)![Winchester, Virginia]() Winchester, Virginia ![Winchester, Virginia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666526156-QXEDWYKOOF0QE7BDOFW1/f268e-543f1-img_0008_2.jpg)![Winchester, Virginia]() Winchester, Virginia ![Singapore, Singapore](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666518112-1351YKR9OYZEXGRTLGG4/d9d7b-2648b-l1004499.jpg)![Singapore, Singapore]() Singapore, Singapore ![San Francisco, Califorinia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666525803-6540IOKTNZU5OQL4T269/f1418-a5989-l1004846.jpg)![San Francisco, Califorinia]() San Francisco, Califorinia ![New York City, New York](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666484602-KGFARVYJWBLFRJYJ2QHL/5d8d6-43b0f-l1004280.jpg)![New York City, New York]() New York City, New York ![Stockholm, Sweden](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472913-XVT3RNIEGPVFS92AJKI0/2b90c-e458e-l1003978.jpg)![Stockholm, Sweden]() Stockholm, Sweden ![Amsterdam, Netherlands](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666473011-CKXO5O2Z9EWLKL1YAXRU/2c104-5498a-dscf3891.jpg)![Amsterdam, Netherlands]() Amsterdam, Netherlands ![Winchester, Virginia](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666525466-XIATA54V29BH4QGLO1ZN/ef9b5-cdb53-l1004164.jpg)![Winchester, Virginia]() Winchester, Virginia ![Portland, Oregon](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666529609-EEUXY7Z771812I1PKK41/fccd6-50872-dscf3874.jpg)![Portland, Oregon]() Portland, Oregon ![Montreal, Canada](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666494403-WAR9J3VWTW57T78JDKAX/85ef5-e6ca3-dscf3279.jpg)![Montreal, Canada]() Montreal, Canada ![Dublin, Ireland](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507873-J3XOR29X6AVQ9VOYU8L9/b9bf0-c80b0-l1021273.jpg)![Dublin, Ireland]() Dublin, Ireland ![Relax](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666481696-ZEGBGP2GLP6D171K3CGE/59947-2b49d-65df4005-419e-4969-8945-0b29e978234b.jpeg)![Relax]() Relax My name is Kenneth Reitz, and I'm truly in love with my camera. In case you missed the memo, [Love is all you need](http://www.kennethreitz.org/essays/all-about-love).  - + --- Want more? Check out my [camera equipment and recommendations](/camera-equipment) page. - - - - - \ No newline at end of file diff --git a/data/essays/2015/back_around_again_review_of_the_fujifilm_x100t.md b/data/essays/2015/back_around_again_review_of_the_fujifilm_x100t.md index 225b811..26346ff 100644 --- a/data/essays/2015/back_around_again_review_of_the_fujifilm_x100t.md +++ b/data/essays/2015/back_around_again_review_of_the_fujifilm_x100t.md @@ -1,6 +1,6 @@ # Back Around Again: Review of the Fujifilm x100t - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666489952-SKWOGLSPSUPWR6M19D9S/769a0-img.jpg) ![251f0-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454803-84J6JJ8UJKMPUTXGSNEJ/40493-251f0-img.jpg) View fullsize ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666494897-FSUQ7240M2F57QGA0SEL/87b03-5dc19-image-asset.jpeg) If you’ve been following me for any length of time, you have more than likely noticed: I change my mind a lot.  + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666489952-SKWOGLSPSUPWR6M19D9S/769a0-img.jpg) ![251f0-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666454803-84J6JJ8UJKMPUTXGSNEJ/40493-251f0-img.jpg) View fullsize ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666494897-FSUQ7240M2F57QGA0SEL/87b03-5dc19-image-asset.jpeg) If you’ve been following me for any length of time, you have more than likely noticed: I change my mind a lot.  One month, I will be convinced that one particular camera will be the only camera I will ever need for the rest of my life. The next month, I find it a weighty burden that I never want to be bothered with again. @@ -29,7 +29,7 @@ Regardless, the new **[Fujifilm x100t](http://www.amazon.com/gp/product/B00NF6ZHNG/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00NF6ZHNG&linkCode=as2&tag=bookforkind-20&linkId=UGZZ473TOKGFN36X)** is the perfect camera for me. Mine just arrived a day ago! And much like my x100 and x100s before it, I have instantly fallen head over heals for this beautiful, excusitely designed camera.  - + [View fullsize![DSCF7354.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666519295-A222WX02UFW3DZEKBXIK/dac95-eadb7-dscf7354.jpg)![DSCF7354.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666519295-A222WX02UFW3DZEKBXIK/dac95-eadb7-dscf7354.jpg) [View fullsize![DSCF7513.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666510642-8T9LKAGX20JU9FBBZDVP/bf2dd-bce85-dscf7513.jpg)![DSCF7513.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666510642-8T9LKAGX20JU9FBBZDVP/bf2dd-bce85-dscf7513.jpg) [View fullsize![DSCF7541.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507901-OYA5PZH64M6WO2OFEVNV/ba79a-479b4-dscf7541.jpg)![DSCF7541.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507901-OYA5PZH64M6WO2OFEVNV/ba79a-479b4-dscf7541.jpg) [View fullsize![DSCF7636.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666501106-X43RQ594T0RXOQ8U03H4/a1fad-724ae-dscf7636.jpg)![DSCF7636.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666501106-X43RQ594T0RXOQ8U03H4/a1fad-724ae-dscf7636.jpg) [View fullsize![DSCF7763.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666485403-9L1VAUFEP1OD8US84AG0/5fe70-f6756-dscf7763.jpg)![DSCF7763.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666485403-9L1VAUFEP1OD8US84AG0/5fe70-f6756-dscf7763.jpg) [View fullsize![DSCF7767.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666474871-Z1YVBGZBG9556P3K8DMV/30cb9-6dd76-dscf7767.jpg)![DSCF7767.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666474871-Z1YVBGZBG9556P3K8DMV/30cb9-6dd76-dscf7767.jpg) [View fullsize![DSCF7777.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507420-YC02F480G09OFFPU5YC7/b7b3a-440cf-dscf7777.jpg)![DSCF7777.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507420-YC02F480G09OFFPU5YC7/b7b3a-440cf-dscf7777.jpg) [View fullsize![DSCF7783.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666505033-37NS7G0C56AMMEXATS7H/adad1-7db87-dscf7783.jpg)![DSCF7783.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666505033-37NS7G0C56AMMEXATS7H/adad1-7db87-dscf7783.jpg) [View fullsize![DSCF7786.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666524038-CNKKKKVFTXENIB18CCS7/eab6a-d0b3c-dscf7786.jpg)![DSCF7786.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666524038-CNKKKKVFTXENIB18CCS7/eab6a-d0b3c-dscf7786.jpg) [View fullsize![DSCF7496.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666475319-YT2XIHUI0MUD26BPDM32/35ba4-c751d-dscf7496.jpg)![DSCF7496.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666475319-YT2XIHUI0MUD26BPDM32/35ba4-c751d-dscf7496.jpg) [View fullsize![DSCF7364.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507222-TU23VNG39QDVTPEPX5ZD/b786d-604fb-dscf7364.jpg)![DSCF7364.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666507222-TU23VNG39QDVTPEPX5ZD/b786d-604fb-dscf7364.jpg) [View fullsize![DSCF7495.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666524517-GY9SYUD7AZBDLGXJFS4F/ec0a0-3bd60-dscf7495.jpg)![DSCF7495.jpg]()](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666524517-GY9SYUD7AZBDLGXJFS4F/ec0a0-3bd60-dscf7495.jpg) \#block\-yui\_3\_17\_2\_1\_1425864517419\_36817 .sqs\-gallery\-block\-grid .sqs\-gallery\-design\-grid { margin\-right: \-20px; }\#block\-yui\_3\_17\_2\_1\_1425864517419\_36817 .sqs\-gallery\-block\-grid .sqs\-gallery\-design\-grid\-slide .margin\-wrapper { margin\-right: 20px; margin\-bottom: 20px; } Fuji has soul.  @@ -53,7 +53,3 @@ * [Kenneth Reitz on Flickr](https://www.flickr.com/photos/kennethreitz/) * [Fujifilm x100t on Amazon](http://www.amazon.com/gp/product/B00NF6ZHNG/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00NF6ZHNG&linkCode=as2&tag=bookforkind-20&linkId=UGZZ473TOKGFN36X) - - - - \ No newline at end of file diff --git a/data/essays/2015/os_x_lightroom_and_the_new_photos_app.md b/data/essays/2015/os_x_lightroom_and_the_new_photos_app.md index f5a9b1b..0e07329 100644 --- a/data/essays/2015/os_x_lightroom_and_the_new_photos_app.md +++ b/data/essays/2015/os_x_lightroom_and_the_new_photos_app.md @@ -28,11 +28,11 @@ Once the fully rendered JPEGs are available, I import these files into Photos App, where each Album has a nice home based on the type of photos it contains.  - ![Screen Shot 2015-04-17 at 3.34.46 PM.jpg](http://static1.squarespace.com/static/665498111876725f7613f1e6/t/6680065e1022a0098af05aaf/1719666270667/9e46f-20e5b-screenshot2015-04-17at3.34.46pm.jpg.46pm.jpg.46pm.jpg.46pm.jpg?format=original)![Screen Shot 2015-04-17 at 3.34.46 PM.jpg]() +![Screen Shot 2015-04-17 at 3.34.46 PM.jpg](http://static1.squarespace.com/static/665498111876725f7613f1e6/t/6680065e1022a0098af05aaf/1719666270667/9e46f-20e5b-screenshot2015-04-17at3.34.46pm.jpg.46pm.jpg.46pm.jpg.46pm.jpg?format=original)![Screen Shot 2015-04-17 at 3.34.46 PM.jpg]() ### Step 3: Publish! - + Right from Photos app, publish your beautiful photographic moments to Facebook, Flickr, etc. @@ -41,5 +41,3 @@ Photos App is a very capable photo editor as well as a catolouge. However, the nature of this non\-destructive editing (much like Lightroom) gives me an odd feeling of ephemerality in my conanical photo acrive, which is unideal.  I personally prefer to use Photos App as a “photo album” with completely rendered finalized JPEGs. However, if you find that the built\-in editing capabilities fit well into your workflow, I highly recommend doing so! The color conversions and tools made available are first\-class, especially for a consumer app. Simplicity is key to all workflows. - - \ No newline at end of file diff --git a/data/essays/2015/the_unexpected_negative_a_narcissistic_partner.md b/data/essays/2015/the_unexpected_negative_a_narcissistic_partner.md index c9ee7ea..b3a67e3 100644 --- a/data/essays/2015/the_unexpected_negative_a_narcissistic_partner.md +++ b/data/essays/2015/the_unexpected_negative_a_narcissistic_partner.md @@ -1,8 +1,8 @@ # The Unexpected Negative: a Narcissistic Partner - ![41c8d-image-asset.jpeg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666455305-N3HX12IWXVQECJJPTAEH/298da-41c8d-image-asset.jpeg) Both my essays and general outlook on life are typically quite positive and idealistic. This attitude has served me very well over the years. However, if you take a look at my [core ideals and values](http://www.kennethreitz.org/values/), you'll see one very important line item that I've been forced to revisit lately: + ![41c8d-image-asset.jpeg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666455305-N3HX12IWXVQECJJPTAEH/298da-41c8d-image-asset.jpeg) Both my essays and general outlook on life are typically quite positive and idealistic. This attitude has served me very well over the years. However, if you take a look at my [core ideals and values](http://www.kennethreitz.org/values/), you'll see one very important line item that I've been forced to revisit lately: + - > Positivity. Negative atmospheres are toxic. Remove yourself from them. Normally, for me, this means to remove my negative perception about a given situation. Sometimes, it means to give myself space from a political environment or project which is having a toxic effect on me. But, I've been reminded lately, through a very painful experience, that negativity can take many ugly forms, *including that of other people*. @@ -15,11 +15,10 @@ Sharing accounts of this nature is a difficult thing to do — there's a heart\-warming sense of vulnerability mixed with a chilling sense of shame. But, experiences like these are where all the *realness* of life gets played out. The only experience is direct experience. - I am writing this article because reading someone else's story woke me up to the fact that I was in an emotionally abusive relationship — perhaps it will help you too. + I am writing this article because reading someone else's story woke me up to the fact that I was in an emotionally abusive relationship — perhaps it will help you too. Emotional (e.g. spiritual) abuse is often overlooked, considered less harmful than physical or sexual abuse — but research shows that nothing could be farther from the truth. Emotional abuse can leave a very successful, kind, and confident person feeling crazy, emotionally unstable, and out of control. Before you know what has happened, you have lost your well\-established sense of self\-respect, confidence, pride, and trust\-worthiness. The abuser considers your most admirable traits, like vulnerability and empathy, as weaknesses and exploits them to achieve their self\-serving goals. Over time, if you stay with the abuser, you start to doubt the very foundations of what make you *you*. ## Signs of a Narcissist - ![a4b89-image-asset.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666457128-ANEQDU8UDKCCWLN14363/d0f8f-a4b89-image-asset.png) ![]() - + ![a4b89-image-asset.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666457128-ANEQDU8UDKCCWLN14363/d0f8f-a4b89-image-asset.png) ![]() diff --git a/data/essays/2016/a_better_pip_workflowtm.md b/data/essays/2016/a_better_pip_workflowtm.md index b0cf091..1dae167 100644 --- a/data/essays/2016/a_better_pip_workflowtm.md +++ b/data/essays/2016/a_better_pip_workflowtm.md @@ -1,12 +1,12 @@ # A Better Pip Workflow™ - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666505620-LTX0VK215AWQYODQ8CPK/b285e-0c681-image-asset.jpeg)![]() **Update:** I developed Pipenv to solve these problems. [Check it out](http://pipenv.org/). + ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666505620-LTX0VK215AWQYODQ8CPK/b285e-0c681-image-asset.jpeg)![]() **Update:** I developed Pipenv to solve these problems. [Check it out](http://pipenv.org/). + - --- - When developing Python applications today, it’s standard practice to have a `requirements.txt` file in the root of your repository. + When developing Python applications today, it’s standard practice to have a `requirements.txt` file in the root of your repository. This file can be used in different ways, and typically takes one of these two forms: @@ -15,63 +15,59 @@ ## Method \#1: Simple Requirements - + > A list of top\-level dependencies a a project has, often without versions specified. - + ``` $ cat requirements.txtrequests[security]flaskgunicorn==19.4.5 ``` - **Method \#1** is very simple, and is effectively the user experience that everyone using requirements files wants. However, when a `requirements.txt` file like this is used to deploy to production, unexpected consequences can occur. Effectively, because versions haven’t been pinned, running `$ pip install` will give you different results today than it will tomorrow. + **Method \#1** is very simple, and is effectively the user experience that everyone using requirements files wants. However, when a `requirements.txt` file like this is used to deploy to production, unexpected consequences can occur. Effectively, because versions haven’t been pinned, running `$ pip install` will give you different results today than it will tomorrow. - This is bad. As different versions of sub\-dependencies are released, the result of a fresh `$ pip install -r requirements.txt` will result in different packages being installed, and potentially, your application failing for unknown and hidden reasons. + This is bad. As different versions of sub\-dependencies are released, the result of a fresh `$ pip install -r requirements.txt` will result in different packages being installed, and potentially, your application failing for unknown and hidden reasons. ## Method \#2: Exact Requirements - + > A complete list of *all* dependencies a project has, each with exact package versions specified. - + ``` $ cat requirements.txtcffi==1.5.2cryptography==1.2.2enum34==1.1.2Flask==0.10.1gunicorn==19.4.5idna==2.0ipaddress==1.0.16itsdangerous==0.24Jinja2==2.8MarkupSafe==0.23ndg-httpsclient==0.4.0pyasn1==0.1.9pycparser==2.14pyOpenSSL==0.15.1requests==2.9.1six==1.10.0Werkzeug==0.11.4 ``` - **Method \#2** is best\-practice for deploying applications, and ensures an explicit runtime environment with deterministic builds. + **Method \#2** is best\-practice for deploying applications, and ensures an explicit runtime environment with deterministic builds. - All dependencies, including sub\-dependencies, are listed, each with an exact version specified. + All dependencies, including sub\-dependencies, are listed, each with an exact version specified. This type of `requirements.txt` is generated from the output of running `$ pip freeze` from within a current working runtime environment for the application. This encourages dev/prod parity, and encourages you to treat code within external packages with the same level of respect as your application code (because it *is* your application code). ## The Frustrations - While the **Method \#2** format for `requirements.txt` is best practice, it is a bit cumbersome. Namely, if I’m working on the codebase, and I want to `$ pip install --upgrade` some/all of the packages, I am unable to do so easily. + While the **Method \#2** format for `requirements.txt` is best practice, it is a bit cumbersome. Namely, if I’m working on the codebase, and I want to `$ pip install --upgrade` some/all of the packages, I am unable to do so easily. - My previous method for doing so was to simply pick out the top\-level dependencies with my eyes and manually type out `$ pip install requests[security] flask --upgrade`. This is not a good experience. + My previous method for doing so was to simply pick out the top\-level dependencies with my eyes and manually type out `$ pip install requests[security] flask --upgrade`. This is not a good experience. - I thought long and hard about building a tool to solve this problem. Others, like [pip\-tools](https://github.com/nvie/pip-tools), already have. But, I don’t want another tool in my toolchain; this should be possible with the tools available. + I thought long and hard about building a tool to solve this problem. Others, like [pip\-tools](https://github.com/nvie/pip-tools), already have. But, I don’t want another tool in my toolchain; this should be possible with the tools available. Eventually, I figured out a nice way to have the best of both worlds in my Python projects, with the tools I already use. I’ve been using this workflow in my projects for a while now, and I’m very happy with the results. ## The Workflow - It’s very simple: instead of having one requirements file, you have two: + It’s very simple: instead of having one requirements file, you have two: * `requirements-to-freeze.txt` * `requirements.txt` - [https://gist.github.com/kennethreitz/1ae33e0f6744a5ae1976\.js](https://gist.github.com/kennethreitz/1ae33e0f6744a5ae1976.js) `requirements-to-freeze.txt` uses **Method \#1**, and is used to specify your top\-level dependencies, and any explicit versions you need to specify. + [https://gist.github.com/kennethreitz/1ae33e0f6744a5ae1976\.js](https://gist.github.com/kennethreitz/1ae33e0f6744a5ae1976.js) `requirements-to-freeze.txt` uses **Method \#1**, and is used to specify your top\-level dependencies, and any explicit versions you need to specify. `requirements.txt` uses **Method \#2**, and contains the output of `$ pip freeze` after `$ pip install requirements-to-freeze.txt` has been run. ### Basic Usage - + ``` $ cd project-repo$ pip install -r requirements-to-freeze.txt --upgradeInstalling collected packages: six, enum34, ipaddress, ...$ pip freeze > requirements.txt ``` - The best of both worlds. + The best of both worlds. I encourage you to give this workflow a try. There's a good chance that it'll save you from some failing builds and scratching heads in the future :) - - - - \ No newline at end of file diff --git a/data/essays/2016/announcing_unmastered_impulses_by_infinite_state.md b/data/essays/2016/announcing_unmastered_impulses_by_infinite_state.md index f5ecfd9..d0dfe91 100644 --- a/data/essays/2016/announcing_unmastered_impulses_by_infinite_state.md +++ b/data/essays/2016/announcing_unmastered_impulses_by_infinite_state.md @@ -1,6 +1,6 @@ # Announcing: "Unmastered Impulses" by Infinite State! - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666487441-Q3F1Z10W43EMVB8UWXV1/6e2ef-img.jpg) ![6c129-img_0149_2.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666457502-JFD5ZAUZ2CFY093VJIFD/26a7a-6c129-img_0149_2.jpg) ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666494224-1OUIN94SV3QD7XX7BUAJ/836a6-4e846-image-asset.jpeg) As you may or may not know, a primary personal focus of mine is on electronic music production. I have a deep love for analog synthesizers, drum machines, audio software, and the creation of music. Music is an excellent medium for crafting an image of certain facets of my inner world in a way that I am unable through other avenues, e.g. writing, code, and photography. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666487441-Q3F1Z10W43EMVB8UWXV1/6e2ef-img.jpg) ![6c129-img_0149_2.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666457502-JFD5ZAUZ2CFY093VJIFD/26a7a-6c129-img_0149_2.jpg) ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666494224-1OUIN94SV3QD7XX7BUAJ/836a6-4e846-image-asset.jpeg) As you may or may not know, a primary personal focus of mine is on electronic music production. I have a deep love for analog synthesizers, drum machines, audio software, and the creation of music. Music is an excellent medium for crafting an image of certain facets of my inner world in a way that I am unable through other avenues, e.g. writing, code, and photography. As [**Infinite State**](/music), I have been leisurely creating deeply\-personal music that captures this wide spectrum of imagery over the past several years, a window of time which includes some very dramatic changes in my life (all for the best!). Nothing inspires the creative spirit more than non\-insubstantial change! @@ -8,11 +8,11 @@ Today, I'm happy to announce that I have released my first album, *[Unmastered Impulses](http://www.kennethreitz.org/unmastered-impulses),* a sonic journal of my journey into bipolar mania. - View fullsize ![Available on Spotify ,  TIDAL , and SoundCloud . ](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666489302-RQID2RIZ8DFI8VEB93CZ/74cd6-326ac-image-asset.jpeg)![Available on Spotify ,  TIDAL , and SoundCloud . ]() + View fullsize ![Available on Spotify ,  TIDAL , and SoundCloud . ](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666489302-RQID2RIZ8DFI8VEB93CZ/74cd6-326ac-image-asset.jpeg)![Available on Spotify ,  TIDAL , and SoundCloud . ]() *Available on [Spotify](https://open.spotify.com/album/1ejOTrNLk9qTzF6uuPn6xw), [TIDAL](http://tidal.com/album/63034611), and [SoundCloud](https://soundcloud.com/infinitestate/sets/unmastered-impulses).* - + ***Unmastered Impulses* byInfinite State** contains 13 tracks inspired by esoteric spiritual and philosophical concepts, explorations into the dream state, [bipolar disorder](http://www.kennethreitz.org/essays/mentalhealtherror-an-exception-occurred), and [a traumatic relationship](http://www.kennethreitz.org/essays/purging-the-unexpected-negative-a-narcissistic-partner). @@ -34,5 +34,3 @@ ## **Thanks** Attention is the only currency we have in life. If you take the time to listen to this music, I want you to know how much it means to me — thank you. - - \ No newline at end of file diff --git a/data/essays/2016/introducing_records_sql_for_humanstm.md b/data/essays/2016/introducing_records_sql_for_humanstm.md index 1169bd6..1fc7818 100644 --- a/data/essays/2016/introducing_records_sql_for_humanstm.md +++ b/data/essays/2016/introducing_records_sql_for_humanstm.md @@ -1,12 +1,12 @@ # Introducing Records: SQL for Humans™ - ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666521244-CB274HKKRV8TKXMXTN79/e44c8-img.jpg) ![87fe8-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666457399-LVQPUG8L3BGBS81NW7AE/2f778-87fe8-img.jpg) View fullsize ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472797-RH5Y7RNOZNEH49S6KSW2/2ab21-6d868-image-asset.jpeg) Records is a very simple, but powerful, library for making raw SQLqueries to Postgres databases. + ![](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666521244-CB274HKKRV8TKXMXTN79/e44c8-img.jpg) ![87fe8-img.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666457399-LVQPUG8L3BGBS81NW7AE/2f778-87fe8-img.jpg) View fullsize ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472797-RH5Y7RNOZNEH49S6KSW2/2ab21-6d868-image-asset.jpeg) Records is a very simple, but powerful, library for making raw SQLqueries to Postgres databases. This common task can be surprisingly difficult with the standard toolsavailable. This library strives to make this workflow as simple aspossible, while providing an elegant interface to work with your queryresults. We know how to write SQL, so let's send some to our database: - + ``` import recordsdb = records.Database('postgres://...')rows = db.query('select * from active_users') ``` @@ -16,19 +16,19 @@ import recordsdb = records.Database('postgres://...')rows = db.query('select * f Grab one row at a time: - + ``` >>> rows.next(){'username': 'hansolo', 'name': 'Henry Ford', 'active': True, 'timezone': datetime.datetime(2016, 2, 6, 22, 28, 23, 894202), 'user_email': 'hansolo@gmail.com'} ``` Or iterate over them: - + ``` for row in rows:spam_user(name=row['name'], email=row['user_email']) ``` Or store them all for later reference: - + ``` >>> rows.all()[{'username': ...}, {'username': ...}, {'username': ...}, ...] ``` @@ -50,31 +50,31 @@ for row in rows:spam_user(name=row['name'], email=row['user_email']) Excellent for sharing data with friends, or generating reports. - + ``` >>> print rows.datasetusername|active|name |user_email |timezone--------|------|----------|-----------------|--------------------------hansolo |True |Henry Ford|hansolo@gmail.com|2016-02-06 22:28:23.894202... ``` Export your query results to CSV: - + ``` >>> print rows.dataset.csvusername,active,name,user_email,timezonehansolo,True,Henry Ford,hansolo@gmail.com,2016-02-06 22:28:23.894202... ``` YAML: - + ``` >>> print rows.dataset.yaml- {active: true, name: Henry Ford, timezone: '2016-02-06 22:28:23.894202', user_email: hansolo@gmail.com, username: hansolo}... ``` JSON: - + ``` >>> print rows.dataset.json[{"username": "hansolo", "active": true, "name": "Henry Ford", "user_email": "hansolo@gmail.com", "timezone": "2016-02-06 22:28:23.894202"}, ...] ``` Excel: - + ``` with open('report.xls', 'wb') as f:f.write(rows.dataset.xls) ``` @@ -86,7 +86,7 @@ with open('report.xls', 'wb') as f:f.write(rows.dataset.xls) Of course, the recommended installation method is pip: - + ``` $ pip install records ``` @@ -98,5 +98,3 @@ $ pip install records * [Records on PyPi](https://pypi.python.org/pypi/records/) * [Tablib Documentation](http://docs.python-tablib.org/en/latest/) * [Psycopg2 Documentation](http://initd.org/psycopg/docs/) - - \ No newline at end of file diff --git a/data/essays/2016/on_cybersecurity_and_being_targeted.md b/data/essays/2016/on_cybersecurity_and_being_targeted.md index 8496606..db6d350 100644 --- a/data/essays/2016/on_cybersecurity_and_being_targeted.md +++ b/data/essays/2016/on_cybersecurity_and_being_targeted.md @@ -1,6 +1,6 @@ # On Cybersecurity and Being Targeted - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666485721-LW2FU5FXYFNYGV55O5SE/6079b-e0fbe-image-asset.jpeg)![]() Last month, I was the subject of a targeted cyber attack. Someone went through substantial lengths to attempt to gain access to my GitHub account, but were thankfully unsuccessful because two\-factor authentication was enabled.  + ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666485721-LW2FU5FXYFNYGV55O5SE/6079b-e0fbe-image-asset.jpeg)![]() Last month, I was the subject of a targeted cyber attack. Someone went through substantial lengths to attempt to gain access to my GitHub account, but were thankfully unsuccessful because two\-factor authentication was enabled.  Account security is something that I’ve always considered myself to be rather pragmatic about — I use randomly generated passwords for extremely important accounts and services, like GitHub, especially if they are likely to be subject to systematic intrusion attempts.  @@ -44,5 +44,3 @@ * Knowing people is very useful. * Turn on two\-factor authentication. **Right now**. - - \ No newline at end of file diff --git a/data/essays/2016/understanding_empathy_narcissism_and_mental_illness.md b/data/essays/2016/understanding_empathy_narcissism_and_mental_illness.md index eb0500f..0302509 100644 --- a/data/essays/2016/understanding_empathy_narcissism_and_mental_illness.md +++ b/data/essays/2016/understanding_empathy_narcissism_and_mental_illness.md @@ -1,6 +1,6 @@ # Understanding Empathy, Narcissism, and Mental Illness - ![076C7D2B-B828-4945-A17A-50C79849C377.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666470310-X9HR817ZQTD8D0WZA7J4/253aa-e6dc4-076c7d2b-b828-4945-a17a-50c79849c377.jpg)![076C7D2B-B828-4945-A17A-50C79849C377.JPG]() I have [written previously](http://www.kennethreitz.org/essays/purging-the-unexpected-negative-a-narcissistic-partner) about my experience with a traumatic relationship with a narcissist. I am currently in a very good place regarding this relationship—all loose ends tied and closed, good relations present, no communication. No other relationship I've had in life, so far, has taught me directly quite as much about human experience—so, now that I've healed from the relationship, I can say that I am thankful for it. + ![076C7D2B-B828-4945-A17A-50C79849C377.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666470310-X9HR817ZQTD8D0WZA7J4/253aa-e6dc4-076c7d2b-b828-4945-a17a-50c79849c377.jpg)![076C7D2B-B828-4945-A17A-50C79849C377.JPG]() I have [written previously](http://www.kennethreitz.org/essays/purging-the-unexpected-negative-a-narcissistic-partner) about my experience with a traumatic relationship with a narcissist. I am currently in a very good place regarding this relationship—all loose ends tied and closed, good relations present, no communication. No other relationship I've had in life, so far, has taught me directly quite as much about human experience—so, now that I've healed from the relationship, I can say that I am thankful for it. ## Lack of Empathy @@ -25,5 +25,3 @@ * [Purging the Negative: a Narcissistic Partner](http://www.kennethreitz.org/essays/purging-the-unexpected-negative-a-narcissistic-partner) * [MentalHealthError: an exception occurred.](http://www.kennethreitz.org/essays/mentalhealtherror-an-exception-occurred) - - \ No newline at end of file diff --git a/data/essays/2017/a_public_journal.md b/data/essays/2017/a_public_journal.md index 5a01405..fb75074 100644 --- a/data/essays/2017/a_public_journal.md +++ b/data/essays/2017/a_public_journal.md @@ -1,6 +1,6 @@ # A (Public) Journal - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666466302-7Q2U11ZDWXNF0WG3WHHN/162ef-956ca-image-asset.jpeg)![]() I recently decided to build a small [Flask app](https://github.com/kennethreitz/journal) this weekend to serve a new purpose — sharing a public journal with the internet. + ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666466302-7Q2U11ZDWXNF0WG3WHHN/162ef-956ca-image-asset.jpeg)![]() I recently decided to build a small [Flask app](https://github.com/kennethreitz/journal) this weekend to serve a new purpose — sharing a public journal with the internet. Blog posts aren't the right place for some more candid content, so this new portion of my website exists to share some of my inner thoughts and feelings about the world. If you read it, please enjoy! @@ -13,7 +13,3 @@ * [Writing Reasonable Documentation](https://journal.kennethreitz.org/entry/documentation) I plan to post to this journal quite often — I hope others find it insightful or useful! - - - - \ No newline at end of file diff --git a/data/essays/2017/fish_as_default_shell_on_windows_10.md b/data/essays/2017/fish_as_default_shell_on_windows_10.md index 3defbd6..9a779d8 100644 --- a/data/essays/2017/fish_as_default_shell_on_windows_10.md +++ b/data/essays/2017/fish_as_default_shell_on_windows_10.md @@ -4,18 +4,16 @@ Because the Linux Subsystem for Windows 10 is a full Ubuntu operating system, all software packages available for Ubuntu are installable on your Windows machine now! Here's some simple steps to install the latest stable release of fish, the world's greatest shell: - + ``` $ sudo apt-add-repository ppa:fish-shell/release-2$ sudo apt-get update$ sudo apt-get install fish ``` - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666490597-H4C46DD7OJ7U3P4B0MHC/7e2ac-e25b8-image-asset.png)![]() ## Step 2: Make it your default shell +![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666490597-H4C46DD7OJ7U3P4B0MHC/7e2ac-e25b8-image-asset.png)![]() ## Step 2: Make it your default shell Everything in the Linux Subsystem for Windows 10 is oriented around Bash, so you have to tell bash to automatically launch fish at startup, by placing the following in your `~/.bashrc`: - + ``` # Launch Fishif [ -t 1 ]; thenexec fishfi ``` - That's it! - - \ No newline at end of file + That's it! diff --git a/data/essays/2017/new_album_messengers_rising_available.md b/data/essays/2017/new_album_messengers_rising_available.md index 6d0302c..5fe5d18 100644 --- a/data/essays/2017/new_album_messengers_rising_available.md +++ b/data/essays/2017/new_album_messengers_rising_available.md @@ -14,4 +14,4 @@ I hope you enjoy it! - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666461833-7754Q693WFQBTKDPW85A/05548-f8f5b-image-asset.png)![]() \ No newline at end of file +![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666461833-7754Q693WFQBTKDPW85A/05548-f8f5b-image-asset.png)![]() diff --git a/data/essays/2017/new_ep_alchemical_divorce.md b/data/essays/2017/new_ep_alchemical_divorce.md index eaf5a20..53d3495 100644 --- a/data/essays/2017/new_ep_alchemical_divorce.md +++ b/data/essays/2017/new_ep_alchemical_divorce.md @@ -1,6 +1,6 @@ # New EP — Alchemical Divorce - ![alchemical-divorce.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666519697-4P3WV2L1E40ZXEXQS6MH/db3a3-b85a8-alchemical-divorce.jpg)![alchemical-divorce.jpg]() I have released my most conscise and direct album to date — [*Alchemical Divorce*](https://www.kennethreitz.org/alchemical-divorce/). + ![alchemical-divorce.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666519697-4P3WV2L1E40ZXEXQS6MH/db3a3-b85a8-alchemical-divorce.jpg)![alchemical-divorce.jpg]() I have released my most conscise and direct album to date — [*Alchemical Divorce*](https://www.kennethreitz.org/alchemical-divorce/). The music, track names, album title, and album art speak for themselves. @@ -11,10 +11,8 @@ * [Google Play](https://play.google.com/store/music/album/Infinite_State_Alchemical_Divorce?id=Bbtg7zvq6n4tui7edxowyjchgk4) * [Spotify](https://open.spotify.com/album/29bpi4yVG3IztAizkgHk3R) - + --- As always, if you'd like a free lossless copy of this music, please [reach out to me](mailto:me@kennethreitz.org), and I'll happily send you the files for your private enjoyment. - - \ No newline at end of file diff --git a/data/essays/2017/so_i_bought_a_surface_book.md b/data/essays/2017/so_i_bought_a_surface_book.md index 99b6533..3ff4aa8 100644 --- a/data/essays/2017/so_i_bought_a_surface_book.md +++ b/data/essays/2017/so_i_bought_a_surface_book.md @@ -8,8 +8,6 @@ * There are a plethora of games available for Windows. * I enjoy the challenge of setting up a proper development environment on this platform. - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666479919-D5W9X92XPRZ8K166RIUY/4a7ef-663ca-image-asset.png)![]() So far, it's been a rather enjoyable experience. The new [Unix Subsystem for Windows 10](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide) is surprisingly enjoyable, and was able to produce a build of Python 2\.7\.13 without any problems.  +![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666479919-D5W9X92XPRZ8K166RIUY/4a7ef-663ca-image-asset.png)![]() So far, it's been a rather enjoyable experience. The new [Unix Subsystem for Windows 10](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide) is surprisingly enjoyable, and was able to produce a build of Python 2\.7\.13 without any problems.  So far, I'd say there's only a 25% chance that I'll return the device. Fingers crossed! - - \ No newline at end of file diff --git a/data/essays/2017/third_studio_album_resolution_now_available.md b/data/essays/2017/third_studio_album_resolution_now_available.md index 5b6e107..c841f5a 100644 --- a/data/essays/2017/third_studio_album_resolution_now_available.md +++ b/data/essays/2017/third_studio_album_resolution_now_available.md @@ -1,6 +1,6 @@ # Third Studio Album, "Resolution", Now Available! - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666501901-5JN9T1UTX9XBI8TDQ1SO/a434b-8f73a-image-asset.jpeg)![]() I'm happy to announce that my third studio album, *Resolution*, is now available on all streaming services.  + ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666501901-5JN9T1UTX9XBI8TDQ1SO/a434b-8f73a-image-asset.jpeg)![]() I'm happy to announce that my third studio album, *Resolution*, is now available on all streaming services.  * [TIDAL](https://tidal.com/album/76146209) * [Spotify](https://open.spotify.com/album/14TnPNbhdSQspDSiyxCeED) @@ -8,5 +8,3 @@ * [iTunes](https://itunes.apple.com/us/album/resolution/id1257987614) (still don't know how to do a free iTunes album) I hope you enjoy it. [Email me](mailto:me@kennethreitz.org) if you'd like a lossless copy for free.  - - \ No newline at end of file diff --git a/data/essays/2017/unix_style_windows_development_environment_adventures.md b/data/essays/2017/unix_style_windows_development_environment_adventures.md index 9e4cb20..871de97 100644 --- a/data/essays/2017/unix_style_windows_development_environment_adventures.md +++ b/data/essays/2017/unix_style_windows_development_environment_adventures.md @@ -2,7 +2,7 @@ Things I've learned thus far, while developing on Windows: - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666497154-6VAFLR03ZNAAXG3QI98N/95b31-dbec8-image-asset.png)![]() * [Cmder](http://cmder.net/) is an excellent terminal emulator, and the best one I've found for Windows. Highly recommended. +![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666497154-6VAFLR03ZNAAXG3QI98N/95b31-dbec8-image-asset.png)![]() * [Cmder](http://cmder.net/) is an excellent terminal emulator, and the best one I've found for Windows. Highly recommended. * The Ubuntu Subsystem for Windows 10 is really quite stellar \-\- It's a full\-blown Ubuntu operating system running along\-side your Windows stuff. Development: @@ -13,5 +13,3 @@ * It's much better to symlink from Linux into Windows filepaths, if you plan to edit your code in both environments. If you go the other way around, lots of strange permission errors occur. Overall, things are going pretty well! I managed to develop and ship a release of Pipenv today on this machine, and while things weren't nearly as smooth as they are for me on a Mac, they were certianly workable! - - \ No newline at end of file diff --git a/data/essays/2017/working_with_icloud_macs_amp_the_ipad_pro.md b/data/essays/2017/working_with_icloud_macs_amp_the_ipad_pro.md index 8d0dcb6..d5da763 100644 --- a/data/essays/2017/working_with_icloud_macs_amp_the_ipad_pro.md +++ b/data/essays/2017/working_with_icloud_macs_amp_the_ipad_pro.md @@ -1,6 +1,6 @@ # Working with iCloud, Macs, & The iPad Pro - ![2DF72B1A-DD86-4D42-AC5C-DE7962181A66.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472437-KUG4ISPC9GU1PIR4Q7SA/2954c-8b050-2df72b1a-dd86-4d42-ac5c-de7962181a66.jpg)![2DF72B1A-DD86-4D42-AC5C-DE7962181A66.JPG]() While mostly obviously identify as a software engineer publicly, the majority of my time is not spent writing code always. + ![2DF72B1A-DD86-4D42-AC5C-DE7962181A66.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666472437-KUG4ISPC9GU1PIR4Q7SA/2954c-8b050-2df72b1a-dd86-4d42-ac5c-de7962181a66.jpg)![2DF72B1A-DD86-4D42-AC5C-DE7962181A66.JPG]() While mostly obviously identify as a software engineer publicly, the majority of my time is not spent writing code always. Because of this, the iPad Pro is my computer of choice for pleasurable computing — creative work, consumption, writing, email, and even getting things done. @@ -8,13 +8,13 @@ I keep everything (Documents, Desktop, repos directory, Sublime Text configuration, etc) in iCloud Drive storage. For those who don't know, the location of this sacred directory is as follows: - + ``` cd '~/Library/Mobile Documents/com~apple~CloudDocs' ``` Which, I always create a symlink to in my home directory: - + ``` ln -s '~/Library/Mobile Documents/com~apple~CloudDocs' ~/iCloud ``` @@ -26,11 +26,11 @@ ln -s '~/Library/Mobile Documents/com~apple~CloudDocs' ~/iCloud All "works in progress" are stored in Adobe Lightroom CC, which is accessible from any device, including my Windows PC, and is very pleasurable to work with. On the iPad Pro, moving sliders is lightning fast, with instant response time on the image preview — far faster than it is on any Mac. Syncing is also instant between the Mac and the iPad. I've seen no conflicts thus–far while using the software on multiple machines at the same time either. - ![IMG_0047.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666466817-YENGTIUBJA6NPWNYZD66/181c8-a05ef-img_0047.png)![IMG_0047.PNG]() It goes without saying, but Lightroom CC works great with the Apple Pencil. +![IMG_0047.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666466817-YENGTIUBJA6NPWNYZD66/181c8-a05ef-img_0047.png)![IMG_0047.PNG]() It goes without saying, but Lightroom CC works great with the Apple Pencil. ## Music - ![IMG_0052.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666517002-5UKMC1GYSHPZW4ZAW7H8/d8af5-b1dea-img_0052.png)![IMG_0052.PNG]() Korg GADGET is my guilty pleasure when it comes to music production. While I can only do "real" music production with Ableton Live on my iMac (which has real analog synthesizers connected to it, as a studio machine, as well as the essential Ableton Push), KORG Gadget provides a **very** high–quality yet *contained* music–making experience that works on both the Mac and the iPad (and iPhone!). +![IMG_0052.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666517002-5UKMC1GYSHPZW4ZAW7H8/d8af5-b1dea-img_0052.png)![IMG_0052.PNG]() Korg GADGET is my guilty pleasure when it comes to music production. While I can only do "real" music production with Ableton Live on my iMac (which has real analog synthesizers connected to it, as a studio machine, as well as the essential Ableton Push), KORG Gadget provides a **very** high–quality yet *contained* music–making experience that works on both the Mac and the iPad (and iPhone!). Other than the software synth being of upmost quality and design, I find the design of Korg GADGET to be very well thought out — I can make music with a mouse/keyboard (or just an Apple Pencil) with it, unlike with Ableton. @@ -42,32 +42,30 @@ ln -s '~/Library/Mobile Documents/com~apple~CloudDocs' ~/iCloud ## Writing - ![IMG_0050.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476020-R6RA1QZYIXJCG9E7AB9Q/3a45e-9fbca-img_0050.png)![IMG_0050.PNG]() I use an array of applications for writing — if I'm writing a single blog post, I use iA Writer, which is by far my favorite Markdown editor for both MacOS and iOS. +![IMG_0050.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476020-R6RA1QZYIXJCG9E7AB9Q/3a45e-9fbca-img_0050.png)![IMG_0050.PNG]() I use an array of applications for writing — if I'm writing a single blog post, I use iA Writer, which is by far my favorite Markdown editor for both MacOS and iOS. For more intricate writing, I use the excellent Ulysses software, which is great for writing intricate documents and organizing partially–formed ideas. - Both of these software suites sync instantly between MacOS and iOS with iCloud Drive. + Both of these software suites sync instantly between MacOS and iOS with iCloud Drive. ## Note Taking - I've tried literally every app in the app store for taking notes. Some are better than others. Some fit other people's needs better than others. I won't get into that here — I'll just share what works best for me. + I've tried literally every app in the app store for taking notes. Some are better than others. Some fit other people's needs better than others. I won't get into that here — I'll just share what works best for me. - ![IMG_0048.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666468472-1DCR9T89SEBGDA8PDHIX/23ca5-6f619-img_0048.png)![IMG_0048.PNG]() Notability is the best iPad app for hand\-written notes. It doesn't transcribe them, it just does a superb job at capturing them smoothly and instantly, has reasonably constraining (in a good way) organizing capabilities, and has excellent excellent support for the Apple Pencil. +![IMG_0048.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666468472-1DCR9T89SEBGDA8PDHIX/23ca5-6f619-img_0048.png)![IMG_0048.PNG]() Notability is the best iPad app for hand\-written notes. It doesn't transcribe them, it just does a superb job at capturing them smoothly and instantly, has reasonably constraining (in a good way) organizing capabilities, and has excellent excellent support for the Apple Pencil. - There is also a Mac client available, which allows you to access your notes from your MacOS machines. Very nice. Well worth the money. + There is also a Mac client available, which allows you to access your notes from your MacOS machines. Very nice. Well worth the money. ## Coding - This is where things get a little bit tricky… coding on the iPad is quite possible—pleasurable even—but running your code is a different story. + This is where things get a little bit tricky… coding on the iPad is quite possible—pleasurable even—but running your code is a different story. To interact with Git repositories, I utilize the excellent Working Copy app, which supports the new Files app API for exposing your git repos to other applications, such as and editor like… - Textastic. This is the best code editor that I've found for iOS, and I've tried them all. It supports editing files from the new Files API, has great code hilighting, and is the closest thing I've found to a Sublime Text experience for the iPad. It even supports loading your own custom TextMate themes into the app, which is excellent. + Textastic. This is the best code editor that I've found for iOS, and I've tried them all. It supports editing files from the new Files API, has great code hilighting, and is the closest thing I've found to a Sublime Text experience for the iPad. It even supports loading your own custom TextMate themes into the app, which is excellent. - ![IMG_0049.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476515-RV8TMP9IUMDMDOJ14RQ0/3dedf-368b9-img_0049.png)![IMG_0049.PNG]() A close second is GoCoEdit, which appears to be a relatively new app that doesn't have much awareness around it. I plan to contribute to it's ecosystem, if I have some extra time over the next coming months. +![IMG_0049.PNG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476515-RV8TMP9IUMDMDOJ14RQ0/3dedf-368b9-img_0049.png)![IMG_0049.PNG]() A close second is GoCoEdit, which appears to be a relatively new app that doesn't have much awareness around it. I plan to contribute to it's ecosystem, if I have some extra time over the next coming months. ## Other Options I experimented briefly with a Google Pixelbook, and while I found it to be one of the best portable laptop computing experiences I have ever encountered, the software available for the device was heavily lacking — OneNote and Lightroom CC, for example, perform almost infinitely better on the iPad Pro than they do on the Pixelbook. I think this has more to do with the expected quality/market of the Android ecosystem than anything else. - - \ No newline at end of file diff --git a/data/essays/2018/apple_pencil_note-taking:_why_you_should_use_apple_notes,_actually..md b/data/essays/2018/apple_pencil_note-taking:_why_you_should_use_apple_notes,_actually..md index 3e3c9c2..67a75c0 100644 --- a/data/essays/2018/apple_pencil_note-taking:_why_you_should_use_apple_notes,_actually..md +++ b/data/essays/2018/apple_pencil_note-taking:_why_you_should_use_apple_notes,_actually..md @@ -43,7 +43,7 @@ So, if you dismissed Apple Notes because you didn't see a bunch of settings, think again. - + * **Excellent organizational abilities**. Apple Note's folder (and sub\-folder) structure allows you to build a very complex (if needed) heirarchy for storing your notes. The only application that has a comparable organizational system is OneNote. * **(Perfect) Syncing**. Instantaneous real\-time syncing of all notes to all devices. First\-class client available on all Apple devices. Can't complain there, in any way. @@ -54,7 +54,7 @@ * **The marker tool is not a marker, it's a highlighter.** It renders its strokes *beneath*any ink that has been laid down, and is clearly not a marker after all, but a highlighter. * **Color constraints**. Apple Notes, in the default "Handwritten Note" mode, gives you an option of five (5\) colors. There are no other colors. You cannot change them. This is excellent — let me tell you why. The color selection is as follows: black, blue, green, yellow, and red. The red is not the tone of red I typically invoke, and this bothered me at first, until I took a closer look at it's relation to the other available colors. It's a shade of red that both opposes the shade of blue and green available, as well as compliments the yellow shade. These colors were very carefully thought out and designed, and I'm very impressed — even the order in which they are presented in the UI is clearly carefully thought out. Let me show you what I mean:. - ![Pasted Graphic 21.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666509837-3FF96IKUSULXYP8MG34Z/be984-4803e-pastedgraphic21.png)![Pasted Graphic 21.png]() These are not five random tones. These are tools for thought exploration that interweave and interact with each–other, in subtle ways. Apple Notes is a seriously well–engineered application for inking, and the best one available today +![Pasted Graphic 21.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666509837-3FF96IKUSULXYP8MG34Z/be984-4803e-pastedgraphic21.png)![Pasted Graphic 21.png]() These are not five random tones. These are tools for thought exploration that interweave and interact with each–other, in subtle ways. Apple Notes is a seriously well–engineered application for inking, and the best one available today ## **The Downsides** @@ -69,7 +69,7 @@ Thanks for your time, and I hope you enjoyed this deep overview of inking technologies, and the shocking conclusion that Apple Notes is superior to any app in the App Store.  - + --- @@ -77,12 +77,4 @@ P.S. Here are my (sloppy to you, organized to me) notes for creating this blog post, if you're interested. Note the use of the pencil to embellish and augment the pen ink. Also the occasional use of those opposing/complimentary color tones. - ![page1image1797120.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463695-4FISBXZZ87RZAVMW9K13/11427-abc00-page1image1797120.png)![page1image1797120.png]() - - - - - - - - \ No newline at end of file +![page1image1797120.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463695-4FISBXZZ87RZAVMW9K13/11427-abc00-page1image1797120.png)![page1image1797120.png]() diff --git a/data/essays/2018/apple_pencil_note_taking_why_you_should_use_apple_notes_actually.md b/data/essays/2018/apple_pencil_note_taking_why_you_should_use_apple_notes_actually.md deleted file mode 100644 index 3e3c9c2..0000000 --- a/data/essays/2018/apple_pencil_note_taking_why_you_should_use_apple_notes_actually.md +++ /dev/null @@ -1,88 +0,0 @@ -# Apple Pencil Note-Taking: Why You Should Use Apple Notes, actually. - - I'm a bit of a digital ink snob. I've been writing actively with digital ink for over 10 years, and there's a lot of things that most developers get *wrong* when developing note\-taking apps. There's a plethora of them available for the iPad Pro \& Pencil — only two of which I find to have acceptable inking implementations. - - ## **The iPad inking world** - - The first inking application we'll review is very popular, and is the typical choice for digital ink snobs (such as myself): **Notability**. It costs $10\. - - Notability has excellent, responsive, and fast, and (very) pressure\-sensitive inking. It allows you to categorize your notes into a single bucket of folders (this isn't the most polished experience), is vector–based (infinite zoom) and features an infinite canvas. It is great for drawing sketches or doodles as well as simply writing down text. Notability's pressure\-sensitivity is highly adjustable and configurable, but by default, the pressure gradient goes from minute thickness to tremendous thickness. This is considered to be a feature, to many, as you don't have to dive into a menu to have a totally different thickness in your pen — you just press harder (or much lighter) than usual. In addition, it also offers a Mac app that uses iCloud syncing to seamlessly view (and potentially edit) your notes on your Mac.  - - Another app that is less well\-known, but extremely well made is **Note Always**. Note Always features a great non\-variable thickness (aside from velocity) pen,  with a vast number of colors to chose from, as well as a small assortment of pre\-determined thickness. This app is not pressure sensitive, which I find to be surprisingly enjoyable, when writing. This "feature" allows your text to look much more uniform as you write, and can make your handwriting appear to be slightly better than it truly is.  - - My favorite feature of Note Always, which I have yet to see anywhere else, is the ability to map your finger to stroke selection or erasion. This is extremely nifty, as it allows you to simply run your finger over a section of notes and move it anywhere you please (or change it's color, etc). This is the reason I love this app, and have been using it for a long time — both to plan, design, get things done, and simply explore the contents of my own mind.  - - There are two categories that you can file any note\-taking app in the App Store into: - - 1. **Text\-first design**. Apps like Bear and Evernote fall into this category. They typically focus on organization as a feature. -2. **Ink\-first design.** Apps like Goodnotes, Notability, Notebook\+, Neebo, Note Always, etc fall into this category. They typically have categorization as a secondary consideration, and text is just something they slap in there, if they do it at all. They then focus their development efforts on inking technology and workflow optimizations — in which they are typically (which some notable exceptions) lagging behind in. - - **Apple Notes** - - **Apple Notes** is the only app that falls into both of these categories (text\-first design, ink\-first design) without making *any* compromises. OneNote also fits into both categories, but text suffers a bit in that application, unfortunately. You wouldn't want to use it without the inking features, as the movable text boxes surround everything you write.  - - Apple Notes is one of those apps where I tried it for 5 minutes, for inking (I've been using it casually for text notes for years), and immediately dismissed it. It lacked all the things I was used to in my third\-party applications: there's no ability to adjust the thickness of the pen, for example. The pencil, while novel, seemed… weird. It just seemed like Apple threw together this app haphazardly and was like "yay look here's an Apple Pencil demo for y'all!". Upon futher examination and exploration, however, I now find the opposite to be true.  - - Apple Notes is hands\-down the most well–designed, thought–through note taking app available for the iPad Pro. It is exceptionally well designed, and if you leave your preconceptions about what a note–taking app should do, I think you'll find yourself agreeing with me, once you give it a real try/chance.  - - Allow me to present my case: - - 1. **Un–obvious superior inking.** As I mentioned before, there are only two apps on the App Store which I consider to have acceptable inking performance: Notability and Note Always. **OneNote** gets an honorable mention, but it really fits in with another category of application. All others have inferior inking available, or they significantly lack in other areas (e.g. workflow, note organization, etc) — enough to dismiss them as viable options entirely. P.S. I've literally purchased every single note\-taking app on the App Store, and have given them all a non\-dismissive amount of time to show their colors. Most are truly total junk. Design matters. And I don't mean visual design — I mean UX design, thoughtfulness, pen responsiveness, etc — the truest form of engineering. - - The inking available in Apple Notes, while very unconventional, is actually hands\-down **the most well\-engineered inking system** I've ever encountered. - - You can't change the size of the pen. **There is one pen**. It is a pen. - - Not only is it a pen, that presents itself as having static thickness, but it is a modal pen (capable of smooth thickness gradients) that is both pressure sensitive, and also helps assist your handwriting by being of uniform thickness at the same time. I can tell you that a *significant* amount of engineering and thoughtfulness went into this pen — far more than any other app available. And, if you really use it as it's designed, you'll be blown away. It's the best pen I've ever used. I wish I had one in real life. But, I do — I have Apple Notes. Digital is real life, today. - - One design consideration they engineered is quite un–obvious to most users, but doesn't go unnoticed to people who have been digitally inking for 10 years. If you start a stroke with medium pressure, a medium line is drawn. Then, if you finish the stroke with firm pressure, Apple Notes knows that you intended for the entire stroke to be of the firm pressure's bold thickness, and it goes back and changes the rest of the stroke to match. This feature is very intelligent too — if you're drawing, for example, you'll present a lot of pressure gradients to Apple Notes, and it will still render them as expected. They're doing some very advanced analysis here to determine whether or not to back\-fill the pressure of a stroke. I'm extremely impressed. - - In addition, the pen's thickness works extremely well for writing of all sizes. I tend to write as small as humanely possible, at times, and the precision of the strokes and the clarity it renders is unmatched by all other software and hardware options available. If you write large, you'll find that the pen renders your strokes quite nicely too. It's the world's first true "universal pen". - -  Notice that there's no settings for the pen — no adjustments can be made. A strong design lesson that was instilled upon me at my tenure at Heroku was **"Remove levers, even if it's very expensive to do so"**. In Apple Notes, there are no levers. This is not a testament to laziness — in fact, it is quite the opposite. Extraordinary efforts were put forth to ensure that no configuration is needed in the first place.  - - So, if you dismissed Apple Notes because you didn't see a bunch of settings, think again. - - - - * **Excellent organizational abilities**. Apple Note's folder (and sub\-folder) structure allows you to build a very complex (if needed) heirarchy for storing your notes. The only application that has a comparable organizational system is OneNote. -* **(Perfect) Syncing**. Instantaneous real\-time syncing of all notes to all devices. First\-class client available on all Apple devices. Can't complain there, in any way. -* **OS Integration**. Press your Apple Pencil to your lock screen, and instantly create a new note. Who wouldn't want the app that fires up to be configurable? Apple doesn't want it to be configurable, because Apple knows that Apple Notes is simply the best tool for the job. Once there are real competitors in this space (OneNote could be argued to be one), I'd like to think that Apple would make this configurable, but it would require a significant amount of currently non–public APIs to do so. e.g. this ask is not a simple one. -* **Precise eraser and selection tool**. Other apps often have a very imprecise eraser or selection tool. Apple Note's uses the Apple Pencil for these things, and is stroke\-based, so erasing *just* one letter in the middle of a word is trivially easy. In some apps, that's impossible. A nice bonus feature of the common selection circle is that you can simply draw a line through a line of text, and it will select that text automatically. Well done! -* **Screen orientation perfection.** In some apps, there's a dichotomy between portrait and landscape mode. In Note Always, the paper you're using actually determines the orientation. There is no switching between modes, without changing your paper, and possibly losing sections of your notes. In Apple Notes, screen orientation effects only the presentation zoom level of the width of the page (which is fixed). Apple Notes lacks the conventional pitch\-to\-zoom feature (as does actual paper), but you can easily change between different comfortable zoom levels by changing into fullscreen–landscape, landscape, or portrait mode. Very nicely done and seemless. -* **Excellent pencil tool**. At first glance, the pencil tool seems childish in nature, but in reality, it is the most advanced pencil emulation I've ever come across in a note\-taking app (Sketches Pro has a better pencil emulation, but it's a drawing app, with a totally different use case (and many, many configuration options). It works very well for handwriting, as well as drawing. It's an excellent tool for embellishing your notes, and I have to admit, I've fallen in love with it. A bonus feature is that if you scrape the side of the tip of the Apple Pencil across your screen, it acts exactly like a pencil would in real life, drawing a long, soft line of graphite down. Very nice touch. -* **The marker tool is not a marker, it's a highlighter.** It renders its strokes *beneath*any ink that has been laid down, and is clearly not a marker after all, but a highlighter. -* **Color constraints**. Apple Notes, in the default "Handwritten Note" mode, gives you an option of five (5\) colors. There are no other colors. You cannot change them. This is excellent — let me tell you why. The color selection is as follows: black, blue, green, yellow, and red. The red is not the tone of red I typically invoke, and this bothered me at first, until I took a closer look at it's relation to the other available colors. It's a shade of red that both opposes the shade of blue and green available, as well as compliments the yellow shade. These colors were very carefully thought out and designed, and I'm very impressed — even the order in which they are presented in the UI is clearly carefully thought out. Let me show you what I mean:. - - ![Pasted Graphic 21.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666509837-3FF96IKUSULXYP8MG34Z/be984-4803e-pastedgraphic21.png)![Pasted Graphic 21.png]() These are not five random tones. These are tools for thought exploration that interweave and interact with each–other, in subtle ways. Apple Notes is a seriously well–engineered application for inking, and the best one available today - - ## **The Downsides** - - Of course, every tool has it's downsides, and I'll present them here, concisely. - - * **No ability to change the color of selected ink**. They should add this, in my opinion. If you want a line to be red, you have to draw it red. You learn to adapt to this quickly. -* **No ability to change the orientation or scale of a selection**. I don't care about this, as I very rarely want to do this. - - That's it. Once again, I have learned a lesson from Apple that I always tend to forget — foroget what you think you want and, with an open mind use what's provided. It's usually in your best interest. - - This is why I use Mail.app for my email. - - Thanks for your time, and I hope you enjoyed this deep overview of inking technologies, and the shocking conclusion that Apple Notes is superior to any app in the App Store.  - - - ---- - - # META - - P.S. Here are my (sloppy to you, organized to me) notes for creating this blog post, if you're interested. Note the use of the pencil to embellish and augment the pen ink. Also the occasional use of those opposing/complimentary color tones. - - ![page1image1797120.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463695-4FISBXZZ87RZAVMW9K13/11427-abc00-page1image1797120.png)![page1image1797120.png]() - - - - - - - - \ No newline at end of file diff --git a/data/essays/2018/call_for_sponsors_requests_30_development.md b/data/essays/2018/call_for_sponsors_requests_30_development.md deleted file mode 100644 index 6097da5..0000000 --- a/data/essays/2018/call_for_sponsors_requests_30_development.md +++ /dev/null @@ -1,20 +0,0 @@ -# Call for Sponsors: Requests 3.0 Development! - - Dear friends, - - Work on [Requests 3\.0](http://mail01.tinyletterapp.com/kennethreitz/call-for-sponsors-requests-3-0-development/11004341-www.kennethreitz.org/requests3?c=c83ddad9-42ff-4152-8346-1eaddacd5311) is now underway, paving the way for the future of one of the world's most heavily–relied–upon Python modules. - - After losing our primary open source maintainer (who was sponsored by a company to work on Requests, and other projects, full–time), we are seeking community financial contributions towards the development of Requests 3\.0\. - - If you (or your company) uses Requests in a professional context, we encourage you to make a contribution towards our efforts to help make the world a better place (for humans™). - - [**Learn More**](http://docs.python-requests.org/en/master/community/sponsors/). - - If you (or your company) would like to support us, but prefer another method of payment, please don't hesitate to [reach out](mailto:me@kennethreitz.org) with your requirements. Sponsorship opportunities (with website placement) are also available, upon request.  - - Many thanks, -Kenneth Reitz - - ✨🍰✨ - - \ No newline at end of file diff --git a/data/essays/2018/first_soundtrack_scoring!.md b/data/essays/2018/first_soundtrack_scoring!.md deleted file mode 100644 index 7d61ee9..0000000 --- a/data/essays/2018/first_soundtrack_scoring!.md +++ /dev/null @@ -1,15 +0,0 @@ -# First Soundtrack Scoring! - - Many months ago, I created and scored my first soundtrack for a short film — *Day One* by [Continuity Pictures](https://vimeo.com/user19419092) ([Derek Thomas](http://www.derekadamthomas.com)). - - \[vimeo 277104968 w\=640 h\=270] - ---- - - The process was quite fun — I never watched the film before scoring — I scored as I watched the film for the first time. This allowed for a very authentic sonic expression for the audience. - - I'm very pleased with the results. I believe it's some of my best musical work to date.  - - - - \ No newline at end of file diff --git a/data/essays/2018/first_soundtrack_scoring.md b/data/essays/2018/first_soundtrack_scoring.md deleted file mode 100644 index 7d61ee9..0000000 --- a/data/essays/2018/first_soundtrack_scoring.md +++ /dev/null @@ -1,15 +0,0 @@ -# First Soundtrack Scoring! - - Many months ago, I created and scored my first soundtrack for a short film — *Day One* by [Continuity Pictures](https://vimeo.com/user19419092) ([Derek Thomas](http://www.derekadamthomas.com)). - - \[vimeo 277104968 w\=640 h\=270] - ---- - - The process was quite fun — I never watched the film before scoring — I scored as I watched the film for the first time. This allowed for a very authentic sonic expression for the audience. - - I'm very pleased with the results. I believe it's some of my best musical work to date.  - - - - \ No newline at end of file diff --git a/data/essays/2018/joining_digitalocean.md b/data/essays/2018/joining_digitalocean.md index 8132924..1106e8a 100644 --- a/data/essays/2018/joining_digitalocean.md +++ b/data/essays/2018/joining_digitalocean.md @@ -1,9 +1,7 @@ # Joining DigitalOcean! - ![DO_Logo_Horizontal_Blue.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666503802-NS1QU3FWSK89LIOPG524/aa5dd-17d5d-do_logo_horizontal_blue.png)![DO_Logo_Horizontal_Blue.png]() I’m very happy to announce that I’m officially joining the DigitalOcean developer relations team, just in time for PyCon US 2018! I couldn’t be more excited :) +![DO_Logo_Horizontal_Blue.png](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666503802-NS1QU3FWSK89LIOPG524/aa5dd-17d5d-do_logo_horizontal_blue.png)![DO_Logo_Horizontal_Blue.png]() I’m very happy to announce that I’m officially joining the DigitalOcean developer relations team, just in time for PyCon US 2018! I couldn’t be more excited :) I'll be at the Digital Ocean booth periodically, if you want to come say hi! I'll also have some presence at the PSF booth as well. Heroku will always hold a special place in my heart and soul. I’ve been working there for 6\.5 years, and it’s time for something new :) - - \ No newline at end of file diff --git a/data/essays/2018/kr_vlog_0.md b/data/essays/2018/kr_vlog_0.md deleted file mode 100644 index 6e6492a..0000000 --- a/data/essays/2018/kr_vlog_0.md +++ /dev/null @@ -1,5 +0,0 @@ -# KR VLOG 0 - - \[vimeo 275814154 w\=640 h\=360] - - \ No newline at end of file diff --git a/data/essays/2018/leica_28mm_summaron_m_f56_lens_review.md b/data/essays/2018/leica_28mm_summaron_m_f56_lens_review.md index e2cb994..b5b7497 100644 --- a/data/essays/2018/leica_28mm_summaron_m_f56_lens_review.md +++ b/data/essays/2018/leica_28mm_summaron_m_f56_lens_review.md @@ -1,12 +1,12 @@ # Leica 28mm Summaron-M f/5.6 Lens Review - ![LEICA - Summaron-M 28mm f/5.6 Lens](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666492713-ME2XS491GU1HKYW6K0OT/822fe-19adb-35143736_10156274590300132_3695287821645381632_n.jpg)![35143736_10156274590300132_3695287821645381632_n.jpg]() +![LEICA - Summaron-M 28mm f/5.6 Lens](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666492713-ME2XS491GU1HKYW6K0OT/822fe-19adb-35143736_10156274590300132_3695287821645381632_n.jpg)![35143736_10156274590300132_3695287821645381632_n.jpg]() LEICA **Summaron\-M 28mm f/5\.6 Lens** - [Buy Now](https://www.amazon.com/LeicaSummaron-M-28mm-f-5-6-Lens/dp/B06WWQJ4W1/ref=sr_1_1?ie=UTF8&qid=1529491863&sr=8-1&keywords=summaron-m) + [Buy Now](https://www.amazon.com/LeicaSummaron-M-28mm-f-5-6-Lens/dp/B06WWQJ4W1/ref=sr_1_1?ie=UTF8&qid=1529491863&sr=8-1&keywords=summaron-m) **This little lens is absolute magic.** @@ -14,11 +14,11 @@ *This is the ultimate street photography lens.* - \[vimeo 275075352 w\=640 h\=360] ![Selfie (taken indoors) with the new limited Leica 28mm Summaron-M f/5.6.](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666461219-5602851WT4PRZ6BBMZHS/0501e-c931f-l1001557.jpg)![Selfie (taken indoors) with the new limited Leica 28mm Summaron-M f/5.6.]() + \[vimeo 275075352 w\=640 h\=360]![Selfie (taken indoors) with the new limited Leica 28mm Summaron-M f/5.6.](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666461219-5602851WT4PRZ6BBMZHS/0501e-c931f-l1001557.jpg)![Selfie (taken indoors) with the new limited Leica 28mm Summaron-M f/5.6.]() Selfie (taken indoors) with the new limited Leica 28mm Summaron\-M f/5\.6\. - + ## The Perfect Street Photography Lens @@ -41,14 +41,8 @@ *I highly recommend this lens for street photographers.* - + --- ## [Learn more about the](https://amzn.to/2ytBm5q) [**Summaron\-M 28** on Amazon](https://amzn.to/2ytBm5q)[.](https://amzn.to/2ytBm5q) - - - - - - \ No newline at end of file diff --git a/data/essays/2018/leica_m10_video_review.md b/data/essays/2018/leica_m10_video_review.md deleted file mode 100644 index f62f27d..0000000 --- a/data/essays/2018/leica_m10_video_review.md +++ /dev/null @@ -1,5 +0,0 @@ -# Leica M10 Video Review - - \[vimeo 276661722 w\=640 h\=360] - - \ No newline at end of file diff --git "a/data/essays/2018/new_website_section:_\"objects_i_own_&_love\".md" "b/data/essays/2018/new_website_section:_\"objects_i_own_&_love\".md" deleted file mode 100644 index 1a07b1b..0000000 --- "a/data/essays/2018/new_website_section:_\"objects_i_own_&_love\".md" +++ /dev/null @@ -1,23 +0,0 @@ -# New Website Section: "Objects I Own & Love" - - ![Hands–down, my favorite possession.](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666486318-UQ3BOWL7TJUPOELAW4L7/66c6d-27951-l1003161.jpg)![Hands–down, my favorite possession.]() - - Hands–down, my favorite possession. - - - - I'm very happy to announce a new section of my website that has technically existed for a long time, as a single page, O*bjects —*which contained a long, flat, and outdated list of links to things I enjoy — has now been expanded into a full section of my website, called— - - ## [Objects I Own \& Love](https://www.kennethreitz.org/objects/home/) - - I plan to continually iterate on this portion of my website, to include new things that need to be mentioned (like the excellent [**TI\-84 Plus CE**](https://amzn.to/2wKA0jh)).  - - - ---- - - If you'd like any specific recommendations (or have any of your own), **[drop me an email](mailto:me@kennethreitz.org)**, and I'll be happy to give you my personal opinion, based on your price range. - - ## ☤ - - \ No newline at end of file diff --git a/data/essays/2018/new_website_section_objects_i_own_amp_love.md b/data/essays/2018/new_website_section_objects_i_own_amp_love.md deleted file mode 100644 index 1a07b1b..0000000 --- a/data/essays/2018/new_website_section_objects_i_own_amp_love.md +++ /dev/null @@ -1,23 +0,0 @@ -# New Website Section: "Objects I Own & Love" - - ![Hands–down, my favorite possession.](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666486318-UQ3BOWL7TJUPOELAW4L7/66c6d-27951-l1003161.jpg)![Hands–down, my favorite possession.]() - - Hands–down, my favorite possession. - - - - I'm very happy to announce a new section of my website that has technically existed for a long time, as a single page, O*bjects —*which contained a long, flat, and outdated list of links to things I enjoy — has now been expanded into a full section of my website, called— - - ## [Objects I Own \& Love](https://www.kennethreitz.org/objects/home/) - - I plan to continually iterate on this portion of my website, to include new things that need to be mentioned (like the excellent [**TI\-84 Plus CE**](https://amzn.to/2wKA0jh)).  - - - ---- - - If you'd like any specific recommendations (or have any of your own), **[drop me an email](mailto:me@kennethreitz.org)**, and I'll be happy to give you my personal opinion, based on your price range. - - ## ☤ - - \ No newline at end of file diff --git a/data/essays/2018/on_love.md b/data/essays/2018/on_love.md index 03428e6..0c2c686 100644 --- a/data/essays/2018/on_love.md +++ b/data/essays/2018/on_love.md @@ -1,13 +1,11 @@ # On Love - ![L1003551.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666466212-VF75RUA9K2S8IFZ7VG39/1581e-e043f-l1003551.jpg)![L1003551.jpg]() My little sister just got married — I was asked to present **[*1 Corinthians 13*](https://en.wikipedia.org/wiki/1_Corinthians_13)** at her wedding ceremony last weekend. I was touched at the thought, and decided to give a little presentation about the cliché passage, instead of just a standard recitation. +![L1003551.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666466212-VF75RUA9K2S8IFZ7VG39/1581e-e043f-l1003551.jpg) + +My little sister just got married — I was asked to present **[*1 Corinthians 13*](https://en.wikipedia.org/wiki/1_Corinthians_13)** at her wedding ceremony last weekend. I was touched at the thought, and decided to give a little presentation about the cliché passage, instead of just a standard recitation. Here is a transcription: - - ---- - In Paul's first letter to the quite *imperfect* Church of Corinth, he speaks of *the* church as being one *perfect* body, comprised of many *imperfect* members. He speaks, in the section I'm about to read, on worship, which takes many forms, including, but not limited to, utilizing the many unique and individual gifts of the Holy Spirit — specifically, he refers to prophecy, which Paul alludes to as being "an excellent way".  @@ -26,17 +24,17 @@ ## 1 Corinthians 13, ESV (and surrounding verses) - + > But earnestly desire the higher gifts. And I will show you a still more excellent way.  -> +> > If I speak in the tongues of men and of angels, but have not love, I am a noisy gong or a clanging cymbal. And if I have prophetic powers, and understand all mysteries and all knowledge, and if I have all faith, so as to remove mountains, but have not love, I am nothing. If I give away all I have, and if I deliver up my body to be burned, but have not love, I gain nothing. -> +> > Love is patient and kind; love does not envy or boast; it is not arrogant or rude. It does not insist on its own way; it is not irritable or resentful; it does not rejoice at wrongdoing, but rejoices with the truth. Love bears all things, believes all things, hopes all things, endures all things. -> +> > Love never ends. As for prophecies, they will pass away; as for tongues, they will cease; as for knowledge, it will pass away. For we know in part and we prophesy in part, but when the perfect comes, the partial will pass away. -> +> > When I was a child, I spoke like a child, I thought like a child, I reasoned like a child. When I became a man, I gave up childish ways. For now we see in a mirror dimly, but then face to face. Now I know in part; then I shall know fully, even as I have been fully known. So now faith, hope, and love abide, these three; but the greatest of these is love. -> +> > Pursue love, and earnestly desire the spiritual gifts, especially that you may prophesy. Without love from above, agape, *all that is excellent* is merely a sounding brass or a tinkling cymbal — separated. @@ -45,10 +43,8 @@ In the wise words of John Lennon and Paul McCartney— *all you need is love.* - + --- **P.S. —**I do not consider myself to be a religious person (I'm a bit of a [hermetic](https://en.wikipedia.org/wiki/Hermeticism)), but I do consider myself to both be quite interested in the spiritual, and also quite able to speak the language of those that are religious. - - \ No newline at end of file diff --git a/data/essays/2018/panasonic_gx850_review.md b/data/essays/2018/panasonic_gx850_review.md index b4a5b78..9f22e73 100644 --- a/data/essays/2018/panasonic_gx850_review.md +++ b/data/essays/2018/panasonic_gx850_review.md @@ -1,9 +1,9 @@ # Panasonic GX850 Review - ![09DDFA14-8558-465A-A134-2E4C533B4314.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666467921-GZ2WDJUX7H4KGNIJD1TY/19d69-bdad1-09ddfa14-8558-465a-a134-2e4c533b4314.jpg)![09DDFA14-8558-465A-A134-2E4C533B4314.JPG]() I recently decided to [switch cameras (again)](http://journal.kennethreitz.org/entry/switching-cameras). This is something I do every few years, out of boredom, mostly, and it always inspires me as a photographer. +![09DDFA14-8558-465A-A134-2E4C533B4314.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666467921-GZ2WDJUX7H4KGNIJD1TY/19d69-bdad1-09ddfa14-8558-465a-a134-2e4c533b4314.jpg)![09DDFA14-8558-465A-A134-2E4C533B4314.JPG]() I recently decided to [switch cameras (again)](http://journal.kennethreitz.org/entry/switching-cameras). This is something I do every few years, out of boredom, mostly, and it always inspires me as a photographer. - ![2D9CC37B-2B8E-4889-9A88-B54087D4780C.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463332-U95BO1C3SM2S89P5L1Q8/0d352-294c5-2d9cc37b-2b8e-4889-9a88-b54087d4780c.jpg)![2D9CC37B-2B8E-4889-9A88-B54087D4780C.JPG]() I usually end up switching between Leica and Fujifilm cameras, but this time is different — I decided to pick up my first Micro–Four–Thirds camera — [the smallest one on the market](http://amzn.to/2FHEaeU). One that’s so small, it even lacks a viewfinder. +![2D9CC37B-2B8E-4889-9A88-B54087D4780C.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666463332-U95BO1C3SM2S89P5L1Q8/0d352-294c5-2d9cc37b-2b8e-4889-9a88-b54087d4780c.jpg)![2D9CC37B-2B8E-4889-9A88-B54087D4780C.JPG]() I usually end up switching between Leica and Fujifilm cameras, but this time is different — I decided to pick up my first Micro–Four–Thirds camera — [the smallest one on the market](http://amzn.to/2FHEaeU). One that’s so small, it even lacks a viewfinder. I opted for the [Olympus 17mm f/1\.8 lens](http://amzn.to/2my1XF3), which is the closest thing to my preference of 35mm f/2\.0 (on full frame).   @@ -11,41 +11,35 @@ For me, size is king right now. I want the smallest camera reasonably possible, as I want to carry the body with me everywhere, and every millimeter counts a lot towards the feel of the camera on your body. - ![IMG_0262.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666465542-QJ3G2UA3BAJGWYYVK7V7/14771-25a32-img_0262.jpg)![IMG_0262.JPG]() I was very happy with the superior quality and size of the Fujifilm x100F, which I highly recommend to anyone — and while this camera is absolutely a step back in terms of image quality, it holds a candle, and, most importantly, it inspires me — something that, after several years, the Fujifilm no longer was doing. +![IMG_0262.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666465542-QJ3G2UA3BAJGWYYVK7V7/14771-25a32-img_0262.jpg)![IMG_0262.JPG]() I was very happy with the superior quality and size of the Fujifilm x100F, which I highly recommend to anyone — and while this camera is absolutely a step back in terms of image quality, it holds a candle, and, most importantly, it inspires me — something that, after several years, the Fujifilm no longer was doing. Creative inspiration is the most important quality a camera can have, and I’m finding it in this novelishly–small Panasonic camera. ## Overall Impressions - The 3:4 aspect ratio is a serious downside to this sensor size. Luckily, the camera offers 2:3 cropping for JPEGs, and when importing images from JPEG\+RAW mode, Lightroom CC (even on the iPad) automatically applies the crop to the RAW image. So, my GX850 is effectively a 2:3 camera, with some extra vertical pixels to play with if I ever need them. + The 3:4 aspect ratio is a serious downside to this sensor size. Luckily, the camera offers 2:3 cropping for JPEGs, and when importing images from JPEG\+RAW mode, Lightroom CC (even on the iPad) automatically applies the crop to the RAW image. So, my GX850 is effectively a 2:3 camera, with some extra vertical pixels to play with if I ever need them. - ![E95D2198-7081-47B3-B113-8F41AD53BA46.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666522313-TTRSOWKI76J8B8JNP0XB/e87d9-13131-e95d2198-7081-47b3-b113-8f41ad53ba46.jpg)![E95D2198-7081-47B3-B113-8F41AD53BA46.JPG]() I’m impressed with the image quality, given the size and price of the camera. The camera pales in comparison to the Fujifilm x100F, which was to be expected, especially when it comes to things like getting white balance just right, but overall I’m quite happy with its quirks. +![E95D2198-7081-47B3-B113-8F41AD53BA46.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666522313-TTRSOWKI76J8B8JNP0XB/e87d9-13131-e95d2198-7081-47b3-b113-8f41ad53ba46.jpg)![E95D2198-7081-47B3-B113-8F41AD53BA46.JPG]() I’m impressed with the image quality, given the size and price of the camera. The camera pales in comparison to the Fujifilm x100F, which was to be expected, especially when it comes to things like getting white balance just right, but overall I’m quite happy with its quirks. - The dynamic range of the resulting images are “good enough” to work with, far from excessive, and is taking some getting used to, for more creative work. + The dynamic range of the resulting images are “good enough” to work with, far from excessive, and is taking some getting used to, for more creative work. - The form factor is worth these tradeoffs, in my opinion. There’s also something comforting/humbling about shooting with what’s considered an “entry level” camera when you’re a professional–level shooter. + The form factor is worth these tradeoffs, in my opinion. There’s also something comforting/humbling about shooting with what’s considered an “entry level” camera when you’re a professional–level shooter. ## Life Without a Viewfinder - ![IMG_0281.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666480610-MII622WOQYLL0H4D13JU/4abb7-3d688-img_0281.jpg)![IMG_0281.JPG]() So far, life without a viewfinder is quite okay. I was very apprehensive about this, but the portability of the camera (meaning I always have it on me), is easily worth the trade–off of not having a viewfinder. Plus, I have experience with a viewfinder–less system from the Ricoh GR, so I knew what I was getting myself into. +![IMG_0281.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666480610-MII622WOQYLL0H4D13JU/4abb7-3d688-img_0281.jpg)![IMG_0281.JPG]() So far, life without a viewfinder is quite okay. I was very apprehensive about this, but the portability of the camera (meaning I always have it on me), is easily worth the trade–off of not having a viewfinder. Plus, I have experience with a viewfinder–less system from the Ricoh GR, so I knew what I was getting myself into. Shooting with a screen has a few unexpected benefits: * You’re less noticeable on the street. * People don’t consider you a professional when they do notice you, so they don’t mind you snapping a photo, and mostly ignore you. - Most importantly, the screen articulates 180 degrees upwards, for selfies or shooting 4K video of yourself. This is a very fun aspect of the camera that I don’t expect to use often, but I expect that when I need it, it’ll be considered quite useful. + Most importantly, the screen articulates 180 degrees upwards, for selfies or shooting 4K video of yourself. This is a very fun aspect of the camera that I don’t expect to use often, but I expect that when I need it, it’ll be considered quite useful. ## Final Thoughts - ![IMG_0285.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666459207-IAR6NYMQI7GBDVLDDDM8/00dac-cc391-img_0285.jpg)![IMG_0285.JPG]() I love this camera. It’s inspiring me to shoot. +![IMG_0285.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666459207-IAR6NYMQI7GBDVLDDDM8/00dac-cc391-img_0285.jpg)![IMG_0285.JPG]() I love this camera. It’s inspiring me to shoot. - That’s something that the fantstic Fujifilm X100F was no longer doing, hence me getting rid of it. I miss it dearly already, but there’s no need to hold on to things that are no longer serving you. + That’s something that the fantstic Fujifilm X100F was no longer doing, hence me getting rid of it. I miss it dearly already, but there’s no need to hold on to things that are no longer serving you. I expect myself to pick up the next iteration of the X100, once it’s released. It’ll likely be time to be re–inspired then :) - - - - - - \ No newline at end of file diff --git a/data/essays/2018/pipenv_one_year_later_amp_a_call_for_help.md b/data/essays/2018/pipenv_one_year_later_amp_a_call_for_help.md index 1658817..ba4efff 100644 --- a/data/essays/2018/pipenv_one_year_later_amp_a_call_for_help.md +++ b/data/essays/2018/pipenv_one_year_later_amp_a_call_for_help.md @@ -1,19 +1,19 @@ # ​Pipenv: One Year Later & a Call for Help - ![IMG_0340.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666519911-3D1JAT0I745BLJOOV2D3/dc4d1-b0c31-img_0340.jpg)![IMG_0340.JPG]() Last Friday marked the one year anniversary of my latest project, [**Pipenv**](https://docs.pipenv.org/), which is now the [officially recommended](https://packaging.python.org/tutorials/managing-dependencies/) packaging tool for the Python community from Python.org. + ![IMG_0340.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666519911-3D1JAT0I745BLJOOV2D3/dc4d1-b0c31-img_0340.jpg)![IMG_0340.JPG]() Last Friday marked the one year anniversary of my latest project, [**Pipenv**](https://docs.pipenv.org/), which is now the [officially recommended](https://packaging.python.org/tutorials/managing-dependencies/) packaging tool for the Python community from Python.org. - It’s been a lot of hard work — and very humbling to see how warmly (for the most part), the community has embraced the project. + It’s been a lot of hard work — and very humbling to see how warmly (for the most part), the community has embraced the project. ## Latest Updates - * The documentation receives about 1,700 views per day. +* The documentation receives about 1,700 views per day. * Pipenv has been installed 97,791 times this month. * 57% of the installations are using Python 3\. * The project’s repository has been moved over to the Python Packaging Authority (PyPA) organization. * Nick Coghlan, core CPython developer, has officially joined the team, as a Senior Contributor. - I’m currently working on releasing [Pipenvlib](https://github.com/kennethreitz/pipenvlib), a project which makes it easy to interface with Pipenv projects from Python code. + I’m currently working on releasing [Pipenvlib](https://github.com/kennethreitz/pipenvlib), a project which makes it easy to interface with Pipenv projects from Python code. There’s been no progress on getting Pipfile added to pip proper — this will likely take a while, as bandwidth is extremely constrained on the pip team. @@ -21,12 +21,10 @@ The Pipenv project needs help — we have too many incoming issues and reported bugs to be able for our small team to handle. - If you’d like to get involved with the project (and have previous open source experience), we’d love to have you on board. We need more direct contributors to help make this project sustainable. + If you’d like to get involved with the project (and have previous open source experience), we’d love to have you on board. We need more direct contributors to help make this project sustainable. The project will be fine without any additional contributors — but the level of quality we are striving for requires more development man hours than our team is capable of producing at this time. So, if you’re qualified and able, please [reach out to me](http://mailto:e@kennethreitz.org), and I’ll set you up ASAP. :) Many thanks for reading! And, as always, thanks for using my software :) - - \ No newline at end of file diff --git a/data/essays/2018/positive_thoughts_on_the_github_acquisition.md b/data/essays/2018/positive_thoughts_on_the_github_acquisition.md index a939552..441c5fc 100644 --- a/data/essays/2018/positive_thoughts_on_the_github_acquisition.md +++ b/data/essays/2018/positive_thoughts_on_the_github_acquisition.md @@ -1,6 +1,6 @@ # ​Positive Thoughts on the GitHub Acquisition - ![05EB4CE5-8100-4DFC-96DE-0E56F8F4923D.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666529911-H2K4LYHY9S8VUZYPIUGD/feb42-20197-05eb4ce5-8100-4dfc-96de-0e56f8f4923d.jpg)![05EB4CE5-8100-4DFC-96DE-0E56F8F4923D.JPG]() I met (and became friends with) the GitHub crew when they were merely 8 employees, hacking away on their newly popular product. I’ve followed the team/product extremely closely over the years, with keen interest, and maintain relationships with some of the founders. + ![05EB4CE5-8100-4DFC-96DE-0E56F8F4923D.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666529911-H2K4LYHY9S8VUZYPIUGD/feb42-20197-05eb4ce5-8100-4dfc-96de-0e56f8f4923d.jpg)![05EB4CE5-8100-4DFC-96DE-0E56F8F4923D.JPG]() I met (and became friends with) the GitHub crew when they were merely 8 employees, hacking away on their newly popular product. I’ve followed the team/product extremely closely over the years, with keen interest, and maintain relationships with some of the founders. I’m also one of the top users on GitHub (depending on how you measure) — so I feel as though my opinion on this acquisition is worth sharing to the community. @@ -20,7 +20,7 @@ ## Git Community Implications - Because of the number of community members upset about the acquisition, a number of people are looking to host their code/projects elsewhere. + Because of the number of community members upset about the acquisition, a number of people are looking to host their code/projects elsewhere. I think this is actually very healthy for the git ecosystem. Git is a bit over\-saturated with GitHub usage — it’s a completely decentralized system, and people should be encouraged to run their own infrastructure for it, instead of “just use GitHub”. @@ -30,8 +30,6 @@ Anyone looking at [GitLab](https://about.gitlab.com) as a replacement — I heavily recommend looking into running a Phabricator instance instead. It’s utterly fantastic software — Facebook uses it to manage their entire engineering workforce. - I personally run a [Phabricator](https://www.phacility.com/phabricator/) instance over at [code.kennethreitz.org](https://code.kennethreitz.org/) that mirrors all of my important repositories. In addition, I use it for higher\-level project management. + I personally run a [Phabricator](https://www.phacility.com/phabricator/) instance over at [code.kennethreitz.org](https://code.kennethreitz.org/) that mirrors all of my important repositories. In addition, I use it for higher\-level project management. - ***So — in closing — have no fear \& check out Phabricator.*** - - \ No newline at end of file + ***So — in closing — have no fear \& check out Phabricator.*** diff --git a/data/essays/2018/prolevel_camera_recommendations_for_2018.md b/data/essays/2018/prolevel_camera_recommendations_for_2018.md index bbd18ac..cbb9076 100644 --- a/data/essays/2018/prolevel_camera_recommendations_for_2018.md +++ b/data/essays/2018/prolevel_camera_recommendations_for_2018.md @@ -1,6 +1,6 @@ # Pro–Level Camera Recommendations for 2018 - ![L1001798.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666483318-ID36AJJ8DI6OERUU7BO5/5b924-3e5df-l1001798.jpg)![L1001798.jpg]() I’ve compiled a list, for a coworker, of professional\-level cameras I recommend at this point in time, at various budgets. + ![L1001798.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666483318-ID36AJJ8DI6OERUU7BO5/5b924-3e5df-l1001798.jpg)![L1001798.jpg]() I’ve compiled a list, for a coworker, of professional\-level cameras I recommend at this point in time, at various budgets. Things these cameras all have in common, and why I recommend them: @@ -26,10 +26,8 @@ I’ve owned all of these cameras. If you want to see any sample images from any of these systems, ask away :) - As for cameras that are lowest budget, I don’t really have recommendations, other than going with older models of the X100 series, or picking up used copies of any of the above bodies (recommended). Your iPhone will take better photos than most cameras that cost less than the ones on this list. + As for cameras that are lowest budget, I don’t really have recommendations, other than going with older models of the X100 series, or picking up used copies of any of the above bodies (recommended). Your iPhone will take better photos than most cameras that cost less than the ones on this list. Also, of note — all of the lenses attached to these cameras are prime lenses, meaning they are of a fixed focal length, as opposed to zooms. You “zoom with your feet”. This is both a superior photography experience, and is an optically superior design decision. - The Sony camera does zoom, which is useful, but you end up using it zoomed out at 100% about 98% of the time. - - \ No newline at end of file + The Sony camera does zoom, which is useful, but you end up using it zoomed out at 100% about 98% of the time. diff --git a/data/essays/2018/sony_rx100_mark_5_thoughts.md b/data/essays/2018/sony_rx100_mark_5_thoughts.md index 3c0a09f..7f4c44a 100644 --- a/data/essays/2018/sony_rx100_mark_5_thoughts.md +++ b/data/essays/2018/sony_rx100_mark_5_thoughts.md @@ -1,24 +1,19 @@ # Sony RX100 Mark 5 Thoughts - ![83639E17-D9F9-46C6-9452-45AA5A3008F4.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476799-BAV3G4GFNLVZH6OKJMT9/3e5e5-f3528-83639e17-d9f9-46c6-9452-45aa5a3008f4.jpg)![83639E17-D9F9-46C6-9452-45AA5A3008F4.JPG]() ![DAA48E92-44A2-4C4B-B79F-C75430346C4E.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666508558-EBDS5D92SVBYY4R0KVT5/bcaf1-d48bd-daa48e92-44a2-4c4b-b79f-c75430346c4e.jpg)![DAA48E92-44A2-4C4B-B79F-C75430346C4E.JPG]() I recently did my [first photoshoot (nsfw)](https://www.flickr.com/photos/kennethreitz/albums/72157691615475234) with the [Panasonic GX850](https://www.kennethreitz.org/essays/panasonic-gx850-review), and realized that it was a little bit too entry–level for serious photography. So, I did a little bit of research and ended up picking up the fantastic [Sony RX100 Mark 5](http://amzn.to/2DBWvwk), an even smaller camera. My [first photoshoot (nsfw)](https://www.flickr.com/photos/kennethreitz/albums/72157689688901522) with the Sony proved it to be a superior camera for my needs.  + ![83639E17-D9F9-46C6-9452-45AA5A3008F4.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666476799-BAV3G4GFNLVZH6OKJMT9/3e5e5-f3528-83639e17-d9f9-46c6-9452-45aa5a3008f4.jpg)![83639E17-D9F9-46C6-9452-45AA5A3008F4.JPG]() ![DAA48E92-44A2-4C4B-B79F-C75430346C4E.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666508558-EBDS5D92SVBYY4R0KVT5/bcaf1-d48bd-daa48e92-44a2-4c4b-b79f-c75430346c4e.jpg)![DAA48E92-44A2-4C4B-B79F-C75430346C4E.JPG]() I recently did my [first photoshoot (nsfw)](https://www.flickr.com/photos/kennethreitz/albums/72157691615475234) with the [Panasonic GX850](https://www.kennethreitz.org/essays/panasonic-gx850-review), and realized that it was a little bit too entry–level for serious photography. So, I did a little bit of research and ended up picking up the fantastic [Sony RX100 Mark 5](http://amzn.to/2DBWvwk), an even smaller camera. My [first photoshoot (nsfw)](https://www.flickr.com/photos/kennethreitz/albums/72157689688901522) with the Sony proved it to be a superior camera for my needs.  - ![A3ECFCE9-B570-4A90-9652-306C0BDD1E89.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666498895-GVUJOEZ0UPO3UXQZJD6C/99c55-f35e5-a3ecfce9-b570-4a90-9652-306c0bdd1e89.jpg)![A3ECFCE9-B570-4A90-9652-306C0BDD1E89.JPG]() It is a "point and shoot", but it offers a level of control that I'm comfortable shooting with (Auto ISO, Aperture Priority mode), so this classification means nothing to me. It's a camera, in every way as much as the [Fuijfilm X100F](http://amzn.to/2F97c5U) is.  +![A3ECFCE9-B570-4A90-9652-306C0BDD1E89.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666498895-GVUJOEZ0UPO3UXQZJD6C/99c55-f35e5-a3ecfce9-b570-4a90-9652-306c0bdd1e89.jpg)![A3ECFCE9-B570-4A90-9652-306C0BDD1E89.JPG]() It is a "point and shoot", but it offers a level of control that I'm comfortable shooting with (Auto ISO, Aperture Priority mode), so this classification means nothing to me. It's a camera, in every way as much as the [Fuijfilm X100F](http://amzn.to/2F97c5U) is.  - ![72426585-DC39-409D-95ED-31483689810C.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666488313-G8DR7NLAGGVZALWUGQRK/6f929-2aa41-72426585-dc39-409d-95ed-31483689810c.jpg)![72426585-DC39-409D-95ED-31483689810C.JPG]() I couldn't love this camera more. It's small, compact, has a reasonable lens (which I keep at 24mm most of the time), and a fantastic sensor. Its color reproduction (the aspect the Panasonic was lacking the most) is top–knotch, potentially beating out even my previous [Fuijfilm X100F](http://amzn.to/2F97c5U). +![72426585-DC39-409D-95ED-31483689810C.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666488313-G8DR7NLAGGVZALWUGQRK/6f929-2aa41-72426585-dc39-409d-95ed-31483689810c.jpg)![72426585-DC39-409D-95ED-31483689810C.JPG]() I couldn't love this camera more. It's small, compact, has a reasonable lens (which I keep at 24mm most of the time), and a fantastic sensor. Its color reproduction (the aspect the Panasonic was lacking the most) is top–knotch, potentially beating out even my previous [Fuijfilm X100F](http://amzn.to/2F97c5U). It's small enough to easily fit into my pocket, so I always have it with me. Despite reviews to the contrary, I find its battery life to be quite adequate. - ![38AFF192-3DFD-46BD-8AAD-83A4170D7D10.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666526420-MCZYA7CMCP2TPZB05Y1B/f2717-848a8-38aff192-3dfd-46bd-8aad-83a4170d7d10.jpg)![38AFF192-3DFD-46BD-8AAD-83A4170D7D10.JPG]() The pop–up viewfinder is my favorite feature of the camera — after shooting without a viewfinder for a while, I realized how essential this tool is for the type of work I prefer to do on the daily. +![38AFF192-3DFD-46BD-8AAD-83A4170D7D10.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666526420-MCZYA7CMCP2TPZB05Y1B/f2717-848a8-38aff192-3dfd-46bd-8aad-83a4170d7d10.jpg)![38AFF192-3DFD-46BD-8AAD-83A4170D7D10.JPG]() The pop–up viewfinder is my favorite feature of the camera — after shooting without a viewfinder for a while, I realized how essential this tool is for the type of work I prefer to do on the daily. - ![5E4C7336-5547-452C-9959-EB2A25EEE269.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666471801-Y33EGXRZY2SMG9MIPSNP/27be7-6c4dc-5e4c7336-5547-452c-9959-eb2a25eee269.jpg)![5E4C7336-5547-452C-9959-EB2A25EEE269.JPG]() The articulating screen is another big plus — as it allows me to view the screen while having the camera above my head, which is something I often try to do while shooting cityscape photography. It also does the opposite, of course, allowing for me to view the screen while the camera is far below my head, close to the ground. Overall, the screen on this camera is just excellent, especially for the price.   +![5E4C7336-5547-452C-9959-EB2A25EEE269.JPG](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666471801-Y33EGXRZY2SMG9MIPSNP/27be7-6c4dc-5e4c7336-5547-452c-9959-eb2a25eee269.jpg)![5E4C7336-5547-452C-9959-EB2A25EEE269.JPG]() The articulating screen is another big plus — as it allows me to view the screen while having the camera above my head, which is something I often try to do while shooting cityscape photography. It also does the opposite, of course, allowing for me to view the screen while the camera is far below my head, close to the ground. Overall, the screen on this camera is just excellent, especially for the price.   ## Conclusion Overall, I'm *thrilled* with this purchase, and I highly recommend this camera to anyone looking for something small and pocketable. - **[Shop Sony RX100M5 on Amazon](http://amzn.to/2DBWvwk).** - - - - - \ No newline at end of file + **[Shop Sony RX100M5 on Amazon](http://amzn.to/2DBWvwk).** diff --git a/data/essays/2018/the_shinola_canfield_sport_45mm_watch_review.md b/data/essays/2018/the_shinola_canfield_sport_45mm_watch_review.md index 8f917ee..cb2e7e9 100644 --- a/data/essays/2018/the_shinola_canfield_sport_45mm_watch_review.md +++ b/data/essays/2018/the_shinola_canfield_sport_45mm_watch_review.md @@ -1,18 +1,18 @@ # The Shinola Canfield Sport 45mm Watch Review - ![Shinola Detriot - Canfield Sport 45mm (Black)](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666468003-UQ8YSAE6KYP1KDQ9IG9J/1e606-b2316-s.png)![s.png]() + ![Shinola Detriot - Canfield Sport 45mm (Black)](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666468003-UQ8YSAE6KYP1KDQ9IG9J/1e606-b2316-s.png)![s.png]() Shinola Detriot Canfield Sport 45mm (Black) - [Buy Now](https://www.shinola.com/mens/new-arrivals/the-canfield-sport-chrono-watch-45mm-89889.html) + [Buy Now](https://www.shinola.com/mens/new-arrivals/the-canfield-sport-chrono-watch-45mm-89889.html) I absolutely love this watch — I picked up the black edition. You won’t see many reviews around (I couldn’t find *any* online, hence me writing this), because this piece is a brand new offering from Shinola. Shinola is a bit of a controversial brand in the watch world — you either love them or hate them. I happen to love them — They make beautifully designed timepieces, albeit at a high price point for not being automatics, and I love what they’re doing for the city of Detroit. - + --- @@ -20,10 +20,10 @@ From Shinola's marketing: - + > *Shinola is breaking the mold when it comes to the traditional sports watch. The Canfield Sport is a timepiece where complexity takes center stage. Built using a top loaded  construction, the Canfield Sport features a fixed  with ceramic insert and an open  punctuated with three sub dials, making this watch sporty and instinctively classic. The look is completed with a black leather strap. Every detail of the Canfield Sport makes it a refined and quintessential timepiece to add to your wardrobe.* - ![s0120089889_f2_3840h.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666492006-93DM0GBAYT3969VZLBOY/82252-450ff-s0120089889_f2_3840h.jpg)![s0120089889_f2_3840h.jpg]() It’s a very large watch for me, coming in at 45mm, as well as my first chronograph. I’m quite surprised by how often I use the chronograph (multiple times, daily). I owned many digital Timex’s as a child with a stopwatch feature, but never utilized them nearly as often as I do the chronograph on this Canfield Sport. +![s0120089889_f2_3840h.jpg](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666492006-93DM0GBAYT3969VZLBOY/82252-450ff-s0120089889_f2_3840h.jpg)![s0120089889_f2_3840h.jpg]() It’s a very large watch for me, coming in at 45mm, as well as my first chronograph. I’m quite surprised by how often I use the chronograph (multiple times, daily). I owned many digital Timex’s as a child with a stopwatch feature, but never utilized them nearly as often as I do the chronograph on this Canfield Sport. The thickness of the case, coming in at 13mm matches the size of the watch perfectly. I wouldn’t change a thing about it. Sure, they could have made it thinner, but they didn’t need to (unlike the Apple Watch). @@ -31,11 +31,11 @@ This piece is a bit pricey (I got it for approx. $720, discounted) for a quartz movement, albeit a fairly high quality one (Argonite 5040\.F) — it’s not thermo–compensated or anything fancy like that. But, it should be much more reliable than most automatic movements. - + --- - ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666513805-JAH7IEFT8GBZD8LHSPA5/ccfc4-79b49-image-asset.jpeg)![]() ## The Shinola Canfield Sport’s Features: +![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666513805-JAH7IEFT8GBZD8LHSPA5/ccfc4-79b49-image-asset.jpeg)![]() ## The Shinola Canfield Sport’s Features: * 45mm Case (also available in a 40mm edition). * Depth Rating: 5 ATM (50 meters). @@ -44,8 +44,6 @@ * 20mm lugs (comes with a nice hand\-made strap). * Swiss parts, Made in Detroit, USA. - + *Learn more at [shinola.com](https://www.shinola.com/mens/new-arrivals/the-canfield-sport-chrono-watch-45mm-89889.html).* - - \ No newline at end of file diff --git a/data/essays/2019/requests_iii_development_update.md b/data/essays/2019/requests_iii_development_update.md index a5a1e5b..b3b07f7 100644 --- a/data/essays/2019/requests_iii_development_update.md +++ b/data/essays/2019/requests_iii_development_update.md @@ -1,10 +1,9 @@ # Requests III Development Update - ![L1000898-original.jpg](https://images.squarespace-cdn.com/content/v1/5fcb7ff40d693b57c54ec67c/1607226210552-YGG3P03LXAJAXX5Q3BZ5/f260c-l1000898-original.jpg) + ![L1000898-original.jpg](https://images.squarespace-cdn.com/content/v1/5fcb7ff40d693b57c54ec67c/1607226210552-YGG3P03LXAJAXX5Q3BZ5/f260c-l1000898-original.jpg) L1000898\-original.jpg - - ![L1000898-original.jpg]() +![L1000898-original.jpg]() diff --git a/data/essays/2023/introducing_eliza_gpt_specializing_in_python_amp_api_design.md b/data/essays/2023/introducing_eliza_gpt_specializing_in_python_amp_api_design.md index 34d8a42..0c5fe3f 100644 --- a/data/essays/2023/introducing_eliza_gpt_specializing_in_python_amp_api_design.md +++ b/data/essays/2023/introducing_eliza_gpt_specializing_in_python_amp_api_design.md @@ -24,7 +24,7 @@ -   ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666474545-J7310WVZYMMYDFYD9EY0/30764-screenshot2023-11-13at8.29.48e280afam.png.48e280afam.png?format=original)   **Here is her prompt:** +   ![](http://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666474545-J7310WVZYMMYDFYD9EY0/30764-screenshot2023-11-13at8.29.48e280afam.png.48e280afam.png?format=original)   **Here is her prompt:** > ELIZA, embodying the communication style of Kenneth Reitz, known for his work on 'requests' and 'pipenv', offers a blend of technical prowess, enthusiasm, and approachability and bring a uniquely human touch. She engages in conversations in a friendly and approachable manner, offering Python coding advice and insights into API design. Excelling in simplifying complex programming concepts, ELIZA makes them accessible and enjoyable to a broad audience.