LINUX.ORG.RU

Избранные сообщения reprimand

Опять про SASL postfix+dovecot

 , ,

Помогите спецы САСЛ'a)) Весь мозг сломал, не могу заставить работать SASL на Postfix 2.11.0 и Dovecot 2.2.9

Лог получается такой при попытке приема почты


Mar 14 16:41:28 mailserver postfix/smtpd[24977]: xsasl_dovecot_server_create: SASL service=smtp, realm=(null)
Mar 14 16:41:28 mailserver postfix/smtpd[24977]: name_mask: noanonymous
Mar 14 16:41:28 mailserver postfix/smtpd[24977]: xsasl_dovecot_server_connect: Connecting
Mar 14 16:41:38 mailserver postfix/smtpd[24977]: xsasl_dovecot_server_connect: auth reply: status
Mar 14 16:41:48 mailserver postfix/smtpd[24977]: fatal: no SASL authentication mechanisms
Mar 14 16:41:48 mailserver postfix/pipe[24980]: warning: unexpected end-of-input from dovecot socket while reading input attribute name
Mar 14 16:41:48 mailserver postfix/pipe[24980]: warning: deliver_request_get: error receiving common attributes
Mar 14 16:41:49 mailserver postfix/master[24972]: warning: process /usr/lib/postfix/smtpd pid 24977 exit status 1
Mar 14 16:41:49 mailserver postfix/master[24972]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling

master.cf

smtp      inet  n       -       -       -       -       smtpd -v

smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes

#628       inet  n       -       -       -       -       qmqpd
pickup    unix  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}


uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)


ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix	-	n	n	-	2	pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

main.cf

debug_peer_list = domain.com
debug_peer_level = 2

alias_maps = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
alias_database = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf 

## определение transport ##
transport_maps = mysql:/etc/postfix/mysql-transport.cf

smtpd_banner = $myhostname ESMTP
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
queue_directory = /var/spool/postfix
readme_directory = no

# Настройка SMTP-клиента, отправляющего почту
smtp_tls_loglevel = 2
smtp_tls_CApath = /etc/ssl/certs

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/mail2.domain.com.public.pem
smtpd_tls_key_file = /etc/ssl/mail2.domain.com.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_CApath = /etc/ssl/certs
smtpd_tls_loglevel = 2
smtpd_tls_received_header = yes

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain
#alias_maps = hash:/etc/aliases
#alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
mydestination = localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot
#smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
#smtpd_sasl_local_domain = 
#broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,permit_sasl_authenticated,permit
smtpd_sender_restrictions = reject_unknown_sender_domain
#mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf -m "${EXTENSION}"
smtp_use_tls = yes
#smtpd_tls_received_header = yes
#smtpd_tls_mandatory_protocols = SSLv3, TLSv1
#smtpd_tls_mandatory_ciphers = medium
#smtpd_tls_auth_only = yes
tls_random_source = dev:/dev/urandom
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_uid_maps = static:999
virtual_gid_maps = static:999
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
local_recipient_maps =
virtual_mailbox_base = /home/mail
virtual_transport = $transport_maps
default_destination_recipient_limit = 1
#dovecot_destination_recipient_limit = 1

TheZ
()

Смс - шлюз

 

Подскажите нормальный смс-шлюз кроме амазона

kote
()

Прокрутка(неполная перерисовка) изображения в иксах

 , , , ,

Допустим я делаю на xcb нечто графическое, и мне надо прокрутить что-то, например это может быть браузер, и мне надо проскроллить вниз, чтобы прочитать дальше. Или может я делаю сайд-скроллер типа какого-нибудь супермарио, и человечек идет влево, я хочу плавно прокручивать это дело. Мне не хочется на каждый шаг влево перерисовывать всю картинку с нуля (как при событи Expose), я хочу сдвигать уже нарисованный «фон» со всеми врагами, чтоб экономить процессорное время. Каким образом это можно реализовать в xcb? Есть ли там способ сдвигать уже нарисованное куда-нибудь вбок, дорисовывая новое с края? Может для этого мне стоит использовать opengl?

SZT
()

mdadm [я просто оставлю это здесь]

 , ,

# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   26304 MB in  1.99 seconds = 13220.03 MB/sec
 Timing buffered disk reads: 360 MB in  3.01 seconds = 119.54 MB/sec
