Re: iceweasel

2015-10-01 Пенетрантность Артём Н.

Да выкиньте вы этот криво собранный Iceweasel и поставьте firefox.
Я задолбался бороться с их "оригинальной" сборкой, соответствующей "духу 
свободы".
Пересобирать самому со включенными кодеками мне не захотелось и я просто стал
использовать оригинальный firefox, чего и вам желаю:
#
# FireFox.
#


deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu trusty main
#deb http://ppa.launchpad.net/mozillateam/flashplugin-nonfree/ubuntu trusty main

# for Debian
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-beta
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
#deb http://mozilla.debian.net/ wheezy-backports icedove-release

Это для Jessie, для wheezy используйте oneiric.


On 29.09.2015 19:34, Ivan Petrov wrote:

Нашел Файл в ~.mozilla/firefox/название профиля/places.sqlite.
Если его снести, шрифты начинают настраиваться.
Что за файл?

29.09.2015 00:07, Melleus пишет:

Ivan Petrov  writes:


28.09.2015 20:06, Илья пишет:

lxappearance - > Font - > Antialising ?

>> Сглаживание полное включено.

Проблема в том, что iceweasel 40.1 перестал реагировать на настройки шрифтов




On 09/26/2015 04:24 PM, Ivan Petrov wrote:

Обновил squeeze + lxde поставился новый iceweasel
Слетели шрифты и в самом iceweasel отказываются настраиваться.
Все интернет страницы показываются каким-то шрифтом без засечек с
очень плохим сглаживанием.
Это где-то в openbox настраивается?

И.





man fonts.conf может?









Re: Стабильная система?

2015-10-01 Пенетрантность Артём Н.

Однако же успешно выпилил systemd и очень доволен. Злу не должно быть
места в нашей жизни.

Ну возможно конечно развести политико-философскую дискуссию...
Но по факту: system.d - мэинстрим.
Он станет основным, так что я смирился с тем, что придётся изучать "комбайн".


Да и то, что где-то что-то у кого-то еще хуже - это весьма слабое
оправдание. Всегда можно найти кого-нибудь, у кого хуже дела идут.

Но проблема в том, что не найдёте лучше.

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

По факту, более стабильное есть. Но это не Linux.
Из того, что вам не доступно и не нужно - это z/OS. Очень стабильно. :-)
Из того, что возможно поставить при большом желании (и пользоваться, кстати) - 
QNX 6.3.x.


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

Админы говорят, что им давно такого не хватало.

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

Ну не знаю, может им интересно: чинишь, следовательно занят.
Говорили, что там некая дикая автоматизация, которой не позволял достичь 
sysvinit.
Я от этого далёк: с sysvinit мне было проще, я мог что-то быстро поправить, 
если меня не устраивало.


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

Вы про RH?


В Редмонде рады, конечно.

Вряд ли: они свой дистрибутив Linux пилят.

Не верю. Это не в их стиле просто. Зачем пилить свое, если можно взять
чужое. Генту, например.

Маркетинг.
Не имеет значения, что они возьмут за основу, т.к. это всё-равно будет Linux от 
MS:
http://habrahabr.ru/post/267209/


Яблочные так давно уже сделали. Только они фрю
за основу взяли.

Инженерный подход.


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

По лицензии - сообщества.



Re: iceweasel

2015-10-01 Пенетрантность Артём Н.

On 01.10.2015 18:58, Ivan Petrov wrote:

Как воспользоваться этим ppa репозиторием?


01.10.2015 21:25, "Артём Н." пишет:

Да выкиньте вы этот криво собранный Iceweasel и поставьте firefox.
Я задолбался бороться с их "оригинальной" сборкой, соответствующей "духу
свободы".
Пересобирать самому со включенными кодеками мне не захотелось и я просто
стал
использовать оригинальный firefox, чего и вам желаю:
#
# FireFox.
#


deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu trusty main
#deb http://ppa.launchpad.net/mozillateam/flashplugin-nonfree/ubuntu
trusty main


