Сайт Романа ПарпалакаБлогКлючевые словаобзор

обзор

Codeium — нейросетевой помощник программиста

2 апреля 2024 года, 00:07

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

Как работает Codeium

Я установил его как плагин к PhpStorm. Для работы он требует войти в аккаунт, но регистрация бесплатна.

Пользователь взаимодействует с плагином двумя способами. Первый — автодополнение. Вы набираете код, останавливаетесь, и в этот момент нейросеть выдает возможное продолжение. Вот я написал название метода, остановился в начале пустого тела, и Codeium вывел серым предполагаемое начало кода:

После нажатия на tab и перевода строки нейросеть продолжает сочинять. Вот тут одним махом предлагает написать весь оставшийся код метода:

Нейросеть «поняла» из названия метода, что мне нужна версия алгоритма для вычисления расстояния Левенштейна между строками, корректно работающая с кодировкой UTF-8 (в PHP есть встроенная функция levenshtein(), но она правильно работает только для однобайтных кодировок). Идея алгоритма оказалась правильной, но с деталями не вышло: сравнение $a[$i - 1] === $b[$j - 1] берет не символы с соответствующими номерами, а байты. После исправления этого фрагмента на mb_substr($a, $i - 1, 1) === mb_substr($b, $j - 1, 1) код заработал правильно.

Второй способ взаимодействия — это чат. Он мне показался туповатым по сравнению с ChatGPT. Я так и не понял, лучше ли работают английские запросы, или можно писать по-русски. На скриншотах выше видны шорткаты для быстрой формулировки запросов в чате: Refactor, Explain, Docstring. Explain описывает на «человеческом» языке, что происходит в коде. Возможно, пригодится в командной работе, когда программист в основном разбирается в чужом коде, а не пишет свой. Я же пробовал Codeium на своем коде, о котором я и так всё знаю, так что описание мне не пригодилось.

Главный вау-эффект

Наибольшая помощь от «искусственного интеллекта» была в переписывании кода и конфигурации из одного формата в другой. Допустим, вы меняете формат какой-нибудь конфигурации из XML в JSON или заменяете множество вызовов одного API аналогичными вызовами другого. Из классических инструментов может помочь замена с помощью регулярных выражений или мультикурсор, да и то не всегда. В примере на скриншоте ниже поможет только ручное копирование каждого значения и ввод служебных символов. А с Codeium я скопировал старый код в новый файл, начал дописывать новый код, и он, распознав закономерность, стал предлагать в автодополнении правильное продолжение на основе старого кода.

Недостатки

Теперь о недостатках, куда же без них. Во-первых, Codeium может только добавлять код. Он не может предложить удалить какой-то фрагмент. Во-вторых, он подтормаживает. Тормозит и появление фрагмента для автодополнения, и последующее редактирование текста. Заметно, что автодополнение сделано не нативно — серый текст располагается не в какой-то выпадайке, а прямо внутри редактируемого текста. И если я не принимаю подсказу, нажимая tab, а продолжаю дописывать текст или передвигаю курсор стрелками, проходит заметное время, прежде чем серый текст удалится и появятся набираемые символы. А курсор при перемещении сначала попадает в серый текст, потом серый текст исчезает и курсор оказывается в нужном месте основного текста. После этого Codeium опять подумает и добавит новую версию серого текста с подсказкой. Даже если плагин не запутается и корректно допишет вводимые символы куда нужно и расположит курсор, такое поведение напрочь убивает мгновенную обратную связь при наборе текста и делает сам набор почти невозможным. Может эти недостатки — следствие ограниченного API плагинов в PhpStorm. Но сейчас всё работает не очень приятно.

Ненативность автодополнения проявляется еще, например, при переименовании. Вот здесь я переименовываю метод так, что PhpStorm заменит его вызовы по всему проекту. На этот режим указывает голубая рамка. Codeium умудряется дописать свое мнение еще и сюда, но сам PhpStorm о нем ничего не знает. Когда я применил подсказку пару недель назад и закончил переименовывать, PhpStorm заменил вызовы по всему проекту на недополненное несуществующее название. Сейчас при попытке воспроизведения tab в режиме переименования просто не работает, подсказка не применяется. То есть Codeium выдает свой вариант, но применить его никак нельзя.

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

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

Вывод

В процессе работы перевешивают то достоинства нейросетевого помощника, то его недостатки. Забавно наблюдать, как нейросеть «читает» твои мысли, выдавая ровно тот код, который ты сам собрался написать. Правда, происходит такое не всегда. Когда нейросеть предлагает нужные фрагменты кода, их надо тщательно проверить, как за программистом-стажером. В то же время при рефакторинге встроенными в PhpStorm инструментами я отключал Codeium, потому что тогда его подсказки бесполезны, а подтормаживания интерфейса мешают.

В общем, перспективы большие. Пользовательский опыт сейчас страдает. Пробуйте сами.

Да, и не забывайте о вопросах безопасности. Наверняка Codeium отправляет всё редактируемое на свои серверы. Я пробовал его на открытом опубликованном коде своего движка, так что дополнительно ничего «утечь» не может. Если хотите попробовать на работе — проконсультируйтесь с вашим отделом по информационной безопасности.

    Оставить комментарий

Мониторинг доступности сайтов в UptimeRobot

12 марта 2024 года, 00:54

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

На бесплатном тарифе есть ограничение — не больше 50 проверок, интервал не чаще чем раз в 5 минут.

