Обновить
40
Александр Сапожников@shoorick

Пользователь

11
Подписчики
Отправить сообщение

Знание Delphi — не нонсенс, а ниша :-)
Вот совсем недавно, буквально месяц назад переводил одному заказчику код с Delphi на php.

На сочетании разных навыков вполне можно зарабатывать, хоть и не так часто, как хотелось бы. Ещё пример: на Апворке как-то заказчик искал перлового программиста со знанием хотя бы основ нотной грамоты, а в идеале (заказчик не надеялся его достичь) ещё и знакомого с набором нот в программе LilyPond. Мы пересеклись — клиент получил желаемое, я заработал. Не умел бы я одновременно и программировать, и ноты набирать — остался бы без денег.

Бывают и не начинающие, которые ещё помнят, что это Организация освобождения Палестины^W^W^W^W^W^W^W это ООП проходили в прошлом веке, а после этого писали на чём-нибудь, не особо это ООП требовавшее.

А вот в перле, например, можно в регулярных выражениях использовать модификатор x — он позволяет игнорировать пробелы (точнее пробельные символы сами по себе, а не \s), записывать выражение в несколько строк и добавлять комментарии. Получается достаточно удобно (пример из Mojo::Date):

my $RFC3339_RE = qr/
  ^(\d+)-(\d+)-(\d+)\D+(\d+):(\d+):(\d+(?:\.\d+)?)   # Date and time
  (?:Z|([+-])(\d+):(\d+))?$                          # Offset
/xi;

или даже так (из Mojo::DOM::HTML):

my $TOKEN_RE = qr/
  ([^<]+)?                                            # Text
  (?:
    <(?:
      !(?:
        DOCTYPE(
        \s+\w+                                        # Doctype
        (?:(?:\s+\w+)?(?:\s+(?:"[^"]*"|'[^']*'))+)?   # External ID
        (?:\s+\[.+?\])?                               # Int Subset
        \s*)
      |
        --(.*?)--\s*                                  # Comment
      |
        \[CDATA\[(.*?)\]\]                            # CDATA
      )
    |
      \?(.*?)\?                                       # Processing Instruction
    |
      \s*([^<>\s]+\s*(?:(?:$ATTR_RE){0,32766})*+)     # Tag
    )>
  |
    (<)                                               # Runaway "<"
  )??
/xis;

Ну... Я когда-то, пробуя Перл после Си (до этого была куча и других языков), тоже активно использовал строковые функции. Но потом втянулся, прочитал man perlre и пару перловых книжек — теперь спокойно пользуюсь регулярными выражениями. Правда, не везде их синтаксис одинаков.

Багзилла — на перле, Mantis — на PHP, Trac — на питоне, Redmine — на руби. Выбор есть :-)

Ну да, на моём ноутбуке её тоже нет. Но если я дома, то к ноутбуку подключена нормальная полноразмерная клавиатура со стандартной раскладкой — там нужная клавиш есть.

На OpenStreetMap — несколько видов карт и в том, который по умолчанию, границы достаточно хорошо видны.

По состоянию на март 2022 года справка об отсутствии судимости с апостилем стоила, если правильно помню, 2500 рублей. Да ещё и нельзя было оплатить сразу в месте получения — надо было идти ногами в банк и нести оттуда квитанцию.
Плюс перевод — конкретно мне обошёлся в 900, но зависит и от конторы, и от языка.

Я как-то задавался подобными вопросами. Выкрутился, задав в медиазапросах размеры в сантиметрах. Но это для случая, когда не используется Bootstrap — с бутстрапом использую встроенные в него значения.

Ну у меня наоборот — оттопыренный палец соответствует нулю, загнутый — единице. И самый младший разряд — на большом пальце правой руки.

man dot вам в помощь :-)

DOT(1)                                  General Commands Manual                                 DOT(1)

NAME
       dot - filter for drawing directed graphs
       neato - filter for drawing undirected graphs
       twopi - filter for radial layouts of graphs
       circo - filter for circular layout of graphs
       fdp - filter for drawing undirected graphs
       sfdp - filter for drawing large undirected graphs
       patchwork - filter for squarified tree maps
       osage - filter for array-based layouts

SYNOPSIS
       dot [options] [files]
       neato [options] [files]
       twopi [options] [files]
       circo [options] [files]
       fdp [options] [files]
       sfdp [options] [files]
       patchwork [options] [files]
       osage [options] [files]

