News for hackers. Stuff that matters.
Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Sunday March 26, 2023 @01:41PM (#35317177)
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

Re:Jacob Ziv has died (the Z in LZ compression) by qup on Sunday March 26, 2023 @01:50PM (#35317296)
> 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.

Re:Jacob Ziv has died (the Z in LZ compression) by londons_explore on Sunday March 26, 2023 @02:32PM (#35317780)
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?

Re:Jacob Ziv has died (the Z in LZ compression) by colechristensen on Sunday March 26, 2023 @03:04PM (#35318229)
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.

Re:Jacob Ziv has died (the Z in LZ compression) by qup on Sunday March 26, 2023 @06:12PM (#35320187)
To be fair, Ayn Rand said basically the same thing about industry long before tech bros existed.
Re:Jacob Ziv has died (the Z in LZ compression) by kortilla on Sunday March 26, 2023 @06:46PM (#35320498)
A bit tone deaf considering the thread is about algorithms that are open.
Re:Jacob Ziv has died (the Z in LZ compression) by londons_explore on Sunday March 26, 2023 @07:28PM (#35320864)
Plenty of things are totally open, yet innovation is still directed by the inventor.
Re:Jacob Ziv has died (the Z in LZ compression) by kortilla on Sunday March 26, 2023 @09:15PM (#35321729)
Still not at all relevant to this case. Algorithms have no such gate keeping because there is no barrier to entry. Algo developers aren’t fighting for some tiny pot of NSF money allocated to particle physics to build a 100 million dollar algorithm detector.
Re:Jacob Ziv has died (the Z in LZ compression) by adgjlsfhk1 on Sunday March 26, 2023 @09:55PM (#35321986)
This is only partially true. A great example is Arithmetic coding in compression where research pretty much stalled for almost 40 years (from the mid 1970s until the 2010s) due to patent concerns.
Re:Jacob Ziv has died (the Z in LZ compression) by pizza on Monday March 27, 2023 @01:25AM (#35323151)
Well, plenty of compression algorithms have been patented or attempted to be patented - e.g. arithmetic codes and Microsoft's rANS patent
Re:Jacob Ziv has died (the Z in LZ compression) by vintermann on Monday March 27, 2023 @06:33AM (#35324949)
LZW was claimed by Unisys for many years. It wasn't Ziv's fault, it wasn't even Welch's, but it does highlight that compression has historically been a garbage fire of patent harassment. I certainly think it has held the field back.

The patent harassment might even be a factor in the curiosity mentioned elsewhere in this thread, that a lot of practical progress in file compression has been published in a Russian web forum.

Re:Jacob Ziv has died (the Z in LZ compression) by xxs on Monday March 27, 2023 @07:02AM (#35325134)
I personally wrote an implementation of lzw in Assembly in my late teens. It could deal with gifs... that was before 1999, when

Unisys[0] claimed the patent (for all kind of uses) and had the patent for many a year, PNG was created not to use lzw since it was patented. The algorithm was patented for the encoding part but not decoding.

[0]: https://eng.libretexts.org/Bookshelves/Electrical_Engineerin...

Re:Jacob Ziv has died (the Z in LZ compression) by MontyCarloHall on Sunday March 26, 2023 @02:56PM (#35318102)
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?

Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Sunday March 26, 2023 @04:16PM (#35319074)
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
Re:Jacob Ziv has died (the Z in LZ compression) by serf on Sunday March 26, 2023 @04:53PM (#35319470)
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.

Re:Jacob Ziv has died (the Z in LZ compression) by hsbauauvhabzb on Sunday March 26, 2023 @04:57PM (#35319521)
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

Re:Jacob Ziv has died (the Z in LZ compression) by TedDoesntTalk on Sunday March 26, 2023 @09:00PM (#35321621)
> nobody got buff without being pushed by those around them

This is completely contrary to my experience. The successes I’ve had were my own motivations and drive.

Re:Jacob Ziv has died (the Z in LZ compression) by freeopinion on Sunday March 26, 2023 @09:23PM (#35321789)
This made me a little sad. I remember my parents pushing water colors, carving sets, parks and rec, trumpets, books, computers, you name it in front of me to help me find something I was interested in. They didn't force any particular thing on me, but definitely exposed me to many things to help me find my path. Then they supported my interest in ways that boggle my mind looking back. There is no way they could afford to provide me many of the experiences I had.

I sincerely hope that you were just ignorant of the help you received along the way. A child with absolutely no support or encouragement is a very depressing thought.

Re:Jacob Ziv has died (the Z in LZ compression) by scubbo on Monday March 27, 2023 @12:21AM (#35322815)
I think you are misinterpreting "push". In the comment you replied to, it is (I believe) being used in the sense of "pressure, force, compel", rather than "provide with opportunity". My reading of TedDoesntTalk's comment does not indicate that they were provided with no support or opportunity - merely that the motivation to persist with those opportunities, once they ceased being easy fun distractions and required dedication for improvement, arose internally.
Re:Jacob Ziv has died (the Z in LZ compression) by TedDoesntTalk on Monday March 27, 2023 @03:12AM (#35323752)
Precisely. Thank you.
Re:Jacob Ziv has died (the Z in LZ compression) by chclt on Monday March 27, 2023 @02:51PM (#35330712)
You had a very priviledged childhood then. The only response to my interests I got from my parents was "you are already good at school why are you straining yourself doing these unnecessary things".

And I did not have bad parents. Many actually hinder their childrens development, instead of being ambivalent to it.

Re:Jacob Ziv has died (the Z in LZ compression) by slipperlobster on Sunday March 26, 2023 @07:08PM (#35320697)
Isn't this just assuming the "forced" students didn't in fact want to keep playing?
Re:Jacob Ziv has died (the Z in LZ compression) by eek2121 on Sunday March 26, 2023 @09:34PM (#35321852)
The only reason I got into development (and have a successful career) today is because I was able to work on what I wanted to prior to starting said career. If a parent had 'tasked' me with anything, it would have turned me off. Not because I'm disobedient or anything, but because I have disabilities that don't agree with that method of learning.
Re:Jacob Ziv has died (the Z in LZ compression) by neoecos on Sunday March 26, 2023 @10:22PM (#35322182)
Can you explain more? My whole life I felt the same. If I have to do something, I just hate it and can't move forward. But if is my choice Im really good a it.
Re:Jacob Ziv has died (the Z in LZ compression) by justinclift on Monday March 27, 2023 @12:42AM (#35322913)
Heh Heh Heh

Isn't the general term for that a "problem with authority"? ;)

Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Monday March 27, 2023 @02:42AM (#35323576)
For the record, 'tasked' is probably not the best word to describe for what exactly happened (English is not my native language). In fact, what happened was this:

- Dad, I'm so done with this Snake game, give me some other task?

- Ok, how about making that LZW thing we talked earlier?

- Cool.

Re:Jacob Ziv has died (the Z in LZ compression) by Tade0 on Monday March 27, 2023 @01:29AM (#35323163)
I don't think it works that way.

I picked up skills after my parents because I was curious and they were both knowledgeable in their respective fields(my dad, a medical equipment engineer, could repair a TV, which for a five year old amounted to a superpower).

I was never forced to do anything and yet had the exact same headstart you're talking about, but in e.g. school math.

Of course that did a lot of damage to my work ethic, but the point is that kids are naturally curious and, at least initially, want to do what their parents do.

Re:Jacob Ziv has died (the Z in LZ compression) by smugma on Monday March 27, 2023 @01:56AM (#35323339)
The most extreme example of this is the Polgár sisters:

https://en.m.wikipedia.org/wiki/Judit_Polgár

Judit Polgár (born 23 July 1976) is a Hungarian chess grandmaster, widely regarded as the strongest female chess player of all time.

Polgár and her two older sisters, Grandmaster Susan and International Master Sofia, were part of an educational experiment carried out by their father, László Polgár, in an attempt to prove that children could make exceptional achievements if trained in a specialist subject from a very early age. "Geniuses are made, not born," was László's thesis. He and his wife Klára educated their three daughters at home, with chess as the specialist subject.

Re:Jacob Ziv has died (the Z in LZ compression) by NovaDudely on Sunday March 26, 2023 @10:25PM (#35322195)
I get where you are coming from and yet when I was introduced to LZW I wasn't that interested and yet by the end it was the coolest thing I had ever seen. By having control over the entire input and output stream you can embed within that the very properties you are trying to achieve. That was a game changer.
Re:Jacob Ziv has died (the Z in LZ compression) by jhhh on Sunday March 26, 2023 @11:03PM (#35322392)
All the people with computer science degrees working in the field who also had to take common core courses that they 'didn't care about' seem to serve as a counterexample to this general claim.
Re:Jacob Ziv has died (the Z in LZ compression) by smugma on Monday March 27, 2023 @01:53AM (#35323320)
There’s a local jazz musician named… Jaz. His father was a big fan of the genre and it stuck.

I’ve seen him play at SF Jazz a few times and it seems like his loves his job.

[dead]
Re:Jacob Ziv has died (the Z in LZ compression) by _sword on Sunday March 26, 2023 @03:19PM (#35318415)
How do I delete someone else’s comment
Re:Jacob Ziv has died (the Z in LZ compression) by jjice on Sunday March 26, 2023 @03:25PM (#35318506)
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.

Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Sunday March 26, 2023 @04:08PM (#35318995)
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 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

Re:Jacob Ziv has died (the Z in LZ compression) by userbinator on Sunday March 26, 2023 @04:52PM (#35319457)
some hardcore assembler stuff, like maybe some simple or visual demo

Demoscene/sizecoding might be interesting, especially if she also likes artistic stuff.

Re:Jacob Ziv has died (the Z in LZ compression) by eointierney on Sunday March 26, 2023 @06:44PM (#35320477)
You are awesome and your daughter is awesomer
Re:Jacob Ziv has died (the Z in LZ compression) by luckman212 on Sunday March 26, 2023 @08:06PM (#35321158)
> unless we all aren't replaced by that chatGPT thing everyone's talking about.

Yes. Bravo to you and your daughter for your perseverance in spite of the looming "disruption" coming for all human knowledge workers.

Re:Jacob Ziv has died (the Z in LZ compression) by disconcision on Sunday March 26, 2023 @08:21PM (#35321290)
fantastic list! although obviously no such plan can really cover the whole space, i cant help but want to suggest adding some languages representation to the list; a simple interpreter or compiler project, or alternatively some symbolic computation eg algebra or differential calculus. being exposed to this stuff via Racket was hugely transformative for me (e.g. https://beautifulracket.com/stacker/why-make-languages.html), but if lisps arent your thing theres plenty of great projects in e.g. java as well: https://craftinginterpreters.com/contents.html
Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Monday March 27, 2023 @04:20AM (#35324210)
yes, the idea is to do these tasks using a variety of languages, not just Python. With this LZW task, for example, she has already created a compression and decompression in Python and is now working on doing it in C so that it can take a file compressed by a python script and decompress it back with C program.

Regarding Racket, it looks interesting. While I never did anything like it myself back in the day, it looks like it'll be an interesting task for my daughter further down the road.

Re:Jacob Ziv has died (the Z in LZ compression) by petespeed on Sunday March 26, 2023 @11:35PM (#35322576)
Would you mind sharing:

1) sequence in which you gave her tutorials e.g. first tetris, then snake game, etc.

2) sources that you used to guide her through these tasks? e.g. youtube videos or other links.

Thanks.

Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Monday March 27, 2023 @03:04AM (#35323699)
First I have her the basic Python course, [0]

Then more advanced Python course [1]

Then we went for Tetris. I did provide her help in getting the initial loop running where you press the key and something happens, then she implemented the game logic by herself. I did ask her to explain the architecture to me in broad strokes prior to development, and gave her some feedback, so the architecture was adjusted a bit.

First version was built in a very direct way, so once it was done I told her about Object Oriented Programming and she rewrote Tetris using objects in a more elegant way.

Then she moved over to Snake game, and mostly did it by herself, reusing parts of the code that were used in Tetris (main game loop thing, mostly), I mostly provided feedback and beta testing. We had some interesting moments debugging the wave algorithm which computer player snakes used to find a target (a simple wave algorithm), and improving performance. Then, we moved on to this LZW thing and, unfortunately, its creators immediately started dying.

The reasoning why I chose these particular tasks is because they are all relatively limited in scope, so a studying task is not enormous in size so you never finish it and actually have a chance to ship a finished product to show it to friends/teachers.

[0]: https://stepik.org/course/67/promo

[1]: https://stepik.org/course/512/promo

Re:Jacob Ziv has died (the Z in LZ compression) by Brian_K_White on Monday March 27, 2023 @01:05PM (#35329225)
And it seems to me, at least factoring in the upcoming projects, to cover different types of work, not merely progressive difficulty. So she'll get a taste of games, a taste of systems, a taste of web ui, a taste of embedded, etc. It sounds great.
Re:Jacob Ziv has died (the Z in LZ compression) by petespeed on Tuesday March 28, 2023 @07:43AM (#35339154)
Thanks for sharing.

I followed this teaching path: scratch > python > sqlite > javascript (web). I am missing algorithms and OOP, and will look for gradual learning resources in these area.

One recent area I tried was observability. With prometheus and grafana, they got into collecting more data points and creating visualizations for them. Bangle.js is another one.

Re:Jacob Ziv has died (the Z in LZ compression) by justinclift on Monday March 27, 2023 @12:45AM (#35322924)
> using GTK

Maybe Qt instead?

Suggestion that because the Qt docs tend to be much, much better + it's realistically cross platform, thus opens up more possibilities.

Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Monday March 27, 2023 @03:08AM (#35323725)
Maybe, that's not the point. I'd rather do a GTK because back in 2004 or so I had written some software that used GTK so I'm more familiar with it - back then QT still had those licensing issues so everyone who wrote non-free software considered it to be "good, but that license ..." .
Re:Jacob Ziv has died (the Z in LZ compression) by Brian_K_White on Monday March 27, 2023 @01:09PM (#35329282)
I assumed the point was to get a taste of desktop ui app development along with a taste of 20 other kinds of developmemt, not to learn gtk or qt or any particular framework.
Re:Jacob Ziv has died (the Z in LZ compression) by userbinator on Sunday March 26, 2023 @03:53PM (#35318827)
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.

Re:Jacob Ziv has died (the Z in LZ compression) by Andrew_nenakhov on Sunday March 26, 2023 @04:12PM (#35319031)
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.
Re:Jacob Ziv has died (the Z in LZ compression) by xattt on Sunday March 26, 2023 @06:15PM (#35320217)
> 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.

Re:Jacob Ziv has died (the Z in LZ compression) by usr1106 on Sunday March 26, 2023 @08:18PM (#35321257)
At the time those algorithms where developed even computers / networks in the West were painfully slow, compression always had its use.

zstd is developed at Facebook, not known for a lack of computing resources.

Re:Jacob Ziv has died (the Z in LZ compression) by rbanffy on Monday March 27, 2023 @05:47AM (#35324703)
Still, even if you can reduce data footprint on Facebook by 1%, that's the GDP of a small planet right there.
Re:Jacob Ziv has died (the Z in LZ compression) by rbanffy on Monday March 27, 2023 @05:46AM (#35324698)
> the former USSR is highly prominent in compression algorithms

And, which is quite odd, a lot of proprietary Windows software.

Re:Jacob Ziv has died (the Z in LZ compression) by tcmart14 on Monday March 27, 2023 @10:37AM (#35327216)
I could take a wild guess as to your last statement. From a little bit that I've read, maths in the USSR were taught differently than in the west. I remembering reading somewhere that they were teaching kids discrete math in elementary/middle school. A topic that is big in CompSci and also a topic I didn't know anything about until my sophomore year at university. If that is true, I would say this may be why, but that is just speculation.