Я подумал, что неплохо бы на моем сервисе генерации картинок с математическими формулами разместить информацию об аптайме, чтобы подтвердить фактами его надежность. UptimeRobot дает API, и я уже было хотел написать интеграцию и отображать данные в веб-интерфейсе сервиса. Но походил еще по личному кабинету и заметил, что в нем можно сделать отдельную страницу со статусом проверки. Вот что получилось у меня для Upmath:

В итоге я просто разместил ссылку на эту страницу, ничего программировать не пришлось. Кому интересно — пройдут и посмотрят. Данные выводятся по дням за последние 3 месяца, без выбора периода. Но зато они отображаются на домене мониторинга, так что вопросов к их объективности нет. Конечно, эту фичу со страницами статусов могут сломать или отключить. Но и API тоже могут отключить, и это было бы даже обиднее, если бы я потратил время на интеграцию.

Пока писал пост, подумал, что у UptimeRobot может быть реферальная программа. Такая программа оказалась, и я разместил реферальную ссылку. Хотя не думаю, что кто-то по рекомендации возьмет платный тариф. Мне, например, бесплатного более чем достаточно.

    Оставить комментарий

Мониторинг производительности приложений в New Relic

26 марта 2023 года, 00:03

New Relic — это набор инструментов для обеспечения «observability» веб-приложений, то есть наблюдения за их внутренним состоянием. Для меня самый полезный инструмент — APM, или мониторинг производительности.

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

Зачем нужен мониторинг производительности

Мониторинг производительности неоценим, когда сервис работает медленно или с перебоями, и нужно быстро понять причину.

Первый полезный экран — список запросов к базе данных. Можно выбрать какой-либо запрос (на скриншоте запросы на чтение к таблице users) и увидеть среднее время выполнения в миллисекундах (query time) и количество запросов в минуту (throughput). Кроме того, есть разбиение по источникам запросов (time consumption by caller), в котором видно, с каких страниц идут выбранные запросы.

Второй полезный экран с http-запросами ко внешним сервисам выглядит аналогично. Из него можно понять, идут ли запросы к внешним API и отвечают ли они в положенное время.

Третий полезный экран — список «транзакций». Под транзакциями нью-релик понимает действия в веб-приложении. Они делятся на веб-транзакции (обычно запросы и ответы через веб-сервер) и фоновые транзакции (обычно запуски консольных скриптов). По транзакциям также выводится их количество и среднее время выполнения (читай время ответа веб-приложения). Кроме того, доступна детализация, в которой видно, какие запросы или обращения к внешним системам происходят именно в этой транзакции и как долго они выполняются. Например, вот детализация по ответам публичной части моего сайта:

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

Например, на скриншоте выше время ответа веб-сервера составляло целых 4 секунды, а причина тому — запрос к БД. Сам запрос тоже можно открыть:

Обратите внимание на то, что все числа и строки в запросе заменены на знаки вопроса. Это сделано по соображениям безопасности для обезличивания возможных персональных данных в тексте запроса.

Установка и настройка

Установка нью-релика на сервер состоит из двух несложных частей (уровня apt install). Во-первых, нужно установить демон, который отвечает за отправку данных на серверы нью-релика. Во-вторых, нужно подключить нью-релик к вашему веб-приложению. Для PHP нью-релик устанавливается как расширение (*.so) и начинает работать после того, как вы скопируете в php.ini лицензионный ключ из личного кабинета на сайте. Расширение отправляет данные в процесс демона (очевидно, через сокет), а демон пересылает данные асинхронно. Благодаря такому подходу нет заметной просадки производительности.

Расширение нью-релика автоматически определяет и регистрирует запросы к базам данных, запросы через curl к внешним системам. Оно даже понимает, какой фреймворк используется, и берет названия маршрутов (routing) как названия транзакций. Данные на всех скриншотах выше собраны автоматически, для их сбора я ничего дополнительно не настраивал.

Продвинутое использование через API

Расширение нью-релика предоставляет API. Через него я определял свои транзакции из долгоживущих процессов и регистрировал метрики. Например, в сервисе генерации формул я профилирую некоторые шаги генерации как будто это обращения к некоторым базам данных (за это отвечает функция newrelic_record_datastore_segment(); возможно, тут подошли бы другие функции, но меня и так всё устраивает):

<?php

class Helper
{
    public static function newRelicProfileDataStore(callable $callback, string $product, string $operation, string $collection = 'other')
    {
        if (\extension_loaded('newrelic')) {
            return \newrelic_record_datastore_segment($callback, [
                'product'    => $product,
                'operation'  => $operation,
                'collection' => $collection,
            ]);
        }

        return $callback();
    }
}

// запуск внешнего процесса
Helper::newRelicProfileDataStore(
    static fn() => shell_exec($command),
    'shell',
    Helper::getShortCommandName($command)
);
                
// запрос по http на localhost
$optimizedSvg = Helper::newRelicProfileDataStore(
    fn() => file_get_contents($this->httpSvgoUrl, false, $context),
    'runtime',
    'http-svgo'
);

// "долгая" операция сжатия
$gzEncodedSvg = Helper::newRelicProfileDataStore(
    static fn() => gzencode($optimizedSvg, 9),
    'runtime',
    'gzencode'
);

Результат на скриншоте. Мы видим, что шаг по запуску латеха и генерации dvi-файла занимает примерно столько же, сколько отрабатывает dvisvgm. А на оптимизацию получившегося svg-файла времени тратится немного (к тому же она еще и в фоне происходит).

