balu: (Default)
Браузер


3D графіка і анімація


Це, на хвилиночку, 1985 рік. І прогрес за 4 роки.
balu: (Default)
на вихідних сформулював ще кілька моментів.
1) Атака на MeDoc зовсім не про класичні віруси, трояни і прочая. Від цього допомагають антивіруси, фаєрволи, розподіл прав, цифрові підписи і т.і. Це атака на розробників. Атакувати можна, перш за все, засоби розробки. І контроль версій та code review не допоможуть, бо хтозна, що там нагенерує компілятор чи обфуксатор.
2) Програмістам [1] не платять за безпеку. Особливо, якщо програмування не є основним бізнесом. Тобто написаний програмістами софт може бути дуже складним, але безпека там обмежується мінімальним захистом від дурня.
3) Безпека, сама по собі, дуже широка, складна і нудна для більшості розробників тема. Окрема складна спеціалізація. І, як показує практика, несумісна з зручністю кінцевого користувача (і, як наслідок, грошима від нього).
---------------
1 - є невелика кількість професійних спеців по безпеці. Особисто я ніколи б не підписався цим займатись.
balu: (Default)
Пєтя.А черговий раз показав мінуси вінди у плані безпеки. Як відомо, Майкрософт ще у квітні накатала виправлення на дірку, якою скористалися розробники wanna cry чи Пєті. Але чому навіть великі компанії не встановили його? Відповідь знаходиться принципі установки оновлень вінди. В нормальних системах оновлення ставляться під час роботи і лише зрідка хочуть перезавантаження, яке відбувається у штатному, для користувача, режимі.
Але найпопулярніша десктопна ОС не така. Застосування оновлень вимагає довгого вимкнення, аж до години. І довгого увімкнення. А це означає, що ніхто не буде регулярно затримуватися після роботи, щоб оновити систему. Адмін просто вимкне оновлення.
І це я мовчу про брендмауер чи розділення ресурсів по мережі, які дешевше вимкнути, ніж налаштувати, особливо, як мережа неоднорідна.

Як ви думаєте, Пєтя сильно змінить практику роботи адмінів? Я б на вашому місці купив флешку для бекапів.

balu: (Default)
У тому, що Пєтя.А отримав можливість нанести стільки шкоди винні, перш за все, податківці, які викручували руки підприємствам, щоб ставили безальтернативний Медок.
По-друге, скупість Інтелект-Сервісу, котрий зекономив на власному хостингу і толковому адмінові.
І, по-третє, крива архітектура самого Медка. У них головним приорітетом було, щоб бухи були задоволені, а зручність експлуатації, можливість працювати з іншими програмами, безпека і т.і. - то було не про них. Свого часу, коли вони були ще БестЗвітом, я намагався донести їм що те, чи інше можна було б зробити простіше і краще, але все зробили через жопу.

Сергій Прач розповів як це спрацювало. І добре, якщо кібератака тільки зашифрувала дані, а не відіслала важливу інформацію з медка.
balu: (Default)
зараз, схоже, в мовах програмування почалася ера мейнстрима з людським обличчям. І величезна заслуга тут у Python, який зробив упор на простоті написання та розуміння кода та популяризував ці принципи. Потім, правда, з версії 2.4, розвиток пішов не туди.
balu: (Gene Kranz Луна - она вот там)
Я почав використовувати мову програмування Python1 коли це ще не стало модним: років 10 - 12 тому. Тоді десь 80% розробників програм використовували продукцію Borland: Delphi або C++ Builder. Python, на пострадянських теренах не мав навіть свого сайту, а 30-40 пітонщиків користувалися службою розсилки і всі всіх знали. З англійською у мене тоді було тугувато, а з перекладеної літератури була тільки одна книжка любительського перекладу. Але у Python, на той момент було дві величезних переваги: по-перше, він був реалізований під кілька платформ, включаючи Лінукс, з яким я тоді почав вовтузитись, а цільова платформа Borland була тільки Win32. І, по-друге, але головне, Python був технологічним проривом оскільки був вдалим поєднанням невеликої кількості простих ідей. В результаті коду на Python виходило у 2-3 рази менше, ніж у Delphi чи Java, його було набагато легше читати, супроводжувати і розгортати. Колеги делфісти дивилися на мене як на дивака але дуже швидко ситуація змінилась: я створював робочі програми швидше, ніж вони. Це позитивно позначилось на моїй кар’єрі і не дуже на їхній.
Зараз Python, відповідно рейтингу TIOBE посідає 5-те місце за популярністю, ба демонструє її збільшення. Але я вважаю, що він зараз у ситуації Delphi 10-15-ти річної давнини, коли з’явились нові технологічні ніші, де Делфі була або недоречна, або її не можна було туди запхнути, змінилася коньюктура основних гравців і керівництво Borland почало метушитись і просерло всі полімери. По-перше, зараз теж з’явились технологічні ніші де Python недоречний - планшети і смартфони, чиї батарейки він просто жере. По-друге, Python перестав бути простим. Якщо до версії 2.4 він ще претендував на простоту, то потім з’явилась велика кількість простих і не дуже функцій, котрі потрібно просто тримати в голові. З’явились дві несумісні між собою гілки мови і постійна несумісність по бібліотекам навіть на рівні неосновних гілок. Через втрату простоти він втратив ще одну нішу - скриптування для вбудованих систем, котрі можна віддати непрограмістам. По-третє, він так і залишився повільним і з деякими родовими травмами. Але головне - з’явились нові конкуренти: прості і компактні але швидкі і без родових травм Python. Це Swift і Go, між якими і точитиметься основна боротьба2.

