HNHacker News
TopNewBestAskShowJobs

yomritoyj

1,351 karma · joined May 20, 2013

I teach economics at Ambedkar University, New Delhi. Personal website: http://www.jyotirmoy.net
submissionscomments
yomritoyj··on Pen and Paper Exercises in Machine Learning (2022)
ML practice has for the moment far outstripped ML theory. But even if ML theory catches up, the answers to your question will get likely be still dependent on the nature of the process generating the data and hence they would still have to be answered empirically. I see the value of theory more in providing a general conceptual framework. Just as the asymptotic theory of algorithms today cannot tell you which algorithm to use, but gives you some broad guidance.
yomritoyj··on Deep Learning Is Not So Mysterious or Different
You may want to look at this. Neural network models with enough capacity to memorize random labels are still capable of generalizing well when fed actual data

Zhang et al (2021) 'Understanding deep learning (still) requires rethinking generalization'

https://dl.acm.org/doi/10.1145/3446776

yomritoyj··on Ask HN: Is Knuth's TAOCP worth the time and effort?
They are great books about some combinatorial mathematics inspired by programming problems. Not the best investment of time if you want to learn programming itself, because:

1. Most of the time you are not implementing foundational algorithms like sorting or SAT solving. You use mature implementation in libraries.

2. If you are in fact implementing foundational algorithms, then the existing volumes of Knuth cover only a very limited set of problem areas.

3. If you are implementing something in an area covered by Knuth, the books are worth looking into as a reference, but often writing performant and robust code requires considerations not in Knuth. This is because Knuth works with an idealised machine ignoring things like parallelism, memory hierarchy etc. and understandably does not get into software design issues.

yomritoyj··on Let's Write a Malloc (2014)
If you are going to do it at this level, it already exists as an example (section 8.7) in K & R.
yomritoyj··on Modern Linux Tools vs. Unix Classics: Which Would I Choose?
awk, sed etc. belong to the museum, now that we have so many tools and libraries that can handle structured data.

The whole early Unix obsession with plain text files was a step in the wrong direction. One grating holdover of that is the /proc filesystem. Instead of a typed, structured api you get the stuff as text to be parsed, file system trees and data embedded in naming conventions.

yomritoyj··on I've procrastinated working on my thesis for more than a year
I procrastinated on my thesis. I got the usual advice: 'perfect is the enemy of the good', 'just get it written' etc. but it made no difference. With hindsight I now realize that I was working on an unfeasible project with inadequate preparation but did not want to accept that. How do other experienced people, not just your advisor, react to your project? If they are skeptical it may be a worth taking a cold hard look at the entire plan.
yomritoyj··on “Nobody cares about your blog”
Shameful conduct. And as a counterpoint to "nobody cares about your blog", a few days back I got a referee report asking me to cite a Twitter thread. This one: https://twitter.com/NilsEnevoldsen/status/152096733265462476...

Lot of actual academic work happening on Twitter, blogs and sites like MathOverflow.

yomritoyj··on Power struggles among nice people
I think this is an increasing problem as 'liberalism' becomes the official ideology of the elite, so that everyone pays lip-service to 'non-hierarchical' values and overt displays of power are looked down on. Power struggles and self-aggrandizement then go underground and are covered in extra layers of hypocrisy and doublespeak. Those who don't catch on, lose.
yomritoyj··on Mastodon Explained
For me Twitter is mainly a substitute to RSS: a central location to consume interesting content from diverse sources. In that role having an algorithmically curated as opposed to a strictly chronological feed is essential. For most people/entities I follow I'm interested in only a fraction of their tweets and I can rely on Twitter to do a good enough job of surfacing them for me. By following about a thousand accounts I can reliably hear about the latest trends in the areas that interest me by spending about half an hour each day.

On the other hand, right now I follow only a few dozen accounts on Mastodon and I'm already drowning in irrelevant posts. It can at best be a glorified group chat.

yomritoyj··on On Being Busy
We live in extraordinary times, standing on the shoulders of the scientific revolution, with gigahertz-gigabyte machines as commonplace and hundreds of years of mathematics ready to be built upon. It is criminal not to be busy.

I agree that most of us can do at most a few hours of intellectually demanding work every day. But to win those few hours of freedom, to gather the preconditions of doing work, to maintain the social organizations necessary for collaboration, and to make the results presentable, can easily eat up a whole day year after year.

