<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>vito.nyc</title>
    <link>https://blog.vito.nyc/</link>
    <description>Recent content on vito.nyc</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 14 Dec 2023 22:00:00 -0400</lastBuildDate>
    <atom:link href="https://blog.vito.nyc/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Balm in GILead</title>
      <link>https://blog.vito.nyc/posts/gil-balm/</link>
      <pubDate>Thu, 14 Dec 2023 22:00:00 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/gil-balm/</guid>
      <description>Python isn&amp;rsquo;t slow. The core eval loop, while slower than a JIT, is no slouch when it comes to dispatching bytecode. There is no reason that business logic written in Python which orchestrates the operation of highly optimized extension libraries should be a bottle neck.&#xA;Time is precious, get to the point Code and benchmarks are here, fair winds and following seas.&#xA;Also, hey, if you&amp;rsquo;re real busy because you have a job and you&amp;rsquo;re hiring, I also would like a job.</description>
    </item>
    <item>
      <title>The Realm of Confusion: Object Kinds in SystemVerilog</title>
      <link>https://blog.vito.nyc/posts/sv-types/</link>
      <pubDate>Sun, 26 Feb 2023 20:00:00 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/sv-types/</guid>
      <description>SystemVerilog is a strange language. Students of computer science frequently struggle when they first encounter it, because if you squint and turn your head just so it looks like a programming language. However, the parts of the language commonly known as &amp;ldquo;the synthesizable subset&amp;rdquo; have very little to do with programming.&#xA;SystemVerilog does exactly what it says on the tin, it&amp;rsquo;s a hardware description language. It describes a physical object, a heathen rock which we have imbued with great and terrible power.</description>
    </item>
    <item>
      <title>Modern CMake Packaging: A Guide</title>
      <link>https://blog.vito.nyc/posts/cmake-pkg/</link>
      <pubDate>Mon, 19 Dec 2022 17:00:00 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/cmake-pkg/</guid>
      <description>There is a five year old CMake bug describing the need for a &amp;ldquo;cookbook&amp;rdquo; to walk users through effective packaging of CMake projects. As with so many corners of CMake usage, the technical documentation extensively describes how everything works, but gives no hints to which components of the extensive CMake ecosystem should be used. Inevitably, projects end up cobbling together code copied from other sources and gently massaged into a &amp;ldquo;works for me&amp;rdquo; state.</description>
    </item>
    <item>
      <title>Upside Down Polymorphic Inheritance</title>
      <link>https://blog.vito.nyc/posts/p2162/</link>
      <pubDate>Sun, 17 Jul 2022 06:00:00 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/p2162/</guid>
      <description>The visitor pattern is an esoteric programming pattern that has never been widely popular. No one seems to be totally certain on what it&amp;rsquo;s good for, as demonstrated by the diversity of opinions found on StackOverflow. One notable quote from the software engineering StackExchange sums up the vibe:&#xA;Visitor pattern has the most narrow use and almost never will the added complexity be justified&#xA;My brother&amp;rsquo;s assessment of the visitor pattern was even less generous:</description>
    </item>
    <item>
      <title>Addendum: Command Line Flags in C&#43;&#43;</title>
      <link>https://blog.vito.nyc/posts/min-guide-to-cli-addenda/</link>
      <pubDate>Sun, 13 Feb 2022 14:42:00 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/min-guide-to-cli-addenda/</guid>
      <description>In the Reddit comments for the original Command Line Flags post there was an interesting discussion about what to do for positional parameters when the user wants to pass an argument that matches an existing flag. /u/AlmaemberTheGreat pointed out the standard way to do this in the Unix world is to handle a pseudo-flag: --.&#xA;The intent being when -- is encountered the remaining command line arguments should be interpreted positionally.</description>
    </item>
    <item>
      <title>Command Line Flags in C&#43;&#43;</title>
      <link>https://blog.vito.nyc/posts/min-guide-to-cli/</link>
      <pubDate>Mon, 07 Feb 2022 02:11:00 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/min-guide-to-cli/</guid>
      <description>You are programming a tool in C++. Not a huge tool, not a tool where you care enough about performance to say, use faster data structures than those provided by the standard library, but one where you feel compelled to add some useful options. After a brief and uninspiring survery of the field you settle on the old standard for implementing program settings, you&amp;rsquo;re going to parse argv.&#xA;Parsing command line options falls into the nightmare zone of complexity.</description>
    </item>
    <item>
      <title>Vito&#39;s Guide to Tandon CS &#34;Placement&#34;</title>
      <link>https://blog.vito.nyc/posts/tandon-cs-guide/</link>
      <pubDate>Sun, 13 Jun 2021 10:47:32 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/tandon-cs-guide/</guid>
      <description>Tandon&amp;rsquo;s CS program, unlike CAS and the majority of other schools with CS programs, does not have any sort of CS placement. Officially, the only course an incoming CS/CE/ECE major can skip is the very first Intro course with an AP CS exam score of 4 or 5. Unofficially, you can skip all of the requirements of any of the majors so long as you get enough credits in the required course work by graduation.</description>
    </item>
    <item>
      <title>Keyword: Bureaucracy</title>
      <link>https://blog.vito.nyc/posts/keyword-bureaucracy/</link>
      <pubDate>Wed, 21 Apr 2021 20:39:29 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/keyword-bureaucracy/</guid>
      <description>The bureaucracy is expanding to meet the needs of the expanding bureaucracy.&#xA;— Oscar Wilde&#xA;Bureaucracy in the mind of the average American is typically a prescriptive arm of government. It is the clerk at the DMV, demanding yet one more proof of identity, or the stamp of approval from the county&amp;rsquo;s Building Code Advisory Board to put up a shed in the backyard. However there is nothing in the structure of bureaucracy, in the United States or elsewhere, that restricts it to these duties.</description>
    </item>
    <item>
      <title>The Undocumented SWIG</title>
      <link>https://blog.vito.nyc/posts/swig-part1/</link>
      <pubDate>Wed, 26 Aug 2020 13:46:15 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/swig-part1/</guid>
      <description>For those who have never ventured into the dark underworld of the Python C‑Extension API, you may believe that it is as fluid and rewarding as the rest of the Python ecosystem. I regret to inform you that this is not the case. Line 13 of The Zen of Python says:&#xA;There should be one &amp;ndash; and preferably only one &amp;ndash; obvious way to do it.&#xA;The C‑Extension API is an excellent example of what happens when one completely ignores that advice.</description>
    </item>
    <item>
      <title>I Am the Reactor Operator</title>
      <link>https://blog.vito.nyc/posts/i-am-the-reactor-operator/</link>
      <pubDate>Tue, 25 Aug 2020 22:58:23 -0400</pubDate>
      <guid>https://blog.vito.nyc/posts/i-am-the-reactor-operator/</guid>
      <description>What follows is the personal statement that I submitted to Columbia and NYU as part of my college applications. I was always going to end up talking about the Navy, submarines, and the nuclear pipeline. It was my life for the past six years, there was no avoiding it. I needed to pick a single experience that could relate to all of that and also myself as an individual, inside six-hundred fifty words.</description>
    </item>
    <item>
      <title>The Worst New Guys In History</title>
      <link>https://blog.vito.nyc/posts/on-programming/</link>
      <pubDate>Wed, 26 Jun 2019 18:09:32 -0700</pubDate>
      <guid>https://blog.vito.nyc/posts/on-programming/</guid>
      <description>This is just some dumb shit I&amp;rsquo;ve been musing on, but I think it might be healthy to type up some of these errant streams of consciousness. My normal process is to force these thoughts on some FNG on my boat, who has no choice but to sit their and listen to my infinite wisdom, lest he upset me and I curse him into endless dinq-ness.&#xA;Today I&amp;rsquo;m thinking about programming, and why people who want to learn programming are among the worst learners in history.</description>
    </item>
    <item>
      <title>What&#39;s up with your website&#39;s name?</title>
      <link>https://blog.vito.nyc/posts/why-nickelpro/</link>
      <pubDate>Wed, 19 Jun 2019 19:25:59 -0700</pubDate>
      <guid>https://blog.vito.nyc/posts/why-nickelpro/</guid>
      <description>This is a pretty common question, enough that I can milk it for some blog content. The short answer is this, I&amp;rsquo;ve been nickelpro for as long as I&amp;rsquo;ve been on the internet. My site is nickelp.ro because nickel.pro got sniped by a domain squatter before I could get to it, back when .pro TLDs cost waaaay too much money. The domain has grown on me over the years, since .</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.vito.nyc/top/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.vito.nyc/top/about/</guid>
      <description>My name is nickelpro, I used to work on submarines, now I do stuff at NYU. Occasionally I program things.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.vito.nyc/top/root/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.vito.nyc/top/root/</guid>
      <description></description>
    </item>
  </channel>
</rss>
