bagrintsev.me
  • Обо мне
  • Сервисы
    • Тут пока пусто =)
  • Контакты
  • Сервер
  • Авторизоваться
    • Войти
    • Войти с ВКонтакте
    • Войти с Facebook
    • Войти с Twitter
    • Войти с G+
    • Регистрация

Оптимизация дисковой подсистемы Gentoo средствами hdparm

  •  04.06.2009
  •  Sb0y
  •  How-to

До падения Gentoo-Wiki была отличная статья,  которая рассказывала как работать с hdparm и могла существенно прибавить прыти IDE диску на сервере.

Недавно я провёл оптимизацию HDD на своём серваке и с трудом разрыл её в кеше гугла.

Решил увековечить её на страницах своего блога, чтобы не затерялась.
Читать дальше

Jabber: полезное

  •  05.10.2009
  •  Sb0y
  •  How-to

Существуют два очень полезных XMPP бота от гугла. Они занимаются переводом. Достаточно добавить их к себе в ростер и написать слово и тут же получите ответ с его переводом.
Читать дальше

Pidgin: Смайлы из QIP

  •  06.10.2009
  •  Sb0y
  •  Самопись

Смайлы для Pidgin из QIP. Ранее лежало на ЛиРу, а файл хостился на nm.ru.

По неизвестным причинам файл был удалён, да ещё и ошибку 404 выдаёт поиск search.qip.ru :) Ильхам негодует :)
Поэтому, я вынужден захостить файл на своём сервере.
Читать дальше

Переброс портов средствами SSH

  •  09.10.2012
  •  Sb0y
  •  How-to

Иногда хочется пользоваться, к примеру своим Email сервером, а корпоративная политика местного IT отдела строго настрого такое запрещает.
Тем не менее, очень часто остаётся открытым 22й порт, через который можно проложить шифрованный канал через тернии к звёздам.



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


Читать дальше

Создать загрузучную USB-флешку из Linux среды

  •  17.01.2016
  •  Sb0y
  •  How-to

Для Linux существует несколько проектов, позволяющих создавать загрузочные USB носители из ISO образа с Windows. Это и кроссплатформенный UNetbootin и WinUSB, который судя по всему больше не поддерживается автором.
Однако, я скачивал Windows 10 с торрентов и записанные флешки на отрез отказывались грузиться :-(
Дело то ли в специфике русского Windows, скаченного в торрентов, то ли в ошибках, которые хором повторяют эти программы. К счастью, у нас есть Grub, который грузит всё и всегда.
В этой статье я постараюсь кратко изложить, что нужно сделать, чтобы Ваш ISO образ попал на USB носитель и при этом с него можно было бы грузиться.
Читать дальше

pthread_cancel() и C++

  •  22.02.2016
  •  Sb0y
  •  Программирование

С приходом в нашу жизнь реализации Linux тредов NPTL, стало доступно досрочное завершение тредов. Представьте себе ситуацию, когда у Вас есть треды с блокирующими системными вызовами или просто треды, использующие sleep() (что ещё хуже) и Вам вдруг понадобилось их завершить. В случае, если Вы программируете на С, скорей всего проблем не будет. Грабли начинают когда Вы решаете сделать тоже самое в C++.

Конечно, с ходу можно посоветывать переписать код и использовать неблокирующие системные вызовы в бесконечном цикле, с условием итерирования. А sleep() заменить на nanosleep() с обработкой EINTR. Но всегда есть абстрактная ситуация в вакууме, когда есть рабочий код и Вам придётся разбираться почему он падает после Ваших изменений.

Кроме того, принудительное завершение треда, может избавить Вас от необходимости контроля начавшейся итерации цикла, или даже, в теории отменить уже запущенный системный вызов, который использует переход в режим ядра (kernel mode).
Читать дальше

sleep() в C

  •  05.03.2016
  •  Sb0y
  •  Программирование

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

Возможно, Вы думаете, что можно положиться на то, что sleep() возвращает время, которое ему нужно "доспать" и просто итерировать цикл, до тех пор, пока возвращаемое значение не будет равно 0. Давайте обратимся к документации библиотеки libc.
Читать дальше

Поиск

Категории

  • Программирование
  • How-to
  • Самопись

Powered by Sbl0g

Copyright © 2012-2025