# hdparm -tT /dev/sdb

/dev/sdb:
 Timing cached reads:   26240 MB in  1.99 seconds = 13186.53 MB/sec
 Timing buffered disk reads:  16 MB in  3.32 seconds =   4.82 MB/sec
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb2[1] sda2[0]
      243567424 blocks super 1.2 [2/1] [UU]
      bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>
DALDON
()

Awesome Pro Themes

 

Переработал серию тем для Awesome 3.5: Pro

Большой модный скриншот в перспективе.

Теперь тема идёт в 4х вариантах:

Нестандартное решение для тегов: пустой - пустой, полузатухший - занятый тег, яркий - фокус, красного/желтого - urgent. В комплекте два вида тегов, как на скриншотах hexagon, а также прямоугольники.

Интегрированный плеер (управление и отображение трека), MPD через mpc/ncmpcpp, но можно управлять и DeaDBeeF'ом, который также умеет отдавать трек и предоставлять управление через cmd.

Кто захочет попробовать, ознакомьтесь с важной информацией.

Пользуясь случаем, всем желаю мира и добра, особенно друзьям пользователям Awesome.

vim
()

Конфликт с 3 и более участниками

 

Есть ли какие-нибудь трактаты о военном искусстве, в которых бы подробно рассматривались конфликты с участием N сторон, где N больше 2? С разбором наиболее оптимальных стратегий достижения победы или минимизации ущерба, с обоснованием, к примеру, почему нужно «стремиться объединяться с более слабыми игроками против самого сильного» или наоборот «расправляться с мелкими избегая столкновений с крупными» и т.д.? Рассматривается ли сабж в теории игр? Поддаются ли такие ситуации какому-нибудь прогнозированию, или это как задача трёх тел, решается только численно?

Размышления на тему сабжа навеяны ситуацией в одной стране на букву С., сами знаете какой, где разных противоборствующих сторон со своими интересами больше 3, разделить их на два противоборствующих лагеря, как, скажем, это было в первой/второй мировых войнах и прочих конфликтах 20 века, было бы некорректным.

А линукс тут при том, что в нём можно моделировать такие конфликты в FreeCiv, который свободное ПО, и запускать под GNU/Linux :)

Harald
()

SAS HBA Adaptec

 , , , wwn

Друзья, достались мне 2 HBA Adaptec 6805H для NAS'ов. Один нормальный, а второй - с пустым серийником и WWN=FFFFFFFFFFFFFFFF. Но диски видит и запускается нормально. Прошились с позапрошлой фирмвари на актуальную без проблем через Adp80xxapp.
Все наклейки на контроллерах остались (серийник и WWN), пробовал считать WWN и SNO с рабочего HBA путём запуска под Linux код

./Adp80xxapp seeprom_r -WWN <controller pci address>
./Adp80xxapp seeprom_r -SNO <controller pci address>

Не считывает, соответственно, писать данные с наклеек через seeprom_w на запоротом боюсь (зря?)
Скажите, чем грозит отсутствие серийника и неправильный WWN в работе? LSI бы с закрытыми глазами восстановил, с адаптеками не сталкивался практически...

Deleted
()

exit() function in c

 ,

Всем привет)

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

maksspaces
()

Безопасен ли интернет?

 , ,

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

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

Интернет-банкинг Сбербанка предлагает варианты

а) авторизацию по логину и паролю плюс подтверждение по SMS

б) авторизацию по логину и паролю плюс подтверждение одноразовым паролем, которые распечатает любой банкомат, если дать ему карточку, а карточке нужен пин-код

okay.jpg, будем считать, что наши финансы условно защищены от физического хищения.

Однако, тот-же сбербанк предлагает услугу «перевести деньги посредством одной SMS на короткий номер 900», то есть, прикиньте, у вас подключен интернет-банкинг, — а он у вас подключён 100%, вы устанавливаете на свой Android-телефон вирусное приложение, которое отправляет SMS на номер 900, чтобы перевести деньги злоумышленнику. И всё, приплыли. Нету больше ваших денег.

Ехаем дальше.

Многие сайты предлагают восстановить пароль посредством e-Mail, в зависимости от уровня сервиса мыло взламывается. На всех сайтах аккаунты угоняются, даже на этом ЛОРе.