Выводы

Мониторинг производительности — один из инструментов для обеспечения «наблюдаемости» внутренней работы приложений. Другие инструменты — это мониторинг технических и бизнес-метрик, логи, визуализация внутреннего состояния в административном интерфейсе. Но эти инструменты нужно вручную добавлять в код, они не появляются в момент инцидента. Если вы не залогировали событие, вы не узнаете, произошло ли оно. Если храните состояние в памяти процесса, а не в БД, не сможете сделать sql-запрос и получить это состояние. А на этапе разработки приложения заранее непонятно, что именно окажется полезным в логах, а что нет.

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

Я не знаю, есть ли альтернатива сервису APM нью-релика. Если вдруг знаете — напишите в комментариях. На волне «импортозамещения» мы аналогов не нашли. Но зато я узнал о бесплатной квоте в 100 гигабайт, что вдохновило меня написать эту заметку.

    Оставить комментарий

Редактор математических текстов Mathcha

13 сентября 2020 года, 18:11

Искал онлайн-инструменты для редактирования картинок TikZ и наткнулся на редактор Mathcha.

Этот редактор — визуальный: вы сразу редактируете документ вместе с форматированием. В отличие от моего редактора Upmath, в котором вы редактируете исходник на маркдауне и латехе, хотя и сразу видите результат.

Вот рисунок, который я сделал с помощью Mathcha. Накидал основу в нем, экспортировал в TikZ и подправил исходный код уже в UpMath.

$$ \tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt \begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1] %uncomment if require: \path (0,300); %set diagram left start at 0, and has height of 300 %Shape: Boxed Line [id:dp7642567693966007] \draw (130,80) -- (130,140) ; %Shape: Boxed Line [id:dp02318954146147889] \draw (130,150) -- (130,180) ; %Shape: Boxed Line [id:dp4638027067588357] \draw (130,190) -- (130,250) ; %Shape: Wave [id:dp03622557580885122] \draw [color={rgb, 255:red, 74; green, 144; blue, 226 } ,draw opacity=1 ] (215,80) .. controls (202.19,83.1) and (190,86.06) .. (190,89.5) .. controls (190,92.94) and (202.19,95.9) .. (215,99) .. controls (227.81,102.1) and (240,105.06) .. (240,108.5) .. controls (240,111.94) and (227.81,114.9) .. (215,118) .. controls (202.19,121.1) and (190,124.06) .. (190,127.5) .. controls (190,130.94) and (202.19,133.9) .. (215,137) .. controls (227.81,140.1) and (240,143.06) .. (240,146.5) .. controls (240,149.94) and (227.81,152.9) .. (215,156) .. controls (202.19,159.1) and (190,162.06) .. (190,165.5) .. controls (190,168.94) and (202.19,171.9) .. (215,175) .. controls (227.81,178.1) and (240,181.06) .. (240,184.5) .. controls (240,187.94) and (227.81,190.9) .. (215,194) .. controls (202.19,197.1) and (190,200.06) .. (190,203.5) .. controls (190,206.94) and (202.19,209.9) .. (215,213) .. controls (227.81,216.1) and (240,219.06) .. (240,222.5) .. controls (240,225.94) and (227.81,228.9) .. (215,232) .. controls (202.19,235.1) and (190,238.06) .. (190,241.5) .. controls (190,244.57) and (199.7,247.26) .. (210.89,250) ; %Straight Lines [id:da008457960885399407] \draw (190,80) -- (190,250) ; %Flowchart: Summing Junction [id:dp09695643217509597] \draw (135,132.75) .. controls (135,128.75) and (138.36,125.5) .. (142.5,125.5) .. controls (146.64,125.5) and (150,128.75) .. (150,132.75) .. controls (150,136.75) and (146.64,140) .. (142.5,140) .. controls (138.36,140) and (135,136.75) .. (135,132.75) -- cycle ; \draw (137.2,127.62) -- (147.8,137.88) ; \draw (147.8,127.62) -- (137.2,137.88) ; %Shape: Inductor [id:dp3454355331692156] \draw (35,155) -- (42.06,155) .. controls (43.68,155) and (45,156.12) .. (45,157.5) .. controls (45,158.88) and (43.68,160) .. (42.06,160) .. controls (43.68,160) and (45,161.12) .. (45,162.5) .. controls (45,163.88) and (43.68,165) .. (42.06,165) .. controls (43.68,165) and (45,166.12) .. (45,167.5) .. controls (45,168.88) and (43.68,170) .. (42.06,170) .. controls (43.68,170) and (45,171.12) .. (45,172.5) .. controls (45,173.88) and (43.68,175) .. (42.06,175) -- (35,175) ; %Straight Lines [id:da4690178114375858] \draw [dash pattern={on 0.84pt off 2.51pt}] (45,165.5) -- (130,185) -- (190,165) ; %Straight Lines [id:da10916309009890135] \draw [dash pattern={on 0.84pt off 2.51pt}] (45,164.5) -- (130,145) -- (190,165) ; % Text Node \draw (112,127) node [anchor=north west][inner sep=0.75pt] [align=left] {A}; % Text Node \draw (112,191) node [anchor=north west][inner sep=0.75pt] [align=left] {B}; \end{tikzpicture} $$

    Оставить комментарий

Вслед за старой Лентой-ру

9 октября 2016 года, 13:10

Еще один хороший сайт стал говном с каруселями и выпадайками.

    Оставить комментарий
