[HN Gopher] Jacob Ziv has died
       ___________________________________________________________________
        
       Jacob Ziv has died
        
       Author : tkhattra
       Score  : 469 points
       Date   : 2023-03-26 17:11 UTC (5 hours ago)
        
 (HTM) web link (twitter.com)
 (TXT) w3m dump (twitter.com)
        
       | k_eshav wrote:
       | Rest in peace! <3
        
       | superdisk wrote:
       | RIP. I just got done implementing a modified version of LZSS
       | which is crucial to fitting all the music into a game I'm
       | writing. Respect.
        
       | gotoeleven wrote:
       | To everyone who is wondering, there is a black bar its just one
       | pixel.
        
         | floodle wrote:
         | I love this :)
        
       | phkahler wrote:
       | I remember my first LZW implementation. It was so amusing to me
       | the the one case where something didn't exist in the dictionary
       | yet, you knew what it was and could add it and keep going!
        
       | helpfulclippy wrote:
       | It is fitting that such a large name is expressed in so few
       | characters. RIP.
        
         | fortran77 wrote:
         | It's even one fewer in his native Hebrew: "y`qb zyv"
        
           | golemiprague wrote:
           | [dead]
        
       | DeathArrow wrote:
       | RIP. I remember when I was a young guy learning programming,
       | reading the source code of various DOS based LZ, LZH or LZW
       | compression utilities and implementing myself a LZH algorithm
       | thinking it will bring me great fame and fortune. Lempel, Ziv and
       | Eugene Roshall were my heroes.
       | 
       | At that time many young programmers regarded compression,
       | compiler writing and anti-virus writing as very important. Now
       | people just learn React. :)
        
         | jacquesm wrote:
         | Compression and compiler writing are just as important today as
         | they were back then. And the closer to the real end of cheap
         | hardware improvements we get the more important they will be.
         | They are where real progress lies, the rest was just a
         | temporary freebie.
         | 
         | Take cars: cars have a reasonable upper limit in physics so low
         | that the difference between 'mild' (100 kph on the highway) and
         | insane (300 kph+, no matter where) is a mere factor of three.
         | And it took a good 100 years before that barrier was broken. It
         | won't progress much beyond the standard of 100 or so kph under
         | normal circumstances. There are just too many things that work
         | against you when you go much faster than that including energy
         | consumption, braking distance, the willingness of your vehicle
         | to stay on the ground, attention requirements (ok, AI...
         | someday...) and so on. So even if it is possible in exceptional
         | cases it likely won't be the norm, even on closed over and
         | evacuated freeways.
         | 
         | Aircraft did a little better, but even there the supersonic
         | passenger jet came _and_ went. Though it may be back one day.
         | 
         | In comparison computers have gotten _many_ orders of magnitude
         | faster in a much shorter time. But there is a physical limit,
         | and we are very likely to run into that soon. And once that
         | happens the only way to progress is to make more efficient use
         | of the resources you 've already got.
        
           | DeathArrow wrote:
           | > In comparison computers have gotten many orders of
           | magnitude faster in a much shorter time. But there is a
           | physical limit, and we are very likely to run into that soon.
           | And once that happens the only way to progress is to make
           | more efficient use of the resources you've already got.
           | 
           | Good points. And I will even argue that while we didn't hit a
           | physical limit in hardware yet, it's still important to have
           | a reasonable performance because not having performance means
           | resources are wasted, money are wasted and it might lead to
           | user frustration.
           | 
           | But it seems to not be the majority's opinion or at least not
           | most of the business owners opinion.
        
             | freedomben wrote:
             | Unfortunately until crappy and slow performing software
             | starts losing business to well-implemented alternatives, it
             | will never change. The current PM model is purely based on
             | shipping fast, and any thought to performance is
             | immediately dismissed as "pre-mature optimization." I've
             | been consulting for companies that had to rolling reboot
             | their entire cluster of app servers every couple of hours
             | because a host of memory leaks (that also added O(n)
             | runtime) would slowly exhaust resources. Rather than have
             | someone fix the problem, they chose to invest in devops to
             | automate the rolling restarts. This is not all that unusual
             | in my experience, because customers will tolerate very
             | sluggish response times so it's not worth fixing to the
             | business.
        
               | DeathArrow wrote:
               | Entirely my experience. I worked for a very large company
               | and since our microservices were running in Kubernetes it
               | was totally OK for the services to crash. We just logged
               | the things in elastic stack, used data dog to monitor,
               | used some SRE to restart services when things were messy.
               | 
               | I've lost days to solve a memory bug in one of the
               | services and no one cared.
               | 
               | The original architect and programmers were gone, the
               | engineering managers were pushing Clean, SOLID and design
               | patterns hopping that will help and the domain was hard
               | because we had to deal with real money while respecting
               | tens of different laws and locales.
               | 
               | We tried at our best to do the impossible, we were
               | understaffed by a factor of 5X.
               | 
               | And the services were crashing like crazy but it looked
               | like a no downtime because we provisioned another POD in
               | Kubernetes.
               | 
               | Provisioning was like: how many pods do we need? 3? Let's
               | make it nine. How much memory do we need? Half a gig?
               | Let's make it 4 gig to be sure.
               | 
               | So it was a mess and it worked and that mess continues to
               | work somehow.
               | 
               | Not sure if mess driving engineering is a sound
               | bussineses idea, though.
        
           | colechristensen wrote:
           | I don't agree. Aircraft had their growth phase earlier, first
           | flight in 1903 to landing on the moon in 1969. Airliners look
           | like they did in the 60s because there's nothing left to
           | improve on with regards to efficiency. How many orders of
           | magnitude are there between the wright flier and a 747?
           | 
           | We're reaching the diminishing returns portion of the
           | logistic curve for computing with regards to both things like
           | hardware and compiling, compression, etc. It's just hard to
           | compare industries which are done growing with ones that
           | still feel like they might be exponential forever.
        
             | DeathArrow wrote:
             | > It's just hard to compare industries which are done
             | growing with ones that still feel like they might be
             | exponential forever.
             | 
             | Some industries never evolved too much. I don't see a big
             | functional difference between cars a 100 years ago and cars
             | now. And there were electric cars in 1900s.
             | 
             | A car is constraint by lots of things just like GP comment
             | affirmed. Putting more gadgets in a car won't change what a
             | car is or how it works at a fundamental level.
             | 
             | From the very first microprocessors to today's there is a
             | big leap. If we apply that leap to cars they should be
             | using nuclear fusion and take us to moon and back in
             | seconds. And it's not like trillions of dollars weren't
             | invested in car R&D in more than a century.
             | 
             | Software growth seems exponential only because of hardware
             | and the Moore's Law. Which will come to an end soon.
             | 
             | Thanks to Moore's Law, we programmers, afforded to be
             | careless, not think about performance or use unnecessary
             | abstractions just out of esthetical or ideologic
             | considerations. It allowed businesses to say that time to
             | market trumps everything and customers should simply buy
             | more powerful boxes or more boxes. Now this will come to an
             | end soon and we will have to think about efficiency, speed
             | and performance.
             | 
             | Or maybe chips will move from silicon to some alternative
             | processes where growth is still possible.
        
         | MontyCarloHall wrote:
         | >At that time many young programmers regarded compression [...]
         | as very important.
         | 
         | They still do regard it as important, just in a different
         | sense. Shannon formally proved that compression is congruent to
         | statistical inference -- an efficient compression algorithm
         | seeks to minimize the statistical entropy of the scheme used to
         | encode a message. Compression is thus loosely congruent to a
         | branch of statistical inference you may have heard a thing or
         | two about called "artificial intelligence" [0], which many
         | young programmers are very much engaged with.
         | 
         | Take the Hutter Prize [1], which awards money for the ability
         | to compress the entire English Wikipedia, or the Large Text
         | Compression Benchmark [2], the latter of which's current top
         | performer is a transformer-based neural network [3]. As the
         | LTCP's rationale says [0],
         | 
         | >Given a probability distribution P over strings s, the Shannon
         | capacity theorem states that the optimal (shortest average)
         | code for s has length log 1/P(s) bits. If the distribution P is
         | known, then such codes are in fact easy to find and compute.
         | The problem is that for natural language, we do not know how to
         | explicitly compute the model P(s) for a given string s.
         | 
         | >However humans must implicitly know P(s) because our speech
         | and writing, by definition, follows this distribution. Now
         | suppose that a compute can compute P(s) for all s. Then for any
         | question q (or dialog ending in a question) and any answer a,
         | the machine can compute P(a|q) = P(q,a)/P(q), and use this
         | distribution to answer any question q posed by the judge. By
         | definition, this distribution would be identical to the
         | distribution of answers given by the human, and the two would
         | be indistinguishable.
         | 
         | [0] http://www.mattmahoney.net/dc/rationale.html
         | 
         | [1] http://prize.hutter1.net/
         | 
         | [2] http://www.mattmahoney.net/dc/text.html
         | 
         | [3] https://bellard.org/nncp/
        
           | DeathArrow wrote:
           | While compression is congruent with some cases of statistical
           | inference, no one is trying to do statistical inference using
           | compression. Even the example you gave of Fabrice Bellard
           | (which I highly admire) does the converse and uses neural
           | networks to compress.
           | 
           | Even for realizing what you've said one needs a bit of
           | theory, basic computer science and some math. And most people
           | today have a "do" philosophy and are result oriented. They
           | are not learn oriented, they hate CS and math and they hate
           | low level programming.
           | 
           | I don't think compression is highly relevant today, but at
           | the time I started learning it was a good tool to sharpen
           | one's mind. Learn algorithms, learn about memory management,
           | learn about hardware, learn low level constructs, learn a bit
           | of math.
           | 
           | Whenever a young person wanting to undertake a programmer
           | career is asking me for advice I'll ask what their motivation
           | is. If they just want money I advice them to learn the tools
           | in fashion today, maybe Javascript and React, maybe Python,
           | maybe C#. But if they respond they want to do it for both
           | enjoyment and money, I put them on the hard path. I ask they
           | enroll an BS CS program, or if that is not possible, give
           | them long lists of books, tutorials, courses which cover CS
           | basics, math used in CS basics, hardware, low level
           | programming and the programming hot topics du jour. In that
           | last case I also design their learning paths to accommodate
           | their goals and I am always taking time to answer them
           | questions in the future if I can, if not I will at least
           | indicate where should they look or which is the right person
           | to ask.
        
             | vintermann wrote:
             | > no one is trying to do statistical inference using
             | compression
             | 
             | Well, maybe no one sensible? I still think it's quite cool
             | that you can take any general purpose compression
             | algorithm, and abuse it to do e.g. image classification.
             | (Just append the image you want to classify to each of the
             | classes' sets in turn, and see which compresses best!)
             | 
             | And actually I do remember a paper that tried to use ideas
             | from PAQ to do online learning. Gated Linear Networks, out
             | of DeepMind, in 2019:
             | 
             | https://arxiv.org/abs/1910.01526
             | 
             | All compression is related to AI, but especially sample
             | efficient online learning is basically what data
             | compression is all about.
        
               | DeathArrow wrote:
               | Well stochastic processes are a much wider category than
               | mere algebraic operations applied on group theory that
               | losseles data compression use.
               | 
               | I'd think that calculus or functional theory or category
               | theory can find more bijections towards statistics or
               | even congruences than mere arithmetics or algebra ever
               | will. Ok, you can explain or derive any mathematics
               | construct using only algebra, and there were efforts to
               | do so, but does it makes sense?
        
       | CyberRabbi wrote:
       | Oh no!
        
       | theandrewbailey wrote:
       | RIP.
       | 
       | This is worthy of an HN black bar.
        
         | mdaniel wrote:
         | I'd bet that an email to hn@ would fix it; I don't believe the
         | black bar is programmatic and thus maybe dang hasn't seen this
         | yet
        
       | einpoklum wrote:
       | Two Professors Emeritus from my alam mater, the Technion - one
       | from EE, the other from CS (Prof. Ziv). I distinctly remember
       | noticing them in the old group photos of the first few graduating
       | cohorts of the B.Sc. in CS.
       | 
       | In Hebrew (or rather Aramaeic) we say:
       | 
       | khbl `l dbdyn vl mshtkkhyn
       | 
       | A pity due to those who absent and not present.
        
         | golemiprague wrote:
         | [dead]
        
       | pfoof wrote:
       | Lempel, Moore, Ziv... This year is very unlucky
        
       | dogma1138 wrote:
       | I'm a bit surprised that neither Lempel nor Ziv were worthy of a
       | black bar here.
        
       | Andrew_nenakhov wrote:
       | Sad news. Just recently Abraham Lempel [0] died, just days after
       | I tasked my 16 yo daughter to implement an lzw compression as a
       | part of her programming education. I chose this particular task
       | for her because many years ago I have implemented an lzw
       | compression myself, years ago, learning a lot about bits, masks
       | and gifs in the process. R.I.P.
       | 
       | [0]: https://en.m.wikipedia.org/wiki/Abraham_Lempel
        
         | userbinator wrote:
         | I noticed your username after reading your comment, and was not
         | surprised.
         | 
         | For some reason, it seems the former USSR is highly prominent
         | in compression algorithms. RAR, PAQ, encode.su, etc. and of
         | course Andrey Markov.
        
           | xattt wrote:
           | > For some reason, it seems the former USSR is highly
           | prominent in compression algorithms.
           | 
           | I'd take a wild guess that it has to do with making more with
           | having less, such as access to larger storage volumes or
           | broadband.
           | 
           | Specific to compression, when you're "tech poor", the time
           | you spend waiting for data to get processed is essentially
           | free.
        
           | Andrew_nenakhov wrote:
           | Incidentally, the guy who wrote RAR (and an incredibly great
           | file manager for Windows, FAR Manager), Eugene Roshal, has
           | studied at the very same faculty/specialty as I did. However,
           | he had graduated before I entered the university.
        
         | qup wrote:
         | > I tasked my 16 yo daughter to implement an lzw compression as
         | a part of her programming education
         | 
         | Kudos, to the both of you.
         | 
         | I'm sad we're starting to rapidly lose so many of our titans.
        
           | londons_explore wrote:
           | In other industries, the death of the inventor of a
           | technology often marks the start of a further wave of
           | innovation.
           | 
           | For all kinds of reasons, the inventor (who is sometimes by
           | now rich and/or powerful), may have a specific vision or path
           | they want to proceed down. When they die, other people start
           | investigating other paths, often with more success.
           | 
           | I wonder if tech will see the same?
        
             | colechristensen wrote:
             | No. In tech when the creator quits or dies they're replaced
             | by MBAs that squeeze every penny out of the creation. (Like
             | authors whose grandchildren direct the trusts which own the
             | copyright a century after the work was written)
             | 
             | New creations in tech have to wait for patents to expire
             | and the incumbents to crumble to the point where they don't
             | have the cash to buy out the competition any more.
        
               | qup wrote:
               | To be fair, Ayn Rand said basically the same thing about
               | industry long before tech bros existed.
        
               | kortilla wrote:
               | A bit tone deaf considering the thread is about
               | algorithms that are open.
        
         | MontyCarloHall wrote:
         | I hope that an LZW compressor was something she would have
         | naturally wanted to hack on herself, rather than something
         | she's only coding because she was "tasked" to.
         | 
         | The most surefire way to kill a young hacker's spirit is to
         | force them to hack on things they don't care about. This goes
         | with anything, not just computing. To whit, a childhood friend
         | of mine was a gifted pianist who really loved jazz. His parents
         | forced him to study with a classical teacher. Guess who doesn't
         | play piano anymore?
        
           | Andrew_nenakhov wrote:
           | Well, she seems to be interested in programming and I don't
           | force it on her. So far I think she does quite good. I have
           | chosen lzw for her since my strategy is to give her quite a
           | few diverse tasks to give her broad (albeit not very deep)
           | understanding of general areas of development. I have covered
           | this topic in more detail in a sibling comment here
           | https://news.ycombinator.com/item?id=35318995
        
           | serf wrote:
           | another anecdote to balance :
           | 
           | as a kid who played chess, the kids who were 'forced' to play
           | chess -- the ones who came from a long chess playing family
           | and had different scenarios drilled into their head from the
           | day they could talk -- were much more talented at chess than
           | I.
           | 
           | Their talent persuaded them to continue pursuing it far
           | longer than I ever did, with many of them still involved.
           | 
           | The most involvement I have now is a friendly lichess game
           | every few months.
           | 
           | It was their talent that allowed them to find more enjoyment
           | within the pursuit than I ever did, and that talent was
           | essentially forced by their immediate family.
           | 
           | So, essentially, I am just saying that forced persuasion
           | thing that parents' sometimes do is a double-edged sword; it
           | can create animosity and bitter hatred but it can also create
           | the drive and motivation for boundless talent and personal
           | satisfaction.
        
             | hsbauauvhabzb wrote:
             | I'm pretty good at computers but had no real guidance. I
             | now hire young people with a genuine interest, then gift
             | them equipment and guidance that will last them their
             | entire lifetime (Even if they get a career in something
             | else).
             | 
             | There's such thing as pushing too hard, but nobody got buff
             | without being pushed by those around them
        
         | copymoro wrote:
         | [flagged]
        
           | _sword wrote:
           | How do I delete someone else's comment
        
         | jjice wrote:
         | If you're daughter can knock out lzw at 16, she's going to be
         | an incredible programmer.
         | 
         | How do you go about teaching your kids? I don't have kids yet,
         | but if they do have in interest in programming, I'd love to
         | give them a strong head start like you have.
        
           | Andrew_nenakhov wrote:
           | Thanks, I think she has a potential to become a great
           | developer, unless we all aren't replaced by that chatGPT
           | thing everyone's talking about.
           | 
           | Regarding teaching, I understood early that while I can
           | program, I have very little understanding on how to teach it.
           | So first, she underwent two Python courses (basic and
           | advanced) on stepik.org [0], which had automated tests and
           | have her an understanding of the language.
           | 
           | Then, I planned to start throwing tasks of increasing
           | complexity at her until she solves them, giving her a more or
           | less complete coverage of all things programming. So far, she
           | has written such things as
           | 
           | - Tetris, in the console, with keyboard input
           | 
           | - Snake game, with competing snakes which use wave algorithm
           | to find path
           | 
           | - LZW algorithm to learn bits and compression and other
           | things
           | 
           | Next my plan for her follows roughly this path:
           | 
           | - some GUI programming, using GTK and Windows Forms.
           | Calculator or maybe Checkers or something.
           | 
           | - some web programming, backend and frontend. Most likely
           | Django / jQuery
           | 
           | - maybe some neural networks since are all so hot now
           | 
           | - some hardcore assembler stuff, like maybe some simple game
           | or visual demo
           | 
           | - some mobile development, Android or iOS
           | 
           | Once she'll be done with all that, I think she'll have quite
           | a clear picture of most general areas of development and will
           | be free to pursue the area she liked the most.
           | 
           | [0]: https://stepik.org
        
             | eointierney wrote:
             | You are awesome and your daughter is awesomer
        
             | userbinator wrote:
             | _some hardcore assembler stuff, like maybe some simple or
             | visual demo_
             | 
             | Demoscene/sizecoding might be interesting, especially if
             | she also likes artistic stuff.
        
       | AnnikaL wrote:
       | May his memory be a blessing.
        
       | [deleted]
        
       | tkhattra wrote:
       | LZ77 and LZ78 are ubiquitous, forming the basis of compression
       | schemes used in ZIP, PNG, GIF, and Yann Collet's Zstandard.
       | 
       | [0] https://en.wikipedia.org/wiki/LZ77_and_LZ78
        
         | Retr0id wrote:
         | HN served this webpage to me using `content-encoding: gzip`,
         | which is using LZ77 (combined with huffman coding) if you look
         | far enough under the hood.
        
       ___________________________________________________________________
       (page generated 2023-03-26 23:00 UTC)