{"exhaustive":{"nbHits":false,"typo":false},"exhaustiveNbHits":false,"exhaustiveTypo":false,"hits":[{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"walterbell"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Tiger Global $34M investment into <em>Unit21</em>, no-code AML and fraud prevention"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"https://techcrunch.com/2021/07/07/tiger-global-leads-34m-investment-into-<em>unit21</em>-a-no-code-fraud-prevention-platform/"}},"_tags":["story","author_walterbell","story_27817183"],"author":"walterbell","children":[27817298],"created_at":"2021-07-13T02:42:30Z","created_at_i":1626144150,"num_comments":2,"objectID":"27817183","points":2,"story_id":27817183,"title":"Tiger Global $34M investment into Unit21, no-code AML and fraud prevention","updated_at":"2024-09-20T08:55:14Z","url":"https://techcrunch.com/2021/07/07/tiger-global-leads-34m-investment-into-unit21-a-no-code-fraud-prevention-platform/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"doppp"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Tiger Global leads $34M investment into <em>Unit21</em>"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"https://techcrunch.com/2021/07/07/tiger-global-leads-34m-investment-into-<em>unit21</em>-a-no-code-fraud-prevention-platform/"}},"_tags":["story","author_doppp","story_27772600"],"author":"doppp","created_at":"2021-07-08T14:45:15Z","created_at_i":1625755515,"num_comments":0,"objectID":"27772600","points":2,"story_id":27772600,"title":"Tiger Global leads $34M investment into Unit21","updated_at":"2024-09-20T08:57:07Z","url":"https://techcrunch.com/2021/07/07/tiger-global-leads-34m-investment-into-unit21-a-no-code-fraud-prevention-platform/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"bobrenjc93"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"<em>Unit21</em> raises $34m from Tiger Global at $300m valuation"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"https://techcrunch.com/2021/07/07/tiger-global-leads-34m-investment-into-<em>unit21</em>-a-no-code-fraud-prevention-platform/"}},"_tags":["story","author_bobrenjc93","story_27767312"],"author":"bobrenjc93","created_at":"2021-07-08T00:34:07Z","created_at_i":1625704447,"num_comments":0,"objectID":"27767312","points":1,"story_id":27767312,"title":"Unit21 raises $34m from Tiger Global at $300m valuation","updated_at":"2024-09-20T08:56:36Z","url":"https://techcrunch.com/2021/07/07/tiger-global-leads-34m-investment-into-unit21-a-no-code-fraud-prevention-platform/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"hn_throwaway_99"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"I feel like a lot of comments are missing the point of this blog post. In the past 5 years or so, there has been an explosion of &quot;XaaS&quot; API companies that many of the new fintechs or &quot;challenger banks&quot; build on top of. For example:<p>1. There are lots of Banking as a Service platforms for fintechs that want to essentially be the end-user facing platform, but then funds are held at a chartered, FDIC-insured bank. Companies like Q2 and Treasury Prime.<p>2. There are then a slew of companies for things like Card Issuing as a Service, KYC as a Service, Fraud Monitoring as a Service. Companies like Stripe, Marqeta and Lithic on the card issuing side; Alloy, Socure, <em>Unit21</em> on the KYC side; Sift on the fraud monitoring side, etc.<p>This post is basically arguing about open source companies providing &quot;lower level primitives&quot; in the form of libraries that people can build on top of, i.e. libraries for creating and processing ACH files, sending and receiving wire transfers, financial ledgers, syncing for required OFAC checks, etc. Building these things from scratch today is extremely difficult, not just because it takes time, but because (at least to me), it feels like so much stuff in the financial industry is poorly documented, or perhaps its better to say that the documentation is only half the story - what is required in practice and by what regulators really care about just takes &quot;tribal knowledge&quot; from banking experience.<p>Not saying one way or the other whether I think the author's thesis is correct, but I think it's a good topic for discussion, and is orthogonal to things like Open Banking APIs."},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Open source is coming to financial services"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://future.a16z.com/open-source-financial-services/"}},"_tags":["comment","author_hn_throwaway_99","story_28879133"],"author":"hn_throwaway_99","comment_text":"I feel like a lot of comments are missing the point of this blog post. In the past 5 years or so, there has been an explosion of &quot;XaaS&quot; API companies that many of the new fintechs or &quot;challenger banks&quot; build on top of. For example:<p>1. There are lots of Banking as a Service platforms for fintechs that want to essentially be the end-user facing platform, but then funds are held at a chartered, FDIC-insured bank. Companies like Q2 and Treasury Prime.<p>2. There are then a slew of companies for things like Card Issuing as a Service, KYC as a Service, Fraud Monitoring as a Service. Companies like Stripe, Marqeta and Lithic on the card issuing side; Alloy, Socure, Unit21 on the KYC side; Sift on the fraud monitoring side, etc.<p>This post is basically arguing about open source companies providing &quot;lower level primitives&quot; in the form of libraries that people can build on top of, i.e. libraries for creating and processing ACH files, sending and receiving wire transfers, financial ledgers, syncing for required OFAC checks, etc. Building these things from scratch today is extremely difficult, not just because it takes time, but because (at least to me), it feels like so much stuff in the financial industry is poorly documented, or perhaps its better to say that the documentation is only half the story - what is required in practice and by what regulators really care about just takes &quot;tribal knowledge&quot; from banking experience.<p>Not saying one way or the other whether I think the author&#x27;s thesis is correct, but I think it&#x27;s a good topic for discussion, and is orthogonal to things like Open Banking APIs.","created_at":"2021-10-15T22:48:08Z","created_at_i":1634338088,"objectID":"28884028","parent_id":28879133,"story_id":28879133,"story_title":"Open source is coming to financial services","story_url":"https://future.a16z.com/open-source-financial-services/","updated_at":"2024-09-20T09:40:41Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"trishakothari"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"<em>Unit21</em> | Software Engineer | San Francisco | Onsite | Full-time | <em>unit21</em>.ai<p>Want to build technology to fight sex trafficking, drug cartels, and terrorism financing? Come join us as we build <em>Unit21</em>, helping companies prevent money laundering that may be occuring occurring on their platform.<p>We're building products that abstract complex concepts and minimize cognitive overhead for our users. This requires careful thought, high creativity, and a deep understanding of data processing at scale. Our stack is React, GraphQL, Python, Kubernetes, Terraform, and PostgreSQL, but we don't require prior experience with any of them. We're looking for people with high integrity, low ego, and an insatiable drive to learn.<p>If you're interested, email founders at <em>unit21</em> dot ai"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Ask HN: Who is hiring? (July 2019)"}},"_tags":["comment","author_trishakothari","story_20325925"],"author":"trishakothari","comment_text":"Unit21 | Software Engineer | San Francisco | Onsite | Full-time | unit21.ai<p>Want to build technology to fight sex trafficking, drug cartels, and terrorism financing? Come join us as we build Unit21, helping companies prevent money laundering that may be occuring occurring on their platform.<p>We&#x27;re building products that abstract complex concepts and minimize cognitive overhead for our users. This requires careful thought, high creativity, and a deep understanding of data processing at scale. Our stack is React, GraphQL, Python, Kubernetes, Terraform, and PostgreSQL, but we don&#x27;t require prior experience with any of them. We&#x27;re looking for people with high integrity, low ego, and an insatiable drive to learn.<p>If you&#x27;re interested, email founders at unit21 dot ai","created_at":"2019-07-01T23:09:25Z","created_at_i":1562022565,"objectID":"20330629","parent_id":20325925,"story_id":20325925,"story_title":"Ask HN: Who is hiring? (July 2019)","updated_at":"2024-09-20T04:26:18Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"cchio"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"<em>Unit21</em> | San Francisco, CA | ONSITE | Full-time | <a href=\"https://unit21.ai/\" rel=\"nofollow\">https://<em>unit21</em>.ai/</a><p>Founding Engineer - <em>Unit21</em> is hiring our first team of generalist engineers<p>---<p>What we do:<p><em>Unit21</em>'s mission is to suppress organized crime by combating financial crimes online. We build software for banks and fintechs to fight money laundering and fraud. We're an all-technical team of three who just raised a large seed round from a top-tier institutional and angel investors. Our team has published O'Reilly books, spoken at dozens of conferences, worked at Google, LinkedIn, and studied at Stanford, UPenn.<p>We're only about 6 months old but have already shipped beta products to a handful of paying enterprise customers, with many more in the pipeline.<p>---<p>Tech stack: React/GraphQL, Python/Flask, Spark, Kafka, Terraform, Postgres<p>Reach out to me directly with questions - clarence at <em>unit21</em> dot ai"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Ask HN: Who is hiring? (January 2019)"}},"_tags":["comment","author_cchio","story_18807017"],"author":"cchio","comment_text":"Unit21 | San Francisco, CA | ONSITE | Full-time | <a href=\"https:&#x2F;&#x2F;unit21.ai&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;unit21.ai&#x2F;</a><p>Founding Engineer - Unit21 is hiring our first team of generalist engineers<p>---<p>What we do:<p>Unit21&#x27;s mission is to suppress organized crime by combating financial crimes online. We build software for banks and fintechs to fight money laundering and fraud. We&#x27;re an all-technical team of three who just raised a large seed round from a top-tier institutional and angel investors. Our team has published O&#x27;Reilly books, spoken at dozens of conferences, worked at Google, LinkedIn, and studied at Stanford, UPenn.<p>We&#x27;re only about 6 months old but have already shipped beta products to a handful of paying enterprise customers, with many more in the pipeline.<p>---<p>Tech stack: React&#x2F;GraphQL, Python&#x2F;Flask, Spark, Kafka, Terraform, Postgres<p>Reach out to me directly with questions - clarence at unit21 dot ai","created_at":"2019-01-02T18:17:28Z","created_at_i":1546453048,"objectID":"18808510","parent_id":18807017,"story_id":18807017,"story_title":"Ask HN: Who is hiring? (January 2019)","updated_at":"2024-09-20T03:27:42Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"trishakothari"},"title":{"matchLevel":"none","matchedWords":[],"value":"Romance Fraud: Love, Lies, and Billions Lost"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"https://www.<em>unit21</em>.ai/blog/romance-fraud?utm_source=sales&utm_medium=cpc&utm_campaign=romance_fraud&utm_id=unit.salesromance&utm_term=aml%2Bfraud"}},"_tags":["story","author_trishakothari","story_30948205"],"author":"trishakothari","children":[30951226],"created_at":"2022-04-07T18:08:05Z","created_at_i":1649354885,"num_comments":1,"objectID":"30948205","points":2,"story_id":30948205,"title":"Romance Fraud: Love, Lies, and Billions Lost","updated_at":"2024-09-20T10:53:00Z","url":"https://www.unit21.ai/blog/romance-fraud?utm_source=sales&utm_medium=cpc&utm_campaign=romance_fraud&utm_id=unit.salesromance&utm_term=aml%2Bfraud"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"capableweb"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"A Community in Crisis: ChatGPT Token Theft Epidemic in <em>Unity1</em>Week Games"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://cohost.org/renkotsuban/post/1249183-cw-chatgpt-bullshit"}},"_tags":["story","author_capableweb","story_35363469"],"author":"capableweb","children":[35364411,35364878,35369179],"created_at":"2023-03-29T20:55:43Z","created_at_i":1680123343,"num_comments":11,"objectID":"35363469","points":15,"story_id":35363469,"title":"A Community in Crisis: ChatGPT Token Theft Epidemic in Unity1Week Games","updated_at":"2024-09-20T13:40:15Z","url":"https://cohost.org/renkotsuban/post/1249183-cw-chatgpt-bullshit"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"loup-vaillant"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Indeed.  This problem arises even in a single thread setting.  Let's say 2 units aim at each other, and in frame N, they are at range of each other.  Here's what should happen:<p><pre><code>  - <em>Unit1</em> kills unit2\n  - Unit2 kills <em>unit1</em>\n</code></pre>\nIf you double buffer your actions properly, both unit will be dead at frame N+1.  If however you modify your data in place, this may happen:<p><pre><code>  1. <em>Unit1</em> kills unit2 =&gt; delete unit 2\n  2. Unit2 no longer exists.  <em>Unit1</em> lives.\n</code></pre>\nOr, this may happen:<p><pre><code>  1. Unit2 kills <em>unit1</em> =&gt; delete <em>unit1</em>\n  2. <em>Unit1</em> no longer exists.  Oops.\n</code></pre>\nOops.<p>What definitely does <i>not</i> happen is the double kill.  StarcraftII can live with that, but other games, like Frozen Synapse, would be broken."},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Reconsidering Functional Programming"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"http://prog21.dadgum.com/207.html"}},"_tags":["comment","author_loup-vaillant","story_9484085"],"author":"loup-vaillant","children":[9489745],"comment_text":"Indeed.  This problem arises even in a single thread setting.  Let&#x27;s say 2 units aim at each other, and in frame N, they are at range of each other.  Here&#x27;s what should happen:<p><pre><code>  - Unit1 kills unit2\n  - Unit2 kills unit1\n</code></pre>\nIf you double buffer your actions properly, both unit will be dead at frame N+1.  If however you modify your data in place, this may happen:<p><pre><code>  1. Unit1 kills unit2 =&gt; delete unit 2\n  2. Unit2 no longer exists.  Unit1 lives.\n</code></pre>\nOr, this may happen:<p><pre><code>  1. Unit2 kills unit1 =&gt; delete unit1\n  2. Unit1 no longer exists.  Oops.\n</code></pre>\nOops.<p>What definitely does <i>not</i> happen is the double kill.  StarcraftII can live with that, but other games, like Frozen Synapse, would be broken.","created_at":"2015-05-04T21:18:13Z","created_at_i":1430774293,"objectID":"9489269","parent_id":9487865,"points":null,"story_id":9484085,"story_title":"Reconsidering Functional Programming","story_url":"http://prog21.dadgum.com/207.html","updated_at":"2023-09-07T02:40:19Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"andrewliebchen"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Doesn't mean he didn't use something similar. David Hockney made this point in 2001 (if I recall).<p>Besides, Brunelleschi used a mirror to demonstrate the effectiveness of his perspective drawings in the 1400s: <a href=\"http://zeiteye.files.wordpress.com/2012/01/c1450_brunelleschi_mirror-perspective-tool.jpg?w=510\" rel=\"nofollow\">http://zeiteye.files.wordpress.com/2012/01/c1450_brunellesch...</a><p>Durer used string and moveable panel in his perspective studies: <a href=\"https://www.dartmouth.edu/~matc/math5.geometry/unit11/durer.gif\" rel=\"nofollow\">https://www.dartmouth.edu/~matc/math5.geometry/<em>unit11</em>/durer....</a>.<p>And of course, there was the camera obscura.  I can't believe there wasn't any development in drawing aids in the 400 years since Bruneschelli's demonstration."},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Vermeer's paintings might be 350 year-old color photographs"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"http://boingboing.net/2014/06/10/vermeers-paintings-might-be.html"}},"_tags":["comment","author_andrewliebchen","story_7872661"],"author":"andrewliebchen","comment_text":"Doesn&#x27;t mean he didn&#x27;t use something similar. David Hockney made this point in 2001 (if I recall).<p>Besides, Brunelleschi used a mirror to demonstrate the effectiveness of his perspective drawings in the 1400s: <a href=\"http://zeiteye.files.wordpress.com/2012/01/c1450_brunelleschi_mirror-perspective-tool.jpg?w=510\" rel=\"nofollow\">http:&#x2F;&#x2F;zeiteye.files.wordpress.com&#x2F;2012&#x2F;01&#x2F;c1450_brunellesch...</a><p>Durer used string and moveable panel in his perspective studies: <a href=\"https://www.dartmouth.edu/~matc/math5.geometry/unit11/durer.gif\" rel=\"nofollow\">https:&#x2F;&#x2F;www.dartmouth.edu&#x2F;~matc&#x2F;math5.geometry&#x2F;unit11&#x2F;durer....</a>.<p>And of course, there was the camera obscura.  I can&#x27;t believe there wasn&#x27;t any development in drawing aids in the 400 years since Bruneschelli&#x27;s demonstration.","created_at":"2014-06-11T20:16:46Z","created_at_i":1402517806,"objectID":"7880183","parent_id":7876978,"points":null,"story_id":7872661,"story_title":"Vermeer's paintings might be 350 year-old color photographs","story_url":"http://boingboing.net/2014/06/10/vermeers-paintings-might-be.html","updated_at":"2023-09-06T23:06:38Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"waynecochran"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Classic use case: creating a packed structures to directly read TCP packets. There is still the &quot;convert from big to little endian&quot; problem, but I think you can use GCC's method for individually packing a struct:<p><pre><code>  struct TCP_Packet {\n    uint16_t source_port;\n    uint16_t dest_port;\n    uint32_t seq_no;\n    uint16_t flags;\n    uint16_t window_size;\n    uint16_t checksum;\n    <em>unit1</em>6_t urgent;\n    ...\n  }  __attribute__ ((packed));</code></pre>"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"The Lost Art of C Structure Packing"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"http://www.catb.org/esr/structure-packing/"}},"_tags":["comment","author_waynecochran","story_6995568"],"author":"waynecochran","children":[6996953],"comment_text":"Classic use case: creating a packed structures to directly read TCP packets. There is still the &quot;convert from big to little endian&quot; problem, but I think you can use GCC&#x27;s method for individually packing a struct:<p><pre><code>  struct TCP_Packet {\n    uint16_t source_port;\n    uint16_t dest_port;\n    uint32_t seq_no;\n    uint16_t flags;\n    uint16_t window_size;\n    uint16_t checksum;\n    unit16_t urgent;\n    ...\n  }  __attribute__ ((packed));</code></pre>","created_at":"2014-01-01T19:27:23Z","created_at_i":1388604443,"objectID":"6996153","parent_id":6995568,"story_id":6995568,"story_title":"The Lost Art of C Structure Packing","story_url":"http://www.catb.org/esr/structure-packing/","updated_at":"2024-09-19T20:29:28Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"xsmasher"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"I avoid them like a plague, except in specific situations where I need the extra range or need to save the bytes. I expect my reasons will be unpopular.<p>Suppose you have an object with a interface like object.setValue(7). You'd like to assert that people are sending you valid data, but if the type is uint then you can't do that. if the type is int, then you can assert(value&gt;0, &quot;Value must be greater than zero&quot;).<p>Now if anyone calls setValue(-1) you'll get an assertion that would have been skipped before.<p>I feel that pedants and more experienced C++ programmers will tell me I am sloppy or should be getting warnings on setValue(-1) but I've been burned before. My life is easier when I avoid unsigned types.<p>The behavior of int delta = <em>unit1</em> - unit2 is also annoying. Not unexpected if you're paying attention, just annoying.<p>I might use them more if underflow / overflow caused an exception instead of undefined behavior."},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Reason #73 why C++ is a terrible intro language"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"http://www.blahedo.org/blog/archives/001115.html"}},"_tags":["comment","author_xsmasher","story_6363846"],"author":"xsmasher","comment_text":"I avoid them like a plague, except in specific situations where I need the extra range or need to save the bytes. I expect my reasons will be unpopular.<p>Suppose you have an object with a interface like object.setValue(7). You&#x27;d like to assert that people are sending you valid data, but if the type is uint then you can&#x27;t do that. if the type is int, then you can assert(value&gt;0, &quot;Value must be greater than zero&quot;).<p>Now if anyone calls setValue(-1) you&#x27;ll get an assertion that would have been skipped before.<p>I feel that pedants and more experienced C++ programmers will tell me I am sloppy or should be getting warnings on setValue(-1) but I&#x27;ve been burned before. My life is easier when I avoid unsigned types.<p>The behavior of int delta = unit1 - unit2 is also annoying. Not unexpected if you&#x27;re paying attention, just annoying.<p>I might use them more if underflow &#x2F; overflow caused an exception instead of undefined behavior.","created_at":"2013-09-11T00:39:03Z","created_at_i":1378859943,"objectID":"6364686","parent_id":6364185,"points":null,"story_id":6363846,"story_title":"Reason #73 why C++ is a terrible intro language","story_url":"http://www.blahedo.org/blog/archives/001115.html","updated_at":"2023-09-06T22:10:38Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"nostromo"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"A friend and I, on a whim, spent a fair amount of time looking into how to create an ISP using our own hardware.  The hardware is cheap, right?  How hard can it really be?<p>But we ended up exactly as you'd expect from reading the article: trying to figure out how companies get pole attachment rights.  If I wanted to pay a contractor to string a line between our houses, that should be doable right?  Well, no.  For our local government, there was no clear way to get approved to use the public utility lines.  Once you find the office that manages pole attachments, if you ask them about the approval process, I guarantee you'll get blank stares.<p>I think it's possible that it's been so long since any new companies have been granted attachment rights, the people in city government don't even know what to do with you if you ask to apply.  This leads you only one route: lobbying the city council, which is where our little experiment ground to a halt.<p>(Btw, if you want to see the positive aspect of having regulatory hurdles to run communications lines, check out this old picture of New York: <a href=\"http://www.baltimoresun.com/media/photo/2012-07/71033655.jpg\" rel=\"nofollow\">http://www.baltimoresun.com/media/photo/2012-07/71033655.jpg</a> and <a href=\"http://www.nwhistorycourse.org/ttcourse/Year2/unit2/week9/images/Wires-Undgd1890-1910-800.jpg\" rel=\"nofollow\">http://www.nwhistorycourse.org/ttcourse/Year2/<em>unit2</em>/week9/im...</a>)"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Don\u2019t Blame Big Cable. It\u2019s Local Governments That Choke Broadband Competition"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"http://www.wired.com/opinion/2013/07/we-need-to-stop-focusing-on-just-cable-companies-and-blame-local-government-for-dismal-broadband-competition/"}},"_tags":["comment","author_nostromo","story_6053228"],"author":"nostromo","comment_text":"A friend and I, on a whim, spent a fair amount of time looking into how to create an ISP using our own hardware.  The hardware is cheap, right?  How hard can it really be?<p>But we ended up exactly as you&#x27;d expect from reading the article: trying to figure out how companies get pole attachment rights.  If I wanted to pay a contractor to string a line between our houses, that should be doable right?  Well, no.  For our local government, there was no clear way to get approved to use the public utility lines.  Once you find the office that manages pole attachments, if you ask them about the approval process, I guarantee you&#x27;ll get blank stares.<p>I think it&#x27;s possible that it&#x27;s been so long since any new companies have been granted attachment rights, the people in city government don&#x27;t even know what to do with you if you ask to apply.  This leads you only one route: lobbying the city council, which is where our little experiment ground to a halt.<p>(Btw, if you want to see the positive aspect of having regulatory hurdles to run communications lines, check out this old picture of New York: <a href=\"http://www.baltimoresun.com/media/photo/2012-07/71033655.jpg\" rel=\"nofollow\">http:&#x2F;&#x2F;www.baltimoresun.com&#x2F;media&#x2F;photo&#x2F;2012-07&#x2F;71033655.jpg</a> and <a href=\"http://www.nwhistorycourse.org/ttcourse/Year2/unit2/week9/images/Wires-Undgd1890-1910-800.jpg\" rel=\"nofollow\">http:&#x2F;&#x2F;www.nwhistorycourse.org&#x2F;ttcourse&#x2F;Year2&#x2F;unit2&#x2F;week9&#x2F;im...</a>)","created_at":"2013-07-16T18:37:34Z","created_at_i":1373999854,"objectID":"6053839","parent_id":6053228,"story_id":6053228,"story_title":"Don\u2019t Blame Big Cable. It\u2019s Local Governments That Choke Broadband Competition","story_url":"http://www.wired.com/opinion/2013/07/we-need-to-stop-focusing-on-just-cable-companies-and-blame-local-government-for-dismal-broadband-competition/","updated_at":"2024-09-19T19:50:19Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"l1am0"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"This is basically what you learn in the huggingface smolagents course (months ago)...<p>They call it CodeAct<p><a href=\"https://huggingface.co/learn/agents-course/en/unit2/smolagents/why_use_smolagents\" rel=\"nofollow\">https://huggingface.co/learn/agents-course/en/<em>unit2</em>/smolagen...</a>"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Making Tool Calling 75% More Efficient via Code"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/zeke-john/codecall"}},"_tags":["comment","author_l1am0","story_46524178"],"author":"l1am0","children":[46524634],"comment_text":"This is basically what you learn in the huggingface smolagents course (months ago)...<p>They call it CodeAct<p><a href=\"https:&#x2F;&#x2F;huggingface.co&#x2F;learn&#x2F;agents-course&#x2F;en&#x2F;unit2&#x2F;smolagents&#x2F;why_use_smolagents\" rel=\"nofollow\">https:&#x2F;&#x2F;huggingface.co&#x2F;learn&#x2F;agents-course&#x2F;en&#x2F;unit2&#x2F;smolagen...</a>","created_at":"2026-01-07T09:21:32Z","created_at_i":1767777692,"objectID":"46524279","parent_id":46524178,"story_id":46524178,"story_title":"Making Tool Calling 75% More Efficient via Code","story_url":"https://github.com/zeke-john/codecall","updated_at":"2026-03-05T23:18:05Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"data-ottawa"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Huggingface has a series on Tiny Agents[1] where they go into a minimal version of the loop with tools.<p>I\u2019ve been working on a weekend project building one of these and the tools you provide are what makes the agent suitable for the task.<p>Even small models and non tool models can use MCP with correct prompting, but you have to edit what tools they can use.<p>Context is the big bottleneck to manage. Programming agents benefit from knowing shell commands, but generic agents you have to teach/trick into the right interactions, which burns context. Then out of the box an agent will want to read everything, so I have to comment which commands are expensive or cheap context wise.<p>My project is almost ready to explore context management methods: things like removing old files from memory, warning the agent about limits, using a second agent that does compaction.<p>It would be cool to eventually RLHF the agents too, but that\u2019s unlikely with my weekend project budget.<p>[1] <a href=\"https://huggingface.co/learn/mcp-course/en/unit2/tiny-agents\" rel=\"nofollow\">https://huggingface.co/learn/mcp-course/en/<em>unit2</em>/tiny-agents</a>"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Designing agentic loops"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://simonwillison.net/2025/Sep/30/designing-agentic-loops/"}},"_tags":["comment","author_data-ottawa","story_45426680"],"author":"data-ottawa","comment_text":"Huggingface has a series on Tiny Agents[1] where they go into a minimal version of the loop with tools.<p>I\u2019ve been working on a weekend project building one of these and the tools you provide are what makes the agent suitable for the task.<p>Even small models and non tool models can use MCP with correct prompting, but you have to edit what tools they can use.<p>Context is the big bottleneck to manage. Programming agents benefit from knowing shell commands, but generic agents you have to teach&#x2F;trick into the right interactions, which burns context. Then out of the box an agent will want to read everything, so I have to comment which commands are expensive or cheap context wise.<p>My project is almost ready to explore context management methods: things like removing old files from memory, warning the agent about limits, using a second agent that does compaction.<p>It would be cool to eventually RLHF the agents too, but that\u2019s unlikely with my weekend project budget.<p>[1] <a href=\"https:&#x2F;&#x2F;huggingface.co&#x2F;learn&#x2F;mcp-course&#x2F;en&#x2F;unit2&#x2F;tiny-agents\" rel=\"nofollow\">https:&#x2F;&#x2F;huggingface.co&#x2F;learn&#x2F;mcp-course&#x2F;en&#x2F;unit2&#x2F;tiny-agents</a>","created_at":"2025-10-01T12:08:20Z","created_at_i":1759320500,"objectID":"45436731","parent_id":45430352,"story_id":45426680,"story_title":"Designing agentic loops","story_url":"https://simonwillison.net/2025/Sep/30/designing-agentic-loops/","updated_at":"2026-03-05T22:47:48Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"rurban"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"Just add those two keys into your registry: <a href=\"https://github.com/Unit221B/Russian\">https://github.com/<em>Unit221</em>B/Russian</a>\nFor persistance install the russian keyboard driver, and switch back to your original."},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Many ransomware strains will abort if they detect a Russian keyboard installed (2021)"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://krebsonsecurity.com/2021/05/try-this-one-weird-trick-russian-hackers-hate/"}},"_tags":["comment","author_rurban","story_44415233"],"author":"rurban","children":[44421395],"comment_text":"Just add those two keys into your registry: <a href=\"https:&#x2F;&#x2F;github.com&#x2F;Unit221B&#x2F;Russian\">https:&#x2F;&#x2F;github.com&#x2F;Unit221B&#x2F;Russian</a>\nFor persistance install the russian keyboard driver, and switch back to your original.","created_at":"2025-06-30T09:55:56Z","created_at_i":1751277356,"objectID":"44421366","parent_id":44415233,"story_id":44415233,"story_title":"Many ransomware strains will abort if they detect a Russian keyboard installed (2021)","story_url":"https://krebsonsecurity.com/2021/05/try-this-one-weird-trick-russian-hackers-hate/","updated_at":"2025-06-30T10:01:13Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"boogieknite"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"&quot;Allison Nixon has three passions, tracking down bad guys, growing tomatoes, and making puns.&quot; - <a href=\"https://www.unit221b.com/leadership\" rel=\"nofollow\">https://www.<em>unit221</em>b.com/leadership</a><p>i think i could have guessed 2 and 3 at a glace. if Allison speaks like this all the time she needs her own tv show"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"U.S. Army Soldier Arrested in AT&T, Verizon Extortions"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://krebsonsecurity.com/2024/12/u-s-army-soldier-arrested-in-att-verizon-extortions/"}},"_tags":["comment","author_boogieknite","story_42557342"],"author":"boogieknite","comment_text":"&quot;Allison Nixon has three passions, tracking down bad guys, growing tomatoes, and making puns.&quot; - <a href=\"https:&#x2F;&#x2F;www.unit221b.com&#x2F;leadership\" rel=\"nofollow\">https:&#x2F;&#x2F;www.unit221b.com&#x2F;leadership</a><p>i think i could have guessed 2 and 3 at a glace. if Allison speaks like this all the time she needs her own tv show","created_at":"2024-12-31T16:37:55Z","created_at_i":1735663075,"objectID":"42559783","parent_id":42559513,"story_id":42557342,"story_title":"U.S. Army Soldier Arrested in AT&T, Verizon Extortions","story_url":"https://krebsonsecurity.com/2024/12/u-s-army-soldier-arrested-in-att-verizon-extortions/","updated_at":"2025-01-04T00:14:13Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Chris_Newton"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"I suspect C++ still comes the closest to what you\u2019re asking for today, at least among mainstream programming languages.<p>Matrix dimensions are certainly doable, for example, because templates representing mathematical types like matrices and vectors can be parametrised by integers defining their dimension(s) as well as the type of an individual element.<p>You can also use template wizardry to write libraries like mp-<em>units\u00b9</em> or units\u00b2 that provide explicit representations for numerical values with units. You can even get fancy with user-defined literals so you can write things like 0.5_m and have a suitably-typed value created (though that particular trick does get less useful once you need arbitrary compound units like kg\u00b7m\u00b7s\u207b\u00b2).<p>Both of those are fairly well-defined problems, and the available solutions do provide a good degree of static checking at compile time.<p>IMHO, the range question is the trickiest one of your three examples, because in real mathematical code there are so many different things you might want to constrain. You could define a parametrised type representing open or closed ranges of integers between X and Y easily enough, but how far down the rabbit hole do you go? Fractional values with attached precision/error metadata? The 572 specific varieties of matrix that get defined in a linear algebra textbook, and which variety you get back when you compute a product of any two of them?<p>\u00b9 <a href=\"https://mpusz.github.io/mp-units/\" rel=\"nofollow\">https://mpusz.github.io/mp-units/</a><p>\u00b2 <a href=\"http://nholthaus.github.io/units/\" rel=\"nofollow\">http://nholthaus.github.io/units/</a>"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"Python type hints may not be not for me in practice"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://utcc.utoronto.ca/~cks/space/blog/python/TypeHintsMaybeNotForMe"}},"_tags":["comment","author_Chris_Newton","story_42253756"],"author":"Chris_Newton","children":[42262742],"comment_text":"I suspect C++ still comes the closest to what you\u2019re asking for today, at least among mainstream programming languages.<p>Matrix dimensions are certainly doable, for example, because templates representing mathematical types like matrices and vectors can be parametrised by integers defining their dimension(s) as well as the type of an individual element.<p>You can also use template wizardry to write libraries like mp-units\u00b9 or units\u00b2 that provide explicit representations for numerical values with units. You can even get fancy with user-defined literals so you can write things like 0.5_m and have a suitably-typed value created (though that particular trick does get less useful once you need arbitrary compound units like kg\u00b7m\u00b7s\u207b\u00b2).<p>Both of those are fairly well-defined problems, and the available solutions do provide a good degree of static checking at compile time.<p>IMHO, the range question is the trickiest one of your three examples, because in real mathematical code there are so many different things you might want to constrain. You could define a parametrised type representing open or closed ranges of integers between X and Y easily enough, but how far down the rabbit hole do you go? Fractional values with attached precision&#x2F;error metadata? The 572 specific varieties of matrix that get defined in a linear algebra textbook, and which variety you get back when you compute a product of any two of them?<p>\u00b9 <a href=\"https:&#x2F;&#x2F;mpusz.github.io&#x2F;mp-units&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;mpusz.github.io&#x2F;mp-units&#x2F;</a><p>\u00b2 <a href=\"http:&#x2F;&#x2F;nholthaus.github.io&#x2F;units&#x2F;\" rel=\"nofollow\">http:&#x2F;&#x2F;nholthaus.github.io&#x2F;units&#x2F;</a>","created_at":"2024-11-28T01:21:32Z","created_at_i":1732756892,"objectID":"42261474","parent_id":42260756,"story_id":42253756,"story_title":"Python type hints may not be not for me in practice","story_url":"https://utcc.utoronto.ca/~cks/space/blog/python/TypeHintsMaybeNotForMe","updated_at":"2024-11-28T05:38:38Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"082349872349872"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"That sounds like the perfect <i>swith</i>* for me as well \u2014 I'd already been meaning to hide some imperative O(n)s behind functional-seeming O(n log n)s, but if soft heaps have no huge constant involved, maybe no rabbits have to be hidden in hats?<p>* <a href=\"http://bitsnbobstones.watershipdown.org/lapine/unit12.html#:~:text=swith\" rel=\"nofollow\">http://bitsnbobstones.watershipdown.org/lapine/<em>unit12</em>.html#:...</a>"},"story_title":{"matchLevel":"none","matchedWords":[],"value":"The Structure of a Worldview"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://www.allcatsarefemale.com/p/the-structure-of-a-worldview"}},"_tags":["comment","author_082349872349872","story_42155843"],"author":"082349872349872","comment_text":"That sounds like the perfect <i>swith</i>* for me as well \u2014 I&#x27;d already been meaning to hide some imperative O(n)s behind functional-seeming O(n log n)s, but if soft heaps have no huge constant involved, maybe no rabbits have to be hidden in hats?<p>* <a href=\"http:&#x2F;&#x2F;bitsnbobstones.watershipdown.org&#x2F;lapine&#x2F;unit12.html#:~:text=swith\" rel=\"nofollow\">http:&#x2F;&#x2F;bitsnbobstones.watershipdown.org&#x2F;lapine&#x2F;unit12.html#:...</a>","created_at":"2024-11-21T10:20:37Z","created_at_i":1732184437,"objectID":"42202793","parent_id":42202469,"story_id":42155843,"story_title":"The Structure of a Worldview","story_url":"https://www.allcatsarefemale.com/p/the-structure-of-a-worldview","updated_at":"2024-12-05T09:38:49Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"ideonexus"},"comment_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["unit21"],"value":"The objections to evolution on the grounds of racism and eugenics were in Bryan's closing statements. These were never read in court because the defendant did not give a closing argument. He never uses the term &quot;eugenics&quot; but that's clearly what he is referring to at times, especially in his references to Nietzsche:<p><a href=\"https://profjoecain.net/last-message-of-william-jennings-bryan/\" rel=\"nofollow\">https://profjoecain.net/last-message-of-william-jennings-bry...</a><p>At a public speech given right after the court case and just before his death, one of his arguments against evolution is because the theory was being used to object to vaccinations, asylums, and many medical treatments for fear that these measures were allowing the unfit to survive:<p><a href=\"https://bertie.ccsu.edu/naturesci/evolution/unit15scopes/Bryan.html\" rel=\"nofollow\">https://bertie.ccsu.edu/naturesci/evolution/<em>unit1</em>5scopes/Bry...</a><p>To be clear, I want to reaffirm that I do not agree with the theological arguments and absolutely accept the Theory of Evolution. I'm only sharing this information because the debate over evolution was very much about ethics as it was about science."},"story_title":{"matchLevel":"none","matchedWords":[],"value":"The complex William Jennings Bryan (2007)"},"story_url":{"matchLevel":"none","matchedWords":[],"value":"https://ideonexus.com/2007/12/02/the-complex-william-jennings-bryan/"}},"_tags":["comment","author_ideonexus","story_40434743"],"author":"ideonexus","comment_text":"The objections to evolution on the grounds of racism and eugenics were in Bryan&#x27;s closing statements. These were never read in court because the defendant did not give a closing argument. He never uses the term &quot;eugenics&quot; but that&#x27;s clearly what he is referring to at times, especially in his references to Nietzsche:<p><a href=\"https:&#x2F;&#x2F;profjoecain.net&#x2F;last-message-of-william-jennings-bryan&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;profjoecain.net&#x2F;last-message-of-william-jennings-bry...</a><p>At a public speech given right after the court case and just before his death, one of his arguments against evolution is because the theory was being used to object to vaccinations, asylums, and many medical treatments for fear that these measures were allowing the unfit to survive:<p><a href=\"https:&#x2F;&#x2F;bertie.ccsu.edu&#x2F;naturesci&#x2F;evolution&#x2F;unit15scopes&#x2F;Bryan.html\" rel=\"nofollow\">https:&#x2F;&#x2F;bertie.ccsu.edu&#x2F;naturesci&#x2F;evolution&#x2F;unit15scopes&#x2F;Bry...</a><p>To be clear, I want to reaffirm that I do not agree with the theological arguments and absolutely accept the Theory of Evolution. I&#x27;m only sharing this information because the debate over evolution was very much about ethics as it was about science.","created_at":"2024-05-22T17:58:01Z","created_at_i":1716400681,"objectID":"40443974","parent_id":40443212,"story_id":40434743,"story_title":"The complex William Jennings Bryan (2007)","story_url":"https://ideonexus.com/2007/12/02/the-complex-william-jennings-bryan/","updated_at":"2025-08-14T22:38:55Z"}],"hitsPerPage":20,"nbHits":1748,"nbPages":50,"page":0,"params":"query=Unit21&advancedSyntax=true&analyticsTags=backend","processingTimeMS":125,"processingTimingsMS":{"_request":{"queue":1,"roundTrip":23},"afterFetch":{"format":{"highlighting":2,"total":2},"merge":{"mergeLoop":{"prepareNextHit":16,"total":16},"total":16},"total":16},"fetch":{"query":6,"total":7},"getIdx":{"load":{"dicts":10,"gens":67,"synonyms":22,"total":99},"total":99},"total":125},"query":"Unit21","serverTimeMS":327}
