<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: newhouseb</title><link>https://news.ycombinator.com/user?id=newhouseb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 12 Oct 2026 04:24:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=newhouseb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by newhouseb in "Unconventional Uses of FPGAs"]]></title><description><![CDATA[
<p>A more extreme version of the ADC/DAC projects mentioned here is my (old) project that built a Bluetooth transceiver using just an FPGA and an antenna (and a low pass filter if you don't want the FCC coming after you): <a href="https://github.com/newhouseb/onebitbt">https://github.com/newhouseb/onebitbt</a><p>Tl;dr: if you blast in/out the right 5GHz binary digital signal from a SERDES block on an FPGA connected to a short wire you can talk to your phone!</p>
]]></description><pubDate>Wed, 20 Mar 2024 00:42:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=39761836</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=39761836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39761836</guid></item><item><title><![CDATA[New comment by newhouseb in "Comcast squeezing 2Gbps internet speeds through decades-old coaxial cables"]]></title><description><![CDATA[
<p>The short but unfulfilling answer is that this is because the DOCSIS standard historically has allocated a much broader frequency range for DL than UL. Unlike other forms of communication (like cell) that can use similar frequency ranges for transmit and receive, DOCSIS tends to slice something like < 70Mhz for UL and >70Mhz to 1Ghz for DL (I'm probably remembering the details incorrectly, trust Google over me!). Switching the frequency ranges often requires different circuitry and therefore different hardware.<p>I would guess that unlike fiber -- rarely saturated in a consumer context -- people have ~always wanted more than what cable can provide and thus the operators needed to be strategic about the allocation of bandwidth between DL and UL, hence the asymmetry.</p>
]]></description><pubDate>Sat, 14 Oct 2023 19:14:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=37883329</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37883329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37883329</guid></item><item><title><![CDATA[New comment by newhouseb in "I made a transformer to predict a simple sequence manually"]]></title><description><![CDATA[
<p>Huge fan of RASP et al. If you enjoy this space, might be fun to take a glance at some of my work on HandCrafted Transformers [1] wherein I hand-pick the weights in a transformer model to do long-handed addition similar to how humans learn to do it in gradeshcool.<p>[1] <a href="https://colab.research.google.com/github/newhouseb/handcrafted/blob/main/HandCrafted.ipynb" rel="nofollow noreferrer">https://colab.research.google.com/github/newhouseb/handcraft...</a></p>
]]></description><pubDate>Fri, 22 Sep 2023 22:04:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=37618386</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37618386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37618386</guid></item><item><title><![CDATA[New comment by newhouseb in "Your WiFi Can See You"]]></title><description><![CDATA[
<p>I'm a little skeptical of the paper in question: <a href="https://arxiv.org/pdf/2301.00250.pdf" rel="nofollow noreferrer">https://arxiv.org/pdf/2301.00250.pdf</a><p>If you look at the training and test set info:<p>> We report results on two protocols: (1) Same layout: We train
on the training set in all 16 spatial layouts, and test on remaining
frames. Following [31], we randomly select 80% of the samples to
be our training set, and the rest to be our testing set. The training
and testing samples are different in the person’s location and pose,
but share the same person’s identities and background. This is a
reasonable assumption since the WiFi device is usually installed
in a fixed location. (2) Different layout: We train on 15 spatial
layouts and test on 1 unseen spatial layout. The unseen layout is in
the classroom scenarios.<p>Depending on how they selected various frames -- let's just say it was random -- the model could have learned something to effect of "this RF pattern is most similar to these two other readings I'm familiar with" (from the surrounding frames) and can therefore just interpolate between the resulting poses associated with those RF patterns (that the model has compressed/memorized into trained weights).<p>If you look at the meshes between the image ground truth and the paper's results, you'll see that they are strikingly similar. I find this also suspect because WiFi-band RF interacts a lot more with water than with clothes and so you would expect the outline/mesh to get the "meat-bag" parts of you correct but not be able to guess the contours of baggy clothes. That is... unless it has memorized them from the training set.</p>
]]></description><pubDate>Tue, 19 Sep 2023 03:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37565409</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37565409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37565409</guid></item><item><title><![CDATA[New comment by newhouseb in "Guidance: A guidance language for controlling large language models"]]></title><description><![CDATA[
<p>Right, there are many folks (dozens of us!) yelling about logit processors and building them into various frameworks.<p>The mostly widely accessible form of this is probably BNF grammar biasing in llama.cpp: <a href="https://github.com/ggerganov/llama.cpp/blob/master/grammars/README.md">https://github.com/ggerganov/llama.cpp/blob/master/grammars/...</a></p>
]]></description><pubDate>Sun, 17 Sep 2023 00:20:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=37540219</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37540219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37540219</guid></item><item><title><![CDATA[New comment by newhouseb in "Apple Sep 2023 Event: “Wonderlust”"]]></title><description><![CDATA[
<p>You still charge through the USB-C / Thunderbolt ports (and use a USB-C to USB-C cable with the provided power brick to do so). The MagSafe plug is just for convenience (and perhaps slightly higher wattage than is normally specced for USB-C on the beefier MBPs).</p>
]]></description><pubDate>Tue, 29 Aug 2023 23:07:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=37315370</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37315370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37315370</guid></item><item><title><![CDATA[New comment by newhouseb in "Show HN: LLMs can generate valid JSON 100% of the time"]]></title><description><![CDATA[
<p>An example from an earlier comment of mine on a different thread (assuming I've understood correctly):<p>> let's say we had a grammar that had a key "healthy" with values "very_unhealthy" or "moderately_healthy." For broccoli, the LLM might intend to say "very_healthy" and choose "very" but then be pigeonholed into saying "very_unhealthy" because it's the only valid completion according to the grammar.<p>That said, you can use beam search to more or less solve this problem by evaluating the joint probability of all tokens in each branch of the grammar and picking the one with the highest probability (you might need some more nuance for free-form strings where the LLM can do whatever it wants and be "valid").</p>
]]></description><pubDate>Tue, 15 Aug 2023 13:33:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=37133809</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37133809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37133809</guid></item><item><title><![CDATA[New comment by newhouseb in "Show HN: LLMs can generate valid JSON 100% of the time"]]></title><description><![CDATA[
<p>I think this is likely a consequence of a couple of factors:<p>1. Fancy token selection w/in batches (read: beam search) is probably fairly hard to implement at scale without a significant loss in GPU utilization. Normally you can batch up a bunch of parallel generations and just push them all through the LLM at once because every generated token (of similar prompt size + some padding perhaps) takes a predictable time. If you stick a parser in between every token that can take variable time then your batch is slowed by the most complex grammar of the bunch.<p>2. OpenAI appears to work under the thesis articulated in the Bitter Lesson [i] that more compute (either via fine-tuning or bigger models) is the least foolish way to achieve improved capabilities hence their approach of function-calling just being... a fine tuned model.<p>[i] <a href="http://www.incompleteideas.net/IncIdeas/BitterLesson.html" rel="nofollow noreferrer">http://www.incompleteideas.net/IncIdeas/BitterLesson.html</a></p>
]]></description><pubDate>Mon, 14 Aug 2023 20:38:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=37126512</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=37126512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37126512</guid></item><item><title><![CDATA[New comment by newhouseb in "Llama: Add grammar-based sampling"]]></title><description><![CDATA[
<p>Also important to call out that anytime you have a freeform string it's pretty much an open invitation for the LLM to go completely haywire and run off into all sorts of weird tangents. So these methods are best used with other heuristics to bias sampling once you get to free-form text territory (i.e. a repetition penalty etc)</p>
]]></description><pubDate>Sat, 22 Jul 2023 00:36:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=36821952</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36821952</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36821952</guid></item><item><title><![CDATA[New comment by newhouseb in "Llama: Add grammar-based sampling"]]></title><description><![CDATA[
<p>The way LLMs work is they output probabilities for every _token_, so you don't really need to backtrack you can just always pick a token that matches the provided grammar.<p>That said, you might want to do something like (backtracking) beam-search which uses various heuristics to simultaneously explore multiple different paths because the semantic information may not be front-loaded, i.e. let's say we had a grammar that had a key "healthy" with values "very_unhealthy" or "moderately_healthy." For broccoli, the LLM might intend to say "very_healthy" and choose "very" but then be pigeonholed into saying "very_unhealthy" because it's the only valid completion according to the grammar.<p>That said, there are a lot of shortcuts you can take to make this fairly efficient thanks to the autoregressive nature of (most modern) LLMs. You only need to regenerate / recompute from where you want to backtrack from.</p>
]]></description><pubDate>Sat, 22 Jul 2023 00:31:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=36821915</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36821915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36821915</guid></item><item><title><![CDATA[New comment by newhouseb in "Llama: Add grammar-based sampling"]]></title><description><![CDATA[
<p>I think you mean "run as part of the sampler," the tokenizer (and tokenization) is fixed for a given model. The sampler blob would basically:<p>1. Modify the output token probabilities to fit any arbitrary use case<p>2. Perhaps do trigger some sort of backtracking / beam-search<p>(I'm not Grant but we've chatted on twitter and built similar things)</p>
]]></description><pubDate>Sat, 22 Jul 2023 00:13:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=36821792</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36821792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36821792</guid></item><item><title><![CDATA[New comment by newhouseb in "Passkeys will come at a cost"]]></title><description><![CDATA[
<p>I've been trying to wrap my head around this and my layman understanding is that there's an assumption (but maybe not baked into any requirements/standard) that use of the hardware key is locked behind either a biometric check (FaceID/TouchID/etc) or password. In other words, there might be an implicit second factor baked in to the passkey itself.</p>
]]></description><pubDate>Thu, 13 Jul 2023 19:38:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=36714876</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36714876</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36714876</guid></item><item><title><![CDATA[New comment by newhouseb in "PinePhone Modem SDK"]]></title><description><![CDATA[
<p>Modern LTE/5G provides pretty accurate location out of the box without GPS so if you really wanted to hide you would really need to just shut off the entire modem. Fortunately, the PinePhone has hardware switches to do this!</p>
]]></description><pubDate>Sun, 09 Jul 2023 22:52:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=36659880</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36659880</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36659880</guid></item><item><title><![CDATA[New comment by newhouseb in "Ask HN: Any hardware startups here?"]]></title><description><![CDATA[
<p>This is great! I built a house and DIY'ed this because our site was 2 hours away from where we were living at the time.<p>It was clear (our) GC was not used to this because they were constantly telling us that things were happening when they very clearly weren't (thanks to the live video we had from to the site).</p>
]]></description><pubDate>Wed, 05 Jul 2023 17:28:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=36603748</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36603748</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36603748</guid></item><item><title><![CDATA[New comment by newhouseb in "Ask HN: Who is hiring? (July 2023)"]]></title><description><![CDATA[
<p>AidKit | Remote | Full-time | <a href="https://aidkit.org" rel="nofollow noreferrer">https://aidkit.org</a> | $130k-180k + equity | Social Impact / GovTech | TypeScript<p>AidKit runs the largest guaranteed income programs in the country. We replace convoluted workflows of glued together spreadsheets, bank portals and human tedium with one unified platform to allow organizations that do good, to do so faster and more effectively. AidKit is in many ways a technological petri dish to explore how we can bring the leverage of a bespoke software team to those without a software background through domain modeling and low-code tooling.<p>We're looking for an Engineering Manager to help AidKit's engineering organization grow from a tight knit team of folks always jumping in to do what it takes to one where everyone has the space and support needed to do their most leveraged work. Full post here: <a href="https://aidkit-inc.rippling-ats.com/job/637223/engineering-manager" rel="nofollow noreferrer">https://aidkit-inc.rippling-ats.com/job/637223/engineering-m...</a><p>We're bootstrapped and profitable.<p>If you're interested, please reach out to me at ben@aidkit.org!</p>
]]></description><pubDate>Mon, 03 Jul 2023 17:27:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=36576197</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36576197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36576197</guid></item><item><title><![CDATA[New comment by newhouseb in "Native JSON Output from GPT-4"]]></title><description><![CDATA[
<p>But only for the whole generation. So if you want to constrain things one token at a time (as you would to force things to follow a grammar) you have to make fresh calls and only request one token which makes things more or less impractical if you want true guarantees. A few months ago I built this anyway to suss out how much more expensive it was [1]<p>[1] <a href="https://github.com/newhouseb/clownfish#so-how-do-i-use-this-with-gpt4">https://github.com/newhouseb/clownfish#so-how-do-i-use-this-...</a></p>
]]></description><pubDate>Wed, 14 Jun 2023 20:45:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=36332371</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36332371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36332371</guid></item><item><title><![CDATA[New comment by newhouseb in "Function calling and other API updates"]]></title><description><![CDATA[
<p>Good point. Backtracking is certainly possible but it is probably tricky to parallelize at scale if you're trying to coalesce and slam through a bunch of concurrent (unrelated) requests with minimal pre-emption.</p>
]]></description><pubDate>Wed, 14 Jun 2023 02:55:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=36320854</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36320854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36320854</guid></item><item><title><![CDATA[New comment by newhouseb in "Function calling and other API updates"]]></title><description><![CDATA[
<p>As someone also building constrained decoders against JSON [1], I was hopeful to see the same but I note the following from their documentation:<p><pre><code>  The model can choose to call a function; if so, the content will be a stringified JSON object adhering to your custom schema (note: the model may generate invalid JSON or hallucinate parameters).
</code></pre>
So sadly, it is just fine tuning. There's no hard biasing applied :(. You were so close, but so far OpenAI!<p>[1] <a href="https://github.com/newhouseb/clownfish">https://github.com/newhouseb/clownfish</a><p>[2] <a href="https://platform.openai.com/docs/guides/gpt/function-calling" rel="nofollow noreferrer">https://platform.openai.com/docs/guides/gpt/function-calling</a></p>
]]></description><pubDate>Tue, 13 Jun 2023 17:35:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=36313708</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36313708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36313708</guid></item><item><title><![CDATA[New comment by newhouseb in "GCP automatically lowered our quota, caused an incident, and refused to upgrade"]]></title><description><![CDATA[
<p>Yeah, they used to be called SmartyStreets and then dropped the Streets. Not the greatest branding call.</p>
]]></description><pubDate>Sun, 11 Jun 2023 18:09:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=36283926</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36283926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36283926</guid></item><item><title><![CDATA[New comment by newhouseb in "GCP automatically lowered our quota, caused an incident, and refused to upgrade"]]></title><description><![CDATA[
<p>Quota management is indeed nonsensical. We serve large cash assistance programs that have stampedes of people applying all at once where we needed decent geocoding to determine eligibility. We were exceeding the default 50qps quota. I asked nicely (to double it, I think) and explained our use case and they said... no.<p>So... we left and switched to Smarty and haven't looked back since. We spend tens of thousands on geocoding annually. Really mind-boggling behavior from GCP.</p>
]]></description><pubDate>Sat, 10 Jun 2023 22:31:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=36275891</link><dc:creator>newhouseb</dc:creator><comments>https://news.ycombinator.com/item?id=36275891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36275891</guid></item></channel></rss>