All right. Thank you.
HN user
cloudbonsai
I understand your logic ("the high CapEx is the moat"), but on the other hand, isn't it be a bit like multiple high speed railway systems trying to connect San Francisco to Los Angeles?
And there are three internal players chasing the same goal at the moment (OpenAI, Anthropic and Google), and two others (Deepseek and Alibaba/Qwen). What will prevent them from cutting the price floor each other?
Looking from a different angle: Microsoft has been able to maintain its monopoly because it was/is a huge pain for companies to switch the operating system, but do LLMs have that stickiness?
Obviously Photobucket completely failed to properly monetize
IIRC Photobucket actually made a good amount of money through their advertising business unit ("Give free storage and get paid by ads" was their business model). They were acquired successfully by Fox for $300M in 2007.
Ontela was a photo-uploading app provider in the pre-iPhone era. When Fox decided to spin out Photobucket (as a fallout of the MySpace debacle), the two companies got merged.
Can I ask what is your opinion about their core CapEx, i.e. model training?
The general trend I observe is that the "shelf lives" of large language models are really short. It costs $1-10 billion to train cutting-edge models at the moment, and they only really last 6 months at best.
There seems to be very little brand loyalty too. Whenever a shiny new thing comes out, people just switch over, which implies that they constantly need to fight the time decay.
I found more details on how this particular attack worked:
https://github.com/nrwl/nx-console/security/advisories/GHSA-...
https://github.com/nrwl/nx-console/issues/3148
So the extension basically rewrites files in `.github/workflows` and pushes them to GitHub, which then sends all the sensitive information to the attacker. It also attempts to plant a malware on the local machine, too.
My impression is that it would be hard for an OS-level sandbox to completely stop this attack. The sandbox needs to determine whether if a git push originating from an IDE is malicious.
It seems that the battery lasts 35 hours with heart rate tracking, 1 month with no HR, and 11 months with power saving.
Run Time
Using activity functions (heart rate): Approx. 35 hours max.
Using in watch mode with heart rate measurement OFF: Approx. 1 month
Using with power-saving function ON: Approx. 11 months
I'm not sure how well the "solar charging" feature works, though. It's surprising that it does not last longer than Fitbit or Garmin.That makes a lot of sense!
The x86 server CPUs, like AMD Epyc or Intel Xeon, have a lower range within which the clock frequency may vary and their policies for changing the clock frequency are less aggressive than for desktop CPUs
Probably we need to compare Xeon/EPYC with something like AWS Graviton or Ampere Altra to get an accurate picture here. That said, I think "Windows Server works fast on Snapdragon" is both crazy and fascinating; I wasn't even sure if that was possible.
Reading the article, it seems to boil down to the following two observations:
1. ARM64 is actually less "smart" than x64. While Intel's Core i9 tries to be clever by aggressive boosting and throttling, Snapdragon just delivers steady and consistent performance. This lack of variability makes it easier for the OS to schedule tasks.
2. It is possible that the ARM build is more efficient than the x64 build, because Windows has less historical clutter on ARM than x64.
So, has CPU throttling become too smart to the point it hurts?
How do you use your 45 seconds?
There is actually a clear, concise and actionable answer to this question:
- Hide under the nearest table or desk (if you are at home or in the office).
- Grab the nearest pole or handrail (if you are on a train).
The basic idea is that the most common cause of death in an earthquake is being crushed by falling objects, so you should use every second to minimize the risk.
Here are a few common mistakes:
- Do not attempt to stop furniture from falling (you'll get crushed by it)
- Do not try to run outside (you'll get hurt by falling walls)
- Do not try to turn off the gas (most systems have automatic shutoffs)
- And for Catfish's sake, do not use your precious 45 seconds to open the social media.
There was a similar case in Japan recently: alt.ai
This company purported to sell AI transcription service. Raised capital from notable local VCs. Did IPO in Oct 2023.
It turned out that more than 90% of its sales were fake. The CXOs were arrested and the company was liquidated last month.
Personally I never get the appeal of going public on fake sales. By design, the amount you need to fake grows bigger and bigger over time. So the collapse is inevitable.
Bank of France "transported" their reserve by selling the gold held in New York, and subsequently buying the same amount in European market.
They opted to do so because it's just more efficient. It takes a lot of efforts to physically move 129 tonnes of gold after all. And as a side effect of this relocation project, they ended up recording a capital gain. It's nothing-burger.
PE is a very broad practice. It's kinda hard to make a single-blanket argument for it (it's like asking "Is Software good for society?" Yes, maybe?).
So here are some positive things that I think PE funds can contribute:
1) Private equity serves as an exit path for small business builders. Suppose that you have built a small, profitable trucking company. Now you are old and want to retire. You kids have no interest in the business, and have already built different careers elsewhere than managing a fleet of Super Greats. Oftentimes, PE funds are only realistic buyers of your business.
2) At a more subtle level, PE can supply better management. For example, a supermarket owner I know accepted capital from a PE fund specifically to acquire better talent (his remark: "very talented people are rarely excited to operate a rural food & beverage shop").
3) PE-backed companies are, arguably, structurally better than the public counterparts. The cliche is that many public firms are run like third-world fiefdoms (the board are focused on empire building; the executives are spending money lavishly on perks). Most of these concerns vanish once each director are given a shared, transparent objective set by the deal structure. (As Henry Kravis often remarks, PE is mostly about alignment of the interests)
I'll sketch a few points to illustrate the inner workings here:
- It's hard to buy a decent company at 5x EBITDA today. A typical EBITDA multiple nowadays is like 10x-15x. (e.g. EQT bought SUSE for $3B in 2023, and the adjusted EBITDA was $240M, which implies 12x EBITDA)
- Debts are tranched. Banks typically get a senior slice, often secured by real assets (a.k.a. collateral), so they can recoup the money even when the company goes straight into a ditch. The real risk lies in the junior loans ("mezzanine"), which demand very high yields to compensate for that risk.
- In a typical PE deal, most profits are earned at exit, not via dividends en route. So managers have incentive to make the target company (look) better for the next buyer, rather than neglecting it.
A more fundamental reason why the situation you describe rarely happens is that PE fund managers treat their operation as an "on-going" business. Lenders are gonna be really pissed if they lose their money. So fund managers try to avoid that scenario to keep the credit flowing for their next deal.
Here is a user manual of xv that contains prenty of screenshots:
https://dav.lbl.gov/archive/NERSC/Software/xv/help/xvdocs.pd...
I think the "Miscellaneous Ramblings" on the final page really illustrates the color of his personality:
Section 13.3: Miscellaneous Ramblings
And, of course, thanks to everyone else. If you contributed to the developement of xv in some way, and I somehow forgot to put you in the big list, my humble apologies. Documentation and careful record- keeping are not my strong suits. “Heck,” why do you think it takes me a year and a half to come up with a minor new release? Because, while I love to add new features to the code, I dread documenting the dumb things. Besides, we all know that writing the documentation is the hardest part of any program. Particularly when the good folks at id Software insisted upon releasing DOOM II...
And finally, thanks to all the folks who’ve written in from hundreds of sites world-wide. You’re the ones who’ve made xv a real success. (Well, that’s not actually true. My love of nifty user-interfaces, all the wonderful code I’ve gotten from the folks listed above, and the fact that xv actually serves a useful purpose (albeit “displaying pictures of naked women”) are the things that have made xv a real success. You folks who’ve written in have given me a way to measure how successful xv is.) But I digress. Thanks!
By the way, when I last counted (in October 1992), xv was in use at 180 different Universities, and dozens of businesses, goverment agencies, and the like, in 27 countries on 6 of the 7 continents. Since then, I’ve received messages from hundreds of new sites. And xv has been spotted in Antartica, bringing the total to 7 of 7 continents, and allowing me to claim that xv is, in fact, truly global software. That’s probably a good thing. Does anybody know if there’s a Unix workstation in the Space Shuttle?... :-)
I listened to the podcast linked in the article, and my understanding of the timeline is:
- The owner originally had two dogs. Both disappeared from her backyard one day. One dog returned home. The other vanished without a trace.
- Eleven years later, a random girl found the missing dog outside. She befriended the dog and brought him home. She talked with her parents and contacted ACCT Philly, who in turn found the original owner through a microchip.
Does this make sense? To me, this story managed to be a rare mix of heartwarming, insightful and frustrating.
To fill in the details, here is the code used for the measurement:
https://github.com/lemire/counters/blob/main/include/counter...
It fetches the number of mispredicted instructions from Linux's perf subsystem, which in turn gathers the metrics from CPU's PMU (Performance Monitoring Unit) interface.
There is no caching of a "utf-8 representation".
No there certainly is. This is documented in the official API documentation:
UTF-8 representation is created on demand and cached in the Unicode object.
https://docs.python.org/3/c-api/unicode.html#unicode-objects
In particular, Python's Unicode object (PyUnicodeObject) contains a field named utf8. This field is populated when PyUnicode_AsUTF8AndSize() is first called and reused thereafter. You can check the exact code I'm talking about here:https://github.com/python/cpython/blob/main/Objects/unicodeo...
Is it clear enough?
Internally Python holds a string as an array of uint32. A utf-8 representation is created on demand from it (and cached). So pansa2 is basically correct [^1].
IMO, while this may not be optimal, it's far better than the more arcane choice made by other systems. For example, due to reasons only Microsoft can understand, Windows is stuck with UTF-16.
[1] Actually it's more intelligent. For example, Python automatically uses uint8 instead of uint32 for ASCII strings.
Coincidentally, Chi-kawa is a very popular anime character in Japan.
https://en.wikipedia.org/wiki/Chiikawa
It's a portmanteau of "Chiisai" (small) and "Kawaii" (cute).
The evolution of software engineering is fascinating to me. We started by coding in thin wrappers over machine code and then moved on to higher-level abstractions. Now, we've reached the point where we discuss how we should talk to a mystical genie in a box.
I'm not being sarcastic. This is absolutely incredible.
Among the interviews, one with the former engineering director was the most eye-opening for me.
https://data.ntsb.gov/Docket/Document/docBLOB?ID=17236880&Fi...
It appears that all the engineers -- system designer, material engineer and structural analyst -- thought that OceanGate CEO was going to kill himself:
If you ever find <name-of-the-engineer>, he’s not going
to have a whole lot of nice to say. He was very frustrated
with the company. (...) And I understand why. He thought
Stockton was going to kill himself.
And the director himself declined to dive on Titan when asked: Now, the question is, why wouldn’t the engineer get inside
his own vehicle? It was because of what I felt -- and I have a
background in Navy diving in EOD operations. I knew firsthand
that the operations group was not the right group for that role,
and I told him as much, that I don’t trust operations and who he
has there.No data with a timestamp after May 16th was found on the camera, so it is likely that none of the data recorded on the SD Card were of the accident voyage or dive.
Evidently the camera data was recorded to an external SSD card in the mission computer when the accident occurred.
The investigation team actually managed to salvage the PC as well:
https://data.ntsb.gov/Docket/Document/docBLOB?ID=19169363&Fi...
Sadly it turned into a compressed ball of metal...
What goes into a mount that makes it so expensive? Its essentially just a piece of metal, right?
I think this graph sheds some light on your question:
https://www.nrel.gov/solar/market-research-analysis/solar-in...
What happened in the last decade was that solar panels ("Module" in this graph) got very very cheap. They used to cost $3 per watt in 2010, but now only cost $0.3 per watt.
This extreme price drop happened thanks to technical innovations (such as commoditization of PERC cells), and the large-scale production in PRC.
Metal components ("Hardware - BOS" in this graph) did get cheaper in the same time frame ($0.6 per watt to $0.5 per watt), but their cost cannot be reduced as much exactly because they are just a piece of metal i.e. there is no low-hanging fruit in Metallurgy.
You can take TWO screenshots, moments apart, open in GIMP, paste one over the other and choose any one of these laying modes:
You actually don't need any image editing skill. Here is a browser-only solution:
1. Take two screenshots.
2. Open these screenshots in two separate tabs on your browser.
3. Switch between tabs very, very quickly (use CTRL-Tab)
Source: tested on Firefox
This is pretty cool. His design seems to be able to handle the full iGPU loads too:
https://smallformfactor.net/forum/threads/monochrome-2-my-cu...
His trick is to use a number of heat pipes (that transfer the heat through vaporization), and a really really big heat sink (a 5kg copper plate).
You haven't seen the full depth yet. Suppose that you encountered with this line:
print(f"{n:.2g}")
What will it print? Here is the official explanation from https://docs.python.org/3.12/library/string.html#formatspec: g - General format. For a given precision p >= 1, this rounds the number to p significant digits and then formats the result in either fixed-point format or in scientific notation, depending on its magnitude. A precision of 0 is treated as equivalent to a precision of 1.
The precise rules are as follows: suppose that the result formatted with presentation type 'e' and precision p-1 would have exponent exp. Then, if m <= exp < p, where m is -4 for floats and -6 for Decimals, the number is formatted with presentation type 'f' and precision p-1-exp. Otherwise, the number is formatted with presentation type 'e' and precision p-1. In both cases insignificant trailing zeros are removed from the significand, and the decimal point is also removed if there are no remaining digits following it, unless the '#' option is used.
With no precision given, uses a precision of 6 significant digits for float. For Decimal, the coefficient of the result is formed from the coefficient digits of the value; scientific notation is used for values smaller than 1e-6 in absolute value and values where the place value of the least significant digit is larger than 1, and fixed-point notation is used otherwise.
Positive and negative infinity, positive and negative zero, and nans, are formatted as inf, -inf, 0, -0 and nan respectively, regardless of the precision.
Make sense? You now should be able to see why it's called f-string.I'd love to be corrected if I'm misreading this, but the reports of Kodak's death seem greatly exaggerated
The basic background here is that Kodak has been pivotting at least for last 40 years.
- 1980s: Kodak tried to become a Chemical magnate. This strategy was abandoned in 1990s.
- 1990s: Kodak tried to become a Digital Imaging company. While it saw a brief success, Kodak lost the competition.
- 2000s: Kodak tried to become an Inkjet Printer company, which was doomed and eventually pushed it into bankruptcy.
- 2010s: Kodak tried to become a Blockchain company, issuing KodakCoin. It was a flop.
- 2020s: Kodak tried to become a Pharmaceutical company amid Covid-19 pandemic.
As of today, Kodak is focusing on its chemical business (such as manifacturing KODALUX, a fabric coating material) and borrowed $477M (at 12% p.a.) in order to expand that business line.
That loan is due in 2026. Kodak is basically saying "I have no idea how to repay that money. In fact, I only have $155M in cash. Maybe it's time to talk with the creditors?".
I think I found the source paper (written in Itallian):
https://pompeiisites.org/e-journal-degli-scavi-di-pompei/la-...
So the archaeologists think that, after the destruction of 79 A.D., some survivors returned to Pompeii and found their homes half-buried in ash. They tried recover their belongings by digging underground, and some apparently attempted to rebuild their lives in their old homes, because they had nowhere else to go.
While their efforts ultimately proved to be futile, they did leave some historical artifacts behind (e.g. bread oven entirely made of salvaged materials), and the archaeologists recently unearthed them.
Honestly I'm surprised that they use such a long prompt. It boggles my mind why they choose to chew through the context window length.
I've been training DNN models at my job past a few years, but would never use something like this.
I don't understand this at all. What this post suggests seems illogical to me:
- The most obvious way to adjust the behavior of a LLM is fine-tuning. You prepare a carefully-curated dataset, and perform training on it for a few epoch.
- This is far more reliable than appending some wishy-washy text to every request. It's far more economical too.
- Even when you want some "toggle" to adjust the model behavior, there is no reason to use a verbose human-readable text. All you need is a special token such as `<humorous>` or `<image-support>`.
So I don't think this post is genuine. People are just fooling themselves.