HNHacker News
TopNewBestAskShowJobs

Eliah_Lakhin

244 karma · joined March 19, 2011

https://github.com/Eliah-Lakhin/
submissionscomments
Eliah_Lakhin··on The AI bullshit singularity
I don't think that following the primal benefit would be a good estimation for intelligence, despite the fact that such behavior is common for most species.

What makes human specie special is the ability of some individuals to create new things that didn't exist before. That's a loose criteria of course, because most individuals just follow educated social constructs for their entire life.

Eliah_Lakhin··on The AI bullshit singularity
I think that people's believe in LLM is intelligence is closely tied to mistaken association between intelligence and the ability to speak.

Parrots can speak, but they cannot reason. Moreover, evolutionary, birds learned to mimic the speech to fool other species. To fool in such way that other species would think that parrots are of the same specie.

We, the humans, are smart enough to recognise that even though parrots can talk, they are not as smart as we are. Unfortunately for us, LLMs are much more advanced things than parrots, and they are capable to fool broad masses pretending that LLMs are of the human specie with all inherent features including the reasoning intelligence (that we cannot easily test externally).

This is unfortunate, because such false believes slow down actual scientific progress towards the natural intelligence researches, and towards creating of the true reasoning artificial intelligence.

Btw, I wouldn't be surprised that if one day the AGI created, it will not be able to speak at all, nor recognise the images.

Eliah_Lakhin··on Scrum Sucks
It would be interesting to attempt an analogy between software development processes and parallel computations. Let's analyze which job tasks are atomic, parallelized, depend on read or write operations with common shared data, and the costs associated with setting up new job tasks.

It is likely that we would discover that the majority of programming tasks are not parallelized and are costly to set up, especially if frequently switched between job workers. This is because programmers need to delve into the problem domain, the existing code base, the API, and various other factors before commencing an actual task implementation.

Assuming that task workers are fully fault-tolerant ("no bus factor"), the optimal design would involve dividing the code base into loosely coupled modules, possibly organized into a hierarchy, with each module's management entrusted to a single worker (programmer). To mitigate the fault factor, we might have substitutional task workers dedicated to critical modules.

Regarding other task types, such as manual testing, these are usually less expensive to set up, do not require write access to the code base, and can be efficiently implemented by worker groups not bound to specific code modules.

This approach should be scalable and could effectively contribute to product quality. However, it necessitates the business being run and owned by programmers, and more crucially, earning revenue directly from end users who value product quality—a major success factor for the business.

There are successful examples of businesses following this model, including many indie game development studios and some software product businesses. The scarcity of such examples in the broader business community is attributed to the fact that the majority of funds today come from large corporations and ultimately from governments. This system undermines the free market, impacting everything in software development, from product quality to development methodologies.

Eliah_Lakhin··on Why every microwave sucks these days
I moved to a new place around 8 years ago. In my kitchen, I have all the usual kitchen essentials, and perhaps even some less common items, such as a Cappuccino machine.

But I don't have a microwave and never consider buying one. I used to live without it. When I order fast food, couriers usually deliver a warm meal to me. When I buy prepared food at a local grocery store, I always ask the salesperson to reheat it right in their microwave at the store. When I cook food at home, it will be hot. If I leave something in the fridge, it's not a big deal for me to eat it chilled later. Chilled food does not lose its nutritional value anyway.

The reason I decided to live without a microwave is that I can't find a device without any built-in smart-scheduling functions; instead, I want one that would offer me complete manual control.

What I really need is a device with three simple features:

1. A manual knob to control the microwave power generator output.

2. A manual shut-off timer knob.

3. A manual grill spiral knob.

Eliah_Lakhin··on Do you struggle to find ethical work?
As mentioned in the comments, our world is driven by consumerism.

I don't like this fact too, but I have to pay my checks every month, so I have to accept the compromises. I obviously avoid to do any commitments in the military sector, and the industries that harm the environment. I have to admit the fact that any input that I make into the consumerism economy has indirect harmful impact anyway. By this reason I prefer to specialize in the front-end webdev, which, I believe, has the least impact in general.

I would prefer to live in an economy driven by inventions at first place, and with long-term planning where the most of initiatives would be well thought beforehand, and be developed in years before they start giving results, rather than in modern startup economy where everyone expect the results here and now. And in the world that would be driven by more decent people too.