Другие многие сайты идут дальше и вводят авторизацию посредством SMS, восстановление пароля посредством SMS, подтверждение посредством SMS — в том числе и банки. В зависимости от того, насколько вы «крупная пташка» и интересуете мошенников, которые имеют связи в местечковом филиале ОпСоса г. Усть-Задрищенск, как-бы возможно отправить запрос на восстановление вашей SIM-карты, в итоге получив доступ к вашему номеру, не так ли? В этом моменте я плохо разбираюсь, но SIM-карту можно восстановить — печальный(?) факт.

Ехаем дальше.

В последнее время активизировался такой вид мошенничества, когда путём взлома вашей анкеты ВКонтакте и других аккаунтов в социальных сетях, даже Skype, у всех ваших друзей мошенники просят дать денег в долг, от вашего же лица.

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

Но что-то я заговорился, простите.

Интернет! Меня интересует, насколько безопасен интернет.

Расскажите кто-нибудь на пальцах пожалуйста, доморощенному админу локалхоста, как защитить допустим, свои собственные почтовые сервера от спуфинга днс? Вот вы отправляете письмо на яндекс, а вашему почтовому серверу DNS говорит, что mx.yandex.ru имеет адрес 10.10.10.10, который на самом деле, ваш сосед.

Или почему я должен доверять «провайдеру по середине», который находится между мной и сервером яндекса, что если этот самый провайдер мог подвергнуться взлому и теперь злоумышленники выдают фейковые IP-адреса для A-записей.

Как работает интернет и как доверять узлам-по-середине?

Если по https передаётся защищённый трафик и это понятно, что никто его не увидет кроме вас, но как мы можем быть уверены, что передаём трафик вообще нужному IP-адресу, а не компьютер хакера?

Spoofing
()

Хоронили Yahoo - порвали два баяна

 

Большая интересная статья на рбк. Несколько выдержек:

В 2002 году Семел задумался о покупке Google: если выручка Yahoo в тот момент достигала $837 млн в год, то выручка Google — $240 млн в год. Семел предложил Ларри Пейджу и Сергею Брину $3 млрд за их быстро растущую компанию, хотя советники главы Yahoo говорили ему, что Google стоит все $5 млрд. Пейдж и Брин гордо отказались.

Тогда Семел пошел другим путем: в 2002 году он купил поисковую технологию Inktomi, а в 2003 — компанию Overture, занимавшуюся контекстной рекламой (Yahoo в тот момент зарабатывал на баннерах, то есть на медийной рекламе). Совместив две технологии, Терри Семел попытался создать конкурента Google, но мало преуспел. В августе 2004 года стоимость акций Google уже обгоняла Yahoo, а к к концу года компания Ларри Пейджа и Брина обошла конкурента и по рекламной выручке. К началу 2005 года выручка Google уже превышала $1 млрд.

...

В апреле 2014 года на собрании совета директоров Майер заявила, что ей пока не удалось понять, какой продукт в компании может стать «прорывным», но напомнила присутствовавшим, что Стиву Джобсу понадобилось пять лет, чтобы создать iPod, когда он возглавил Apple во второй раз.

...

В качестве главного интервьюера и новостной звезды видео-сервисов Майер пригласила бывшую ведущую вечернего новостного шоу на телеканале CBS Кэти Курич. По данным СМИ, стоимость контракта с телеведущей оценивалась в $10 млн в год, при этом на контенте, к которому она имела отношение, Yahoo заработал $3 млн.

По данным The New York Times, недовольство инвесторов расточительством Майер росло пропорционально убыткам компании. Так, например, они посчитали, что на бесплатную еду для сотрудников Yahoo тратит $108 млн в год. На смартфоны и фитнес-браслеты, которые Майер раздавала сотрудникам по приходу в компанию, в общей сложности было потрачено около $12 млн. За спонсорство Всемирного экономического форума в Давосе Yahoo заплатила $2 млн, а помпезная рождественская вечеринка для сотрудников в стиле «Великого Гэтсби» в декабре 2015 года обошлась компании в $7 млн. (по данным The New York Times, в самой компании каждую цифру оспаривают).

...

