All streams
Search
Write a publication
Pull to refresh
93
0
Григорий Борисович @naething

Пользователь

Send message
Я так понял, с помощью /dev/tcp можно только соединиться с удаленным сервером, а открыть порт, принимающий соединения, нельзя. Netcat прекрасно справляется с этой задачей (ключ -l).
А как сделать самому рахат-лукум? Есть надежный, проверенный рецепт?

Как-то пытались сварить, получилось что-то вроде соплей с сахаром.
Вроде бы нет, хотелось просто узнать правильный ответ.
Так какой там ответ на задачу с третьей фотографии? Как записать в поле private_, не отступая от стандарта? Написать специализацию для функции f?
Что-то тут про сложность перехода много говорят. Моя подруга однажды увидела в Убунту «резиновые окна» с красивыми заголовками, у которых можно произвольным образом менять цвет. С тех пор она не пользуется windows :) Помощь со стороны при этом минимальна. Даже и не знаю, я вот раньше тоже думал, что линукс очень тяжел для новичка, а на деле даже родители без проблем пользуются Убунту. Так что в последнее время есть некоторый прогресс в дружелюбности дистрибутивов, я считаю.
Конкретно на написание игры ушла пара вечеров, но я относительно неплохо знал bash и до этого, так что оценить время на изучения с нуля сложно.
Там почему-то просят войти в систему, когда я хочу скачать файл.
В итоге залил код на «Народ».
Ну да, просто в текстовом редакторе :)
Не подскажете нормальное место, куда можно залить код? Оказалось, что pastebay вставляет переносы строк в стиле Windows, из-за чего указание интерпретатора с помощью #! перестает работать.
А сколько всего картинок проиндексировано?
У Вас ошибочные рассуждения во второй строке. Вы считаете вероятность отказа raid0+1 как вероятность одновременного отказа двух raid0, а это неверно. В первом рейд0 может сломаться первый диск, а втором — второй. Тогда, следуя Вашим рассуждениям, получается, что весь массив отказал, но на деле это не так. Думаю, ясно почему.

Ответ 2n^2 — n^4 правильный. Массив raid0+1 выходит из строя тогда, когда ломаются два соответствующих диска. Пусть массив состоит из четырёх дисков A, B, C и D, причем B является зеркалом A, а D — зеркалом C.

Тогда возможны следующие ситуации отказа:
1) отказали оба диска A и B
2) отказали оба диска C и D.

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

1) отказали оба диска A и B
2) событие 1 не произошло, однако отказали сразу C и D

Итак, вероятность первого события есть n^2, второго — (1 — n^2)*n^2 = n^2 — n^4. Так как события не пересекаются, их вероятности можно сложить, и получим ровно 2n^2 — n^4.

Ну да, прямо сверху, где 12 часов.
Полностью на баше, из внешних программ используются только netcat для передачи данных по сети, stty для настройки терминала и clear для очистки экрана. Постараюсь сегодня-завтра опубликовать.
Недавно писал сетевой морской бой на bash. Могу опубликовать, если интересно.
В тексте вообще с этим проблема :) «не обычный», «не стандартный».
Института системного проектирования

Программирования, всё-таки.
А еще есть знаменитый cr.yp.to
Разве в ANSI C нельзя объявлять переменные в начале блока? (параграф 3.6.2, «Compound statement, or block»)
Printf, вообще говоря, не может написать меньше, чем ему дали на вход. В случае ошибки он вернет отрицательное число, но с такой ошибкой уже ничего не сделаешь. Поэтому правильный Hello World с элементами паранойи выглядит так:

#include <stdio.h>

int main() {
return printf("Hello world!") < 0;
}

И, кстати, вот тут полная ерунда написана:
const char const* msg = "something";

Второй const здесь лишний. Это все равно что написать «const const char*». Если Вы хотели сделать постоянным указатель, следовало написать так:
const char* const msg = "something";

Да-да, проверьте — напишите там ++msg и компилятор все соберет.
А еще лучше — объявить строку как массив:
const char msg[] = "something";

Статью я бы перенес в блог «Я безмуный» или «Ненормальное программирование».
А если заниматься настоящей паранойей, то нужно доводить дело до конца. Например, не мешало бы еще обрабатывать EAGAIN, а то вдруг у нас стандартный вывод оказался в неблокирующем режиме. И что же делать, если write будет все время возвращать ноль?

Information

Rating
Does not participate
Location
Palo Alto, California, США
Date of birth
Registered
Activity