My personal sphere of interests is around quite specific aspects in research of programming language compilers. But there are too few job offerings in this field, so I have to earn money in more trending fields.

Eliah_Lakhin··on Are any words the same in all languages?
Perhaps, it would be more useful for students if foreign language courses start with explaining one thing that is well known to linguists, but maybe does not have enough recognition by a wide audience.

Most European languages are at some extent just dialects of the same common language[1].

And most of the words we use in distinct languages are (at some extent) just different pronunciations of the same vocabulary. This happened no just because of the borrowings between cultures, but because centuries ago these nations speak one single common language that has diverge in centuries into different dialects.

More over it is more or less researched how the words and the grammar rules have evolved from the proto-language up to it's modern form. So in fact we can (again, at some extent) translate many modern words to their ancient form, and then translate them back into another modern European language. Of course it is not always that simple process, and there is a lot of exceptions and difficulties, and the true borrowings too. But I think that understanding just some common ideas of linguistics could help in studying of foreign languages (from the same family of languages). At least maybe it will be more fascinating than just a pure memoization.

[1] https://en.m.wikipedia.org/wiki/Proto-Indo-European_language

Eliah_Lakhin··on Microsoft will assume liability for legal copyright risks of Copilot
Interestingly, would the Copilot become better after such training...
Eliah_Lakhin··on Do we need copyright? (2012)
This grant is given in exchange of publishing, in exchange to a fact that I made my work available to public.

I don't have to make my work publicly available. I could make it hidden forever or for long time, or to closely share it with a limited number of people.

I can compose a music piece, paint an art, or write a book, and never tell anyone about it. I can do it just out of a pure creativity interest, and without the need to make anything in exchange from the public.

In this case my creativity would be a property in it's very ultimate sense.

I believe that in it's very root the Copyright laws were established to offer something to creative people who truly don't need to be a part of the society, who make their creativity for themself out of a pure genius without the need to receive any reward for their labour. In exchange that they make their work available to public too, so the entire society would benefit from their creations.

This is the offer of the government that grants the author a personal monopoly to their creativity, but this creativity is a Property before it was published.

We can erase this offer, saying that one's work is not truly a property. Well, we can do so, but we can't enforce an author to give up of his property and make it publicly accessed whether we consider it a property or not.

Eliah_Lakhin··on Do we need copyright? (2012)
The truth is that the majority of software engineers have no idea how to write Software Licenses.

And this is the last thing a programmer want to think about when starting a new programming project. So they pick up just some random, but widely used OSS license from Internet, as other people around do. This creates a self-supporting trend where picking something different to a widely used OSS license will look inappropriate. It is much easier to accept an idea that all you need to do is to use a "ready to use" license from Internet, rather than the idea that you should hire a lawyer to write you one, or worse to research the pack of corresponding laws and law practices by yourself. Of course the arguments of the opponents of Copyright and the proponents of the free-software expressed in plain English even reinforce this trend.

My opinion is that we just can't have a fair discuss around this topic. To have such discussion we need more people who fairly tried to go both ways, but the current free-artist programmers community is too much shifted towards using of free licenses that basically bypass the majority of the benefits and the trade-offs the Copyright laws can offer.

Eliah_Lakhin··on Intelligent Brains Take Longer to Solve Difficult Problems
Companies are usually looking for average candidates to do an average job.
Eliah_Lakhin··on The greatest risk of AI is from the people who control it, not the tech itself
I'm not sure if the current generation of LLMs (basically, chatbots) will be any of use comparing to the previous one.

LLMs, as well as other recent outcomes of ANN technologies, are undoubtedly very impressive. Especially for the wide audience. But I feel like impressiveness is the only practical feature they have. When I talk to a support call centre chatbot, I feel like the only useful thing the robot could do for me is to guide me through the verbal user interface in a very verbose way. And I find it lesser convenient and reliable than just clicking a few buttons. ChatGPT can give me encyclopaedic knowledges through a verbal interface too, but I think that googling a Wikipedia article is more straightforward and, again, more reliable.