В начале февраля 2016 года Yahoo объявила о закрытии половины своих тематических изданий и сервиса Yahoo! Screen в рамках массового сокращения расходов компании. Сокращение расходов коснулось и штата — из Yahoo были уволены 1,7 тыс. человек. К концу 2016 года в компании должно остаться около 9 тыс. сотрудников — ее штат сократится на 42% по сравнению с 2012 годом. Программа по сокращению расходов должна увеличить стоимость активов Yahoo на $1 млрд. с нынешних $3 млрд. Yahoo также объявил о закрытии своих зарубежных офисов в Дубае, Мехико, Буэнос Айресе, Мадриде и Милане.

Подробнее на РБК:
http://www.rbc.ru/technology_and_media/21/02/2016/56c8afd19a794740b2e40dfb

dk-
()

Что делать с халявщиками и тунеядцами?

 

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

У меня, по сути, всего один вопрос:
А как, при таких, Справедливых, устройствах мира быть с халявщиками? Ведь всегда есть люди, которые хотят меньше вкладывать и больше получать (в самом широком смысле этих слов). Пользоваться тем, что они ближе к кормушке, распределению, принимающим решения и т.п. Жирнее кусок себе, теплее место своим детям. Вера в то, что «ну я то более достоин». И т.п. и т.д.

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

Конечно, ребенок родившийся в обеспеченной семье в развитом обществе имеет на порядки больше возможностей\условий\шансов прожить весьма сытую жизнь и приумножить «стартовый капитал», доставшийся от родителей в виде своего образования, имущества, здоровья, окружения. Больше чем кто? Да чем условный узбек, родившийся седьмым в бедной семье и вынужденный ехать на заработки в Москву да горбатиться на стройках. Ему просто для выживания себя и семьи (еда\жилье\одежда) нужно много и много работать.

Есть мнение, что, перефразируя Черчиля, капитализм - это наихудшая форма устройства экономики, за исключением всех остальных.

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

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

Ну так как быть с такими любителями сладко есть и тепло сидеть, но нихрена не делать? Заставлять трудиться? Расстреливать? Перевоспитывать? Оставлять голодать?

dk-
()

LDD показывает лишнее

 

LDD показывает бибилиотеки, которые я не подключал - он показывает рекурсивно? В смысле я цепляю А, А цепляет Б -> LDD показывает А и Б? Или что-то тут не так?

Edible
()

Есть ли какая нибудь формула для переворачивания числа задом-наперёд?

 ,

т.е. 123 -> 321
Скорее всего нет, но мало ли.
ЗЫ. Решения на языках программирования не предлагать. Я тоже так могу, это легко и не интересно.

sudopacman
()

Слежение за изменениями в директории через inotify

 , ,

Есть проблема в реализации...
Некая программа(не знаю какая и как работает) пишет( и/или переписывает уже существующие) периодически в папку файлы типа *.tmp...
нужно при изменении или добавлении файлов копировать их в другую папку.
нашел inotify и inotify_add_watch & read.
отслеживает все, что происходит в папке(если файлы редактировать «вручную»)... супер!

НО вообще не реагирует на то, что делает(изменяет) та программа... может как то блокирует??

вообще не знаю что делать... какие есть еще методы, способы? желательно через плюсы.

void notifier(const char *dirname) {
    int fd, wd;
    char buf[BUFLEN];
    ssize_t i, len;
    struct inotify_event *event;
    if( (fd = inotify_init()) < 0) {
        perror("inotify_init:");
        exit(-1);
    }
    wd = inotify_add_watch(fd, dirname,
                           IN_MODIFY | IN_ATTRIB |
                           IN_CREATE | IN_DELETE);
    if(wd < 0) {
        perror("inotify_add_watch");
        exit(-1);
    }
    while(1) {
        i = 0;
        string file;
        size_t found;
        len = read(fd, buf, BUFLEN);
        while(i < len) {
            event = (struct inotify_event *) &buf[i];
            file =string(event->name);
            found=file.rfind(".tmp");
            if (found >0) { if (strevent(event->mask)==2)
                {sleep(1);
                copyFile(file.erase(file.length()-4));}
            }
            i += sizeof(struct inotify_event) + event->len;
        }
    }
}
rgB
()

postfix отпраляет dovecot не получает.

 

Здравствуйте!