Добавить в /etc/apt/sources.list.d/firefox.list, например.
Вам нужно добавить следующее (на всякий случай проверьте, не должно быть 
конфликтов,
я не помню точно ли соответствует oneiric wheezy):
#
# FireFox.
#


deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu oneiric main


В /etc/apt/preferences должно быть, например следующее (man apt_preferences):
Package: *
Pin: release n=wheezy
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: 80


Далее от рута (ключ тут: https://launchpad.net/~silverwave):
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6DE6117C
aptitude update
aptitude install firefox (но я из curses интерфейса ставлю)



Re: Стабильная система?

2015-10-01 Пенетрантность Артём Н.

On 01.10.2015 19:39, Artem Chuprina wrote:

Артём Н. -> debian-russian@lists.debian.org  @ Thu, 01 Oct 2015 18:36:54 +0300:

  >>   >>   АН> Offtopic:
  >>   >>   АН> А что кто-то реально использует Haskell?
  >>   >>
  >>   >> Да.  И на данный момент я его считаю лучшим вариантом по соотношению
  >>   >> затрат на разработку и уверенности в результате, с БОЛЬШИМ отрывом от
  >>   >> конкурентов.
  >>   >>
  >>   АН> А, если не секрет, для разработки чего и, что важно, кем, а также 
для кого?
  >>
  >> В одном месте это часть разработки авиационных тренажеров.
  АН> "Сухой" или МАНС?

Транзас-Авиация.

А, не слышал. Посмотрел. Интересная компания.


  >> Приходится много рефакторить, когда выясняется, что вот тут он ведет
  >> себя совсем не так, как мы раньше думали.  Хаскель спасает от дилеммы
  >> "много молиться или писать тестов в разы больше, чем работающего кода".
  >>
  АН> Каким образом спасает?
  АН> Разве для ФП не требуются тесты?
  АН> В чём отличия.

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


Из-за отсутствия зависимостей и состояния функций?


А для достижения приемлемого уровня уверенности можно вообще без тестов
жить.  У меня в том проекте за три года работы и минимум трех крупных
рефакторингах раза три-четыре вылезали ошибки типа "перепутал ветки then
и else" или "перепутал плюс с минусом".  Остальное ловилось системой
типов на стадии компиляции и изредка - первым же ручным прогоном того
места, где менялась функциональность.  Тестов у хреновины нет вообще.
Хреновина при этом оказывается одним из самых надежных мест в тренажере.


Как измеряется надёжность?


Тестов там вообще почти нет, надо сказать.  Потому что работать они
начинают тогда, когда их квадрат от размера кода, а кода в проекте
много.

По-моему, TDD не зависит от языка и парадигмы (не использую, но есть, кто 
использует).
Если нет тестов, сложно проверить корректность изменений.
Т.е., надёжность здесь просто словесная характеристика, а не показатель:
"раза три-четыре вылезали ошибки типа "перепутал ветки then и else" или "перепутал плюс с 
минусом"", -
не исключена просто логическая ошибка в алгоритме, которую без тестов вы не 
сможете отловить (да знаю, это очевидно).



  АН> и скорость выполнения всё-таки ниже C++ (но это не всегда минус).

У меня есть знакомый программист, который мерил.  Зачастую сборка ghc
превосходит по скорости C, а C++ (если на нем пишут как на плюсах, а не
чисто как на C с чуть более удобным синтаксисом) так и как правило
(вероятно, потому что если писать как на плюсах, то будет довольно много
выделений памяти, которые по умолчанию защищены мутексами, а также из-за
неоптимизируемых разыменований виртуальных функций).  В Глазго
оптимизировать тоже умеют, а иммутабельность и статическая типизация
открывают куда более широкие возможности для оптимизации.

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

Для определённых задач, согласен. Только это не Хаскелл, а парадигма.
Однако я не совсем понимаю: там всё-равно там есть данные...
Пусть, надо что-то записать, как обойтись без блокировок вообще?



  >> Непосредственный заказчик - работодатель, а потребитель тренажера и
  >> критик, если что-то работает не так, как в настоящей машине - летчик.
  >> Это ответ на вопрос "для кого".
  >>
  АН> Вопрос был к тому, что вакансий на Haskell я не видел.

Так на Haskell не индусы пишут.

Кстати, индусы тоже пишут: они разные бывают. :-)


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