yomritoyj··on Fast Moving Holistic Aggregates
This what is so great and yet limiting about SQL. Carefully optimized implementations, but only for a fixed set of built-in functions. Are there any frameworks which allow user-defined functions to gain some of these optimization benefits without exposing the full internals of the data-store implementation to them?
yomritoyj··on One Guy Ruined Hacktoberfest 2020
I'm an Indian and I beg to disagree. I have made small contributions to open source projects, including fixing typos, and have never felt unwelcome.

I'm a teacher of economics and open source software including Python, Julia, LaTeX, R and Linux are essential to my work. I would find it hard to pay for proprietary equivalents of all the open source software I use. I consider it my duty to contribute back in whatever way I can.

My national pride is not hurt just because another Indian who did something wrong was criticised on the Internet.

yomritoyj··on A new project: multi-track audio editing (2005)
I've been having fun playing with Soundtrap. It runs in the browser, allowing you to access your projects on any device. I'm not sure if it can meet the needs of professionals, but for someone just starting out with music it has been great.

https://www.soundtrap.com/

yomritoyj··on Netflix open-sources Polynote, an IDE-inspired polyglot notebook
I really have always wished for reproducibility. Thanks for taking up this feature. How do you handle aliasing and references inside objects? Suppose I have

    #Cell 1
    a = [1,2,3]
    b = (a,True)

    #Cell 2
    b[0][0] = 5

    #Cell 3
    print(sum(a))
Now if I change Cell 2 to

   # Cell 2'
   b[0][0] = 4
and execute, Cell 3's result becomes stale. Do you track such dependencies? Would really love to read more about the underlying implementation.
yomritoyj··on Predictive CPU isolation of containers at Netflix using a MIP solver
In my experiments with MIP there was a dramatic performance difference between free and non-free solvers. Did you also experience this?
yomritoyj··on Canonical’s Mark Shuttleworth on dueling open-source foundations
Isn't this a bit ironical coming from the creator of Ubuntu that provided a foundation dueling Debian?

As a user I see myself as a gainer from the Debian/Ubuntu or GCC/Clang duels.

yomritoyj··on Structure and Interpretation of Classical Mechanics (2015)
This is not necessarily a wrong thing to teach. As one progresses from old things that are well-understood to new developments,students will have to deal with fuzziness and gaps. They must learn to make progress using a heuristic feel for the subject instead of complete rigour. Too sensitive an alarm for missing foundations will actually stop them from being productive. Think of how much time passed between the invention of calculus and the development of rigorous analysis.
yomritoyj··on Daydreaming about the future instead of doing work today
When it comes to masturbation narrowly defined, most people now accept that it is not harmful or sinful. Nor is it a sign of a failed sex life. I believe that we should have the same attitude towards more general forms of self-gratification.
yomritoyj··on A Self-Learning, Modern Computer Science Curriculum
From the headline I imagined a curriculum that updates itself based on developments in the field.
yomritoyj··on Learning to Predict Depth on the Pixel 3 Phones
I'm waiting for the light-field cameras https://en.wikipedia.org/wiki/Light-field_camera
yomritoyj··on The Free Coffee Test, or Lefkowitz’s Law of Corporate Financial Health (2013)
When I'm at work the cost of a beverage is not just one dollar. It is the cost of lost productivity and time in going out to fetch a coffee, which may be so high that I'll have to make do with what's on hand. Given that I spend a larger fraction of my waking hours at the office that means the refreshments available determine my quality of life to a non-trivial extent, and a fall in their quality may make me leave from this direct effect alone. Specially if I'm good enough to get other offers which are comparable professionally.
yomritoyj··on How Smart People Sabotage Their Success
This is a problem only if the person is bothered by their lack of "success".

For some, being a dilettante may precisely be the life that they want. The problem is that if you are perceived as "smart" people all around you will push you to "succeed" in traditional ways, either because they want a share of the profits of such "success", or because they see someone not doing the boring grind as a moral failure, or out of concern that the dilettante is "throwing away their potential".

I'd say that if you are "smart" then it should make your life freer and not more constrained.

yomritoyj··on Chinese Thesis Ghostwriting Scandal Reveals Huge Gray Market
I'm an Indian teaching Indians in India, and there are quite a few students who don't see anything wrong in cheating. Not to say anything about the blatant cases of cheating and mass cheating in school-leaving exams that regularly make the news in India.