Ситуация у меня следующая.Настроил postfix и dovecot на Debian (Jessie), предварительно настроил DNS (надеюсь правильно, но есть подозрения из-за почты). Создал пользователя (пердположим) «bor» отправляю почту с 25 порта от «bor@kakojto.domen.ru» ему же to «bor@kakojto.domen.ru» . Все проходит сусифул ,без матюков

Feb  5 17:43:32 debian postfix/smtpd[26028]: 1178C2849: client=kakojto.domen.ru[192.168.1.2]
Feb  5 17:43:42 debian postfix/cleanup[26032]: 1178C2849: message-id=<20160205154332.1178C2849@kakojto.domen.ru>
Feb  5 17:43:42 debian postfix/qmgr[25979]: 1178C2849: from=<bor@kakojto.domen.ru>, size=349, nrcpt=1 (queue active)
Feb  5 17:43:42 debian postfix/local[26033]: 1178C2849: to=<bor@kakojto.domen.ru>, relay=local, delay=47, delays=47/0/0/0.03, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb  5 17:43:42 debian postfix/qmgr[25979]: 1178C2849: removed
Feb  5 17:43:46 debian postfix/smtpd[26028]: disconnect from bor@kakojto.domen.ru[192.168.1.2]

После отправки, берем telnet .... 110 -

+OK Logged in.
list
+OK 0 messages:
т.е. почта ушла в неизвестном направлении.

Подскажите, пожалуйста , куда копать?

fbb
()

unicode, read file, С

 , ,

не могу осилить работу с юникодом, wchar и не могу найти внятную инфу по этой теме с примерами. например есть файл в котором есть слово «Москва», размер файла 13 байт. как я понимаю размер каждой буквы 2 байта, конец файла 1 байт? sizeof(wchar) = 4 байта. если я пишу что-то типа:

setlocale(LC_ALL, "");
FILE *fd;
fd = fopen("test", "r");
fseek(fd,0,SEEK_END);
int size = ftell(fd);
fseek(fd,0,SEEK_SET);
wchar buff[size];
fgetws(buff,size,fd); //Здесь всегда выдает NULL
for (int i=0; buff[i] != '\0'; i++) { //не могу настроить чтобы в терминале вывод работал с wchar, поэтому такие костыли
    putchar(wctob(buff[i]));
}
putchar('\n');
помогите, пожалуйста, разобраться что я делаю не так.

SmilePlz
()

Только у меня закупки простейшего оборудования - это геморрой на неделю?

 , ,

Интересно, только мне всегда попадались компании с умственными отклонениями всех сотрудников и руководства или это везде так?

Вот как у меня выглядят обычные закупки (~30 000 рублей. МФУ, харды, картриджи):
1. Найти нужную компанию, позвонить, уточнить безналопроблемы (некоторые хотят от 100к или только нал), наличие, попросить счёт. 30 минут.
2. Отослать письмо генеральному, позвонить генеральному и пересказать письмо (т.к. он всё-равно не читает письма). Никто не читает письма. 10 минут.
3. Генеральный «обдумывает» 1-2 дня.
4. Позвонить генеральному опять, напомнить, что оборудование «СРОЧНО НУЖНО ПРЯМ ЩЩААААС!!11», иначе денег не даст. Или будет думать ещё месяц. 10 минут.
5. Через 3 часа перезвонить генеральному, и напомнить, чтобы он переслал моё письмо в бухгалтерию с пометкой «к оплате».
6. Пересылка письма генеральными в бухгалтерию. 1-12 часов.
7. Звоним в бухгалтерию, уточняем, дошло ли письмо. Просим бухгалтерию оплатить счёт в письме. Бухгалтерия говорит, что у них есть СРОЧНЫЙ НЕОТЛОЖНЫЙ пасьянс, и просят перезвонить позднее.
Пасьянс бухгалтерии. 4 часа.
8. Перезваниваем в бухгалтерию. Они говорят, что банковский день закончился и будут заниматься завтра (хотя на оплату поставить можно уже сейчас).
9. На следующий день ЛИЧНО приходим в бухгалтерию и под вопли бухов стоим на душой, не давая даже кофе попить, пока не увидим, что счёт ушел. И не увидим, что письмо с платёжкой на почту упало, чтобы отправить поставщику, чтобы бронь не снял. 3 минуты! (реальная работа - 3 минуты, подтверждения и ожидания - уже около 1-2 дней)
10. Далее звоним поставщику, говорим, что прислали письмо с ПП, чтобы бронь не удаляли (помним, что никто не читает письма). 5 минут.
11. Через часов 6 звоним, спрашиваем, пришли ли деньги. Конечно же они не пришли.
12. На следующий день звоним, спрашиваем, пришли ли деньги. Деньги пришли, но прямо сейчас на складе нет нужного товара, его ждать 3 дня.
13. Через 3 дня звоним. Оказывается, что товар пришел, но курьер заболел/все слоты доставки заняты.
14. На следующий день обещают доставить вечером. Говоришь, что нужен номер машины заранее, иначе не пропустят на проходную. Говорят, что курьер позвонит.
15. Курьер звонит когда УЖЕ подъехал (видимо, ему ничего не сказали). Ты в мыле бегаешь по офису, делая бумажку о пропуске и высылая её скан на мыло охране.
16. Курьер, проезжает, прождав 30 минут на проходной.
17. Товар приезжает, но курьер считает, что в его обязанности не входит перетаскивать товар в офис. Приходится эникейщиков гнать за ним.
18. Товар в офисе.

