News for hackers. Stuff that matters.

maxov

Re:Zinc, a systems programming language prototype on Wednesday March 12, 2025 @09:29PM (#43349514)
Yes, I also found the description a little weird because of the emphasis on linear-time parsing. It is cool theoretically, and it could be understandable from a perspective of "make the compiler fast", but parsing is never the bottleneck in modern compilers. For a systems programming language this seems to be the wrong emphasis.
Looking at the actual article (https://www.nature.com/articles/s41467-024-54178-1), their procedure does actually use deep learning in the process of synthesizing candidate chip designs, and the use of deep learning is key to their work. In particular, it looks like the final process is a genetic algorithm that interacts with a deep learning model that predicts the performance of candidate chips. It seems like trying to simulate the chip analytically to predict performance was far too inefficient, and replacing that part with a deep learning model made this entire procedure possible. So in summary, nothing in this article is called AI that has not been called AI before. Most importantly it produces novel designs "globally" without a human in the loop whereas one was required before. I think calling that AI-designed is pretty reasonable.

On a very high level, the role of deep learning here seems similar to AlphaGo (which is also the combination of a less novel generic optimization algorithm, Monte Carlo tree search, with deep learning-provided predictions). I don't think anyone would debate that AlphaGo is fundamentally an AI system. Maybe if we are to be really precise, both of these systems are optimization guided by heuristics provided by deep learning.

What a strange recommendation. I do research in CS theory and machine learning and I try to find arXiv preprints when I can, they are usually more complete than conference versions of papers. If you stick to papers from authors you know or from those from well-known conferences, arXiv is often times the best source.
Re:The Design of Postgres [pdf] on Tuesday February 07, 2023 @10:09PM (#34703609)
If Google Scholar is sunset that would be a great loss for the academic community. When was that feature removed? I have felt reasonably confident in Google Scholar so far because it is already 18 or so years old.
Re:The Design of Postgres [pdf] on Tuesday February 07, 2023 @09:11PM (#34703204)
In case you do not know, I find Google Scholar to be pretty useful for finding dates and other information about the paper - e.g. in this case https://scholar.google.com/scholar?hl=en&as_sdt=0%2C14&q=New...

I work with papers in CS/math and have been able to find dates and metadata like DOI pretty quick. There are complications when there are really multiple versions of a paper, like one in a conference that is only an extended abstract and one in a journal, but you would need to figure out which version you want to read in that situation anyway. I agree it's annoying, but coupled with reference manager software like Zotero it's hardly an issue for me.

Re:The technology behind GitHub’s new code search on Monday February 06, 2023 @02:12PM (#34682497)
SemanticDB (https://scalameta.org/docs/semanticdb/guide.html) is a protobuf-based file format that does almost exactly this for JVM languages, primarily Scala (I was a contributor a while back). It is used to build an intelligent online code browser, as the backend for a language server, and to do intelligent refactorings.

I think a language-agnostic semantic metadata format is a good idea, but requires a lot of compromise. ctags partially does this, but only to a very coarse level (mostly definitions and references). I think some ctags implementations also define 'extension fields' that could be used to give type information, but I don't know how/if these are used in practice. SemanticDB is extremely fine-grained, but highly specialized to JVM languages and type systems that are designed to work with the JVM. Finding a common set of semantic features that can be used across languages and type systems that is fine-grained enough to be more useful than ctags sounds very difficult to me.

Re:Make-A-Video: AI system that generates videos from text on Thursday September 29, 2022 @01:37PM (#33024343)
I feel like "generate" is kind of a strong word in this case though. At this rate if the machines rise up, they will do so just to parrot all the "machines rise up" plot synopses in their training corpus.
Re:Make-A-Video: AI system that generates videos from text on Thursday September 29, 2022 @12:14PM (#33022731)
I love this! But after trying it a few times I got this result :). So fascinating.

https://thismoviedoesnotexist.org/movie/the-terminator

Brings up the age-old question of how much the learning in these models is just memorization. Though in cases like these it’s hard to tell.

Re:NP Complete 3rd Grade Math Problems (2018) on Monday August 30, 2021 @03:01PM (#28359542)
Good point! I think this heuristic works well if the edges between tiles in completed picture are uniquely identifiable or close to that. However from the images there seem to be only 4 "colors" of edges in the puzzle (8 if you count two orientations for each character), so I think this will prune the search space to "only" perhaps around 100k-500k. Still really good, this makes the search space 50k-250k times smaller.
Re:NP Complete 3rd Grade Math Problems (2018) on Sunday August 29, 2021 @01:24AM (#28344426)
~20bn sounds about right. 9! * 4^9 / 4 ~ 23.8bn. Divide by 4 due to rotational symmetry.

Absolutely mind-boggling to me that such a small, simple puzzle has such an extreme search space! Great example of P vs NP, time to build a Where’s Waldo matching game cryptosystem.

Re:Tech Companies with Four-Day Work Weeks on Wednesday August 04, 2021 @11:18PM (#28069434)
I haven't been a parent so I can't be positive, but I doubt time off for maternity or paternity acts as a "positive" incentive for having children, meaning people who didn't want children before would now want them. That time off is filled pretty well caring for the baby, which is extremely tiring and time-consuming; it doesn't really function as a break. I also don't know how many people would trade a several month absence from work for the at least 18-year (more like lifetime, really) commitment of raising a child; they have children for other reasons.

That said, I could see how having maternity/paternity leave would help people who want to put in the effort of raising children, but cannot/do not want to quit their job or keep working with a baby for the most demanding first few months. There is likely negative pressure on having children from not being able to take paid leave from work, and in aggregate people would probably have more children as a result if they do get paid leave.

Although this is an entirely different topic, such a policy seems like a good idea to combat the lack of births many developed countries are facing, which in the long term will cause an asymmetric demography. This could be a big problem, as countries with births under replacement and little net inward migration need to support an aging population with fewer active workers (see e.g. Japan). I imagine some would argue that we should move toward smaller and more sustainable societies in order to preserve the planet's resources and reduce our total consumption, in which case they would advocate for alternate solutions to deal with societal aging.

Re:A Concrete Introduction to Probability (2018) on Thursday June 03, 2021 @02:56PM (#27385773)
Another way to think about it is counting the probability of getting k boys out of 2 children.

  0 boys - 1/4
  1 boy - 1/2
  2 boys - 1/4
There's a half chance of getting exactly one boy, and one way to calculate this is by noticing there are two different ways to get one boy if we take order in account. You are right that the orderings don't matter in this case, so we could also e.g. model this with a binomial distribution. Once you know there are >= 1 boys, the chance you have two is 0.25/(0.25+0.5) = 1/3.
Re:Scala 3.0 on Friday May 14, 2021 @05:40PM (#27160002)
I'll give some brief context first for why it could be useful, then explain what DeepWritable does. AWS Amplify JS has a library called DataStore that takes GraphQL schema and generates ActiveRecord-like model classes (https://github.com/dabit3/amplify-datastore-example/blob/mas...). Then you can create, query, update, and delete these models in your web app client. The generated classes have are immutable and have read-only fields by default. This means none of the model objects will change under you before they've actually been persisted, which is a good guarantee to have IMO.

To make updates, you create a new model object with the same ID and whatever changes you need, and persist it back. DataStore uses an immer-like mechanism where each model object has a copyOf method, to which you pass a function that takes a mutable version of the model and makes whatever mutations. Then the copyOf method returns a copy of the model object that has all the new field values, leaving the original object the same. The DeepWritable type expresses the "mutable version" of the model by making all fields writable, so for example the TypeScript compiler won't yell at you for writing to fields on the mutable version of the model. It also does this recursively for any fields whose type is an object that isn't a primitive.

Re:Scala 3.0 on Friday May 14, 2021 @04:56AM (#27152236)
As someone who has spent a lot of time diving deep into Scala (I worked on compiler related semantic tooling for scalameta, worked on a experimental parallelizable Scala compiler, and even have a single commit in this release from almost four years ago LOL), and who more recently has been working with TypeScript, I find this really interesting and agree in some ways.

Scala 2.x already had path-dependent types, which combined with implicits and type inference were technically sufficient to implement versions of of the dependent function types we have now in 3.x. In my opinion, how you did this previously could get really clunky (See e.g. hlist mapping in https://github.com/milessabin/shapeless/blob/8933ddb7af63b8b...). Lots of things that frankly felt like casting magic spells, and there were sometimes fragile and weird bugs especially with how implicits were resolved, see e.g. https://github.com/scala/scala/pull/6139.

The native type-level meta-programming coming in 3.x along with a lot of streamlining of the underlying type system and implicit resolution rules (e.g. https://github.com/lampepfl/dotty/pull/5925) could help a lot. This is just one example of a more advanced feature, but there are lots of things like this that changed in Dotty (maybe the most interesting is the DOT calculus that makes a better backbone for the type system). I don't know what tooling for Scala 3.x looks like, but even Intellij's frankly amazing Scala plugin broke down sometimes for 2.x.

After using TypeScript, I just personally enjoyed the experience better. Technically Typescript's type system is equally as powerful as Scala's, but the primitives for expressing more complicated types just seem much easier compared to the path-dependent stuff you would need to do in Scala. I was amazed to find stuff like this https://github.com/aws-amplify/amplify-js/blob/dedd5641dfcfc... in mainstream wide usage. I'm not even sure how you could write these type of transformations as well in any version of Scala. I suppose maybe records work, or in this specific case there are functional patterns that are preferred.

Caveat, I haven't followed Dotty for a couple years now, so I could be missing a lot. Regardless, I have really enjoyed the tooling around Typescript as well as the design. The real-world usage of more complicated dependent types (and there are good uses IMO) have been more fluent and easier to understand, and less dependent on tricky behavior like for implicits. VS Code's tools are really magical, and I hope with some of the amazing underlying work done in Dotty the Scala developer experience could look more like that.

Re:CSS Houdini on Wednesday May 12, 2021 @05:57PM (#27135646)
I might be misinterpreting, but are you saying the two are mutually exclusive? Google Docs does need custom layout and rendering which may be tough/finicky to implement with the existing css layout, as well as consistency.
Re:CSS Houdini on Wednesday May 12, 2021 @01:28PM (#27132867)
The synchronicity of this showing up on the HN front page at the same time as Google moving Docs to canvas-based rendering (https://news.ycombinator.com/item?id=27129858) is kind of funny.

More seriously, this looks really cool, and I do actually wonder if it could ease some of the problems Google is looking to solve by using canvas-based rendering, although I'm not super familiar with the challenges of rich-text editing. It would be much more preferable for me (and I think for most developers and users) if web apps still used the DOM to render text boxes, and you could hook into the rendering and layout engine for more complex operations. The layout and painting hooks offered by Houdini seem very useful for this.

The one issue is I'm not sure how text selection works here - the order of elements in selection is already kind of obtuse for more complicated layouts, and this adds even more configurations. I don't know if the APIs offer some sort of ability to control the order of selection or if that's somehow a feature of the box model.

Yeah, I have heard of it, and thanks for mentioning it to those who may not have. Like others have said, these have very few of the same guarantees people might be looking for in institutional accounts, especially that it's not FDIC insured or other legal obligations. They are also subject to risks like bugs in smart contracts or even larger ones like in the settlement/blockchain layer. And how disputes may be settled in these systems legally has not been tested and is still under question. They are also not a good fit for standard checking account features that e.g. Wealthfront Cash has. Sadly, the amount of users actually using cryptocurrency for real-world transactions is still really small. [1]

I think all this stuff around yield farming, liquidity pooling, etc. is super cool, but I think the standard advice applies: "don't put in more than you are willing to lose". Given all the unknown factors and risks I would not use it for my emergency fund or savings, and right now I would think about it more like a rather risky, potentially high-return investment. Even if these products are marketed as "protected accounts", they all say that loss of principal is possible.

[1]: See https://medium.com/swlh/how-many-people-actually-use-bitcoin.... The 2018 Chainalysis report estimated 13.5 million Bitcoin users with 2.3 million using it to make regular payments. Who knows how many of these payments correspond to "real-world" goods and services, but I'd guess it's not much. Compare this to Paypal with 300 million active users.

Gotcha. I didn't consider just putting a small amount of direct deposit into HMB, that's pretty clean! Might try it myself :) I doubt they expect most users to do something like this though, which may explain why they're able to offer a rate that high.
This may be unfounded, but I am pretty skeptical of any bank or service that offers such high APY for a savings account. The effective federal funds rate is now about 0.6%, and Wealthfront is really clear in their communications on how the interest on their cash account is directly tied to that rate. More generally, although I am not an expert, I am not sure how any bank will be able to maintain interest rates that high without somehow making money off you, or coaxing you into doing something that is actually profitable for them, when you don't see it. Especially because if they actually want to call their account a checking account, they are subject to the same legal imitations (amount in reserve, ability to make loans) as other banks.

Looking at One Finance and HMBradley, these 3% APY accounts seem to only be added to as a percentage of your direct deposit paycheck. For HMBradley, that rate only seems to kick in if you save 20% or more of your paycheck each month. I am not a financial advisor, but this seems way more than anyone should be keeping in cash. Main reason being you should only keep it for liquidity and emergencies and nothing else, because otherwise you're basically losing money to inflation.

The median American household makes $60k and has a net worth of $120k. The standard financial advice is to have an emergency fund to cover about 6 months of expenses, which we can say conservatively (adding in any other cash people keep) would be maybe $30k. To stay at that level with about 1/4 net worth in cash, you should save 25% in cash after expenses. The most common budgeting rule is 50% (needs)/30% (wants)/20 %(savings), meaning that to stay "even" you'd actually want to save at most 4% of your paycheck in cash (this way, 25% of your net worth growth will be in cash). This is not even enough for the lowest HMBradley tier of 0.50% APY.

I think all the assumptions I made are pretty conservative, namely that expenses grow linearly with income. I'm going to guess that if you're higher income (eg 2x median) your expenses will not be (they will maybe be up to 50% higher), so you should save even less to keep your emergency fund. Therefore 25% of net worth in cash seems to be a pretty good rule of thumb, if even too high for higher net worth households. You don't bump into that unless your total spending is 20% of your paycheck each month (the number of people like that must be really small). So one way or another, you're losing pretty significantly keeping that much in cash.

This is pretty unfortunate. I loved using Simple for three or so years; it was my first independent bank account. It was a great app and beautiful design with innovative banking features, like budgeting and super easy high-interest savings accounts. As soon as I heard about the shutdown I closed my accounts and moved away from Simple, and it seems like it was the right decision.

For anyone looking for an alternative, I'm using Wealthfront Cash now and I highly recommend it. They used to have super great interest rates but are now at about 0.10% APY, which is worse than others (I think you can get up to 0.50% APY right now at other places, with caveats). Although I keep minimal cash so it's not a huge difference. They do track the Fed interest rates pretty well, so I think many of the alternatives are just behind and will eventually have to lower their interest rates too. They have some nice features that Simple used to, like different categories and automatic savings/transfer to investment. The one sticking point is that they don't support cash deposits (perhaps it's possible through their partner Green Dot?), so I use a big bank checking account for that and nothing else.

Re:NASA space copter ready for first Mars flight on Saturday April 10, 2021 @03:36PM (#26764393)
I think those are just identifiers for the telescopes. If you click on the telescope to expand you can see what it’s communicating with and some info about the link, and the bitrates are closer to e.g. 20 Kbit/s - 1.0 Mbit/s.
Re:NASA space copter ready for first Mars flight on Saturday April 10, 2021 @11:30AM (#26762168)
This is a really clean explanation, thank you! Is the O(1/d^2) decrease in bitrate due to the inverse square law for radiation intensity?
Re:NASA space copter ready for first Mars flight on Saturday April 10, 2021 @10:26AM (#26761692)
I think this situation is a good illustration of latency vs bandwidth. Latency is unavoidable due to the speed of light, but there’s no physical barrier to bitrate aside from power consumption.

Seems like the best bitrate we have from Mars is MRO at ~5 megabits/s which is enough for standard definition video. I’m certain we have the technology to push it higher, but it would be expensive and it seems it’s not really needed for existing projects.

Re:NASA space copter ready for first Mars flight on Saturday April 10, 2021 @10:24AM (#26761687)
Interesting. I am not a rocket scientist, but I think there’s a few fundamental problems with doing this:

1. You can’t keep the satellites in a “line” between Earth and Mars, as objects in orbits of larger radii travel slower and so have longer orbital periods. This is the reason why for example geosynchronous orbits are only possible at a particular distance. They would only align with some frequency, which I’d guess would be closer to a geologic timescale than a human one. I think the fact that Mars and Earth’s orbits are slightly eccentric only makes this harder.

2. A solution to the above could be launching way more. But launching so many satellites carrying enough fuel to escape Earth’s gravity well would be prohibitively expensive compared to cost of LEO of existing Starlink satellites.

3. Starlink satellites are only designed to transmit maybe a few hundred km? In any case that’s 5 orders of magnitude smaller than the distance between Mars and Earth. You’d need dramatically more power consumption to transmit effectively over those distances, which is why existing bitrates are so low.

Anyway this is pretty cool, I found a NASA dashboard that also shows bitrates for current spacecraft: https://eyes.nasa.gov/dsn/dsn.html

Re:MF DOOM Has Died on Thursday December 31, 2020 @10:13PM (#25600481)
MF DOOM brought me and so many others joy over a long and mind-blowing career. He had a varied set of collaborators, and just so many artistic achievements. So much of his work is now seminal in underground hip-hop (Madvillainy, Operation Doomsday, King Geedorah are just the first to come my to mind). It’s hard to overstate the impact he had with his meticulously constructed rhyme schemes and lyrics, and his unique tone and artistry in production. I also greatly appreciated the humor and liveliness he brought to his work.

I have to admit that this was really hard for me to process at first, and it will probably be that way for a while. I think this is the first time an artist I love so much has passed away. His music buoyed me through hard times and gave color to happy times.

Best wishes to his family, and those who knew him and worked with him closely. Undoubtedly he has left a beautiful and inscrutable mark on this world, and the world is better for it.

Re:The NeurIPS 2020 broader impacts experiment on Thursday December 24, 2020 @04:46PM (#25531731)
I'm not sure what this implies. Nuclear is a good example, because it can have immense positives in providing clean and safe power. War has existed for millennia, but that doesn't mean nuclear weapons aren't a uniquely dangerous technology to enable it.

The example I gave is perhaps the worst possible scenario, where AI systems are specifically engineered for the goal of racial bias. The recent advancements in facial recognition technology (helped by the great progress in image recognition by neural nets) make possible a wide-spread surveillance system. I would certainly call the scale enabled by the automatable human-level performance of facial recognition systems dangerous, just like I would call the scale of destruction of nuclear weapons dangerous, even if they are dangerous in different ways.

Even then, e.g. in the United States AI systems aren't necessarily engineered for bias. However, if we're not careful, existing racial, gender, or socioeconomic biases in society can enter these systems and can be reinforced by them (this has already happened in well-documented ways). There I think AI ethics researchers can provide immense value in helping us identify and fix these urgent problems, and I welcome ethics researchers playing a part in any field for this reason.

Re:The NeurIPS 2020 broader impacts experiment on Thursday December 24, 2020 @04:14PM (#25531483)
Uh, yes? As just one example, China is already using facial recognition technology to help them identify, control, and jail Uyghurs: https://www.npr.org/2019/12/16/788597818/how-china-is-using-...
Re:A Theory of Universal Learning [pdf] on Monday November 09, 2020 @09:02PM (#25042144)
I see where you're coming from, but this is terminology that is pretty clear within the field of statistical learning theory, which this paper's audience. Within learning theory I think this paper is actually quite important and cool, as its name suggests, so I would hardly call it "clickbait". At least, looking at the actual contents, I agree with their reasoning for calling this "universal" "learning".

As a very high level summary, they look at how many samples are required to learn hypothesis classes, allowing this number to vary depending on the distribution to a limited degree (hence universal), rather than existing models that are interested in a guarantee that holds uniformly for all distributions. I say a limited degree because they actually make sure the shape of the learning curve is the same regardless of the distribution, they just allow the steepness to change, basically. PAC learning is really just supervised learning of binary classifiers as you say (although it has generalizations to multiclass, regression, unsupervised learning), and for convenience PAC learnable hypothesis classes are often just abbreviated to "learnable" hypothesis classes.

This is made more awkward by the fact the paper is so new, it has not been published in any conference or journal to my knowledge (if it had been, I would have recommended affixing the name to the title). So two options here in my eyes: 1. adjust the name of the HN submission to make clear this is in the field of statistical learning theory 2. Change the name of the HN submission to something like "A Theory of Sample Complexity of Universal Learning" or "A Theory of Learning Curves and Universal Learning Rates", but then this would actually be a misrepresentation of the actual content of the submission

Re:Show HN: Perfect Pitch Ear Training on Friday October 23, 2020 @07:43PM (#24875611)
Sure, that seems reasonable, although likely a different mechanism than the one I’m talking about, which seems to come from early life language acquisition. I think when people discuss absolute pitch, this is the type they have in mind, because using tinnitus is still using a reference tone. I believe there were early theories for absolute pitch around this idea (that those with absolute pitch used tinnitus to help them identify tones), but they have been made obsolete by more recent knowledge.

I have tinnitus as well, and while it is very mild, I am surprised at the idea it can be ‘stable’ enough to form a basis for absolute pitch. Most of the time I don’t experience it as a pitch layered on top of all other sounds. Even if I focus on it, it doesn’t feel like a sound that can be given a clear singular tone, if that makes sense. I do know experience of tinnitus varies, so perhaps there are forms that are more capable.

Older »