Как правило, всё-таки декларируют определённый язык.
Решите вы задачу и уйдёте.
А кто будет поддерживать ваш код затем?


И я, когда ищу себе работу, тоже не ищу вакансии "программиста на YYY".
Потому что это вакансии для негров, у меня тупая монотонная работа плохо
получается.

У меня тоже, я заметил.


Я ищу вакансии разработчика ПО, где надо думать головой.

Это не обязательно работа на Haskell.


  >> В другом месте веб-сервер, встраивающийся в существующий и без того
  >> нетривиальный бизнес-процесс, и добавляющий еще своей нетривиальности.
  >> Попытка сделать его на рельсах мне не понравилась - трогать страшно,
  >> сейчас переписываю на yesod.
  >>
  АН> Любопытно уже хотя бы то, что он не умер и не остался эзотерическим 
языком,
  АН> а вполне стабильно обрастает инфраструктурой...
  АН> Плотно ФП руки не доходили заняться (на началах Lisp, это всё и 
закончилось).

В мире довольно много людей с развитым абстрактным мышлением.



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

Хм... ООП тогда тоже неплохо.


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

Ещё тут 

Tidy validation failed

2015-10-01 Пенетрантность Debian Webmaster
*** /srv/www.debian.org/www/blends/hamradio/index.ru.html
line 14 column 1 - Warning:  inserting "type" attribute

--
 You received this mail for the language code ru.
 Please edit webwml/english/devel/website/validation.data if this is not 
accurate.
 Please also update webwml/english/devel/website/ with the new coordinator(s) 
data.



Re: Стабильная система?

2015-10-01 Пенетрантность Артём Н.

On 01.10.2015 18:52, Алексей Витальевич Коротков wrote:

On Thu, 01 Oct 2015 18:36:54 +0300
Артём Н. wrote:


Вопрос был к тому, что вакансий на Haskell я не видел.


Так много кто много чего не видел. Тем не менее, как ни странно, но:

http://www.haskellers.com/jobs
http://www.indeed.com/q-Haskell-Functional-jobs.html


Да я посмотрел уже.
Даже на hh есть.
Только, где ФП (не обязательно Haskell) в требованиях всего лишь
одна вакансия (и несколько, где Haskell в пожеланиях).



Re: Стабильная система?

2015-10-01 Пенетрантность Artem Chuprina
Артём Н. -> debian-russian@lists.debian.org  @ Thu, 01 Oct 2015 18:36:54 +0300:

 >>   >>   АН> Offtopic:
 >>   >>   АН> А что кто-то реально использует Haskell?
 >>   >>
 >>   >> Да.  И на данный момент я его считаю лучшим вариантом по соотношению
 >>   >> затрат на разработку и уверенности в результате, с БОЛЬШИМ отрывом от
 >>   >> конкурентов.
 >>   >>
 >>   АН> А, если не секрет, для разработки чего и, что важно, кем, а также для 
 >> кого?
 >>
 >> В одном месте это часть разработки авиационных тренажеров.
 АН> "Сухой" или МАНС?

Транзас-Авиация.

 >> На хаскеле написан имитатор изрядно интеллектуального прибора, не имеющего 
 >> не
 >> только четкой модели, но и достаточной для имитации документации.
 АН> Хм... Экспертная система? Нейронная сеть?

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

 >> Приходится много рефакторить, когда выясняется, что вот тут он ведет
 >> себя совсем не так, как мы раньше думали.  Хаскель спасает от дилеммы
 >> "много молиться или писать тестов в разы больше, чем работающего кода".
 >>
 АН> Каким образом спасает?
 АН> Разве для ФП не требуются тесты?
 АН> В чём отличия.

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

А для достижения приемлемого уровня уверенности можно вообще без тестов
жить.  У меня в том проекте за три года работы и минимум трех крупных
рефакторингах раза три-четыре вылезали ошибки типа "перепутал ветки then
и else" или "перепутал плюс с минусом".  Остальное ловилось системой
типов на стадии компиляции и изредка - первым же ручным прогоном того
места, где менялась функциональность.  Тестов у хреновины нет вообще.
Хреновина при этом оказывается одним из самых надежных мест в тренажере.

