<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://wiki.carl.fun/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.carl.fun/feed.php">
        <title>Carl&#039;s Hacking Notes</title>
        <description></description>
        <link>http://wiki.carl.fun/</link>
        <image rdf:resource="http://wiki.carl.fun/_media/wiki:dokuwiki.svg" />
       <dc:date>2026-04-19T09:57:36+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.carl.fun/java?rev=1742256904&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/numeric?rev=1773522118&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/permutations?rev=1741195480&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/programming?rev=1759517650&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/python?rev=1775075470&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/random?rev=1759340863&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/start?rev=1746726749&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.carl.fun/threads_vs_processes?rev=1744315037&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.carl.fun/_media/wiki:dokuwiki.svg">
        <title>Carl's Hacking Notes</title>
        <link>http://wiki.carl.fun/</link>
        <url>http://wiki.carl.fun/_media/wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://wiki.carl.fun/java?rev=1742256904&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T00:15:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>java</title>
        <link>http://wiki.carl.fun/java?rev=1742256904&amp;do=diff</link>
        <description>Java

There are a lot of cool things to like about Java.  Java and the JVM are related, but not the same thing.

Notes on ThreadPoolExecutor

Notes on FilterOutputStream

Info on Numerical Types.</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/numeric?rev=1773522118&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-14T21:01:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>numeric</title>
        <link>http://wiki.carl.fun/numeric?rev=1773522118&amp;do=diff</link>
        <description>Numeric Types

Numeric types represent Real numbers in a computer.  Because computers have limited space, most numeric values are approximations of a real value.  

Math in a computer is a combination of a storage of data, and a collection of operators.   Interpretation of the bits is up to the operators.  When we talk about a type of a number, we are usually referring to the operations we can do on them, rather than the storage.</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/permutations?rev=1741195480&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-05T17:24:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>permutations</title>
        <link>http://wiki.carl.fun/permutations?rev=1741195480&amp;do=diff</link>
        <description>Permutations

A list of elements has n! Permutations.  There are a few ways to try out every permutation.

Iterating All Permutations

Mutable List

To iterate through all n! permutations of a list of elements, consider the following 

[A, B, C, D, E]</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/programming?rev=1759517650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-03T18:54:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming</title>
        <link>http://wiki.carl.fun/programming?rev=1759517650&amp;do=diff</link>
        <description>General Programming

Ternary Operators

Are there any non-conditional ternary operators?  As asked here, The answer there suggests that no, there are no ternary operators, and you might as well call a function. 

However, upon thinking more, unary and binary operators make sense because they naturally split a linear progression of text.  A binary operator conjoins the</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/python?rev=1775075470&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-01T20:31:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>python</title>
        <link>http://wiki.carl.fun/python?rev=1775075470&amp;do=diff</link>
        <description>Python

Python is a programming language common in the data science space.  Here is a list of gotchas that I have encountered while using it, coming from a Java world.

Wishlist

Typesafety is complex.

Static checkers are okay, but the runtime type system is pretty weak.  There is no equivalent of type capture in Java (e.g.</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/random?rev=1759340863&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-01T17:47:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>random</title>
        <link>http://wiki.carl.fun/random?rev=1759340863&amp;do=diff</link>
        <description>These are some random notes I have thought of.

When buying luggage, some bags come with two wheels on each corner, and some come with one big wheel.  What&#039;s the difference?   The main difference is spreading the load over more surface area.  When bags roll over carpet, the lesser surface area causes it to sink lower in, making it harder to pull.</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/start?rev=1746726749&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-08T17:52:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>http://wiki.carl.fun/start?rev=1746726749&amp;do=diff</link>
        <description>Hi, I&#039;m Carl.  This site is a list of my notes.

	*  Java Notes, particularly around concurrency.
	*  Python Notes, particularly around type-safety and runtime stuff
	*  Numeric Numerical properties in computers.</description>
    </item>
    <item rdf:about="http://wiki.carl.fun/threads_vs_processes?rev=1744315037&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-10T19:57:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>threads_vs_processes</title>
        <link>http://wiki.carl.fun/threads_vs_processes?rev=1744315037&amp;do=diff</link>
        <description>Threads v.s. Processes

Problems with multiprocessing v.s. multithreading:

Threads all share the same starting code.   Consider adding in initialization logic for all threads, v.s. all processes.  With processes, every entry point into the program needed to be updated, which can be cumbersome.  Recently I tried adding some signal handlers to a program that aid in debugging.  Having lot&#039;s of processes (like cron&#039;s) made it annoying to track them all down.   Additionally, with multiprocessing, it…</description>
    </item>
</rdf:RDF>
