HN user

awelkie

327 karma
Posts6
Comments72
View on HN

What the author is describing is the logical conclusion of the Bitter Lesson applied to software development. To quote the essay: "We have to learn the bitter lesson that building in how we think we think does not work in the long run." The author of this article correctly points out that a lot of what goes into programming language design is a model of how humans think, and a lot of the abstractions are there to make it easier for humans to reason about code. That's not to say that abstraction isn't useful for machines, but I think the bitter lesson would say that it's better in the long run to let the machine figure out the best abstractions through search, and let humans think in the way they're used to thinking: in natural language.

Now personally I don't think this ultimate vibe-coding paradigm is just around the corner, but it does seem that it's the direction we're heading and I think this article does a good job of explaining why.

I think the miserable state of cellular modems ultimately comes from the power dynamics of private spectrum. The 3GPP protocols are complex because they're not really beholden to the implementers, but rather to the network operators. The operators are fine with additional complexity if it serves their interests, and the cost will just be passed on to the OEMs. The network operators have all the power because they're the ones with the licenses.

WiFi tends to be simpler in part because the protocol authors are working more in the interest of the implementers, since it's really they who decide whether to adopt or not. Obviously a gross simplification but I think it's at the heart of the problem.

Sure, but the probability would be low-ish of that happening, and the other system could either switch frequencies or beamform a null in the direction of the interferer if they were also a phased array.

Maybe the EIRP shouldn't be unlimited, but I still think it would be beneficial to encourage spatially selective systems.

I feel like limits on EIRP are overly conservative and restrict the usefulness of phased arrays. If the limit were on total radiated power, then your 1 watt WiFi router could have the range of a kilowatt transceiver with a reasonable number of antenna elements, while emitting the same total power as interference. But since the limit is on EIRP, the phased array is limited to the same range, and so there's no point in using a phased array over a single antenna.

Does anyone know if there's a good reason to use EIRP that I'm missing? I figure satellite communication terminals can have huge EIRPs because they're all pointed at the sky, but the FCC can't guarantee that the beams won't cross for other bands, so they limit the EIRP, but I still think we would all be better off of our systems were spatially selective.

Phased Array 2 years ago

Good point. To my knowledge most of these radars are MIMO, which are more capable than phased arrays but it's a different architecture. Also these radar systems usually have on the order of 10 antenna elements (although this number is increasing), whereas the starlink terminal has something like 1000 antenna elements, if I remember correctly.

Phased Array 2 years ago

Starlink doesn't get enough credit for their phased arrays terminals, I think. They've managed to make a performant antenna for 10 to 100 time less cost than the competition. Without that, the whole system wouldn't be such a success. This article goes into some details. It's the first truly mass produced RF phased array, and the fact that they've shown it's possible will have some big impacts on certain fields (SATCOM obviously, mobile networks, etc).

https://lilibots.blogspot.com/2021/01/why-is-starlink-termin...

Greenerwave | https://greenerwave.com | Paris, France | Full Time | VISA | ONSITE

Founded in 2015 and spun-off from the Langevin Institute (CNRS and ESPCI), Greenerwave is a mission-led GreenTech, specializing in reconfigurable metasurfaces (smart electronic surfaces) and EM wave control (from 1GHz to 77GHz). We create innovative, energy-efficient, and "plug & play" solutions. We develop patented technologies that are recognized worldwide (PACEPilot Award 2022, member of ETSI and 3GPP ...). We work on several projects with large industrial partners as well as the state and military. Our disruptive technology allows us to design solutions in telecommunications, NewSpace (SATCOM, 5G-6G) as well as in detection (RADAR, RFID).

With more than 50 employees, we're still hiring across many projects and many areas of expertise. We're looking for RF Engineers, Embedded Software Developers, Hardware or FPGA Engineers, Mechanical Engineers, Physicists, and Signal Processing Engineers.

At Greenerwave, you'll have the opportunity to evolve in a field that will have an impact on the future and work with many passionate experts (PhDs, Engineers) from all over the world on complex solutions.

Please send your resume to jobs@greenerwave.com

Greenerwave | https://greenerwave.com | Paris, France | Full Time | VISA | ONSITE

Founded in 2015 and spun-off from the Langevin Institute (CNRS and ESPCI), Greenerwave is a mission-led GreenTech, specializing in reconfigurable metasurfaces (smart electronic surfaces) and EM wave control (from 1GHz to 77GHz). We create innovative, energy-efficient, and "plug & play" solutions. We develop patented technologies that are recognized worldwide (PACEPilot Award 2022, member of ETSI and 3GPP ...). We work on several projects with large industrial partners as well as the state and military. Our disruptive technology allows us to design solutions in telecommunications, NewSpace (SATCOM, 5G-6G) as well as in detection (RADAR, RFID).