Тестов там вообще почти нет, надо сказать.  Потому что работать они
начинают тогда, когда их квадрат от размера кода, а кода в проекте
много.

 АН> По факту минуса два: мало людей на нём пишет и поймёт написанное

Мне хватает.

 АН> и скорость выполнения всё-таки ниже C++ (но это не всегда минус).

У меня есть знакомый программист, который мерил.  Зачастую сборка ghc
превосходит по скорости C, а C++ (если на нем пишут как на плюсах, а не
чисто как на C с чуть более удобным синтаксисом) так и как правило
(вероятно, потому что если писать как на плюсах, то будет довольно много
выделений памяти, которые по умолчанию защищены мутексами, а также из-за
неоптимизируемых разыменований виртуальных функций).  В Глазго
оптимизировать тоже умеют, а иммутабельность и статическая типизация
открывают куда более широкие возможности для оптимизации.

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

 >> Непосредственный заказчик - работодатель, а потребитель тренажера и
 >> критик, если что-то работает не так, как в настоящей машине - летчик.
 >> Это ответ на вопрос "для кого".
 >>
 АН> Вопрос был к тому, что вакансий на Haskell я не видел.

Так на Haskell не индусы пишут.  В смысле, человека берут решать сложную
задачу, а на чем он ее решает - это уже его личное дело.  Задача
сложная, "программист на XXX" ее не решит.

И я, когда ищу себе работу, тоже не ищу вакансии "программиста на YYY".
Потому что это вакансии для негров, у меня тупая монотонная работа плохо
получается.  Я ищу вакансии разработчика ПО, где надо думать головой.

 >> В другом месте веб-сервер, встраивающийся в существующий и без того
 >> нетривиальный бизнес-процесс, и добавляющий еще своей нетривиальности.
 >> Попытка сделать его на рельсах мне не понравилась - трогать страшно,
 >> сейчас переписываю на yesod.
 >>
 АН> Любопытно уже хотя бы то, что он не умер и не остался эзотерическим языком,
 АН> а вполне стабильно обрастает инфраструктурой...
 АН> Плотно ФП руки не доходили заняться (на началах Lisp, это всё и 
закончилось).

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



Re: iceweasel

2015-10-01 Пенетрантность Ivan Petrov

Как воспользоваться этим ppa репозиторием?


01.10.2015 21:25, "Артём Н." пишет:

Да выкиньте вы этот криво собранный Iceweasel и поставьте firefox.
Я задолбался бороться с их "оригинальной" сборкой, соответствующей "духу
свободы".
Пересобирать самому со включенными кодеками мне не захотелось и я просто
стал
использовать оригинальный firefox, чего и вам желаю:
#
# FireFox.
#


deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu trusty main
#deb http://ppa.launchpad.net/mozillateam/flashplugin-nonfree/ubuntu
trusty main

# for Debian
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-beta
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
#deb http://mozilla.debian.net/ wheezy-backports icedove-release

Это для Jessie, для wheezy используйте oneiric.


On 29.09.2015 19:34, Ivan Petrov wrote:

Нашел Файл в ~.mozilla/firefox/название профиля/places.sqlite.
Если его снести, шрифты начинают настраиваться.
Что за файл?

29.09.2015 00:07, Melleus пишет:

Ivan Petrov  writes:


28.09.2015 20:06, Илья пишет:

lxappearance - > Font - > Antialising ?

>> Сглаживание полное включено.

Проблема в том, что iceweasel 40.1 перестал реагировать на настройки
шрифтов




On 09/26/2015 04:24 PM, Ivan Petrov wrote:

Обновил squeeze + lxde поставился новый iceweasel
Слетели шрифты и в самом iceweasel отказываются настраиваться.
Все интернет страницы показываются каким-то шрифтом без засечек с
очень плохим сглаживанием.
Это где-то в openbox настраивается?