I think the lack of reliability was the reason why people eventually gave up on the previous generation of these technologies as a form of computer interfaces. The same fate awaits the new generation too, in my opinion. And the LLMs can't offer anything new rather than just a new form of interfaces. They are very bad in true reasoning. Which is why, I think, they are too far from what I would call AGI.

The author of the article is talking about new risks brought by AI. I personally don't see any new risks here, but I see a lot of risks in more traditional technologies no one is talking about. Modern Internet, smartphones and the way the modern computer interfaces designed in general are, in my opinion, already brought a lot of risks to us.

We are slowly loosing control over computer systems. When I open YouTube I would like to organise and control the information that I consume. But instead Google prefers to choose what I should watch. They are slowly removing explicit control functions that I can use directly in favour to suggestions semi-automatically generated by them. And it's not just Google, it's a common trend. Facebook, Windows or Twitter are not exceptions. The control over the users attention as a way to influence, is a main value for big tech and for the people who control these corporations. And I think this is the risk for the humanity we are currently facing.

Will the ANNs, LLMs anyhow advance this harmful trend? I don't know. I doubt so, but it doesn't really matter, because LLMs themselves is not a root of the threat. The root threat is that we, the users, are loosing control over computers that we use.

Eliah_Lakhin··on Tarkovsky's films online for free
Aside from this, perhaps another reason why the first part of the movie looks and feels more promising than the second one is more trivial. As far as I know they experienced a budget shortage at some point of production.
Eliah_Lakhin··on Tarkovsky's films online for free
Tarkovsky's "Stalker" is loosely based on the "Roadside Picnic"[1] a sci-fi novel of Strugatsky brothers.

A. and B. Strugatsky are not that much recognized in the western countries as Andrey Tarkovsky, but they made significant contribution to the Russian literature of XX century, and their books are still popular in the post-soviet countries. In particular, the Roadside Picnic influenced many modern sci-fi works too, including, for example, the "S.T.A.L.K.E.R." and the "Metro" video game series.

Tarkovsky's "Stalker" is quite distinctive from Strugatsky's novel both in style and plot, but the screenplay of the movie was written by Strugatsy brothers too. Basically, they made completely different work in the same setting, but following completely different narrative. Also, they included a lot of pieces from their other (lesser famous) work "The Ugly Swans" into the screenplay, which is closer to Tarkovsky's film style. For example, the Writer's monologue[2] is just a direct translation of the same monologue from The Ugly Swans.

"Solaris", another Tarkovsky's famous sci-fi movie, based on Stanislav Lem's novel of the same title, was a more controversial work. Stanislav Lem made quite critical reception of this adaptation that simplifies and distorted his novel's original ideas. However, I think that Tarkovsky's "Solaris" is still the best adaptation of this book we currently have.

Aside from this, I would recommend "Ivan's Childhood" a war movie about orphaned child, and the "Andrei Rublev" a historical movie about the famous Russian Orthdox icon painter set place in the late middle ages, and about survival of artistic people in hard times.

[1] https://en.wikipedia.org/wiki/Roadside_Picnic

[2] https://www.youtube.com/watch?v=uwIoSI1Eqak

Eliah_Lakhin··on The core problem with hamburger menus
Well, the Footer Sitemap maybe was not that good idea, but why not consider the Header Sitemap instead? HackerNews menu looks good to me.

If the Sitemap structure is too large to be in the Header, maybe it's a good marker to think about reducing the amount of information on your website in general.

Also, I like to have sidebar menus on the left or right of the page for quick navigation, and when I see the webpage on my home widescreen desktop monitor, or maybe even notebook. But I don't like clicking Hamburger buttons each time to expand them. So, personally, I'm fine to always have such menus stay expanded on Desktops, and to be completely absent on mobiles. If I use the mobile device, I'm acknowledged that it's functions are limited by design.

Eliah_Lakhin··on Why split lexing and parsing into two separate phases?
ah, I apologize for misdirection. In general it could be much bigger of course. Wikipedia[1] says Utf-8 can encode up to 1,112,064. Anyway, it is quite big "alphabet" than the usual set of Lexis Tokens :)

[1] https://en.wikipedia.org/wiki/UTF-8

Eliah_Lakhin··on Why split lexing and parsing into two separate phases?
I think it depends on how the recovery path is made.