I can't say if cheating is more of less acceptable in India than elsewhere, and for sure very many students in India are honest and genuinely interested in learning, but people treating knowledge and teachers as divine is far from reality.

yomritoyj··on Solving a puzzle using the Isabelle proof assistant
The original proof I posted was organized slightly differently from your argument.

Some of those 120 lines were commentary, blanks and things like "qed". Also, I tried to used small steps in the proof. You can have a more concise proof if you are willing to take larger steps and rely more on automation. The cost is that the justification for the steps might become opaque to humans.

Here is a second attempt at the proof that follows your argument and uses more automation. It is much shorter than the original: https://gist.github.com/jmoy/27bcc72fb5a3f871b72c31e81bccb55...

yomritoyj··on Solving a puzzle using the Isabelle proof assistant
A machine checked proof of the following: "In a finite group of people, some of whom are friends with some of the others there must be at least two people who have the same number of friends."
yomritoyj··on Ask HN: Is it worth investing in learning Rust?
I don't know Go, so I cannot make a comparison, but studying Rust has been very useful to me as someone interested in the principles of programming because it forces you to think deeply about pointers.

In C, pointers are used for many different things: they stand for arrays and strings (which IMHO is a questionable choice); they are used in types where the structure of an object changes at runtime (linked lists, trees); they provide a way for different parts of the program to refer to a common state; they allow subroutines to modify objects 'owned' by calling routines; they provide a cheap way to pass big structures as arguments to subroutines even when they won't be modified; they provide a way of incorporating large structures as elements of other structures which allows replacing one value with another without a full copy.

Some troubles with pointers are specific to the ways that C uses them: manual memory allocation means that you can use before alloc or after free; the NULL value means that you can dereference an invalid pointer; pointer arithmetic means that a valid pointer can be used to produce an invalid pointer. At possibly some small runtime cost we can eliminate these problems.

But there is one unavoidable problem at the heart of the use of pointers. When you are referring to something with a pointer, are you doing it just for convenience, to avoid copying large structures; or are you doing it to share state with other parts of the program? Things will go horribly wrong if you end up doing the latter when you just wanted the former.

Rust's type system is an attempt to keep track of different uses of pointers to catch such errors without compromising on efficiency. There have been other attempts ([1],[2]) but Rust finally has a rich enough language and library to attempt writing serious programs in.

I think it will be interesting to see whether the authors of such programs find the mental effort of keeping the borrow checker happy worth the efficiency gains of using pointers for both purposes on an equal footing, or whether they fall back to the extreme models of Python (and many other languages) where everything is a pointer which shares state or that of Haskell where there are no pointers by default and one has to switch to a explicit and cumbersome syntax (using the IO or ST monads) when one wants to use shared mutable state.

[1] https://en.wikipedia.org/wiki/Substructural_type_system [2] http://pauillac.inria.fr/~fpottier/slides/fpottier-2007-05-l...

yomritoyj··on Intel 28-core fantasy vs. AMD 32-core reality
As an outsider to 'enterprise-grade' computing, I'm curious about situations where a high number of cores in a single processor would be superior to multiple processors with the same total energy draw sitting on a single motherboard?

I can understand HPC applications where the high-speed interconnect on the chip would make a big difference.

But in business applications where the cores are dedicated to running independent VMs, or are handling independent client requests, what is really gained? There would still be some benefits from a shared cache, but how large quantitatively would that be?

yomritoyj··on Lessons from My Math Degree That Have Nothing to Do with Math
Analysis has had the opposite effect on my writing. After having my head buried in measure theory for a semester I wrote in a report for my student organization: "The set of inactive members of the Executive Committee is a non-negligible one." I was asked to rewrite that.
yomritoyj··on Why soap bubbles are colourful and windowpanes are not
I address that point in the notebook. Thanks to Fourier you could decompose any waveform, coherent or not, into a sum (integral really) of sine waves. So the lack of coherence should not make no difference to the argument.
yomritoyj··on Why soap bubbles are colourful and windowpanes are not
OP here. Why thickness should matter is precisely the question.

If you look at the treatment of this on Wikipedia or a physics text it is the phase difference beteween the front and back reflections which matter and not the total path length.

Even for a windowpane there will be some wavelengths where the two waves are in phase and others where they are out of phase. The true explanation is that for a windowpane these two kinds of wavelenghts are clustered densely together and therefore even for tiny wavelength ranges the interference effect averages out.

Page 1 of 4Next →