И.





man fonts.conf может?













Re: Стабильная система?

2015-10-01 Пенетрантность Артём Н.

On 30.09.2015 22:34, Artem Chuprina wrote:

Артём Н. -> debian-russian@lists.debian.org  @ Tue, 29 Sep 2015 19:20:08 +0300:

  >>   АН> Offtopic:
  >>   АН> А что кто-то реально использует Haskell?
  >>
  >> Да.  И на данный момент я его считаю лучшим вариантом по соотношению
  >> затрат на разработку и уверенности в результате, с БОЛЬШИМ отрывом от
  >> конкурентов.
  >>
  АН> А, если не секрет, для разработки чего и, что важно, кем, а также для 
кого?

В одном месте это часть разработки авиационных тренажеров.

"Сухой" или МАНС?


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

Хм... Экспертная система? Нейронная сеть?


Приходится много рефакторить, когда выясняется, что вот тут он ведет
себя совсем не так, как мы раньше думали.  Хаскель спасает от дилеммы
"много молиться или писать тестов в разы больше, чем работающего кода".


Каким образом спасает?
Разве для ФП не требуются тесты?
В чём отличия.

По факту минуса два: мало людей на нём пишет и поймёт написанное и скорость 
выполнения
всё-таки ниже C++ (но это не всегда минус).


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


Вопрос был к тому, что вакансий на Haskell я не видел.


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


Любопытно уже хотя бы то, что он не умер и не остался эзотерическим языком,
а вполне стабильно обрастает инфраструктурой...
Плотно ФП руки не доходили заняться (на началах Lisp, это всё и закончилось).



Re: iceweasel

2015-10-01 Пенетрантность Ivan Petrov

спасибо, попробую

01.10.2015 21:25, "Артём Н." пишет:

Да выкиньте вы этот криво собранный Iceweasel и поставьте firefox.
Я задолбался бороться с их "оригинальной" сборкой, соответствующей "духу
свободы".
Пересобирать самому со включенными кодеками мне не захотелось и я просто
стал
использовать оригинальный firefox, чего и вам желаю:
#
# FireFox.
#


deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu trusty main
#deb http://ppa.launchpad.net/mozillateam/flashplugin-nonfree/ubuntu
trusty main

# for Debian
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-beta
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
#deb http://mozilla.debian.net/ wheezy-backports icedove-release

Это для Jessie, для wheezy используйте oneiric.


On 29.09.2015 19:34, Ivan Petrov wrote:

Нашел Файл в ~.mozilla/firefox/название профиля/places.sqlite.
Если его снести, шрифты начинают настраиваться.
Что за файл?

29.09.2015 00:07, Melleus пишет:

Ivan Petrov  writes:


28.09.2015 20:06, Илья пишет:

lxappearance - > Font - > Antialising ?

>> Сглаживание полное включено.

Проблема в том, что iceweasel 40.1 перестал реагировать на настройки
шрифтов




On 09/26/2015 04:24 PM, Ivan Petrov wrote:

Обновил squeeze + lxde поставился новый iceweasel
Слетели шрифты и в самом iceweasel отказываются настраиваться.
Все интернет страницы показываются каким-то шрифтом без засечек с
очень плохим сглаживанием.
Это где-то в openbox настраивается?

И.





man fonts.conf может?













Re: Стабильная система?

2015-10-01 Пенетрантность Artem Chuprina
Артём Н. -> debian-russian@lists.debian.org  @ Thu, 01 Oct 2015 20:05:46 +0300:

 >>   >> Приходится много рефакторить, когда выясняется, что вот тут он ведет
 >>   >> себя совсем не так, как мы раньше думали.  Хаскель спасает от дилеммы
 >>   >> "много молиться или писать тестов в разы больше, чем работающего кода".
 >>   >>
 >>   АН> Каким образом спасает?
 >>   АН> Разве для ФП не требуются тесты?
 >>   АН> В чём отличия.
 >>
 >> В том, что для достижения того же (высокого) уровня уверенности в
 >> работоспособности кода тестов требуется на порядок меньше.  Не квадрат
 >> от размера кода, а линейно.
 >>
 АН> Из-за отсутствия зависимостей и состояния функций?