With more than 50 employees, we're still hiring across many projects and many areas of expertise. We're looking for RF Engineers, Embedded Software Developers, Hardware or FPGA Engineers, Mechanical Engineers, Physicists, and Signal Processing Engineers.

At Greenerwave, you'll have the opportunity to evolve in a field that will have an impact on the future and work with many passionate experts (PhDs, Engineers) from all over the world on complex solutions.

Please send your resume to jobs@greenerwave.com

iPad Pro M2 4 years ago

I live pretty far from my parents, and I really want to set them up with a nice video conferencing setup so we can chat as well as in person. I started to spec out a nice setup with open-back headphones, 60 Hz 1080p camera, nice microphone, low latency screen, the works. But this would cost at least $1k, and I'm sure it would be difficult for them to operate. Plus it would be hard to use in certain situations like with children or while eating.

So I've decided to get them the iPad Pro. I'm trusting Apple to focus on things like screen latency and microphone/speaker quality in their products. Plus it should be quite easy for my parents to use. It just seems to me like the iPad Pro is the best product for setting up non-tech people with a decent videoconferencing setup.

Has anyone else solved this problem, or have thoughts on using an iPad for video chatting?

Having just skimmed the linked tutorial, it looks like GFlowNets could be useful for automated theorem proving. Anyone with more knowledge know if this is possible?

It's easy to see how this advice applies to a SaaS company, but what about a more capital-intensive startup? Like a startup with an innovation in manufacturing, energy, telecoms, how do they have leverage when approaching investors, especially at the beginning? Are patents the main way or are there others? What metrics can they show if they're working on a proof-of-concept and don't yet have customers?

I don't doubt that the advice still applies but I'm having a hard time understanding how. Are there illustrative examples of startups that did this well?

Not only that, but the matrix scanning could be done via interrupts instead of via polling as is typically[0] done. An interrupt could fire on a level shift of any of the column GPIOs, then the MCU needs to search the rows to find the selected key. After the interrupt the MCU will need to poll until all the keys are released. So there's another source of latency that could be improved.

I think the only source of polling left is in USB, but I think that's inherent to the USB protocol (someone correct me if I'm wrong here). Without the USB polling I think it would be possible to have key-press-to-USB-packet completely interrupt driven which should make the latency in the keyboard itself negligible.

[0]: I say typically but like you said a lot of implementations are closed source, so who knows. All of the discussions I've seen on matrix scanning use the polling method, and the open source implementations use polling as well (e.g. Keyberon[1]).

[1] https://github.com/TeXitoi/keyberon-grid/blob/master/src/bin...

Burnout Is Real 5 years ago

Alexis de Tocqueville wrote:

"À mesure que le principe de la division du travail reçoit une application plus complète, l’ouvrier devient plus faible, plus borné et plus dépendant. L’art fait des progrès, l’artisan rétrograde."

Or roughly "In a system of division of labor, the work improves but the worker suffers".

I feel like, as an industry, we've settled on a way of working that probably does produce quality software faster and more reliably, but it takes a toll on the engineers.

Would this have been possible outside of the Bay area? Is it possible to raise this amount of money for just an idea (a good idea from a knowledgeable founder, but no POC or traction) elsewhere in the US or anywhere in Europe? From what I understand the conventional wisdom is that only VCs from the Bay area will take this sort of bet and they will prefer the company to be located there. But much of what I've read on the matter is about 5 years old so I'm wondering if this is still true (or if it ever was).

Also, this was a really great article and congrats to the author!

Both great points. Regarding your second paragraph, note that this isn't so bad for multi-core processors. For randomly scheduled processes, the (expected) maximum response time is the maximum time between yield points divided by the number of cores. And the OS could maybe do something smarter by making sure that at least one core has a time-to-yield which is very small. This would mean that you can still have very large time-between-yields for some processes without affecting the maximum response time.

And my hope was that simplifying the hardware would allow us to fit more cores on the same chip. So your first point means that the per-core performance is worse but maybe for some workloads the processor performance as a whole is better. But yeah not sure if that's realistic.

I've been wondering recently to what extent formal verification could be used to simplify CPU hardware and ISAs. For example, MMUs are unnecessary if the OS verifies that all programs only access memory that's been allocated to it. This paper[0] seems to imply that the savings would be non-negligible. Also interrupts and context switching could be avoided if programs are cooperatively scheduled and verified that they always yield after an appropriate amount of time.

Those two examples are the only ones I could come up with, but I suspect that's because I don't know very much about hardware design. Are people working on this or am I just off-base here?

[0] https://arxiv.org/abs/2009.06789

Ah good catch! The reason I thought the patent was assigned to the Smart company was because they list it in their Wefunder page[0] (under the heading "Key Accomplishments"). But actually all that's stated on that page is that "multiple patents protect this innovation", they don't actually claim that they have the patents.

