News for hackers. Stuff that matters.

henrikeh

Re:The Lightbulb Computer on Sunday October 11, 2026 @02:17AM (#50040266)
Is it Johnny Chung Lee and his work on using the IR camera in the Wii controller?

http://johnnylee.net/projects/wii/

Re:Why Mathematica does not simplify Sinh[ArcCosh[x]] on Sunday March 15, 2026 @01:20PM (#47389532)
While some comments do point out the general opaqueness of Mathematica, the goal of Simplify is actually documented in Mathematica and something which can be changed: https://reference.wolfram.com/language/ref/ComplexityFunctio...

The default is a balance between leaf count and number of digits. But the documentation page above gives an example of how to nudge the cost function away from specialised functions.

Re:The Economics of Writing Technical Books on Saturday June 29, 2024 @12:35PM (#40831727)
I think Mathematica’s documentation is beyond excellent. Here is the documentation for the Flatten function:

https://reference.wolfram.com/language/ref/Flatten.html

Just look at the amount of examples and details for this function. It is like that for every function.

I don’t know about this cable specifically, but it can be done by transferring more power to the optical signal.

Erbium-doped fiber amplifiers work by utilizing a nonlinear optical effect where energy is transferred from a pump laser to the signal. This is in principle possible in any optical (glass) fiber, but by doping with exotic elements, the amplification characteristics can be optimized. Erbium is suitable for the conventional communication wavelengths.

For reference I have a PhD in information theory and signal processing for fiber channels.

Re:More than five whys and “layer eight” problems on Tuesday February 14, 2023 @03:50AM (#34787016)
> I used to work at a hedge fund known for its diagnosis process, a logical process of clearly defining the suboptimal outcome that occurred, agreeing on how it should have gone and what had happened, and if it's indeed wrong to have gone this way, what to do about it.

Do you know of some publicly available material on this? I’d love to hear about their approach.

Ada / SPARK can do that. Ada has had some form of that analyses since the first version from 1983.

https://learn.adacore.com/courses/intro-to-spark/chapters/03...

We used constellation shaping and a rate adaptive code to tailor tailor the bitrate of each channel. It varied between something along 64-QAM and 256-QAM depending on the SNR in the channel.

Post processing times were not too bad. It ran on a standard desktop computer and gave an estimate of the data rate in about a minute (can’t remember exactly). Of course, compared to actual transmission that is terrible slow, but that was only due to the implementation and need of this experiment.

Thanks :-)

It is a while since I have been into optical signal processing, but I will ask my colleague who is much more well-versed.

I must confess that I have never been concerned along those lines.

I have thought a lot more about the environmental impact of transmission technology. It is a massively energy consuming industry and the expectation is to provide more capacity, while the expectations on efficiency do not add up to an actually reduced energy use.

For what it is worth, I work on Alzheimer’s research today: https://optoceutics.com

I worked on this project and cycomanic summarizes the practice well. I’ve written more on it here: https://news.ycombinator.com/item?id=33321506
I should clarify that we did measure every channel (polarization, wavelength and fiber core) individually. It would not be fair if we just measured one and multiplied ;)

(And yes, that took forever. A shout out to A. A. Jørgensen and D. Kong for their endurance in that.)

Wrote another reply here: https://news.ycombinator.com/item?id=33321669

I’d say that there is at least a 10 year delay between the lab and commercial deployment. Even then we are talking about deployment in large fiber systems and not to the home.

However, not all ideas in the lab ever make it into deployment.

I can’t answer for the chip aspect (which is the truly novel part of this research), but many of the signal processing and coding techniques are being deployed in new optical transmission systems. Constellation shaping and rate adaptive coding were two techniques we used in this paper to ensure that individual channels were as ideally utilized as possible.
Thanks! I’ve reached out to my colleague who worked on the chip side of this project.
The two other comments gave very good general answers, but I happen to have worked on this specific project, so I can give some very specific details (as far as my memory goes.)

Lab testing of this scale of transmission involves a bit of “educated simplification”. We had some hundreds of wavelength channels, 37 fiber cores and two polarizations to fill with data. That is not realistic to actually do within our budget, so instead e split the system into components where there is no interference. For example, if there is different data on all neighboring cores compared to the core-under-test, then we dare to assume that the interference is random, without considering neighbors’ neighbor etc.

This reduces our perspective to a single channel under test with known data and then at least one other channel which is just there as “noise” for the other channels. The goal is to make the channel-under-test have a realistic “background noise” from neighboring interference. This secondary signal is sometimes a time-delayed version, sometimes a completely independent (but real) data signal.

This left us with a single signal of 32 GBd (giga symbols / s). This is doable on high-performance signal generators and samplers.

The chip which produced the laser is indeed “just” CW with data modulated on separately. And novelty indeed lies in the width of the comb source and the SNRs of the obtained channels.

(Worked on this project.)

Late to the thread, but I took part of this research (7th author in the list). I worked on the signal processing, information coding etc and is happy to answer any questions :-)
Re:Lufthansa bans AirTags in checked luggage on Friday October 07, 2022 @07:06PM (#33128049)
Cell phone cells are (ideally) shaped to account for the expected pattern of how handover will occur. Along roads and train lines, the cells are (at least in GSM) supposed to be tailored to allow for easy routing and handover as the devices travels in the direction of the way.

While I have never read anything concretely analyzing the handover pattern of devices on airplanes, I would expect that since a very large number of cells are almost equally visible/equal signal strength, the network would have to frequently handover the device from one cell to another.

The handover process is, for voice traffic, very resource intense. (in GSM) it involves duplication of traffic to the neighboring cell and a lot of coordination.

I think that could be the reason for why mobile operators find airplane-borne devices annoying.

Re:Using: Has() as a CSS Parent Selector and much more on Saturday August 20, 2022 @08:46AM (#32531652)
The article gives a few examples where a pseudo-class fits better with how CSS normally works. For example, the selector matches the last item in the selector. With ‘<‘ it would match ‘parent’ in your case.

You can also match descendants of something with the :has() selector. It really is more than a “parent selector”

Re:Crafting Interpreters on Friday April 29, 2022 @06:21PM (#31211269)
I do plan to write about the overall experience, but for now I keep a diary in the repo.
Re:Crafting Interpreters on Friday April 29, 2022 @12:48AM (#31201570)
I have been reading it and implementing the interpreter in Ada to learn about both interpreters and Ada better. It is a wonderful way to learn, since I constantly have to go beyond the surface level. What is the purpose of this and that in the interpreter? How do I model/implement this well in Ada?

If you are curious about languages, I can only recommend trying to learn a new one while following this book.

https://gitlab.com/henrikenggaard/ada-lox

Re:TurboTax’s fight against free tax filing on Monday April 18, 2022 @03:31PM (#31075317)
In Denmark, so not the same as who you reply to.

Yes, if you pay too much in tax and their calculations reveal that, then, yes, you get money back on your bank account.

They don’t calculate commute deductibles for you, but mortgages, pension is something which is calculated for you based upon reports from the respective institutes.

Do you have any sources on that? I can not find anything about those interacting or Perelman saying that he does not care about the axioms of his work.
At least not in the ones tested in the video.

Also, the prewash happens in a cycle, where the soap holder isn’t opened.

Re:Highlights from Git 2.34 on Monday November 15, 2021 @03:52PM (#29232569)
Well, since you ask. `git add -i` has different "escape"/"exit" semantics for different actions.

If I want to quit/escape adding a patch in the interactive mode I type `q` and then enter.

If I want to quit/escape the interactive add subcommand I type `q` and then enter.

But if I want to quit the `update`, `untracked` etc. I have to enter nothing and then press enter. It would be such a wonderful thing if it also accepted `q` so my muscle "memory" is correct.

I looked into changing this once, but it is written in shell and Perl, which I don't know enough about to figure out.

Re:How the UK became the sick man of European tourism on Saturday November 13, 2021 @01:37PM (#29212081)
Here in Denmark we don’t, so most people have a passport.
Re:Verilog Simulation with Verilator and SDL on Wednesday October 20, 2021 @11:27AM (#28931866)
Verilog is weakly typed and VHDL is strong. That is already a pretty big deal when dealing with vector signals, where Verilog happily assigns a 32-bit signal to a 16-bit signal.

VHDL also supports defining record types, such that a collection of signals can be assigned together.

Re:Moiré No More on Monday September 27, 2021 @12:54AM (#28667195)
Discrete Fourier Transform is probably the most accurate way to describe the mathematical transformation which is being applied. Albeit it is very popular to say FFT when what is meant is Fourier transform or DFT, it is a bit like talking about sorting but calling it Quicksort despite it being a specific algorithm.
Re:Get rid of those boolean function parameters (2015) on Monday September 20, 2021 @09:29AM (#28593566)
Ada doesn't use the "dot syntax"; instead the enumeration literal is written as is without a dot. If I write:

    type Number_System is (Bin, Dec, Oct);
    type Month is (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);

    procedure Foo (A: Number_System; B: Month);
Then this is a valid call:

    Foo( Dec, Dec )
https://godbolt.org/z/eP5qMj3K1

When the type is explicit, the Ada standard calls this a "Qualified expression". But I would just say that it is a kind of type inference for enumerations.

https://www.adaic.com/resources/add_content/standards/05aarm...

Re:Get rid of those boolean function parameters (2015) on Monday September 20, 2021 @07:02AM (#28592397)
Fwiw, Ada does this too.

Older »