Угу.

 >> А для достижения приемлемого уровня уверенности можно вообще без тестов
 >> жить.  У меня в том проекте за три года работы и минимум трех крупных
 >> рефакторингах раза три-четыре вылезали ошибки типа "перепутал ветки then
 >> и else" или "перепутал плюс с минусом".  Остальное ловилось системой
 >> типов на стадии компиляции и изредка - первым же ручным прогоном того
 >> места, где менялась функциональность.  Тестов у хреновины нет вообще.
 >> Хреновина при этом оказывается одним из самых надежных мест в тренажере.
 >>
 АН> Как измеряется надёжность?

Количеством, гм, ВНЕЗАПНЫХ глюков в единицу времени.

 >> Тестов там вообще почти нет, надо сказать.  Потому что работать они
 >> начинают тогда, когда их квадрат от размера кода, а кода в проекте
 >> много.
 АН> По-моему, TDD не зависит от языка и парадигмы (не использую, но есть, кто 
использует).
 АН> Если нет тестов, сложно проверить корректность изменений.
 АН> Т.е., надёжность здесь просто словесная характеристика, а не показатель:
 АН> "раза три-четыре вылезали ошибки типа "перепутал ветки then и else" или 
"перепутал плюс с минусом"", -
 АН> не исключена просто логическая ошибка в алгоритме, которую без тестов вы не
 АН> сможете отловить (да знаю, это очевидно).

Ну да, естественно.  Вот это как раз обычно лечится ручным прогоном.
Кстати, в оригинальном приборе (который стоит в реальных вертолетах)
таки благополучно перепутали в одном месте плюс с минусом, и отловлено
это было (мной) на стенде при ручном прогоне.  Тесты, кстати, могли и не
поймать - написать тест, который это ловит, весьма нетривиально.

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

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

 >>   АН> и скорость выполнения всё-таки ниже C++ (но это не всегда минус).
 >>
 >> У меня есть знакомый программист, который мерил.  Зачастую сборка ghc
 >> превосходит по скорости C, а C++ (если на нем пишут как на плюсах, а не
 >> чисто как на C с чуть более удобным синтаксисом) так и как правило
 >> (вероятно, потому что если писать как на плюсах, то будет довольно много
 >> выделений памяти, которые по умолчанию защищены мутексами, а также из-за
 >> неоптимизируемых разыменований виртуальных функций).  В Глазго
 >> оптимизировать тоже умеют, а иммутабельность и статическая типизация
 >> открывают куда более широкие возможности для оптимизации.
 >>
 >> Это он писал обработку мощного потока информации, на плюсах на имевшейся
 >> технике уже требовавшую ручного тюнинга параллелизации.
 АН> Для определённых задач, согласен. Только это не Хаскелл, а парадигма.
 АН> Однако я не совсем понимаю: там всё-равно там есть данные...
 АН> Пусть, надо что-то записать, как обойтись без блокировок вообще?

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

 >>   >> Непосредственный заказчик - работодатель, а потребитель тренажера и
 >>   >> критик, если что-то работает не так, как в настоящей машине - летчик.
 >>   >> Это ответ на вопрос "для кого".
 >>   >>
 >>   АН> Вопрос был к тому, что вакансий на Haskell я не видел.
 >>
 >> Так на Haskell не индусы пишут.
 АН> Кстати, индусы тоже пишут: они разные бывают. :-)

Естественно, я в среднем.

 >> В смысле, человека берут решать сложную
 >> задачу, а на чем он ее решает - это уже его личное дело.
 >> Задача сложная, "программист на XXX" ее не решит.
 АН> Как правило, всё-таки декларируют определённый язык.
 АН> Решите вы задачу и уйдёте.
 АН> А кто будет поддерживать ваш код затем?

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

Человеку со сравнимым интеллектом будет дешевле выучить хаскель и
разобраться в хаскельном коде, чем 

Re: iceweasel

2015-10-01 Пенетрантность Oleksandr Gavenko
On 2015-10-01, Артём Н. wrote:

> Да выкиньте вы этот криво собранный Iceweasel и поставьте firefox. Я
> задолбался бороться с их "оригинальной" сборкой, соответствующей "духу
> свободы".

И что там плохо?

Даже флеш играет. Падает раз в день, но мне нравится держать 100 активных /
1000 неактивных вкладок, простая реализация GettingThingDone для задач
найти/разобраться/отложить на потом.

Для некоторых глупых сайтов менял User-Agent, кривожопники могли бы на крайняк
взять https://modernizr.com/ или https://github.com/ded/bowser

-- 
Best regards!



Re: Стабильная система?

2015-10-01 Пенетрантность Melleus
"Артём Н."  writes:

>> Однако же успешно выпилил systemd и очень доволен. Злу не должно быть
>> места в нашей жизни.
> Ну возможно конечно развести политико-философскую дискуссию...
> Но по факту: system.d - мэинстрим.
> Он станет основным, так что я смирился с тем, что придётся изучать "комбайн".
Будущее есть сущность во многом неопределенная. Так что я бы не был столь
категоричен. Тем более, что многих влиятельных умов таки несколько беспокоит
имеющая место проблема непереносимости systemd.
 Да и то, что где-то что-то у кого-то еще хуже - это весьма слабое
 оправдание. Всегда можно найти кого-нибудь, у кого хуже дела идут.
>>> Но проблема в том, что не найдёте лучше.
>> Я писал несколько ранее про плюсики и минусики на бумажке. По
>> совокупности параметров (по-крайней мере для моих скромных потребностей)
>> лучшего просто нет. Это действительно так.
> По факту, более стабильное есть. Но это не Linux.
> Из того, что вам не доступно и не нужно - это z/OS. Очень стабильно. :-)
> Из того, что возможно поставить при большом желании (и пользоваться, кстати) 
> - QNX 6.3.x.
Еще проще было бы поставить FreeBSD. У меня уход из мира мелкого мягкого софта
был связан именно с ней. Самая стабильная система из всего, чем приходилось
пользоваться. Но со сменой компа как-то вылезли проблемы совместимости с
железом, переполз, да так и остался на Дебиан. Иногда бросаю косяки на
Генту, даже в виртуалку себе поставил. Но затраты времени на поддержку
системы актуальной просто ужасают. А отдельного админа себе позволить не
могу да и не считаю правильным, вообще-то. Так что дальше экспериментов
дело не пошло. И это все без сборки офиса. Без которого, увы, обойтись не
могу. И стабильность не та. После обновления бывает склонность к сбоям.
 И сообщество вместо того, чтобы заниматься действительно актуальными
 вещами вынуждено тратить свое драгоценное время и ресурсы на то, чтобы
 хоть как-то сгладить косяки лезущие из всех щелей его псевдо
 инноваций. Все проходит. И это пройдет тоже. Но потеряны годы.
>>> Админы говорят, что им давно такого не хватало.
>> Молодому поколению админов, с пеленок окучиваемых компанией с весьма
>> дискуссионными подходами к созданию и функционалу ПО (вспомним, какие
>> редакторы и электронные таблицы они начинают учить со школы, под какую
>> операционную систему писано большинство игрушек) конечно, всегда будет
>> нехватать этого короткого одеяла из неким странным образом подобранных
>> разноцветных лоскутов, не оченнь-то аккуратно сшитых между собой.
> Ну не знаю, может им интересно: чинишь, следовательно занят.
> Говорили, что там некая дикая автоматизация, которой не позволял достичь 
> sysvinit.
> Я от этого далёк: с sysvinit мне было проще, я мог что-то быстро поправить, 
> если меня не устраивало.
Ну а мне-то для подготовки научных и академических текстов да для
бложека и подавно, чем проще - тем лучше.
>> Насчет ПО, может они и не очень, а вот что касается маркетинга - то очень,
>> очень талантливые люди там сидят. Они даже пингвинам смогут снег зимой
>> продать, а те еще потом за добавкой придут и будут за собой остаток
>> жизни непонятно зачем тягать разноцветные ошметки.
> Вы про RH?
Не только, проблема более глобальна, ИМХ0.
 В Редмонде рады, конечно.