Смотрите также:  О новой Ленте.ру и об одном из признаков дилетантского веб-дизайна

О новой Ленте.ру и об одном из признаков дилетантского веб-дизайна

21 января 2013 года, 23:20

На примере нового дизайна Ленты.ру я покажу один из признаков, выдающих дилетантов в веб-дизайне. Вот фрагмент нового сайта. Посмотрите внимательно и скажите, где здесь ссылки и какие новости я уже прочитал:

Как только вы увидите черные неподчеркнутые ссылки, знайте: вы смотрите на непрофессиональную работу. С правильными синими подчеркнутыми ссылками, которые становятся фиолетовыми после посещения, сайт сразу же преображается:

На такие ссылки не только приятно смотреть, с ними удобно ориентироваться и передвигаться по сайту. Дорогая редакция, верните, пожалуйста, человеческие ссылки!

Добавлено: А вот и бизнес-линч Ромы Воронежского. Неудивительное совпадение.

    8 комментариев
Смотрите также:  Вслед за старой Лентой-ру

Маркетинг на рефератах Яндекса

21 декабря 2012 года, 20:22

Все знают генератор рыбных текстов — Яндекс.рефераты. Только что заметил «маркетинг» среди других тем. По рефератам из этой темы труднее всего понять, что они случайно сгенерированы машиной. Из первого попавшегося реферата я выкинул половину очевидно бессмысленных предложений. Смотрите, что осталось:

Стоит отметить, что conversion rate основан на тщательном анализе данных. По сути, контент не так уж очевиден. Повторный контакт отражает комплексный принцип восприятия, не считаясь с затратами.

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

По мнению ведущих маркетологов, создание приверженного покупателя нетривиально.

Еще минут 10 поработать — и действительно получится реферат по маркетингу.

    Оставить комментарий

Позитроны в такой шубе — это протоны

28 января 2012 года, 14:39

Наткнулся на замечательный сайт kollaideru.net. Давно не видел таких прекрасных вещей.

Теперь представим суть пространства в виде некой как бы жидкости, очень легкой, прозрачной, разряженной, состоящей из неких мельчайших частиц (обоснование этой гипотезы-идеи см. в Интернете в работе Усачева В.М. «Что есть истина»).

Исходя из того, что наименьшими достоверно известными частицами в природе являются электрон и позитрон, можно предположить следующее: при возникновении где-либо условий близких к пустоте, в ней, как пузырьки «пара» в некой «жидкости» пространства, возникают ЭЛЕКТРОНЫ. И при этом в точках выхода электронов, в силу закона сохранения энергии, возникают, как энергетические дыры, античастицы электронов — ПОЗИТРОНЫ, с такой же массой и таким же по величине, но противоположным по знаку энергетическим (электрическим) зарядом.

А вокруг позитронов, как энергетических дыр, в связи с выходом из них энергии, возникает как бы оболочка особого «льда» среды пространства, а на ней еще и «шуба обледенения» (мезонная шуба). Позитроны в такой оболочке и шубе — это ПРОТОНЫ.

Вот оно что. Протоны — это позитроны в оболочке из особого льда.

Казалось бы, причем здесь коллайдер? Он может эту шубу растопить:

Электрон и позитрон стремятся к слиянию. Этому препятствует прочная оболочка «льда» и «шуба» протона. Но если в ходе бытия материи в ней возникает суперэнергия и сверхтемпература (что уже способен создать Большой адронный коллайдер), то оболочка протона может быть разрушена. Возможно, что «ледяной» протон в конце-концов «растает» в экспериментах с невероятно высокой температурой. И если в этой ситуации туда проникнут электроны из вещества коллайдера, то там начнется цепной процесс аннигиляции электронов с позитронами, с исчезновением частиц (электронов, позитронов, протонов) из бытия, с переходом материи на фотонный уровень энергии.

Прекрасно, просто прекрасно.

    Оставить комментарий

Притяжение световых лучей

16 января 2012 года, 15:33

Сегодня на баше:

С ВиО известного всем сайта.

xxx: Здравствуйте. Возможно ли пересечение параллельных прямых в пространстве?
Лучший ответ: Да, разумеется. Представим, что две прямые — два световых луча. Они не должны пересекаться, но на самом деле рано или поздно они притянутся к друг другу гравитационными силами и интерферируют друг с дружкой. Так и скажи учительнице.

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

    8 комментариев

Градиент на сайте Яндекса

26 июля 2011 года, 11:38

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

Я понял, что происходит, когда открыл сайт Яндекса в другом браузере.

