HNHacker News
TopNewBestAskShowJobs

ternaus

444 karma · joined August 14, 2019

If AlbumentationsX is useful for your work, please give it a GitHub star:

https://github.com/albumentations-team/AlbumentationsX

Stars help demonstrate real-world adoption when we apply for grants that fund open-source maintenance, testing, documentation, security improvements, and new features.

submissionscomments
ternaus··on Open Source as We Know It Is Dead
Learned from this thread that I can disable PRs from external contributions.

Enabled this feature.

Earlier in the days, PR was better than issue, now, I prefer and issue, as Codex with my guidance can create a much better PR.

ternaus··on OSS, security and Funding: libjpeg-turbo
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/918#is...
ternaus··on How to read more books
Audiobooks is the magic trick.

I listen them in the gym between sets, I listen them in the car, in the plane, in taxi, doing chores at home and in any other place where you cannot do more useful things, and you cannot read as well.

Five minutes here, ten there and it adds quite fast.

[1] I cannot consume every book as audiobook, some are so dense in material, that it requires actual reading.

[2]Not every book exists as audio book and not every book has a good narrator, which is quite important.

but:

[1] Quite often, you can listen them in parallel to other activities. [2] When you are driving with someone, listening audiobook together adds plenty of interesting topics to discussions after the drive + bonding experience (you are doing something together, you are focussing on the same thing together) [3] You can listen with various speeds, and for me, so far it went up to 1.5x on some books, which speeds up the process.

--- I do not have a problem to find books to read or listen as author of the post. My "To Read" list grows much faster than the information I consume.

ternaus··on Codex for open source
Same here, 15k stars, 150M downloads and never heard back.
ternaus··on OpenCV 5 Is Here: The Biggest Leap in Years for Computer Vision
To the question about OpenCV peformance to measure JPEG image decoding sequentially and as a part of the PyTorch Dataloader.

TL;DR

OpenCV is fast, but torchvision is faster.

https://arxiv.org/abs/2605.08731

ternaus··on OpenCV 5 Is Here: The Biggest Leap in Years for Computer Vision
Image augmentations library Albumentations is heavily based on OpenCV, which allows it to beat torchvision, Kornia, PIL, and other similar libraries.

But there is still a huge room for improvement in terms of performance, as for some low level operations StringZilla or Numkong are faster, for some, especially for float32 images, numpy is the best.

The most annoying component is that OpenCV is limited to input shapes like (H, W, C), which limits its application to videos and volumes with shapes (X, H, W, C)

ternaus··on PyTorch Landscape
It is already there.

Submitted 3 weeks ago: https://github.com/pytorch-fdn/ecosystem/issues/67

ternaus··on PyTorch Landscape
What is sad is that: - many projects are arrived. - It is unclear who is responsible for the updates.