>>> Вряд ли: они свой дистрибутив Linux пилят.
>> Не верю. Это не в их стиле просто. Зачем пилить свое, если можно взять
>> чужое. Генту, например.
> Маркетинг.
> Не имеет значения, что они возьмут за основу, т.к. это всё-равно будет Linux 
> от MS:
> http://habrahabr.ru/post/267209/
>
>> Яблочные так давно уже сделали. Только они фрю
>> за основу взяли.
> Инженерный подход.
>
>> А тяга этих ребят к повторению яблочных ходов тоже
>> давно всем известна. И история с СР/М тоже как-бы намекает. Такая вот
>> простая логика. Дистрибутив, будет, конечно. Вот только чей?
> По лицензии - сообщества.



Re: Стабильная система?

2015-10-01 Пенетрантность Артём Н.

Как измеряется надёжность?

Количеством, гм, ВНЕЗАПНЫХ глюков в единицу времени.

Если серьёзно говорить об измерении, это не является показателем.


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


Ну да, естественно.  Вот это как раз обычно лечится ручным прогоном.

Либо вы несколько противоречите сами себе, либо кода не так много.
В таком случае, чтобы проверить все пути выполнения, вам надо выполнить столько 
же
операций, сколько выполнят тесты. Только вручную.


Кстати, в оригинальном приборе (который стоит в реальных вертолетах)
таки благополучно перепутали в одном месте плюс с минусом, и отловлено
это было (мной) на стенде при ручном прогоне.

Фактически, в данном случае стенд являлся тестом для реальной системы,
а реальная система тестом для стенда.


Тесты, кстати, могли и не поймать - написать тест, который это ловит, весьма 
нетривиально.

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


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

Да, я тоже это знаю.

Ну, по факту, странный "спор". По-моему, вы сами прекрасно знаете, что
без тестов никогда нельзя гарантированно сказать, что система не работает
на некотором подмножестве случаев после её изменения.
И тесты нужны. Хотя писать их лень и оверхед.


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

Может проблема в Smalltalk?
Я представил себя на месте пилота (если это не тренажёр).
Наверное, если бы летал я, для себя я бы не стал отключать тесты...
Да, и может проблема не в тестах?
Если изменяется кусок, который сильно изолирован, так ли часто надо прогонять 
_все_ тесты?


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

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


  >> В смысле, человека берут решать сложную
  >> задачу, а на чем он ее решает - это уже его личное дело.
  >> Задача сложная, "программист на XXX" ее не решит.
  АН> Как правило, всё-таки декларируют определённый язык.
  АН> Решите вы задачу и уйдёте.
  АН> А кто будет поддерживать ваш код затем?

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

Но есть ещё "умение разбираться в чужом коде".
Хотя, в данном случае, наверное Хаскелю будет плюс, в целом.
Сложно найти людей, которые с ним работают, чтобы поручить
им поддерживать кусочки задачи (не думаю, что интеллект измеряется знанием или 
незнанием
Haskell, я вот его не знаю, так что, я автоматически попадаю у вас в категорию 
"тупой"?).


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


Вероятно. Это зависит от того, кем, как и с какой целью так написан C++ код.
Есть C++ код, в некоторой степени написанный для того, чтобы показать "какая крутая 
у меня квалификация".


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

Странная поддержка...


Если задача простая, то ситуация, разумеется, иная.

На C++ любую задачу возможно решить сложно.


Я пробовал, довольно много. ООП как парадигма - это duck typing

Да не обязательно. Это выражение больше напоминает Python.
И всё вытекающее: нестрогую типизации прежде всего, прототипное "наследование" 
и т.п..


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

И на хаскеле возможно так написать. :-\


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

Разве не проще оперировать объектами в терминах какого-нибудь DSL?


Ещё тут рядом на Erlang пытались что-то делать, не пошло.
Некому это поддерживать.
Просто людей не найти, кто станет на этом писать.


У меня коллега уехал в Швецию как раз на позицию, где был нужен Erlang.