.b-head-search_grad_yes {
	background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff09c),to(#f4be02));
	background-image:-moz-linear-gradient(top,#fff09c,#f4be02);
	background-image:linear-gradient(top,#fff09c,#f4be02)
}

Непонятно, кто помешал технологам Яндекса добавить еще одну инструкцию -o-linear-gradient для второго по популярности браузера в рунете.

    Оставить комментарий

В 1000 раз лучше

18 июля 2011 года, 23:25

Другой отжег:

Другими словами, Россия возвращается к научным программам в космосе и выводит на орбиту радиотелескоп, который по своим характеристикам получаемого изображения в 1000 раз лучше американского «Хаббла».

А то, что «Хаббл» — это не радио-, а оптический телескоп, как бы ни при чем.

Для неспециалистов нужно пояснить, что такое сравнение выглядит как фраза: «Мы построили грузовик, который в 1000 раз лучше мерседеса», в которой число 1000 появилось из сравнения грузоподъемности карьерного грузовика и легкового автомобиля.

    Оставить комментарий

Куда катится IMDb?

28 ноября 2010 года, 01:05

Новая фича, ага:

А еще их сайтом из-за смены дизайна пользоваться невозможно.

    Оставить комментарий

Google Reader

3 октября 2010 года, 23:04

На протяжении нескольких лет я читал RSS в Яндекс.Ленте. Мне приходилось пользоваться разными компьютерами, в том числе и чужими. Поэтому мне нужна была онлайн-читалка. Я выбрал Яндекс.Ленту, а не Google Reader, так как сервисами Яндекса пользовался чаще.

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

Примерно полгода назад глюки стали более серьезными. Многократное обновление страницы не помогло. Вместо отображения подписок Я.Л настойчиво предлагала создать новую ленту. Я нажал на эту ссылку. Видимо, зря, потому что с тех пор я своих подписок больше не видел.

Я понял, что пришла пора прощаться с Яндекс.Лентой, и перебрался на Гугл Ридер. По бекапам многолетней давности, истории браузера и воспоминаниям кое-как восстановил те RSS, на которые был подписан.

Раз уж зашла речь, не могу не прокомментировать интерфейс Гугл Ридера. Сказать, что его делал программист, а не дизайнер — не сказать ничего. Любой, кто пользовался Яндекс.Лентой, легко назовет его недостатки.

(Здесь, конечно, достаточно было бы привести два скриншота, но после глюков Лента пуста, и добавлять что-либо туда мне не хочется. Придется ограничиться замечаниями.)

Во-первых, верхняя часть страницы не прокручивается. 132 пикселя бесценного расстояния по вертикали расходуются на всякие ненужные панели.

Во-вторых, под каждой записью находятся отвлекающие никому не нужные синие ссылки-кнопки. За полгода только один раз я воспользовался ссылкой «Отправить по эл. почте».

В-третьих, чтобы опознать автора записи, нужно отыскать синюю строчку под заголовком (тоже синим) и прочитать ее (а синий текст читается хуже черного). В Яндекс.Ленте слева от записей отображается аватарка автора, прописанная в RSS картинка или favicon сайта; при этом несколько идущих подряд записей с одного сайта группируются и снабжаются только одной картинкой. В таких условиях достаточно беглого взгляда на страницу, чтобы распознать авторов записей.

Сейчас к Гугл Ридеру я привык, перечисленные недостатки мешают не так, как в самом начале. Да и работает он стабильно (в отличие от Яндекс.Ленты). За всё время использования не глючил ни разу. Но всё-таки хотелось бы, чтобы у хорошего продукта был хороший интерфейс. Ведь это же несложно, не так ли?

    1 комментарий

Еще о схеме метро

17 июня 2010 года, 21:40

Только вчера написал о новой схеме метро Лебедева, а вот сегодня кое-что новенькое обнаружил. Смотрим сначала на обозначения переходов вроде Тверской — Чеховской — Пушкинской:

А затем разглядываем логотип Ubuntu:

    Оставить комментарий

Метро 2100

16 июня 2010 года, 01:41

Неделю назад Студия Лебедева представила свою схему метро. На этой же странице приведен вариант схемы метро 2100 года (воображаемый, разумеется). Вот его фрагмент:

На схеме светло-зеленая ветка продолжена до Долгопрудного и даже до Лобни. Но еще мы видим и станцию «Физтех» на серой ветке. История этой станции на сайте metro.ru идет под номером 1 (правда, с конца). Для тех, кто не перешел по ссылке, замечу, что эта станция обязана своим появлением первоапрельской шутке студентов МФТИ.

Физтех находится в Долгопрудном, и можно долго рассуждать о том, есть ли в двух разных станциях «Долгопрудная» и «Физтех» промах дизайнеров. С одной стороны, если в Долгопрудном когда-нибудь появится метро, скорее всего это будет одна станция и уж тем более одна ветка. С другой стороны, станция «Физтех» на рассматриваемой схеме — это аллюзия на первоапрельскую шутку.

Воображаемая схема, всё же, долгих рассуждений не заслуживает. Остановимся только на одном замечании: Физтех расположен западнее железной дороги, а на схеме станция «Физтех» нарисована восточнее.

    Оставить комментарий

Правила русского языка

31 мая 2010 года, 18:51

Илья Бирман открыл сайт Правила русского языка. Я помог ему сделать относительно нормальный поиск.

На сайте можно, например, сразу получить ответ на вопрос, ставится ли запятая между «тогда» и «если».

    Оставить комментарий

Амеба

20 октября 2009 года, 12:09

Ко мне обратились авторы проекта «Амеба» с просьбой разместить о нем информацию. Что ж, мне не жалко :) Передаю микрофон авторам:

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

Беcплатно скачать программу можно на сайте:
http://ameba.ru/

    4 комментария

Пароли вконтакте — 2

4 августа 2009 года, 22:57

Стоит мне подумать о том, чтобы отписаться от Вебпланеты, как на ней появляются публикации, которые заставляют меня передумать. Опубликованный на этот раз материал — анализ паролей вконтакте, утекших в ходе последней фишинговой атаки.

Вообще, я уже обращал внимание на то, что пароли там хранятся в открытом виде. Хоть в описанной атаке взлома серверной части не было, кража паролей меня не удивила.

    Оставить комментарий

Опять Вебпланета

3 июля 2009 года, 01:57

Ага. Курсив мой.

Еще одним источником бесконечного количества комбинаций являются иррациональные числа. Например, число «е» бесконечно, и последовательность цифр на любом заранее выбранном его участке — неповторяющаяся. Таким образом, если взять любой сколь угодно большой набор цифр, то он должен содержаться в этом числе.

А то, что написано после слов «таким образом», в одно предложение не обосновывается. Это утверждение — вообще нерешенная математическая проблема.

Иногда нужно смотреть дальше Википедии.

    3 комментария

Майский фуршет

16 мая 2009 года, 20:18

Решил тут почитать майский фуршет. Узнал много интересного. Но тем не менее…

Я вытерпел чьи-то заявления в очередном религиозном споре о том, что теория большого взрыва противоречит первому и второму началу термодинамики. Я вытерпел заявление «типа популяризатора» о том, что между протонами и нейтронами ньютоновская гравитация не действует. Но от учителя русского языка я такого не ожидал (курсив мой):

Его недостатки попытались скрасить частью С, где ученик должен написать развернутый ответ на подобие сочинения, но, как показывает практика, эту часть редко оценивают по достоинству.

Всё, на этом читать фуршет заканчиваю.

    Оставить комментарий

Ускоритель или нет?

26 февраля 2009 года, 21:52

Прочитал пост Никиты Иванова про идиотов среди нас (по ссылке из блога Ильи Бирмана). Там встречается такая фраза:

… настроить телевизор так сложно, будто это ускоритель частиц…

Ясно, что автор пытался построить полную сарказма фразу. Это у него получилось бы, если бы не одно но. Вообще-то, телевизор как раз и является ускорителем частиц (я сейчас не говорю про жидкокристаллические и другие, на мой взгляд, малораспространенные телевизоры). В кинескопе перед попаданием на люминофор электроны ускоряются разностью потенциалов и приобретают энергию около 25 килоэлектронвольт. Чем не ускоритель?

    Оставить комментарий

Иконка Гугла

11 января 2009 года, 15:35

Мое мнение о новой иконке Гугла — лучше, чем было.

    Оставить комментарий

RSS-читалка в Опере

26 ноября 2008 года, 02:25

На Вебпланете опубликовали какую-то странную статью про RSS-читалки.

Кроме того, разработчики «Оперы» видно совсем забыли, что кроме их программы есть и другой софт — поэтому никакой явной возможности экспортировать список новостных лент в OPML просто нет. Равно как нет возможности импорта списка RSS-источников.

Не знаю, куда смотрел автор этой статьи, но в Опере импорт и экспорт в OPML появился очень давно, кажется, с тех пор, как в ней появилась RSS-читалка.

Опять отписаться от Вебпланеты, что ли?..

    Оставить комментарий

Президентский сайт

11 августа 2008 года, 17:32

А это только мне кажется, что сайт Медведева похож на страницы ошибок в «Опере»?

    Оставить комментарий

rulinki

8 июня 2008 года, 22:07

В логах откопал: rulinki.ru.

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

    Оставить комментарий

Google Sites

29 февраля 2008 года, 14:55

Google Sites. Цитата из описания:

Google Sites предоставляет несколько шаблонов дизайна, текстовый редактор, 10 Гб дискового пространства для одного аккаунта и интегрирован с другими сервисами портала (Google Docs & Spreadsheets, Google Calendar, YouTube и Picasa), в результате чего вы сможете вставить в создаваемый сайт календари, формы, таблицы, презентации, фотографии и видео. Создать новый сайт с его помощью по-настоящему просто, отмечает Google Operating System (скриншот ниже оттуда же). Кроме прочего, вы можете использовать уже готовые варианты вроде доски объявлений или блога.

Новое — это хорошо забытое старое. Я так понимаю, следует ожидать новое пришествие сервиса narod.ru, только уже под другим именем и в стиле web 2.0. Логично предположить, что и мода на домашние странички тоже вернется (развитие по спирали, да).

    Оставить комментарий

Каталогизируй это!

17 февраля 2008 года, 11:33

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

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

Полтора года назад я зарегистрировался на сервисе uhuhu.ru, предназначенном для быстрого внесения описания сайтов в каталоги. Для некоммерческих проектов, коим и является written.ru, услуги были бесплатны (сейчас, кажется, платить должны все). Вроде бы мой сайт должен был быть зарегистрированным в куче каталогов. Видимо, Яндекс забанил часть каталогов. Добросовестные владельцы другой части каталогов отсекали автоматические регистрации, выполняемые подобными сервисами. От владельцев еще одной части каталогов мне некоторое время приходили письма на тему «Какой я нехороший, что не поставил ссылку на их каталог». Суммарный эффект от этого мероприятия был низким — тИЦ увеличился где-то на 30. Неудачный из меня оптимизатор, да.

Думаю, не стоит особо останавливаться на том, что пользователи на мой сайт с каталогов практически не приходят. Привлекать трафик с поисковиков гораздо эффективнее.

Каталоги софта? Они тоже тонут в море программ. Да и обычные пользователи нечасто посещают такие каталоги. Кому захочется менять привычный текстовый редактор, например, на другой? Чтобы к нему опять привыкать?

Подразумевается, что каталоги программ должны работать сами собой: автор добавляет описание программ, владелец-модератор проверяет его, пользователь ищет нужный ему софт.

Мне становится смешно, когда кто-то пытается сделать очередной супермегакаталог.

Несколько минут — и методом копипейста информации с википедии и с моего сайта (спасибо, я исправил в своем описании орфографическую ошибку) на некоем Каталоге Бесплатных Программ появилась страничка http://soft-free.ru/content/view/7435/145/ о моей программе The Game of Life. Оставляю там комментарий:

А имя автора программы можно не указывать, да?

На что мне ответили (тупые смайлики не воспроизвелись):

Роман, Мы очень рады что вы посетили наш проект Если Вы желаете чтобы было указано Ваше имя Мы обязательно это сделаем.

С уважением, Ребята работающие над проектом

Ребята, работающие над проектом. Ребята с большой буквы. Которые пишут «Мы», но не могут определиться с тем, как правильно, «Вы» или «вы». Как же можно не посетить ваш проект? Ведь с вашего замечательного проекта на мой сайт перешли целых два человека! Правда, сразу же и ушли, но ничего, я не обижаюсь. Если честно, мне абсолютно параллельно, что вы там напишете я не равнодушен к такому несоблюдению авторских прав, как отсутствие информации об авторе программы. А вообще, продолжайте в том же духе, полное забвение светлое будущее вашему проекту обеспечено.

Настало время делать выводы. Среди сайтов-каталогов есть явные лидеры, поэтому сделать хороший сервис, который займет свое место в этой нише, не так уж и просто. Попытка создания очередного универсального каталога обречена на провал. А вот сделать какой-нибудь узкоспециализированный каталог вполне можно. Работы с ним не так много, и он может оказаться кому-то действительно полезным.

    Оставить комментарий

top4top.ru

10 февраля 2008 года, 13:27

Посмотрел я, наконец, top4top.ru. Ведь создатели таких сайтов не заботятся о пользователях с модемами. А пользователи с модемами, разумеется, не особо посещают такие сайты.

Решил зарегистрироваться. Логин «parpalak» оказался занятым. Посмотреть на страничку пользователя с этим логином не получилось.

Два поля — заголовок и текст записи — это очень круто, да. Специально для представителей топа. Функциональность даже у ЖЖ лучше.

В общем, забавная поделка, не более. Когда всё вращается, откуда-то выезжает и куда-то прячется — посмотреть на это можно только один раз.

И, конечно, как и ожидалось, flash — отстой.

    Оставить комментарий

(с) 1918

12 января 2008 года, 04:26

На сайте журнала «Успехи физических наук» прикольнулись, написав внизу страницы следующее:

© 1918—2008 Успехи физических наук, Физический институт им. П.Н. Лебедева, Российская академия наук.
    4 комментария

Вебпланета отожгла

10 ноября 2007 года, 21:53
Кроме того, работа с обычными программами убеждает в том, что и здесь нечисто. Впору говорить о символизме интерфейса. Например, смысл отдельных функциональных клавиш, используемых в оболочках Dos Navigator или Total Commander, может быть объяснен с позиций психологической нумерологии. Наличие же в основе всей последовательности числа двенадцать заставляет вспомнить сказки и мифы, где такой алгоритм широко используется в качестве обозначения завершенного цикла (12 месяцев, 12 апостолов, 12 знаков Зодиака, 12 часов дня и ночи, 12 плодов на Космическом Древе, 12 врат Небесного Града и т.д.). Напрашивается вывод о том, что весь клавиатурный ряд от F1 до F12 иносказательно означает процесс личностного развития человека, приводящий его к вершинам духовного совершенства.

Вот это опубликовали на Вебпланете. Там еще много веселого. Честное слово, сначала мне показалось, что я сплю.

    Оставить комментарий

Регистрация на Я.ру

1 июля 2007 года, 13:08

Сегодня мне пришло приглашение зарегистрироваться на Я.ру. Пробую экспортировать свой блог туда. Попросили для проверки написать такое вот сообщение:

Теперь у меня есть персональная страница на Я.ру — Роман Парпалак!

Это новый сервис Яндекса, который сейчас проходит ограниченное тестирование и регистрация в нём пока доступна только по приглашениям.

Сейчас посмотрим, что еще может этот Я.ру.

Добавлено: Ничего особо ценного этот Я.ру (wow.ya.ru) собой не представляет, моего внимания (за исключением трансляции этого блога) не заслуживает.

Редизайн Вебпланеты

10 июня 2007 года, 14:24

Несколько дней назад на Вебпланете сменился дизайн. Честно признаюсь, логотип мне понравился. Хороший такой, приятный во всех отношениях логотип. Но всё остальное… Больше всего убивают ссылки, у которых осталось только подчеркивание. И при наведении мышки они никак не реагируют. Многочисленные рамки и разделители только подчеркивают беспомощность дизайнера, который никак от них не может освободиться.

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

Скриншот сайта Вебпланеты

Бегло взглянув на страничку, можно предположить, что знак дюйма " используется вместо кавычки-лапки , а кавычки-елочки «» применяются внутри фразы, ограниченной лапками. Но проблема в том, что верхняя лапка — закрывающая, а парная ей открывающая лапка должна находиться внизу: „“. Впрочем, тип использованных в начале второго абзаца кавычек говорит о том, что они расставлены по тексту случайным образом.

Вместо правильного тире (—) на странице стоят дефисы (-).

При помощи небольшого скрипта от подобных проблем можно избавиться навсегда. Взять, например, кавычкер Димы Смирнова (пользуясь случаем, хочу выразить ему свою благодарность за кавычкер).

Стоит отметить, что этот скриншот был сделан до редизайна. Но с тех пор ничего не изменилось.

Ссылки по теме: Ководство, § 62. Экранная типографика.

PS. Поскольку зашла речь о Вебпланете, скажу, что их (и их главреда) «нету» меня тоже убивает.

16.06.2007 добавлено: ссылки на Вебпланете теперь светло-коричневые. Уже лучше. Если бы они при наведении мышки становились немного темнее, например, было бы почти хорошо.

    Оставить комментарий
Смотрите также:  Опять кавычки

Ручка с флешкой и лазерной указкой

13 марта 2007 года, 14:11

Авторучка с USB-флеш-картой и лазерной указкой. Полная хрень. Никогда бы себе такую не купил. Особенно, по такой цене.

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

    Оставить комментарий

Новогодняя акция и домены третьего уровня

2 января 2007 года, 23:54

Вот здесь прочел нечто из ряда вон выходящее:

С 15 декабря по 15 февраля мы проводим новогоднюю акцию регистрации доменных имен третьих уровней. Мы регистрируем домены net.ru, org.ru и pp.ru всего лишь за $1. При этом обязательным условием регистрации домена является то, что на новом сайте на главной странице обязательно должна быть установлена ссылка на наш сайт…

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

Чего только народ не придумает, чтобы заработать обмануть других.

    11 комментариев

Сайт Европы Плюс

19 декабря 2006 года, 01:44

Зашел на сайт Европы Плюс и испугался. Не совсем ясно, что с ним сделали, но других слов, кроме «редкостный отстой», я не нашел. А вроде как солидная радиостанция…

    6 комментариев

Хостинг для блога

15 октября 2006 года, 19:39

У компании «Зенон Н.С.П.» недавно появился новый тарифный план — «блог». Его стоимость — 72 доллара в год. Она явно не обоснована и завышена. Мой сайт целиком обходится мне в 30 долларов в год, из которых 20 — доменное имя. Разумеется, для этого нужно найти нормальный хостинг, который обладает необходимыми и качественными характеристиками по разумной цене.

И еще немного на тему хостинга. Зашел сегодня из любопытства на e2e.ru посмотреть, как он поживает. А там вот что написано:

Также, ставим всех существующих пользователей в известность, что ВСЕ поддомены в зоне .e2e.ru забанены поисковой системой Яндекс.

Хорошо, что я от них вовремя ушел. Несерьезно выглядят товарищи при всем старании, несерьезно.

    Оставить комментарий

Не переношу дилетантов

26 июня 2006 года, 22:39

Прочел недавно статью. Ничего особо ценного для себя не нашел. Но статья совсем уж мимо меня не прошла.

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

Цитата из упомянутой статьи:

JPEG-cжатие — это сжатие с потерями. Оно основано на разложении изображений на составляющие, подобные тем, которые используются в механизме человеческого зрения, и отбрасывании информации, не сказывающейся на зрительном восприятии образа. За счет этого достигается высокое сжатие изображений при незначительном ухудшении качества.

Если авторы знают механизм человеческого зрения (который, насколько мне известно, весьма сложен и до конца не изучен), они вполне могут получить Нобелевскую премию. А в алгоритме сжатия JPEG используется банальное разложение в ряд Фурье, ничего больше, и оно к зрительному восприятию образов не имеет ни малейшего отношения. Было бы лучше, если бы они просто написали: «JPEG-cжатие — это сжатие с потерями. Оно основано на специальном алгоритме». Однако так поразить неискушенных читателей им не получится.

Добавлено: И Смирнов туда же:

JPEG основан на принципах восприятия изображения глазом человека, поэтому JPEG изображение искажает (это еще называется «сжатие с потерей качества»), то есть JPEG «халтурит» там, где это не заметно.

Ну не основан JPEG на принципах восприятия изображения глазом, хоть ты тресни! Вот, например, из Википедии:

Далее цветовые каналы изображения, включая черно-белый канал Y, разбиваются на блоки 8 на 8 пикселей. Каждый блок подвергается дискретному косинусному преобразованию. Полученные коэффициенты подвергаются квантованию и упаковываются с помощью кодов Хаффмана.

Обычные математические процедуры. Никаких принципов восприятия глазом. Никаких.

Еще добавлено: Как мне подсказали, под «принципами восприятия изображения глазом человека» может подразумеваться отбрасывание части информации о цвете и сохранение информации о яркости перед применением дискретного преобразования Фурье. Такая процедура основана на том, что человеческий глаз больше чувствителен к яркости, чем к цвету. Однако очевидно, что даже полное отбрасывание цветовой информации сокращает объем файла втрое, а JPEG уменьшает размер при сжатии картинки (с приемлемым качеством) гораздо больше, чем в три раза.

    Оставить комментарий
Смотрите также:  О достоверности

Новый online-редактор

28 марта 2006 года, 22:13

Вебпланета написала о появлении онлайнового аналога Microsoft Word AjaxWrite. Запускается только в Firefox 1.5 и выше. Я попробовал — основные функции редактирования, открытия и сохранения файлов работают. В определенных ситуациях такой онлайн-редактор может оказаться полезным, например, когда на компьютере есть доступ к Интернету, но MS Office не установлен.

Так вот, цитата из статьи на Вебпланете:

Это очень простая программа, но она работает без сбоев.

Просто диву даешься, как вообще очень простые программы могут работать без сбоев…

    1 комментарий

Маркировка чипов

10 октября 2005 года, 12:07

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

    Оставить комментарий
Поделиться
Записи