DESCRIPTION
       These  are  a  collection of programs for drawing graphs.  There is actually only one main pro‐
       gram; the specific layout algorithms are implemented as plugins. Thus, they largely  share  all
       of the same command-line options.

       dot  draws directed graphs.  It works well on directed acyclic graphs and other graphs that can
       be drawn as hierarchies or have a natural ``flow.''

       neato draws undirected graphs using a ``spring'' model and reducing the related energy (see Ka‐
       mada and Kawai, Information Processing Letters 31:1, April 1989).

       twopi  draws graphs using a radial layout (see G. Wills, Symposium on Graph Drawing GD'97, Sep‐
       tember, 1997).  Basically, one node is chosen as the center and put at the origin.  The remain‐
       ing  nodes  are  placed  on  a sequence of concentric circles centered about the origin, each a
       fixed radial distance from the previous circle.  All nodes  distance  1  from  the  center  are
       placed  on the first circle; all nodes distance 1 from a node on the first circle are placed on
       the second circle; and so forth.

       circo draws graphs using a circular layout (see Six and Tollis, GD  '99  and  ALENEX  '99,  and
       Kaufmann and Wiese, GD '02.)  The tool identifies biconnected components and draws the nodes of
       the component on a circle. The block‐cutpoint tree is then laid out using  a  recursive  radial
       algorithm.  Edge  crossings  within a circle are minimized by placing as many edges on the cir‐
       cle's perimeter as possible.  In particular, if the component  is  outerplanar,  the  component
       will  have  a planar layout.  If a node belongs to multiple non‐trivial biconnected components,
       the layout puts the node in one of them. By default, this is the  first  non‐trivial  component
       found in the search from the root component.

       fdp draws undirected graphs using a ``spring'' model. It relies on a force‐directed approach in
       the spirit of Fruchterman and Reingold (cf. Software‐Practice & Experience  21(11),  1991,  pp.
       1129‐1164).

       sfdp  also  draws  undirected  graphs using the ``spring'' model described above, but it uses a
       multi-scale approach to produce layouts of large graphs in a reasonably short time.

       patchwork draws the  graph  as  a  squarified  treemap  (see  M.  Bruls  et  al.,  ``Squarified
       treemaps'',  Proc.  Joint  Eurographics and IEEE TCVG Symp. on Visualization, 2000, pp. 33-42).
       The clusters of the graph are used to specify the tree.

       osage draws the graph using its cluster structure. For a given cluster, each of its subclusters
       is laid out internally.  Then the subclusters, plus any remaining nodes, are repositioned based
       on the cluster's pack and packmode attributes.

dot — для ориентированных графов и всяких иерархий, neato — для неориентированных, circo и twopi — для разложенных по окружностям плюc ещё несколько.
https://graphviz.org/docs/layouts/ — тут подробнее.

Странно. Мне обычно хватает нескольких секунд даже когда е́ду. Воткнул нужную передачу — правая рука освободилась, ей же и пристёгиваюсь. Или вы всё время переключаете передачи?

Алэ́вн? Эллэвын? Илевын?

Практическое прдтверждение:
На моей машине подсветка климатических крутилок давно перегорела, но меня это не сильно волнует: любую из трёх (скорость вентилятора + рециркуляция, температура, направление обдува) я спокойно нахожу наощупь и также наощупь высталяю в нужное положение.

Но графвизом рисовать всё равно проще и быстрее — я проверял. Ну и помимо dot в его состав входят и другие утилиты для рисования графов.

Да хоть бы и неточно — если знать разницу между временем фотоаппарата и GPS-трекера, то можно указать смещение в уже упомянутом exiftool — оно там задаётся в секундах.
Когда я снимал обычными фотоаппаратами (а не телефоном, как сейчас), заметил, что часы там спешат и через какое-то время уже знал, как быстро в каждом фотоаппарате они убегают — потом просто перед каждым запуском привязки фотографий выставлял нужное смещение. Если считать лень, можно время от времени (ну не каждый день, чё уж) фотографировать навигатор (если там есть экран, где отображаются часы с секундами) и потом уже по этой фотке смотреть разницу между временем фотоаппарата и навигатора.

Я себе больше десяти лет назад написал скрипт для копирования и сортировки фоток — до сих пор пользуюсь.
https://habr.com/ru/post/128527/

В шестнадцатеричной не считаю, но в двоичной — вполне. Когда что-то надо посчитать, загибаю пальцы в двоичной системе — одной руки таким образом хватает, чтоб сосчитать от 0 до 31, двух — в теории до 1023, на практике — где-то до 80 доходил.

Ну так между шестнадцатеричной, двоичной и восьмеричной в уме преобразовывать гораздо проще, чем между любой из них и десятичной.

Информация

В рейтинге
Не участвует
Откуда
Челябинск, Челябинская обл., Россия
Дата рождения
Зарегистрирован
Активность