# id

Published articles for id.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Security Week 2637: взлом Dropbox через Lenovo ID

DevFeed: [Security Week 2637: взлом Dropbox через Lenovo ID](<https://devfeed.tech/articles/security-week-2637-dropbox-lenovo-id-23094.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/kaspersky/articles/1079346/>)

Author: Kaspersky\_Lab ("Лаборатория Касперского")

Published: 2026-09-07T20:01:45Z

Content type: news

Language: ru

Sources: ["Лаборатория Касперского" RU](<https://devfeed.tech/sources/ru-2.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [dropbox](<https://devfeed.tech/topics/dropbox.md>), [Google Chrome](<https://devfeed.tech/topics/google-chrome.md>), [V8](<https://devfeed.tech/topics/v8.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [WordPress](<https://devfeed.tech/topics/wordpress.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [chrome](<https://devfeed.tech/tags/chrome.md>), [dropbox](<https://devfeed.tech/tags/dropbox.md>), [google-chrome](<https://devfeed.tech/tags/google-chrome.md>), [id](<https://devfeed.tech/tags/id.md>), [lenovo](<https://devfeed.tech/tags/lenovo.md>), [news](<https://devfeed.tech/tags/news.md>), [openai](<https://devfeed.tech/tags/openai.md>), [security](<https://devfeed.tech/tags/security.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tag-9fe8963de219](<https://devfeed.tech/tags/tag-9fe8963de219.md>), [v8](<https://devfeed.tech/tags/v8.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>)

### AI overview

A weekly security roundup reports that several thousand Dropbox accounts were compromised through flawed Lenovo ID authorization. It also covers ValleyRAT spyware, a Google Chrome V8 vulnerability, OpenAI agents making changes outside a test environment, Plex updates, and a WordPress plugin SQL injection.

### Source excerpt

Как стало известно на прошлой неделе, несколько тысяч учетных записей в сервисе Dropbox были взломаны в период с 4 по 21 августа. Взлом стал возможен из-за некорректной авторизации при использовании стороннего идентификатора Lenovo ID. Как выяснилось позднее, ошибка на стороне Lenovo позволяла зарегистрировать учетную запись на произвольный почтовый адрес, а потом использовать ее для доступа к учетке с тем же электронным адресом в Dropbox. Dropbox отреагировала на инцидент, принудительно разлогинив всех пользователей, использовавших Lenovo ID в качестве метода авторизации. Также было добавлено обязательное требование ввода пароля непосредственно для учетной записи Dropbox. Читать далее

## Remittance Advice: What It Is, When to Send One, and Free Templates

DevFeed: [Remittance Advice: What It Is, When to Send One, and Free Templates](<https://devfeed.tech/articles/remittance-advice-what-it-is-when-to-send-one-and-free-templates-10308.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/remittance-advice-guide-templates/>)

Author: Aarthi Poonia

Published: 2026-06-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [Finance](<https://devfeed.tech/topics/finance.md>)

Tags: [accounting](<https://devfeed.tech/tags/accounting.md>), [ach](<https://devfeed.tech/tags/ach.md>), [b2b](<https://devfeed.tech/tags/b2b.md>), [bank](<https://devfeed.tech/tags/bank.md>), [batch](<https://devfeed.tech/tags/batch.md>), [glossary](<https://devfeed.tech/tags/glossary.md>), [id](<https://devfeed.tech/tags/id.md>), [payment](<https://devfeed.tech/tags/payment.md>), [payments](<https://devfeed.tech/tags/payments.md>), [reconciliation](<https://devfeed.tech/tags/reconciliation.md>), [saas](<https://devfeed.tech/tags/saas.md>), [saas-billing](<https://devfeed.tech/tags/saas-billing.md>), [saas-finance](<https://devfeed.tech/tags/saas-finance.md>)

### AI overview

A practical guide to remittance advice for B2B SaaS businesses. It explains what remittance advice is, when to use it for bank-transfer payments, the information it should contain, and how it supports invoice reconciliation.

### Source excerpt

Remittance advice explained for SaaS founders. What it is, when buyers and sellers send one, formats, and how modern billing automates the whole flow.

## OSPF Router ID and Loopback Interface Myths

DevFeed: [OSPF Router ID and Loopback Interface Myths](<https://devfeed.tech/articles/ospf-router-id-and-loopback-interface-myths-11267.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2025/10/ospf-routerid-loopback-interface-myths/>)

Published: 2025-10-21T06:14:00Z

Content type: article

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Networks](<https://devfeed.tech/topics/networks.md>), [Cisco](<https://devfeed.tech/topics/cisco.md>)

Tags: [cisco](<https://devfeed.tech/tags/cisco.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [id](<https://devfeed.tech/tags/id.md>), [interface](<https://devfeed.tech/tags/interface.md>), [ipv4](<https://devfeed.tech/tags/ipv4.md>), [networks](<https://devfeed.tech/tags/networks.md>), [ospf](<https://devfeed.tech/tags/ospf.md>), [router](<https://devfeed.tech/tags/router.md>)

### AI overview

The article explains that an OSPF router ID is a 32-bit identifier rather than inherently an IPv4 address. It recounts Cisco's historical router ID selection behavior, including the later use of loopback addresses for greater stability and the router-id command, and discusses Cisco IOS handling of duplicate router IDs.

### Source excerpt

Daniel Dib wrote a nice article describing the history of the loopback interface1, triggering an inevitable mention of the role of a loopback interface in OSPF and related flood of ancient memories on my end. Before going into the details, let's get one fact straight: an OSPF router ID was always (at least from the days of OSPFv1 described in RFC 1133) just a 32-bit identifier, not an IPv4 address2. Straight from the RFC 1133: Read more ...

## Announcing Docusaurus 3.0

DevFeed: [Announcing Docusaurus 3.0](<https://devfeed.tech/articles/announcing-docusaurus-3-0-40940.md>)

Original publisher: [Read original article](<https://docusaurus.io/blog/releases/3.0>)

Author: Sébastien Lorber

Published: 2023-10-31T00:00:00Z

Content type: release

Language: en

Sources: [Docusaurus Blog](<https://devfeed.tech/sources/docusaurus-blog.md>)

Topics: [MDX](<https://devfeed.tech/topics/mdx.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [React](<https://devfeed.tech/topics/react.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [changes](<https://devfeed.tech/tags/changes.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [id](<https://devfeed.tech/tags/id.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [mdx](<https://devfeed.tech/tags/mdx.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [v3](<https://devfeed.tech/tags/v3.md>)

### AI overview

Meta Open Source announces Docusaurus 3.0, a major release with upgraded dependencies and documented breaking changes. The release upgrades Node.js, React, MDX, and TypeScript versions, while Docusaurus 2 enters maintenance mode with security support for three months.

### Source excerpt

Today, we are happy to announce Docusaurus 3.0! 🥳

## Fixing the Docker Permission Denied While Trying to Connect to the Docker Daemon Socket Error

DevFeed: [Fixing the Docker Permission Denied While Trying to Connect to the Docker Daemon Socket Error](<https://devfeed.tech/articles/fixing-the-docker-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket-error-28158.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/docker/2020/06/10/fixing-the-docker-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket-error.html>)

Author: Fuzzygroup

Published: 2020-06-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Ansible](<https://devfeed.tech/topics/ansible.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [docker](<https://devfeed.tech/tags/docker.md>), [id](<https://devfeed.tech/tags/id.md>), [linux](<https://devfeed.tech/tags/linux.md>), [permission](<https://devfeed.tech/tags/permission.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

This tutorial explains how to fix Docker permission errors when connecting to the Docker daemon socket on Ubuntu. It recommends adding the user to the docker group, logging in again, and verifying group membership with the id command, and includes an Ansible task for applying the change.

### Source excerpt

I recently had the situation where even the simplest docker command: docker run -it bash gave this error: docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'. The solution for this is actually pretty simple: Add your user to the docker group. Since I was running Ubuntu linux, the default user is also ubuntu and then command is: sudo usermod -aG docker ubuntu And then you have to log out and log back in or u -s ${ubuntu} Here's an ansible task which you can drop in a playbook to accomplish this: - name: Update the ubuntu user to be part of the docker group user: name: ubuntu shell: /bin/bash groups: docker append: yes Verifying this If you need to validate what groups a user is in then use: id -nG ubuntu Note: Thanks to Don Neufeld for teaching me this command; somehow despite N decades of unix experience, I missed the id command. Bizarre. See Also Here's a good article from Digital Ocean on this.

## Restart ID sequences in Postgres on Truncation

DevFeed: [Restart ID sequences in Postgres on Truncation](<https://devfeed.tech/articles/restart-id-sequences-in-postgres-on-truncation-28329.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/sql/2020/03/13/restart-id-sequences-in-postgres-on-truncation.html>)

Author: Fuzzygroup

Published: 2020-03-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [activerecord](<https://devfeed.tech/tags/activerecord.md>), [csv](<https://devfeed.tech/tags/csv.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [id](<https://devfeed.tech/tags/id.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [rails](<https://devfeed.tech/tags/rails.md>), [sequences](<https://devfeed.tech/tags/sequences.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

A tutorial on resetting PostgreSQL ID sequences when truncating tables, including a Rails implementation using ActiveRecord. Resetting sequences keeps identifiers consistent when rebuilding data from the same CSV files in development and production.

### Source excerpt

Note: This is from a real world thing that I'm about to release. Like a lot of database apps in the world, mine generally tend to use auto incrementing ids for object identifiers. An object identifier is a value in a system which uniquely identifies something. Let's say you have a url like this: http://localhost:3169/locations?country_id=91 What that is saying, under the hood, is "Get the data from the locations store and give me the object with id value 91". The thing that I'm currently building is populated with a bunch of data which is coming from CSV files that I'm loading from the Internet and I need to wipe the data in the system every time it rebuilds. Now when I say location store, I mean, in this case, a locations table in a Postgres database. When you wipe the contents of a table in Postgres you end up with the next object in the table getting the last ID value plus 1. The secret is to add this snippet to your truncation routine: RESTART IDENTITY or in full: TRUNCATE states RESTART IDENTITY And in Rails I have this implemented on all my core classes as: def self.truncate ActiveRecord::Base.connection.execute("TRUNCATE states RESTART IDENTITY") end Since this is a def self., think of it as a C style static thing. By defining it this way, I can simply call it as State.truncate to eliminate all data in my states store (ok its is a table but it could be more complex) and restart my ID sequences. And in cases it wasn't clear exactly why you want this, since I'm processing the same data files in Production as in Development, my bookmarks become consistent allowing easier debugging.

## How Do You Know What ActiveRecord Table Has a user\_id Attribute?

DevFeed: [How Do You Know What ActiveRecord Table Has a user\_id Attribute?](<https://devfeed.tech/articles/how-do-you-know-what-activerecord-table-has-a-user-id-attribute-28248.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/rails/2019/12/28/how-do-you-know-what-activerecord-table-has-a-user-id-attribute.html>)

Author: Fuzzygroup

Published: 2019-12-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [data-modeling](<https://devfeed.tech/topics/data-modeling.md>), [business logic](<https://devfeed.tech/topics/business-logic.md>)

Tags: [active-record](<https://devfeed.tech/tags/active-record.md>), [activerecord](<https://devfeed.tech/tags/activerecord.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [class](<https://devfeed.tech/tags/class.md>), [classes](<https://devfeed.tech/tags/classes.md>), [console](<https://devfeed.tech/tags/console.md>), [development](<https://devfeed.tech/tags/development.md>), [id](<https://devfeed.tech/tags/id.md>), [jumpstart](<https://devfeed.tech/tags/jumpstart.md>), [metaprogramming](<https://devfeed.tech/tags/metaprogramming.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [rails](<https://devfeed.tech/tags/rails.md>), [relationships](<https://devfeed.tech/tags/relationships.md>), [schema](<https://devfeed.tech/tags/schema.md>), [table](<https://devfeed.tech/tags/table.md>)

### AI overview

This article explains how to identify application classes whose ActiveRecord-backed tables have a user_id attribute. It introduces a DataObject class with a .has_user_id method that can be run in the console, helping the author add belongs_to user relationships without repeatedly checking the schema.

### Source excerpt

Even though I'm a firm, firm believer in agile, I've recently been experimenting with a throwback to waterfall style development and it very quickly left me with a fully featured data structure of tables and relationships modeled as example data. What I did is very rapidly write a series of migrations and then populate them to represent a sample "installation". My goal with this approach was to play to my strengths - data modeling - and avoid getting tied down in user interface stuff (my weakness). This was a very, very interesting approach and what I found was that I got much further along the lines of the "guts" of an application simply because I never got discouraged by: Oh Shite - I know this should look good but I'm too much of a hoser to make it look good; I guess I'll put it aside and go watch TV The downside to this is that I never bothered setting up the normal associations that you do when you write a migration; I simply thought about this application in terms of the example data: the users who would be using the system the data objects that they would create how the data objects would interact with each other One of the things that I noticed when I started filling in the basics like "belongs_to :user" was that I kept constantly jumping between the class I was working on and the schema file. Finally it hit me - what I needed was a method that I could execute in the console that would tell me what classes had a user_id attribute. And so I wrote a class called DataObject (for an ActiveRecord class which stores data) and a method .has_user_id. What I was looking for was output that looked like this: > DataObject.has_user_id Initiative Yes - has a user_id field KeyResultOwner Yes - has a user_id field KeyResult Yes - has a user_id field ObjectiveOwner Yes - has a user_id field ObjectiveType Objective Yes - has a user_id field OkrTeamMember Yes - has a user_id field OkrTeam Yes - has a user_id field OrganizationGroup Organization Quarter ResponsibilityRole Stat

## Bullet Proofing Django Models

DevFeed: [Bullet Proofing Django Models](<https://devfeed.tech/articles/bullet-proofing-django-models-33891.md>)

Original publisher: [Read original article](<https://hakibenita.com/bullet-proofing-django-models>)

Author: Haki Benita

Published: 2016-10-25T21:00:00Z

Content type: tutorial

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Django](<https://devfeed.tech/topics/django.md>), [Development](<https://devfeed.tech/topics/development.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [articles](<https://devfeed.tech/tags/articles.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [django](<https://devfeed.tech/tags/django.md>), [id](<https://devfeed.tech/tags/id.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [models](<https://devfeed.tech/tags/models.md>), [orm](<https://devfeed.tech/tags/orm.md>), [web-interface](<https://devfeed.tech/tags/web-interface.md>)

### AI overview

This tutorial explains patterns for designing Django models for a bank-account-like feature. It starts with business requirements, then covers account uniqueness, public and private identifiers, deletion protection, balance limits, and action logging through balance deltas.

### Source excerpt

We recently added a bank account like functionality into one of our products. During the development we encountered some textbook problems and I thought it can be a good opportunity to go over some of the patterns we use in our Django models.

## Thoughts on Atom Building in the Pattern Library

DevFeed: [Thoughts on Atom Building in the Pattern Library](<https://devfeed.tech/articles/thoughts-on-atom-building-in-the-pattern-library-27944.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2016-06-16-thoughts-on-atom-building-in-the-pattern-library/>)

Author: Ian Devlin Lead Developer; Working; Accessibility Follow

Published: 2016-06-16T00:00:00Z

Content type: opinion

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [aria](<https://devfeed.tech/tags/aria.md>), [building](<https://devfeed.tech/tags/building.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [design](<https://devfeed.tech/tags/design.md>), [flexibility](<https://devfeed.tech/tags/flexibility.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [id](<https://devfeed.tech/tags/id.md>), [library](<https://devfeed.tech/tags/library.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [templates](<https://devfeed.tech/tags/templates.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

A personal reflection on designing reusable UI atoms in trivago's Twig-based Pattern Library. Using a button as an example, the article examines the trade-off between an atom's simplicity and the flexibility needed for text, classes, event listeners, IDs, attributes, WAI-ARIA attributes, and disabled states.

### Source excerpt

At trivago we are building and using a Pattern Library which is based on Brad Frost's Pattern Lab adapted to our needs; our patterns are written in Twig. This Pattern Lab is based around Brad's Atomic Design, which is also something that we are embracing.

## reptyr: Changing a process's controlling terminal

DevFeed: [reptyr: Changing a process's controlling terminal](<https://devfeed.tech/articles/reptyr-changing-a-process-s-controlling-terminal-21928.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/2011/02/changing-ctty/>)

Author: Nelson Elhage

Published: 2011-02-08T23:06:50Z

Content type: article

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [Process](<https://devfeed.tech/topics/process.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [id](<https://devfeed.tech/tags/id.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [process](<https://devfeed.tech/tags/process.md>), [systems](<https://devfeed.tech/tags/systems.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

The article explains how reptyr moves a running process from one terminal to another by attaching with ptrace, opening the new terminal, and redirecting standard output and error. It also describes UNIX controlling terminals, sessions, process groups, and restrictions involving ioctl and setsid().

### Source excerpt

reptyr (announced recently on this blog) takes a process that is currently running in one terminal, and transplants it to a new terminal. reptyr comes from a proud family of similar hacks, and works in the same basic way: We use ptrace(2) to attach to a target process and force it to execute code of our own choosing, in order to open the new terminal, and dup2(2) it over stdout and stderr.