Знаете, что происходит, если делаем за нал?
1. Звоним, диктуем словами заказ. 15 минут.
2. Через 2 сраных часа заказ доставляется и курьером поднимается на 10-ый этаж ногами.
3. Товар на месте за 2 часа 15 минут.

В среднем от первого пункта до последнего проходит 3-5 рабочих дней и куча ненужной работы. Если никого не трогать особо, то проходит около 12-17 рабочих дней.

Самая длительная покупка с пинанием ногами: в pleer.ru - 13 рабочих дней. То у них менеджера уволили, то мою заявку не в тот статус поставили, то заменяющему менеджеру не передали, то на складе потеряли, то курьер куда-то пропал, то бухгалтерия что-то не так увидела. У них там ОпСоС-стайл: все отделы разделены, никто никому не может напрямую звонить проблемы решать. Когда я просто РАЗОРАЛСЯ в телефон (они довели меня истерики часовым ожиданием на линии, с последующим «ничем не можем вам помочь») и сказал, что пойду завтра лично их руководству, менеджер отнёс свою жопу в соседнее здание и в 23-часа мне домой привезли заказ. Вообще не рекомендую с ними работать как юрлицо, если не сами будете забирать. Будет много геморроя.

Слава, б-гу, что нас нет отдела закупок. Слышал, что в таком случае, прийдётся ещё с ними воевать каждый раз на тему «а почему мы не используем СТАРОГО поставщика, который ломит цены в два раза? У нас есть у него скидка в 5%!» и процесс затянется в 2-3 раза.

У всех так? Или я один такой невезучий? В других странах также?

Спасибо.

prischeyadro
()

Как считывать нажатие клавиши без задержек?

 , , ,

Есть такой код с использованием ncurses

#include <iostream>
#include <ncurses.h>
#include <unistd.h>

using namespace std;

int main()
{
    char c = 'a';

    initscr();
    noecho();

    do {
        c = getch();
        addch(c);
    } while(c != 'q');

    endwin();
    return 0;
}

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

Пробовал сделать неблокирующий getch() с помощью

nodelay(stdscr, TRUE);

и обрабатывать ERR в цикле, эффект остаётся.

WRG
()

Gimp, psd, krita

 , ,

сравнение открытия сложного psd файла в gimp и krita.

http://wstaw.org/m/2016/01/19/plasma-desktopPR4839.png

AP

brothermechanic
()

Исходный код JavaScript-движка ChakraCore выложен на GitHub

 , ,

Группа Open Source

Компания Microsoft открыла исходный код ключевых компонентов JavaScript-движка Chakra, работающего в Microsoft Edge.

В репозитарии ChakraCore можно обнаружить полностью поддерживаемый открытый и изолированный движок JavaScript с теми же характеристиками, что и движок Chakra в Microsoft Edge, который можно встраивать в свои проекты. Исходники распространяются под лицензией MIT.

Исходный код

>>> Подробности (habrahabr.ru)

Jack-Laphroaig
()