During the lexical scanning stage you can persist the token's source code sites, and later reuse them to indicate syntax or similar errors.

For example, in Rust when you parse the syntax from the TokenStream of a procedural macro input, you can bind custom errors to any spans of input tokens, and it works just fine.

Eliah_Lakhin··on Why split lexing and parsing into two separate phases?
Well, my personal experience was in the opposite direction actually.

I used to use combinators-based approach without Lex/Syn separation (aka PEGs) for a long time. But then I came up to understanding that the separation approach is actually better in performance. And also that working and debugging of the Token sequences while writing parser manually is just more handy (at least for me).

But this is my personal experience of course. I do believe too that it all depends on the goal, and parsers micro-optimizations is not that much critical in many cases, and that combinators approach actually works quite well too.

As of Nom, I can say that it works quite well. But I think that the it's performance gains stem from the fact that Rust is a systems-based PL, and it optimizes function combinations just better than, let say, JavaScript or Python.

In my incremental parsers library Lady Deirdre I utilize Lex/Syn separation, and the LL(1) recursive-descend parsing, and it shows much better performance than in Tree-Sitter at least on relatively big files [1].

[1] https://github.com/Eliah-Lakhin/lady-deirdre/tree/master/wor...

Eliah_Lakhin··on Why split lexing and parsing into two separate phases?
The Unicode input alphabet is up to 4096 symbols.

The Lexer's output alphabet (a set of tokens) which is an input for a Parser is up to a few tens of symbols at worst. The smaller alphabet the easier it is to make efficient recursive decent parser.

Regular expressions are Finite-State Machines under the hood. There exist one single minimal deterministic FSM per any Regex. And that model is the best in performance. In contrast, for context-free grammars we don't have such unique computation model that would be best in performance. Because of this it is reasonable to separate a Regex-based part of the grammar (the Lexing part) and treat it independently.

Also, when parsing, perhaps it would be easier to recover from input syntax errors from the Token-based input rather than Unicode-based input.

Finally, my personal opinion is that if you write a recursive-descend parser manually, it would be really easier to reason about just the limited number of token classes rather than the entire Unicode alphabet.

Eliah_Lakhin··on Ask HN: Do you hate software engineering but love programming?
I prefer to use term "programmer" to describe to people who I am, rather than "software engineer" etc. And because programming is what I truly love to do.

Even though, in my resume I use Software Engineer/Developer of course, because "programming" does not bring you money.

Why so? To be honest, I think that we, the programmers, rarely make real things. Real developers make buildings, software developers do not make anything real rather than text on computer screens.

In its root the purpose of programming as a job was developing programs that would automate processes of real economics. E.g. to automate industries(manufacture lines) or maybe to optimize transportation logistics. Today's economics is post-industrial economics. Basically, the economics that focuses on control of human attention and selling this "control" to other actors. Computer technologies is a big part of it, but it is loosely connected to automation.

Only a limited number (a big number, but still limited) of people are capable to program. This is quite specific kind of mind. And only a small subset of programmers are capable to think in terms of programming and in terms of how to influence other people (the true value of post-industrial economics) at the same time. So, the ordinary programmer, to be honest, does not fit well in this system.

On the other hand there are a lot of people who can't program, and they loosely understand computer systems, but they are good at the art of spreading influence. These people are primary agents of post-industrial economics, and they are truly rule this system. They occupy high positions in companies and corporations, and they spread their way of thinking and ways of management to other minorities (including programmers).

We, the programmers, have to deal with this situation somehow if we want to have our part of the economic pie. Perhaps, through the trade-offs and compromises. But we have to admit that we are only minor cogs in this system. That is how it is in the current Economic Formation.

Looking for better jobs in companies that value pure programming would inevitably imply of looking for companies that don't perform well in the post-industrial economics.

The solution that I see is to do an ordinary "software engineering" job the way the rulers of the System want us to do it, and in the way we don't like to do it. At the same time we can working on the stuff that we love, and in the way we love to do it solely (or maybe with cooperation with other programmers). This is the best practical compromise that I can think of.

Eliah_Lakhin··on Work life balance is impossible
In Russia it is slightly different.

Due to a number of good things inherited from the Soviet epoch. Working for money is imperative here too, but I would say it is bounding you on lesser extent.