I'm still curious how the licensing from NASA works. Do they typically grant a monopoly to certain companies or can multiple competing companies license this technology?

[0] https://wefunder.com/the.smart.tire.company

So the article says the technology was developed at NASA and then licensed to Smart via the "Space Act Agreement". It looks like the company has three patents already, one of which[0] seems (to me, after a brief glance) to cover the essential innovation behind the metal tires.

Can anyone tell me how the Space Act Agreement works? Does the innovation developed by NASA end up as a patent for a chosen company? Or do these three patents represent work done by the company and not at NASA? If it's the former, does NASA get any money from this agreement?

[0] https://patents.google.com/patent/US10449804B1/en

Can someone explain how block timing works in proof-of-stake systems? As I understand it, with proof-of-work the mining difficulty increases or decreases to maintain that each block is found in roughly the same amount of time. In proof-of-stake is there also a mechanism to regulate the time for each block to be added to the blockchain?

Exactly. I wrote this explanation, but you beat me to it, so I'll just post it here:

The real reason we use I/Q sampling is because we want to frequency-shift a signal.

Why do we want to frequency-shift a signal? In radio frequency applications the signal of interest almost always has a much lower bandwidth than its highest frequency. In other words, the signal has a small bandwidth (say 40 MHz) centered around a high center-frequency (say 2.4 GHz). If we want to digitize the signal, then one way would be to use a very high sample-rate ADC (e.g. a 2.4 GHz ADC). But these are very expensive, and a much better way of digitizing the signal is to use a mixer (a frequency shifter) to shift the signal to be centered around 0 Hz and then use a relatively low sample-rate ADC (e.g. a 40 MHz ADC).

The way frequency shifting is done is by multipling the signal by a sine signal, which can be done in hardware. But this introduces a distortion to the signal because multiplying by a sine is not actually a frequency shift. It just so happens that this distortion is cancelled out by adding another copy of the signal multiplied with another sine delayed by 90°. But this addition needs to be complex (due to the relationship between sine functions and true frequency shifts), so what we do is sample the two distorted signals and do this complex addition with the digitial signals.

So the reason we have complex samples is because that's the best way we've found to do frequency shifting using real-only sine waves (this explains why we don't use complex numbers in audio signal processing; there's no need to do frequency shifting!). This tutorial goes into the details and is the best explanation I've seen on quadrature sampling (another term for I/Q sampling): https://www.dsprelated.com/showarticle/192.php

I think engineers (myself included) tend to get confused because using complex numbers makes the math simpler, and so they think that's the real reason we use them. All the talk about ambiguous frequencies or negative frequencies or needing to know the phase of a sample is true, but all of those problems could be solved without complex numbers simply by sampling twice as fast and then doing some math (again, audio DSP does just fine without quadrature sampling), so it's not a "real" reason to do this strange kind of sampling.

I'm in the same boat as well, and I'm also questioning whether this mindset is something that is best to fix (e.g. through therapy), deal with ("suck it up, work isn't meant to be enjoyable"), or work with (by finding a fulfilling job). I'd love to hear from someone with the same mindset who's found satisfaction in one way or another.

I have the impression that CS PhD programs are more competitive than they have ever been, by a large margin, at least in the US. My pet theory on this is that US CS PhD students are exposed to globalization in a big way. If you look at figure D2 in the 2018 Taulbee Survey by the Computing Research Association [0], you can see that nonresident aliens as a fraction of enrollments in US and Canadian CS PhD programs rose from around 40% in the mid ninties to 64% in 2015, 2016, and 2017.

On the one hand I think it's great that the US and Canada continue to attract research talent from around the world. But on the other hand I suspect that the increased competitiveness has changed the nature of the PhD program in computer science. I think that professors these days have so many options for grad students that they can choose students with specialized experience in their research field, which means that any "exploratory" phase of the PhD process has shrunk significantly. In the article, the author says that CMU expects students to choose an advisor within a month or two of starting the program, and I guess that in reality most students have applied to work with a specific advisor before stepping foot on campus. I wonder has it always been the case? Can anyone - maybe someone who did a PhD at CMU or elsewhere more than a decade ago - shed any light here?

Of course the increased competitiveness of US CS PhD programs is just conjecture on my part. It could be that the increase in nonresident alien enrollment just means that many US and Canadian citizens are not interested in a CS PhD these days, and that the PhD programs haven't really changed, which also sounds plausible. From my experience during my short PhD attempt, the amount of time spent studying (classes, reading papers, etc) versus simply working for an advisor was smaller than I expected, and I don't know if that's because of a real change in the PhD process or simply my own naïveté.

[0] https://cra.org/wp-content/uploads/2019/05/2018_Taulbee_Surv...