I work on one of the projects in the list, need to update a link to the project, as old one is not actual anymore. And unclear how to do it => at least with respect to my project Albumentations, the landscape is outdated :(

--- Also, added the project to the Pytorch Ecosystem many years back, but if you ask me about practical value of being the part of the Ecosystem, I would not be able to tell you anything useful.

ternaus··on Talking to strangers at the gym
Reminds me approach that you get in nearly every book on "How to meet girls".

Systematic, efficient.

Played this game myself. And I did it when moved to the US with a limited English and lack of understanding of the local culture and traditions.

After a few years of dedicated practice, moved me from the state that author describes to the complete lack of fear talking to strangers, I can easily make nearly ever conversation warmer, deeper and more relaxed.

------

A couple more comments, based on personal experience:

[1] It works better if place where you meet is your deep comfort zone, a very familiar place

- gym, if you are going there for some time, know where each type of equipment is. - dance venue that you were going dancing for a while - art class - etc

[2] It helps a lot if you are quite proficient in the activity, expertise brings respect, and higher social status by itself, even when you do not talk to anyone.

[a] in the gym ideal technique > strength > looks / size of your muscles.

- Third class in powerlifting, based on Soviet grading system is a threshold, passing which life changes (question of months, maybe a year). You get more respect from men and curiosity from women, and you get more confident, because you got stronger: https://www.sportscategory.info/en/powerlifting - As your shoulders get broader, fat fat percentage goes down - it improves your appearance -> your confidence -> helps as well.

[b] Dance venue is a great place to meet people and address your fears / issues. Rule of the game - during the class before the social part teacher makes you switch partners => you will be forced to introduce yourself to the partner, this person cannot turn away and will need to reply, introduce themselves.

Later when social part starts - people switch partners every dance => - you start with inviting for a dance people whom you already met during the introductory class. - In 3 hours of social dancing you dance with 20+ people - As your skill grows (question of weeks-months) and dancing with you is not torture anymore, but quite the opposite - it is enjoyable => you get more relaxed, people want to dance with you => conversations start all the time - In dancing, as a man you lead, and this transfers to other activities (helped to become a lecturer teacher in University), but you also better lead the conversation. I.e. it is not a random exchange of information anymore, but you can vary it's direction and emotional component.

--- [3] Some places are better than others.

It is good to go to the gym, to get more friends, but not directly. I do not like talking to people in the gym, I suspect that other people as well.

you are recovering between sets, focussing on the audiobook, moving weights - you are always busy with something. I also heard that women do not like talking to men in the gym as they may feel "no in the best form", i.e. for her - talking to men feels comfortable, when she took shower, picked a cloths that fits her, not when she is sweaty, struggling with weights and sees other ladies in the gym who are more fit.

Places like:

- climbing gym <- very social activity where you solve same problems - trying to climb a route. You can just tell someone who struggled to climb a bouldering problem something like: "Nice!", "Good job!", "Well done", and ask for a tip.

Ot if you already climbed it - give a tip yourself. These are natural openers.

If you climb similar level of problem, you will get stack in the gym in the same spots, taking a break between tries - universe will force you to talk and socialize.

- Dance venue, as I mentioned above - Hikes - any types of group classes: scuba diving, wine tasting, art classes, etc will do the job quite well

ternaus··on [dead]
I wrote a long practical guide on image augmentation based on ~10 years of training computer vision models and ~7 years maintaining Albumentations.

Despite augmentation being used everywhere, most discussions are still very surface-level (“flip, rotate, color jitter”).

In this article I tried to go deeper and explain:

• The *two regimes of augmentation*: – in-distribution augmentation (simulate real variation) – out-of-distribution augmentation (regularization)

• Why *unrealistic augmentations can actually improve generalization*

• How augmentation relates to the *manifold hypothesis*

• When and why *Test-Time Augmentation (TTA)* helps

• Common *failure modes* (label corruption, over-augmentation)

• How to design a *baseline augmentation policy that actually works*

The guide is long but very practical — it includes concrete pipelines, examples, and debugging strategies.

Would love feedback from people working on real CV systems.

Link: https://medium.com/data-science-collective/what-is-image-aug...

ternaus··on UK graduates share their job-hunting woes amid the AI fallout
If standard approach does not work => time to learn how to work hard:

[1] For every position you look for people at LinkedIn in that company. If you are already connected ask for referral.

[2] If not, look for common connections that can introduce you.

[3] If there is none => send request for adding everyone from the company to the friends.

[4] Message everyone, inviting for a coffee or virtual chat to learn about the company.

[5] If you believe that you are a good fit => say this.

----

And you spend first 4 hours of every day messaging, messaging, messaging. The response rate will be low. But you need only one job.

----

And if you do it for 6 months every day, there is no way you will not get many interviews.

----

Every interview you fail => you extensively study to address limitations of your skillset.

-----

Basically, there is no: "I have a degree, hence I deserve a job", but there is: "hard work is the goal".

-----

P.S. Somehow blog post reminds me why online dating is not working that well for men. Competition is enormous, the number of ladies is limited and things like: "I am an average man, hence I deserve attention from ladies" does not work as well

ternaus··on Show HN: We developed an AI tool to diagnose car problems
Does it work better than inputing the same information to ChatGPT?
ternaus··on Show HN: I built a entire blogging platform just for myself lol
On a parallel note. I did not find good engine for the python package documentation, built such an engine myself: https://albumentations.ai/
ternaus··on The force-feeding of AI features on an unwilling public
> They wanted it. They paid for it. They enjoyed it. The counter example is open-source software.

If we talk about popular packages: - people want it - people enjoy it - people do not pay for that

But force-feeding with strict licenses like Ultralytics does works. Yes, it is force-feeding, but noone wants to pay the price, unless there is no other choice.

ternaus··on Adding a feature because ChatGPT incorrectly thinks it exists
If there is a strong demand for a feature, regardless of the source of the request - good enough reason to add it.
ternaus··on Vibe-Engineering: When AI Does All the Coding, What Do We Do?
Do it in a very similar way in Cursor:

Steps: [1] Add pre-commit hook [2] Write design doc as mdc file to .cursor/rules [3] Iterate on design doc till it describes what I want [4] Ask to write the code [5] Where possible - extend the test suite. [6] On every commit check that pre-commit hook checks and tests pass [7] On every bug extend the test suite [8] Write as many as possible custom pre-commit hooks [9] Add extensive docstrings to the complex code -> adds extra context to the LLM [10] Iterate [11] From time to time ask to verify that design doc is up to date

ternaus··on Hidden interface controls that affect usability
I am all for intuitive interfaces, but I am also a big proponent of learning hot keys in every program I work with.

It would be better for design to be intuitive, but you struggle only the first time, while interfaces overloaded with information will take some of your attention every time you look at them

ternaus··on Graph foundation models for relational data
Interesting representation. Not rows in the database as samples and columns as features, but a whole graph.

Makes training much more flexible, and fine tuning as well. Now, when a new data in terms of samples or new tables are connected to the olds ones you just extend the existing graph, without changing its existing morphology much.

Although it is unclear if it is scientific: "Look how cool we can do" or business result: "Look how much value do we get from this representation"

ternaus··on Show HN: HardView – Cross-platform Python module for detailed hardware info
Really nice.

Useful by itself, but I suspect that will get even more adoption in industry in the telemetry as details statistics about users is ultra valuable.

ternaus··on Local-first software (2019)
"it is desirable for the software to run as a locally installed executable on your device, rather than a tab in a web browser."

An OS agnostic apps, meaning web apps is such a killer feature. You can use the same app on: Linux, Mac OS, Windows, Android, iOS

Even more, developing for web is typically faster. You made the change in the code => you see the result on the screen. For example: phone apps written in swift could be faster than ones written in react-native, but it is so annoying waiting for the compilation to finish after every small change.

----

When I worked on imagery data in an autonomous vehicles company product managers pushed us to explore the data in the cloud and it was soooo inconvenient.

As the result, PMs were ignored and everyone had a personal desktop with GPUs and fast SSDs that had the local copy of the data, so that debugging, prototyping would be fast.

As lag that one gets working with a heavy data remotely reminded moving back from SSD to slow HDD, where you needed to wait some time to see the result on the screen.

It was only half a second every time, but felt ultra annoying.

ternaus··on Measuring the impact of AI on experienced open-source developer productivity
I guess, I am experienced open-source developer

(https://github.com/albumentations-team/Albumentations)

15k stars, 5 million monthly downloads

----

It may happen that Cursor in the agentic mode writes code slower than I am. But!

It frees me from being in the IDE 100% of the time.

There is infinite list of educational videos, blog posts, scientific papers, hacker news, twitter, reddit that I want to read and going through them, while agents do their job is ultra convenient.

=> If I think about "productivity" in a broader way => with Cursor + agents, my overall productivity moved to a whole another level.

ternaus··on My open source project was relicensed by a YC company [license updated]
Not directly related but still.

A couple weeks ago I:

1. forked repository of the Albumentations library (15k stars, 5 Million monthly downloads, MIT license) and called it AlbumentationsX

2. changed the license of the fork to the Dual (restrictive AGPL to be used for free and permissive commercial if you buy license) => it is unlikely that it is legal to use it in your project as noone wants AGPL project in the list of dependencies

3. Arhived albumentations repo ---

People use albumentationsx (I can see pypi download stats + telemetry), but zero licenses were bought.

----

Coming back to the original post - what surprises me that they forked, but did not try to rewrite with LLMs. LLMs may not be that good writing complex functionality, but in rewriting something they are quite good.

In this sense, all open-source licensing is not as useful anymore as rewriting the code so that there is no way to proof the plagiarism is the new reality.

---

Looks like the future is: - closed source code - open source developed by companies that want to use it for lead generation

ternaus··on Albumentations: Licensing Change and Project Fork
[1] Open source image augmentations library Albumentations has passed 15k stars on GitHub and reached 94M+ total downloads (https://clickpy.clickhouse.com/dashboard/albumentations).

[2] Albumentations is no longer maintained.

What does this mean?

The library has been forked into a new project: AlbumentationsX. The corresponding Python package is: `albumentationsx`

It is a drop-in replacement for the original albumentations:

```bash pip uninstall albumentations pip install albumentationsx ```

Everything else stays the same:

```python import albumentations as A

transform = A.Compose([...]) ```

-----

Why?

The current situation

Over the past year, I’ve been the primary (and mostly only) maintainer of Albumentations. The original team has moved on, but usage and support needs have only increased: - Weekly issues, questions, and feature requests - Major companies using it in production - Sponsorships cover only 2.5% of my living expenses and 0.39% (0.0039) of what I was making as a full time employee

Companies generally don’t donate — but they do purchase licenses. The MIT model didn’t make long-term work sustainable.

-----

AlbumentationsX uses a dual license: AGPL / Commercial

- Using AGPL or a similarly restrictive open-source license? You can continue using AlbumentationsX under AGPL. - For companies, three paths: [1] Comply with AGPL by open-sourcing your full codebase [2] Purchase a commercial license → https://albumentations.ai/pricing [3] Keep using albumentations (MIT) — but with no updates or bug fixes

Quick comparison albumentations (original): - License: MIT - Actively maintained: No - New features: No - Bug fixes: No

albumentationsx: - License: AGPL / Commercial - Actively maintained: Yes - New features: Yes - Bug fixes: Yes - Code changes required: None

-----

What is AGPL?

AGPL extends the GPL to network services. If you use AGPL software in a hosted service or SaaS, you must:

- Disclose your full source code to users - Apply AGPL to your entire codebase

This applies even if users only interact with it via an API

If your project uses MIT, Apache, or BSD — you cannot use AlbumentationsX under AGPL. You’ll need a commercial license.

-----

Why this change makes sense?

Projects like Ultralytics YOLO have successfully adopted dual licensing to: - Fund full-time development - Deliver new features faster - Ensure long-term maintenance and support

My goal is the same: to work on AlbumentationsX full-time and keep it the best augmentation library available.

This model won’t suit everyone — but it enables sustainability, which the MIT model could not.

ternaus··on Ask HN: What are your favorite index ETFs for Investing?
The same, read a few books, all recommended more or less the same.

=> while was working full time and had income I've sold all stock that got from the employee and put into VTSAX.

Living from these money for the past few years in the Bay Area.

ternaus··on Ask HN: What sites are similar to Hacker News?
If you speak Russian: https://habr.com/
ternaus··on Show HN: Leaderboard of most downloaded PyPI packages
Merged ideas from https://hugovk.github.io/top-pypi-packages/

and Kaggle leaderboards.

=>

Shows list of top 1.5% (8000 out of 520,000) most downloaded PyPI packages.

Metric - the number of downloads in the past 30 days.

Also shows the change in:

- relative standing - the percent increase / decrease with respect to the last measurement.

ternaus··on [dead]
I am the guy behind Albumentations library. Feel free to ask any, including provocative questions. Will be happy to answer.
ternaus··on [dead]
Exploring Time and Frequency masking augmentations for EEG spectrograms.
ternaus··on Ask HN: Startups Interviewing Like FAANG
Do not do things that make you uncomfortable without good reason.

If you feel that interview process is not going as you expect it to go, you may just say:

" I understand that you have an established interview process that works for you, but it is not exactly as I imagined it.

Extensive interview process is a big time and energy investment. Before going this path I would like talk to the CEO to see if there is a match between what I could bring to the company and what company is looking for.

If it is not possible to have such a conversation, this is fine with me, I definitely do not want to push or convince you to do something you are not comfortable with.

But going throght the whole inteview process and realizing that there is no match only at the end is not really my flow. "

The drawback of this approach is that if they will reject your proposal for the meeting you will need to walk your walk.

ternaus··on Ask HN: What side projects landed you a job?
One of the members of the core team of our open-source library https://albumentations.ai/

It was not the only reason he was hired; it was a solid addition to his already good performance at the interviews.

Or at least that is what the hiring manager later said.

Page 1 of 4Next →