Я вважаю, що Python, як і всяка гарна технологія, вплинув на інші технології3 та надав кілька уроків, основним з яких, для мене, є те, що треба триматися подалі від динамічної типізації крім випадків, коли вона є технологічною основою вимог до системи4.

1 - Крім Python я використовую ще багато чого, але він був основним інструментом.
2 - Зараз складно сказати, як саме складеться доля у цих мов, але мені більше імпонує Swift.
3 - На тіж Swift та Go.
4 - Одним прикладом таких систем є Lisp.

balu: (Default)
Сьогодні 200 років з дня народження леді Ади Лавлейс, в дівоцтві Байрон, матері-засновниці програмування.


За нагадування дякую [personal profile] vitus_wagner.

balu: (Default)
Переїхав, вдома і на роботі, на поточний LTS. Попередня, 32-х розрядна система, протрималась у мене більше 5-ти років. Тепер використовую 64 розрядну Ubuntu Mate. Дуже сподобалася нова фіча - вигляд головного меню: можна вибрати класичний варіант, варіант із SUSE або LinuxMint. Нажаль з авторів Mate погані рекламщики бо штука дуже зручна, а вони не кричать про неї на всіх кутках. Отже головний плюс Юніті - поєднання командного рядка та меню перекрито.
До речі, Mate оновився до 1.10 і там багато смачного, тож чекаю на бекпорт.
balu: (memories)
Час від часу є потреба зберегти контент веб-сторінки. Найпоширеніша практика для цього - робити скріншоти. Але цей спосіб має ряд недоліків:
  • якщо тексту багато то потрібно зробити кілька скріншотів
  • зі скріншотів неможливо зробити копіпаст.
Проте давно винайдений кращій спосіб: використвувати вебархів. Прямо на головній сторінці сервісу введіть адресу сторінки і вона збережеться у тому вигляді, у якому вона є на момент завантаження.
Побочний ефект такого способу збереження у тому, що сервіс робить неможливим видалення викладенної, а потім знищенної інформації і невілює звинувачення у підробці скріншотів.
Проти є і недоліки: якщо сайт видає контент тільки після авторизації (наприклад "одногласники") сервіс не зможете зберегти контент. Також всі ваші збереження будуть недоступні якщо у вас проблеми з доступом до Інтернету, керівництво вашої країни заблокувало доступ до цього сайту, або сайт припинить своє існування. Хоча можна використовувати різні веб-архіви. Хоча, як на мене найкраще, комбінувати практику збереження.
Нижче посилання до подібних сервісів:
archive.org (найзручніший, як на мене)
peeep.us
UK Web Archive
Більше про подібні сервіси ви можете дізнатися з Вікіпедії.
balu: (Gene Kranz. Запарка.)
Перевів один із моїх проектів з Firebird1.5 на Firebird2.5. Складність була у тому, що вони зламали зворотню сумісність SQL-запитів. Оскільки у проекті більше 500 запитів, то прийшлося писати анналізатор тексту, який, по-перше видирав SQL-запити із java, python, pascal і самописного DSL, а, по-друге, вже аналізував запит та давав рекомендаціі його пофіксити. Тож десь місяць тому, я перевів базу. Що можна сказати? Воно того було варте:
  • по-перше у мене не болить голова, що 1.5 перестане запускатись на якійсь із сучасних платформ.
  • по друге, стали непотрібними зовнішні користувацькі функції оскільки достатньо штатних засобів.
  • по-третє, стало краще з перфомансом
