<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Seth Lakowske</title>
    <link>https://sethlakowske.com</link>
    <description>Blog posts and articles by Seth Lakowske.</description>
    <language>en-us</language>
    <lastBuildDate>Sat, 06 Apr 2024 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Simple Sound Progression</title>
      <link>https://sethlakowske.com/tones-of-the-web/</link>
      <guid isPermaLink="true">https://sethlakowske.com/tones-of-the-web/</guid>
      <pubDate>Sat, 06 Apr 2024 00:00:00 GMT</pubDate>
      <description>A short Strudel experiment with a simple sound progression.</description>
      <category>audio</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Shooting weighted dice on the street</title>
      <link>https://sethlakowske.com/shooting-weighted-dice-on-the-street/</link>
      <guid isPermaLink="true">https://sethlakowske.com/shooting-weighted-dice-on-the-street/</guid>
      <pubDate>Tue, 28 Nov 2023 00:00:00 GMT</pubDate>
      <description>After learning various market setups and situations, I&#39;ve come to see them as a set of probabilities, or probable outcomes…</description>
      <category>trading</category>
    </item>
    <item>
      <title>Thoughts on Search and APIs</title>
      <link>https://sethlakowske.com/articles/thoughts-on-search/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/thoughts-on-search/</guid>
      <pubDate>Sat, 13 Aug 2022 00:00:00 GMT</pubDate>
      <description>Often an API is a subset of search. Anytime a user of the API gets a list of items back matching some criteria, it might be a search query written as an API call. One can often turn search queries into an API call…</description>
      <category>search</category>
    </item>
    <item>
      <title>Living offgrid on my solar powered boat</title>
      <link>https://sethlakowske.com/articles/living-offgrid-on-a-solar-powered-boat/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/living-offgrid-on-a-solar-powered-boat/</guid>
      <pubDate>Mon, 14 Feb 2022 00:00:00 GMT</pubDate>
      <description>This is a story about how I came to live on a solar powered boat. I had a dream of powering my life with solar power for over a decade. I started with my home in Sun Prairie, WI…</description>
      <category>solar</category>
    </item>
    <item>
      <title>My Trading Journey</title>
      <link>https://sethlakowske.com/articles/trading-journey/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/trading-journey/</guid>
      <pubDate>Tue, 01 Jun 2021 00:00:00 GMT</pubDate>
      <description>I&#39;ve worked jobs where your work is not judged by the market, but instead a bureaucracy. It&#39;s hard to know if what you&#39;re doing is of value and to what degree…</description>
      <category>trading</category>
    </item>
    <item>
      <title>Private Minikube Docker Registry using Helm</title>
      <link>https://sethlakowske.com/articles/howto-local-minikube-registry/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/howto-local-minikube-registry/</guid>
      <pubDate>Fri, 08 Dec 2017 00:00:00 GMT</pubDate>
      <description>These steps walk you through setting up a password protected Docker Registry and Nginx Ingress controller on your laptop or workstation. You&#39;ll need a Docker client, Minikube, Helm and Kubernetes client (kubectl).</description>
      <category>docker</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Using http-browserify to submit FormData and Images with ease</title>
      <link>https://sethlakowske.com/software/use-http-browserify-to-submit-formdata-and-images-easily/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/use-http-browserify-to-submit-formdata-and-images-easily/</guid>
      <pubDate>Sun, 30 Apr 2017 00:00:00 GMT</pubDate>
      <description>If you want to send an Image or other form data back to the server and like to use Node.js’s http module, then you are in luck. http-browserify will happily send a FormData object if you write it to the stream.</description>
      <category>javascript</category>
      <category>browserify</category>
    </item>
    <item>
      <title>Java to Haskell in Zero Days</title>
      <link>https://sethlakowske.com/articles/java-to-haskell-in-zero-days/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/java-to-haskell-in-zero-days/</guid>
      <pubDate>Wed, 05 Apr 2017 00:00:00 GMT</pubDate>
      <description>Haskell is a language that is foreign to most programmers coming from an imperitive language like Java, C#, C++, Python and the like…</description>
      <category>haskell</category>
      <category>learning</category>
    </item>
    <item>
      <title>Monadic shell scripts</title>
      <link>https://sethlakowske.com/articles/monadic-shell-scripts/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/monadic-shell-scripts/</guid>
      <pubDate>Sat, 03 Dec 2016 00:00:00 GMT</pubDate>
      <description>Shell scripts can be monad like in their construction. When shell scripts are chained together with pipes, you get a sense of their composability…</description>
      <category>haskell</category>
      <category>linux</category>
    </item>
    <item>
      <title>Running Kubernetes, Docker and a private Registry locally</title>
      <link>https://sethlakowske.com/articles/howto-install-docker-kubernets-local-registry/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/howto-install-docker-kubernets-local-registry/</guid>
      <pubDate>Sat, 04 Jun 2016 00:00:00 GMT</pubDate>
      <description>This guide will walk you through the steps to setting up an environment to run Kubernetes (K8S) on your laptop or workstation. You&#39;ll need to install Docker if you haven&#39;t already and Kubernetes client (kubectl)…</description>
      <category>docker</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Why Learn Haskell?</title>
      <link>https://sethlakowske.com/articles/why-learn-haskell/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/why-learn-haskell/</guid>
      <pubDate>Mon, 25 Apr 2016 00:00:00 GMT</pubDate>
      <description>Type system improves correctness by constraining input, so you spend less time running broken code.</description>
      <category>haskell</category>
      <category>learning</category>
    </item>
    <item>
      <title>Why run microservices using Docker and Kubernetes?</title>
      <link>https://sethlakowske.com/articles/why-run-docker-containers-and-kubernetes/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/why-run-docker-containers-and-kubernetes/</guid>
      <pubDate>Mon, 25 Apr 2016 00:00:00 GMT</pubDate>
      <description>Code can be broken out into smaller microservices that are easier to learn, release and update.</description>
      <category>docker</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Browserify and Minifyify to Combine, Minify and Obfuscate Multiple JavaScript Files</title>
      <link>https://sethlakowske.com/articles/use-browserify-and-minifyify-to-combine-minify-and-obfuscate-multiple-javascript-files/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/use-browserify-and-minifyify-to-combine-minify-and-obfuscate-multiple-javascript-files/</guid>
      <pubDate>Wed, 30 Sep 2015 00:00:00 GMT</pubDate>
      <description>When you have multiple JavaScript files in node.js (CommonJS) format, you can combine them to create a single bundle of JavaScript that is faster to download and easy to include on a webpage…</description>
      <category>javascript</category>
      <category>browserify</category>
    </item>
    <item>
      <title>WebGL using gl-mat4, browserify-shader and Browserify</title>
      <link>https://sethlakowske.com/articles/webgl-using-gl-mat4-browserify-shader-and-browserify/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/webgl-using-gl-mat4-browserify-shader-and-browserify/</guid>
      <pubDate>Tue, 22 Sep 2015 00:00:00 GMT</pubDate>
      <description>Pare down your WebGL scripts with Browserify and a few supporting modules on simple scenes. The result is a smaller Javascript bundle with only the required code…</description>
      <category>javascript</category>
      <category>webgl</category>
      <category>browserify</category>
    </item>
    <item>
      <title>slurp-some Nodejs streams</title>
      <link>https://sethlakowske.com/slurp-some-nodejs-streams/</link>
      <guid isPermaLink="true">https://sethlakowske.com/slurp-some-nodejs-streams/</guid>
      <pubDate>Wed, 02 Sep 2015 00:00:00 GMT</pubDate>
      <description>slurp-some is a Nodejs convenience module I published that allows a user to read a stream up to some predefined amount and error if the stream contains more data…</description>
      <category>javascript</category>
      <category>nodejs</category>
    </item>
    <item>
      <title>Share javascript in node and the browser using Browserify and Tape</title>
      <link>https://sethlakowske.com/articles/shared-javascript-in-node-and-browser-browserify-tape/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/shared-javascript-in-node-and-browser-browserify-tape/</guid>
      <pubDate>Wed, 21 Jan 2015 00:00:00 GMT</pubDate>
      <description>My goal is to use one language across two environments, the server and the browser. I want to do so easily and I have attempted to achieve this in the past, but ran into difficulties.</description>
      <category>javascript</category>
      <category>nodejs</category>
      <category>browserify</category>
      <category>testing</category>
    </item>
    <item>
      <title>Proxy-by-url must provide proper url error</title>
      <link>https://sethlakowske.com/articles/proxy-by-url-must-provide-a-proper-url/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/proxy-by-url-must-provide-a-proper-url/</guid>
      <pubDate>Fri, 16 Jan 2015 00:00:00 GMT</pubDate>
      <description>I get the following error using v0.0.3 of proxy-by-url from github:</description>
      <category>javascript</category>
      <category>nodejs</category>
    </item>
    <item>
      <title>Starting emacs in dired mode</title>
      <link>https://sethlakowske.com/articles/start-emacs-in-dired-mode/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/start-emacs-in-dired-mode/</guid>
      <pubDate>Sat, 10 Jan 2015 00:00:00 GMT</pubDate>
      <description>You can start emacs in dired mode by adding this to your startup script</description>
      <category>emacs</category>
    </item>
    <item>
      <title>Tutorial: Streaming Arduino Sensor Data to Smoothie Charts</title>
      <link>https://sethlakowske.com/articles/smoothie-charts-nodejs-arduino-stream-transform-test/</link>
      <guid isPermaLink="true">https://sethlakowske.com/articles/smoothie-charts-nodejs-arduino-stream-transform-test/</guid>
      <pubDate>Sun, 07 Dec 2014 00:00:00 GMT</pubDate>
      <description>Tutorial: streaming Arduino sensor data into a Smoothie Chart with Node.js.</description>
      <category>javascript</category>
      <category>nodejs</category>
      <category>hardware</category>
    </item>
    <item>
      <title>Electric bike article on MadisonBikeLife</title>
      <link>https://sethlakowske.com/electric-bike-article-on-madisonbikelife/</link>
      <guid isPermaLink="true">https://sethlakowske.com/electric-bike-article-on-madisonbikelife/</guid>
      <pubDate>Fri, 01 Aug 2014 00:00:00 GMT</pubDate>
      <description>I collaborated with my friend Alyson on a electric bike article for her blog MadisonBikeLife.com. Check it out, and all her other biking tips at her biking blog!</description>
      <category>biking</category>
    </item>
    <item>
      <title>Use Grunt and Uglifyjs to combine multiple javascript files into a single javascript file</title>
      <link>https://sethlakowske.com/software/use-grunt-and-uglifyjs-to-combine-multiple-javascript-files-into-a-single-javascript-file/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/use-grunt-and-uglifyjs-to-combine-multiple-javascript-files-into-a-single-javascript-file/</guid>
      <pubDate>Thu, 10 Jul 2014 00:00:00 GMT</pubDate>
      <description>When you are ready to publish your new JavaScript project, you can combine your JavaScript files into one file to get faster page downloads, fewer GET requests and lower complexity for users to manage…</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Node.js closing JSONStream and other system resources gracefully</title>
      <link>https://sethlakowske.com/software/node-js-closing-jsonstream-and-other-system-resources-gracefully/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/node-js-closing-jsonstream-and-other-system-resources-gracefully/</guid>
      <pubDate>Sun, 29 Jun 2014 00:00:00 GMT</pubDate>
      <description>System resources sometimes need to shutdown gracefully when exiting. In my case, I have a JSONStream open in node.js…</description>
      <category>javascript</category>
      <category>nodejs</category>
    </item>
    <item>
      <title>Silent AM1H-ITX Development Workstation</title>
      <link>https://sethlakowske.com/technology/silent-am1h-itx-development-workstation/</link>
      <guid isPermaLink="true">https://sethlakowske.com/technology/silent-am1h-itx-development-workstation/</guid>
      <pubDate>Thu, 15 May 2014 00:00:00 GMT</pubDate>
      <description>I purchased an AM1H-ITX motherboard 2 weeks ago to replace the old tower under my desk. My old tower is a 6 core AMD with a GTX-260 video card…</description>
      <category>hardware</category>
    </item>
    <item>
      <title>Singleton, Factory and Mediator Patterns in Javascript</title>
      <link>https://sethlakowske.com/software/singleton-factory-and-mediator-patterns-in-javascript/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/singleton-factory-and-mediator-patterns-in-javascript/</guid>
      <pubDate>Mon, 25 Nov 2013 00:00:00 GMT</pubDate>
      <description>This article outlines design patterns in Javascript and in particular how they are used in NodeHawk’s UAV Wifi testbed…</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Choosing an EventBus: DIY EventBus, EventEmitter or BackBone.Events</title>
      <link>https://sethlakowske.com/software/eventemitter-vs-backbone-events-vs-diy-eventbus/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/eventemitter-vs-backbone-events-vs-diy-eventbus/</guid>
      <pubDate>Thu, 21 Nov 2013 00:00:00 GMT</pubDate>
      <description>DIY EventBus I wanted an EventBus implementation. I started to write my own EventBus implementation, but about 2 lines in, I wondered, “Is there an easier way?”</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Cross environment Javascript with Requirejs, Karma and Mocha</title>
      <link>https://sethlakowske.com/software/cross-environment-shared-logic-with-requirejs-karma-and-mocha/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/cross-environment-shared-logic-with-requirejs-karma-and-mocha/</guid>
      <pubDate>Sat, 19 Oct 2013 00:00:00 GMT</pubDate>
      <description>My goal is to use one language and share logic across two environments, the server and the browser. I want to do this easily.</description>
      <category>javascript</category>
      <category>testing</category>
    </item>
    <item>
      <title>Sequelize unit testing using Grunt and Nodeunit</title>
      <link>https://sethlakowske.com/software/sequelize-unit-testing-using-grunt-and-nodeunit/</link>
      <guid isPermaLink="true">https://sethlakowske.com/software/sequelize-unit-testing-using-grunt-and-nodeunit/</guid>
      <pubDate>Sat, 17 Aug 2013 00:00:00 GMT</pubDate>
      <description>If you want to persist Javascript objects (data) to a database using Node, then it is a good idea to test this mechanism is working. Below you will learn how to accomplish testing your data persistence mechanism…</description>
      <category>javascript</category>
      <category>nodejs</category>
      <category>testing</category>
    </item>
    <item>
      <title>Think Again</title>
      <link>https://sethlakowske.com/think-again/</link>
      <guid isPermaLink="true">https://sethlakowske.com/think-again/</guid>
      <pubDate>Wed, 01 May 2013 00:00:00 GMT</pubDate>
      <description>I successfully completed the course Think Again: How to reason and argue. It went well…</description>
      <category>learning</category>
    </item>
    <item>
      <title>Completed ml-class.org course</title>
      <link>https://sethlakowske.com/completed-ml-class-org-course/</link>
      <guid isPermaLink="true">https://sethlakowske.com/completed-ml-class-org-course/</guid>
      <pubDate>Sun, 01 Jan 2012 00:00:00 GMT</pubDate>
      <description>I completed the inaugural ml-class.org course! I was interested in online courses and honing my machine learning skills, so I took the course. It was a success. Here is my statement of accomplishment…</description>
      <category>learning</category>
    </item>
  </channel>
</rss>