University education is free, the government is fully subsidized a huge part of students. Base medicine is free, and the paid medicine of good quality is cheap even if you don't have regular Insurance. Electricity and other utility bills are relatively cheap. A number of common goods and food is cheaper than in the western countries. What's most important in my opinion that a lot of young people are inheriting real property from their grandparents. It's not always the house of your dream(usually small flats), but you gain a place to stay in and to start with for free.

And the country itself is relatively well developed in terms of common services and the opportunities you have around. By GDP(PPP) the country is around Germany[1].

All in all, here in Russia you may have an opportunity to make a work/life balance relatively easier than in Europe or North America.

It's sad to face that a lot of young people are looking for emigration.

I had been travelling a lot, and I was fascinated by the developed countries of the West too for many years when I was younger. I don't want to underestimate the opportunities you may have abroad, and also I don't want to underestimate the problems we have here in Russia. But honestly speaking in my opinion it is much harder to survive in the West than in the post-soviet countries.

[1] https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)

Eliah_Lakhin··on Ask HN: How to fund personal CS research if you are from Russia?
Thanks! That's what I think he should do too. My question was basically if there are other options for researchers like him. Such that he could work on his work directly. Mobile dev is something he could do, and he could do it well, but it is unrelated to his primary research goals.
Eliah_Lakhin··on Ask HN: How to fund personal CS research if you are from Russia?
Thank you for your reply! One of the areas is incremental compilation, he is working on a technology to construct incremental compilers of custom programming languages. This is a semi-research and semi-engineering problem.

To start, how do you think where or who could he ask to estimate of such work?

Eliah_Lakhin··on Show HN: Alumina Programming Language
I'm currently working on a project similar to Tree-Sitter.

Basically, it is going to be a full-featured Compiler front-end foundation library with incremental parsing capabilities, error recovering, AST manipulations, etc, but written entirely in Rust, and hopefully with more user-friendly API for Rust devs.

May I ask you to give me some feedback on your experience with Tree Sitter, and the challenges you faced during the development of your compiler's front-end?

Thanks in advance!

Eliah_Lakhin··on Papers on GitHub Copilot, copyright law, and ownership for AI-generated code
Thank you for your comment, Enriquto!

> Do you have a reference for that?

I didn't talk just about FSF, but about the free software movement in general. Of course individual members may have different points of view.

For reference example. In the chapter "On Copyleft Maximalism and Unilateral Capitulation" of the first Article in the Thread's link:

"""

Draconian copyright law generally horrifies software freedom activists for good reason. Nearly all copyleft activists would prefer a true, multilateral rewriting of copyright rules that prioritized the interest of the general public and software rights. Copyleft exists primarily because of the long-standing political non-viability of a copyright law reboot. Nothing has changed in this regard; if anything, changing legislation has become an even more expensive lobbying proposition than it was at copyleft’s advent. Copyleft activists should expect, indefinitely, for proprietary software companies and media oligarchs to control copyright legislation.

"""

Source: https://www.fsf.org/licensing/copilot/if-software-is-my-copi...

Eliah_Lakhin··on Papers on GitHub Copilot, copyright law, and ownership for AI-generated code
Informally speaking, the idea of the free software movement and the copyleft specifically was born as a response to fundamental conflict between a business environment that in its ultimate goal wants to have a full control over the software and independent individual creators who just want to be free in creativity and are fine to share their work with anyone who also follows these principals in some way.

The members of the movement are also quite often criticizing Copyright laws. While I agree that the law is not ideal, to my vision the Berne Convention foundations are on the individual creators side. Fighting against Copyright, in my opinion, is a shooting yourself in the foot.

I'm not a big fan of the FSF and other similar movements rhetoric because of this(even though, I agree with some points). If creators just want to share their work with other people, and they don't care about the business "plutocracy", they can offer a License contract that would simply restrict the work usage by individuals only. It could still be a free of charge License that would allow even commercial use of the work, but the License should grant permissions to individuals only who are not representing a 3rd party interests(a business in particular). Such License is not a FOSS License in common sense, but in my opinion it could solve the initial goals laying behind the FOSS movements true intentions.

← PreviousPage 2 of 2