Хоча виявилося два неприємних сюрприза. Перший заключався у тому, що не вдалося відтестувати ідентичність результатів запитів, а були косяки з сортуванням null-значень. Синтаксис і тут сав більш строгим. ТІльки під Linux один із запитів став замість 3 хвилини відпрацьовувати 15. На вінді у віртуалці цього  нема. Можна буде, звісно, потестувати на чомусь відміному від Убунти, але маю сильні сумніви, що результат буде кращий.
balu: (Wrinkle Meat)
Периодичность общения с виндовс привела к тому, что я пол дня выяснял, почему не пингуется нужный мне ip. Оказалось у них там брендмауэр включен по умолчанию.
balu: (Gene Kranz. Запарка.)
Тут анонимус говорит о том, что люди способные к чтению документации давно разобрались зачем именно нужен бинарный лог и наслаждаются удобством работы с ним. И предлагает ряд ссылок из которых наиболее интересны описание формата и удобство для пользователя. Тем не менее, из этого я так и не понял, какой выигрыш можно получить от бинарного формата логов. А вот проблемы, которые будут лезть:

  • будет тормозить из-за того, что из бинарного формата надо еще произвести распаковку данных.

  • чем больше индексов, тем дороже insert. Да и потом, в любом случае, для логов крайне важна скорость записи. А если поверх файловой системы работает прослойка в виде БД, то скорость падает. В случае простого текста она будет выше. Кроме того индексы имеют свойство сыпаться.

  • если всё падает,  то с большей вероятностью можно найти проблему наиболее простыми инструментами. А поломанный бинарь, являясь более сложной системой, может не захотеть отдать нужные логи.

  • придется отказаться от наиболее удобных мне инструментов. А это значит усложнение работы, особенно в случае битого лога: глазами не попарсишь, grep-ом не грипнешь, из-за чего поломалось не поймешь, проблемы не решишь.

Тоесть мне непонятно, а что такого дает бинарный формат, чего не дает простой текстовый в контексте того, что реализовано в loggerd? Основную массу того, что умеет  journalctl давно умеют и другие утилиты, например KSystemLog. Если зачем-то хочется индексировать, plain text прекрасно поддается индексированию.

Так что объясните мне все-таки, в чем профит.
balu: (Wrinkle Meat)
Поскольку Java такой язык, что требует себе навороченную IDE решил попробовать сабж на небольшом проектике, который занял 2 недели. Недостатки:

  • По сравнению с NetBeans перегружен настройками. Из-за этого то, что есть ищется долго и быстро забывается, как делать. Да и не факт, что найдешь "сокровище". Так, я долго курил маны, чтоб разобраться, как сделать, чтоб структура проекта и структура конкретного модуля отображались одно под другим. Хотя, говорят, студия еще хуже.

  • Идея тормозная. По ходу оно пересоздает все class-файлы во время каждого запуска. Из-за этого промежуток времени между переконпелять и запустить довольно долгий. NetBeans запускает быстрее.

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

  • Неудобный подвижный нижний буфер по сравнению с емаксовским.

  • Изменения в коде показываются в графическом режиме, а не выхлопом diff, что неудобно. В NetBeans на выбор графическое или текстовое представление.

  • Работа с   VCS в целом лучше, чем в NetBeans, есть пара удачных моментов, но в целом нефонтан. Удобнее работать прямо из консоли.

  • Не удалось найти, как по хоткею переключиться во встроенный эмулятор терминала, так что толку от него мало.

  • Не удалось в генераторе документации настроить работу с нелатинскими символами. В NetBeans все работает из коробки.

  • Убрали кнопку сохраненя. Теперь все изменения записываются автоматически и автоматически же ведется история. Задумка неплохая, мне бы больше понравилось, чтоб история автоматом писалась по событию сохранения.

  • Шрефты и темы ... В NetBeans несколько лучше, но им обоим далеко до emacs.

Что понравилось:

  • Анонимные классы визуально отображаются, как анонимные методы (лямбды). Ни emacs-овские плагины, ни NetBeans такого не умеют.

  • Внешний вид. Не знаю, как под Win, а под Linux смотреть очень приятно. Надо будет выдрать тему.

  • Настройка сборки несколько запутана, но настроить можно много чего. В NetBeans это вообще из GUI не настраивается.

Некоторые итоги.

  • утилиты java для сборки мне не потравились: там сплошной xml и отдуплиться по нему глаззами очень тяжело. Задумался о старом-добром Makefile.

  • работа с VCS, ИМХО, неудобна. Например, emacs-овский плагин для mercurial удобней.

  • emacs эргономичней. Придется еще пробовать, что есть из java плагинов.

balu: (Wrinkle Meat)
Ubuntu планирует перейти на systemd. Впрочем, говорят, что претензия №1 к systemd - бинарный лог является отключаемой так что все не так плохо. Впрочем, внедрение его в LTS будет через два года, а за это время его более-менее обкатают. Либо, если будет плохим, его не внедрят.
balu: (Wrinkle Meat)
Десктоп падает. И падать будет. Заодно будет падать и доля плюсов.
balu: (Wrinkle Meat)
А вот интересно, почему в Java ввели генерики, но не ввели опциональный вывод типов или динамику? Ведь все для этого есть и используется в той же Scala/Jython и т.д. Было бы намного практичней и удобней придурковатых генериков.

Profile

balu: (Default)
balu

August 2017

S M T W T F S
   12345
678910 1112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 17th, 2017 07:45 am
Powered by Dreamwidth Studios