OK, I suppose I should say something. I've already written on this before, and that was linked above.
You never want TCP_NODELAY off at the sending end, and delayed ACKs on at the receiving end. But there's no way to set that from one end. Hence the problem.
Is TCP_NODELAY off still necessary? Try sending one-byte TCP sends in a tight loop and see what it does to other traffic on the same path, for, say, a cellular link. Today's links may be able to tolerate the 40x extra traffic. It was originally put in as a protection device against badly behaved senders.
A delayed ACK should be thought of as a bet on the behavior of the listening application. If the listening application usually responds fast, within the ACK delay interval, the delayed ACK is coalesced into the reply and you save a packet. If the listening application does not respond immediately, a delayed ACK has to actually be sent, and nothing was gained by delaying it. It would be useful for TCP implementations to tally, for each socket, the number of delayed ACKs actually sent vs. the number coalesced. If many delayed ACKs are being sent, ACK delay should be turned off, rather than repeating a losing bet.
This should have been fixed forty years ago. But I was out of networking by the time this conflict appeared. I worked for an aerospace company, and they wanted to move all networking work from Palo Alto to Colorado Springs, Colorado. Colorado Springs was building a router based on the Zilog Z8000, purely for military applications. That turned out to be a dead end. The other people in networking in Palo Alto went off to form a startup to make a "PC LAN" (a forgotten 1980s concept), and for about six months, they led that industry. I ended up leaving and doing things for Autodesk, which worked out well.
C suites have social networks like everyone else, and their experience is tailored to engagement like everyone else’s.
They are constantly being fed FOMO and panic that due to AI the world will leave them behind.
So they desperately try to avoid that, pushing every lever they have to be part of the club without understanding what it even is. It used to be crypto, it will be something else next.
We'll keep heading towards societal collapse as long as we have all the population addicted to the feeds. If the adults are behaving this way I don’t want to think how those who were exposed from birth will turn out.
Whole Genome Sequencing is affordable now. I’d suggest a 20x hifi long read from broad clinical labs for $1200 or so. Use opencravet to dig into the results. They just posted a webinar for personal analysis https://wse.zoom.us/webinar/register/WN_-VvYJ8FKRcGaKCQtLFrU...
Franklin by genoox is a slicker and possibly more approachable product depending on your interface preferences.
Genetic research — due to the number and subtly of variants — is ripe for citizen science in my opinion.
> because when the constituency (read: supporters) are put in an emotionally agitated state, they can be manipulated to believe just about anything […]
That’s democracy, at its most basic. Often, it means people with little access to education, but with a lot at stake, casting votes that go against their own interests. And in the U.S., it’s not as if party leadership on either side truly represents them anyway.
The upside, though, is significant: when power shifts, we usually don’t resort to violence. That simple fact - the peaceful transfer of power - provides the stability necessary for society to function and potentially thrive.
> however, the joy I receive when watching my 10 year old dive into a topic of his choice with this neon orange LLM is worth far more to me than the $200 for my R1
I saw somebody say that they really missed the mark by not making it a kid's device.
So the history of this type of research as I know it was that we
- started to diff the executives statements from one quarter to another. Like engineering projects alot of this is pretty standard so the starting point is the last doc. Diffing allowed us to see what the executives added and thought was important and also showed what they removed. This worked well and for some things still does, this is what a warrant canary does, but stopped generating much alpha around 2010ish.
- simple sentiment. We started to count positive and negative words to build a poor mans sentiment analysis that could be done very quickly upon doc release to trade upon. worked great up until around 2013ish before it started to be gamed and even bankruptcy notices gave positive sentiment scores by this metric.
- sentiment models. Using proper models and not just positive and negative word counts we built sentiment models to read what the executives were saying. This worked well until about 2015/2016ish in my world view as by then executives carefully wrote out their remarks and had been coached to use only positive words. Worked until twitter killed the fire hose, and wasn't very reliable as reputable news accounts kept getting hacked. I remember i think AP new's account got hacked and reported a bombing at the white house that screwed up a few funds.
You also had Anne Hathaway news pushing up Berkshire Hathaway's share price type issues in this time period.
- there was a period here where we kept the same technology but used it everywhere from the twitter firehose to news articles to build a realtime sentiment model for companies and sectors. Not sure it generates much alpha due to garbage in, garbage out and data cleaning issues.
- LLMs, with about GPT2 we could build models to do the sentiment analysis for us, but they had to be built out of foundational models and trained inhouse due to context limitations. Again this has been gamed by executives so alot of the research that I know of is now targeted at ingesting the Financials of companies and being able to ask questions quickly without math and programming.
ie what are the top 5 firms in the consider discretionary space that are growing their earnings the fastest while not yet raising their dividends and whose share price hasn't kept up with their sectors average growth.
I run HTTP Toolkit (https://httptoolkit.com) which passed $2k a couple of years back. No longer a side project, as it's made enough money for me to work on it full time for a fair while now, but it certainly started that way, and it's still a one-man show (plus many wonderful open-source contributors).
I suspect that'll be a common theme in answers here though: if you have a side project making $2k a month, in most of the world that's enough for you to go full-time and try to take it further. If you can make $2k/month on something working only part-time, you can definitely make a lot more if you focus on it.
On your questions: HTTP Toolkit is a desktop app (plus a mobile app and other components for integrations) but it's an Electron app that effectively functions as a SaaS (with a freemium subscription model) that just happens to have a component that runs on your computer. And actually getting to $2k wasn't overnight at all - it took a couple of years of slow steady slog. A few inflection points that made a notable difference (releasing rewriting support & Android support particularly) but mostly it was a matter of "just keep pushing", trusting the trajectory would keep going, and steadily grinding upwards. It's great where it is now, but it's hard work - a solo business is not for the faint of heart!
GPUs need RAM that can handle a lot of bandwidth, so that all of the execution units can remain constantly fed. For bandwidth, there is both a width and a rate of transfer (often bounded by the clock speed) which combined yield the overall bandwidth, i.e. a 384-bit bus at XXXX million transfers/second. It will never matter how much compute or RAM they have if these don't align and you can't feed the cores. Modern desktop DDR has bandwidth that is too low for this, in general, on desktop platforms, given the compute characteristics of a modern GPU, which has shitloads of compute. Despite all that, signal integrity on parallel RAM interfaces has very tight tolerances. DDR sockets are very carefully placed with this in mind on motherboards, for instance. GDDR, which most desktop class graphics cards use instead of normal DDR, has much higher bandwidth (e.g. GDDR6x offers 21gbps/pin while DDR5 is only around 4.8gbp/s total) but even tighter interface characteristics than that. That's one reason why you can't socket GDDR: the physical tolerances required for the interface are extremely tight and the signal integrity required means a socket is out of the question.
Here is an example, go compare the RAM interfaces between an Nvidia A100 with HBM versus an Nvidia 3080, and see how this impacts performance. On compute-bound workloads, an Nvidia A100 will absolutely destroy a 3080 in terms of overall efficiency. One reason for this is because the A100 will have a memory interface that is 3-4x wider which is absolutely vital for lots of workloads. That means 3-4x the amount of data can be fed into execution units in the same clock cycle. That means you can clock the overall system lower, and that means you're using less power, while achieving similar (or better) performance. The only way a 3080 with a 256-bit bus can compare to a A100 with a 1024-bit bus is by pushing the clocks higher (thus increasing the rate of transfers/second), but that causes more heat and power usage, and it scales very poorly in practice e.g. a 10% clock speed increase might result in a measly 1-2% improvement.
So now, a bunch of things fall out of these observations. You can't have extremely high-bandwidth RAM, today, without very tight interface characteristics. For desktops and server-class systems, CPUs don't need bandwidth like GPUs, so they can get away with sockets. That has some knock on benefits; CPU memory can benefit from economies-of-scale on selling RAM sticks, for example. Lots of people need RAM sticks so you're in a good spot to buy more. And because sockets exist "in three dimensions", there's a huge increase in "density per square-inch" on the motherboard. If you want a many-core GPU to remain fed, you need soldered RAM which necessitates a fixed SKU for deployment, or you need to cut down on the compute so lower-bandwidth memory can feed things appropriately, negating the reason you went to GPUs in the first place (more parallel compute). Soldered RAM also means that the compute/memory ratios are now fixed forever. One nice thing about a CPU with sockets is that you can more flexibly arbitrage resources over time; if you find a way to speed something up with more RAM, you can just add it assuming you aren't maxed out.
Note that Apple Silicon is designed for lower power profiles; it has good perf/watt, not necessarily overall best performance in every profile. It uses 256 or 512-bit LPDDR5X, and even goes as high as 1024-bit(!!!) on the Max series apparently. But they can't just ignore the laws of physics; at extremely high bandwidth and bus widths you're going to be very subject to signal interface requirements. You have physical limitations that prevent the bountiful RAM sticks that each have multiple, juicy Samsung DDR5 memory chips on them. The density suffers. So Apple is only limited to so much RAM; there's very little way around this unless they start stacking in 3-dimensions or something. That's one of the other reasons they likely have moved to soldered memory for so long now; it simply makes extremely high performance interfaces like this possible.
All in all the economies of scale for RAM sticks combined with their density means that GPUs will probably continue to be worse for workloads that benefit from lots of memory. You just can't meet the combined physical interface and bandwidth requirements at the same density levels.
I've been using ChatGPT pretty consistently during the workday and have found it useful for open ended programming questions, "cleaning up" rough bullet points into a coherent paragraph of text, etc. $20/month useful is questionable though, especially with all the filters. My "in between" solution has been to configure BetterTouchTool (Mac App) with a hotkey for "Transform & Replace Selection with Javascript". This is intended for doing text transforms, but putting an API call instead seems to work fine. I highlight some text, usually just an open ended "prompt" I typed in the IDE, or Notes app, or an email body, hit the hotkey, and ~1s later it adds the answer underneath. This works...surprisingly well. It feels almost native to the OS. And it's cheaper than $20/month, assuming you aren't feeding it massive documents worth of text or expecting paragraphs in response. I've been averaging like 2-10c a day, depending on use.
Here is the javascript if anyone wants to do something similar. I don't know JS really, so I'm sure it could be improved. But it seems to work fine. You can add your own hard coded prompt if you want even.
> the ones who are able to achieve exceptional output are also the ones who aren't overly-attached.
This was the biggest work related epiphany for me. Had to almost burnout to realise this.
There is no one recipe but for me self-worth is inferred from the love of family and close friends. Work is just something meaningful I do as a side quest.
Make good decisions when you're feeling well that make bad decisions when you're feeling impulsive harder. Example: buy only good food / no alcohol / etc when you shop; when those emotions well up that typically trigger going towards the bad thing to consume, it just doesn't exist. It's amazing how NOT hungry one actually is when you actually would have to do so much as microwave something!
Show up daily, even in a small way. BJ Fogg's Tiny Habits stuff goes over this exhaustively, but basically it's better to go to the gym to do 1 minute of exercise than to not go at all, as it's more about building your identity than doing the actual thing effectively.
You should consider changing your relationship with your regret, so you can use it as this "pointy stick to motivate yourself" instead of this dull, directionless pain that pervades your life. This book is great [0].
Ask yourself "would I regret NOT doing this?" often. Would you regret not looking at this Orange Website, even if you feel the urge? Keep looking at your life through this lens to understand what you'll regret, and steer your ship accordingly.
Is there any kind of precedent where bad news for the semiconductor manufacturers means good news for specific downstream industries? Examples? I.e. the oversupply of chip X allowed industry Y to buy more chips resulting in innovation Z...
You never want TCP_NODELAY off at the sending end, and delayed ACKs on at the receiving end. But there's no way to set that from one end. Hence the problem.
Is TCP_NODELAY off still necessary? Try sending one-byte TCP sends in a tight loop and see what it does to other traffic on the same path, for, say, a cellular link. Today's links may be able to tolerate the 40x extra traffic. It was originally put in as a protection device against badly behaved senders.
A delayed ACK should be thought of as a bet on the behavior of the listening application. If the listening application usually responds fast, within the ACK delay interval, the delayed ACK is coalesced into the reply and you save a packet. If the listening application does not respond immediately, a delayed ACK has to actually be sent, and nothing was gained by delaying it. It would be useful for TCP implementations to tally, for each socket, the number of delayed ACKs actually sent vs. the number coalesced. If many delayed ACKs are being sent, ACK delay should be turned off, rather than repeating a losing bet.
This should have been fixed forty years ago. But I was out of networking by the time this conflict appeared. I worked for an aerospace company, and they wanted to move all networking work from Palo Alto to Colorado Springs, Colorado. Colorado Springs was building a router based on the Zilog Z8000, purely for military applications. That turned out to be a dead end. The other people in networking in Palo Alto went off to form a startup to make a "PC LAN" (a forgotten 1980s concept), and for about six months, they led that industry. I ended up leaving and doing things for Autodesk, which worked out well.