Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как создать форму с отправкой на почту и записью в инфоблок?

Лучший ответ:
Это достаточно просто, если вас устроит стандартный функционал.
Есть простой компонент в битриксе. Называется "форма добавления и редактирования элементов".
joxi.ru/52aNjzZIRedxA0
Подключаете, настраиваете, в частности в какой инфоблок добавлять элемент.
Шаблон у него, конечно, не ахти. Скорее всего, нужно будет поменять. Но это уже другая задача.
С первой задачей справились.
Отправка письма.
Скопируйте стандартный компонент /bitrix/components/bitrix/iblock.element.add.form в папку /bitrix/components/my_components/
Надеюсь, знаете про правило никогда не редактировать стандатные компоненты. Править только скопированнный.
 Открываете файл component.php компонента iblock.element.add.form.
Ищите комментарий // add new element . Это один из редчайших файлов в битриксе, где есть комментарий. Ура!
Вставляете в условие
joxi.ru/12M7aYNTY1xBrJ
https://dev.1c-bitrix.ru/api_help/main/reference/c...
CEvent::SendImmediate
(
   $event, 
   $lid, 
   $arFields, 
   $Duplicate = "Y", 
   $message_id=""
) 
Если у вас нестандартный шаблон письма. Вам, скорее всего, нужно будет создать новые тип и шаблон почтового события. Но это, уже другая задача.
Все. Добавляйте элементы

Худший ответ:
Сделал все следующим образом:<?require_once($_SERVER['DOCUMENT_ROOT'].'/PHPMailer/class.phpmailer.php');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

$mail_body = implode('/n', $_POST)

/*запись данных в инфоблок*/ 
$arLoadProductArray = Array( "MODIFIED_BY" => $USER->GetID(),
    "IBLOCK_SECTION_ID" => false,
    "IBLOCK_ID" => 24,
    "NAME" => $_POST['name_organization'],
    "ACTIVE" => "N",
    "DETAIL_TEXT" => $mail_body, 
    ); 
CModule::IncludeModule("iblock"); 
$element = new CIBlockElement; 
if($product_ID = $element->Add($arLoadProductArray)){ 
    
    /*отправка формы*/ 
    $mail = new PHPMailer;
    $mail->From = "no-replay@terrafrigo.ru";
    $mail->FromName = "no-replay";
    $mail->AddAddress('почта куда идут письма');

    $mail->isHTML(true);
    $mail->CharSet = 'UTF-8'; 
    $mail->Subject = 'тема письма'; 
    $mail->Body = $mail_body;

    if($mail->Send()){ 
        echo 'Отправлено';
    }
    echo 'Элемент записан ('.$product_ID.') '; 
}else{ 
    echo "Error: ".$element->LAST_ERROR.' '; 
}
Для отправки писем используется плагин - https://github.com/PHPMailer/PHPMailer
Вопрос: Как правильно подойти к созданию БД для веб-проекта?

Лучший ответ:
Прочитайте ПОЖАЛУЙСТА про нормализации БД и уже отталкиваясь от этого создавайте.
Самому не раз приходилось переделывать ужасную структуру БД

Худший ответ:
Добрый день. 
К сожалению я не знаю вашего уровня знания Mysql на данном этапе, но могу предложить следующий план по покорению данной стязи :)
Самый простой способ найти простой самоучитель. Могу предложить вот этот ну и не забудьте установить себе phpmyadmin
Разберите пару примеров, напишите телефонный справочник или, что-то подобное.
Попробуйте написать систему, которая взаимодействует сразу с 3 или 4 таблицами.
Предположим в таблице users у каждоко пользователя указан в одном из полей(city_id) - id города в котором он проживает - все эти города храняться в таблице cities, в свуою очередь каждый город имеет такую же привязку к стране типа country_id, а страны лежат в табличке countries.
Попробуйте вывести всех пользователей упорядоченно по  странам и городам.
Пробуйте усложнять себе задачи и прокачивать себя. Успехов!
Вопрос: Куда именно нужно ставить тег HABRACUT в длинной статье на GT?

Лучший ответ:
Кат - это специальный тег, который разделяет пост на 2 части: "до ката" (вступление) и "после ката" (продолжение статьи). До ката должна находиться информация, максимально завлекающая под кат. Поэтому может находиться где угодно - после первого предложения, после первого абзаца, после картинки до ката (КДПВ - Картинка Для Привлечения Внимания).

Худший ответ:
После первого абзаца будет нормально.
Вопрос: Как использовать QtSerialPort?

Лучший ответ:
Семантика всех таких вызовов одинакова - вы указываете, сколько хотите передать, write выдает, сколько реально передал или -1. Проверить код возврата (и почитать документацию), вы конечно не удосужились

Худший ответ:
Как отметил Армянское Радио - нужно проверить в первую очередь код возврата.
Во-вторых, возможно вызов процедуры bool QSerialPort::waitForBytesWritten(int msecs) может помочь.
Вопрос: Как использовать namespace внутри метода?

Лучший ответ:
Никак не использовать, вынесите use вне класса, туда, где он и должен находиться.

Худший ответ:
Если use будет внутри подключаемого файла - всё заработает.
Вопрос: Adobe Flash Linux 64 bit?

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

Худший ответ:
PepperFlash - это не Adobe Flash, так что и не получится.
Вопрос: Научить племянника (10 лет) программированию

Лучший ответ:
Я рекомендую LEGO Mindstorms
http://ru.wikipedia.org/wiki/LEGO_Mindstorms

Худший ответ:
Посмотрите тут: www.alice.org/
Вопрос: Уволенный сотрудник использовал корпоративную почту в своих целях — как избегать такого?

Лучший ответ:
Проблема чисто административная. Наладить тесную связь между отделом кадров и отделом ИТ.
И не увольнять сотрудника без подписи в обходном листе, системного администратора.
Соответственно как только ставится подпись, данные пользователя блокируются, пароли и явки меняются.
Как-то так.
Ну или ставьте все пароли временными

Худший ответ:
А как же  если у меня есть почта почему бы не использовать ее в переписки по личным делам ? 
Ограничить  можно  отправку на разрешенные  домены , иначе других способов нету .
Меня люди в конторе работали по 15 - 17 лет  они в разных соц сетях регистрировали корп почту , скайпы icq итд , вот когда контору разгоняли  тут были бока для сотрудников  о смене почты
Вопрос: Почему код не выполняется

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

Худший ответ:
Используйте nodejs.org/api/process.html#process_process_nexttick_callback
Вопрос: Инвайты на Google+

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

Худший ответ:
Получил сообщение от одного из Хабраюзеров, который оставил мне его через Google+. Пройдя по ссылке и нажав «Зарегистрироваться в Google+» попал на главную страницу соцсети. Регистрация не произошла. Через несколько часов ссылка из письма стала возвращать 404 :(
Вопрос: Как прослушать, редактировать программно DNS сервер?

Лучший ответ:
Если правильно понял вопрос - то вот так примерно... 
tcpdump -vvv -s 0 -l -n port 53
Модифицировать - mitmproxy

Худший ответ:
потоковый редактор sed
Вопрос: Как отобразить код на странице?

Лучший ответ:
Во-первых нужно экранировать хтмл символы, такие как "<" и ">".
А потом уже думать в какой тег это обернуть. 
Семантически правильно делать так:<pre>
  <code> 
     тут код 
  </code>
</pre>
Но это на любителя.upd:
Посмотрел в тостер. Так и сделано. Не сговаривались.

Худший ответ:
тегом <code></code> можно еще этим <blockquote>Текст</blockquote> но это не самый лучший вариант.
Вопрос: Как работать с многоядерными процессорами в Python?

Лучший ответ:
https://docs.python.org/2/library/multiprocessing.html - единственный известный мне способ утилизровать несколько ядер на питоне. GIL есть в обоих ветках питона, обойти никак (вроде, если я не ошибаюсь, написав экстеншн на С, Вы все равно будете вынуждены запускать его в тех же условиях).

Худший ответ:
GIL нет в Jython и IronPython, можете копнуть в их сторону.
Вопрос: Выбор языка и БД для высоконагруженного веб-приложения?

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

Худший ответ:
node.js+cluster+redis+mongodb.

Использовать PubSub redis для нотификации остальных node.js instances об изменениях в базе, если нужен реалтайм.
Cluster — это как gunicorn для python
Вопрос: JQuery плагин не работает в Internet Explorer?

Лучший ответ:
Действительно, как сказал max_rip не подгружаются стили из файла scrollbars.css
Возможно, проблема возникает из-за того, что: "Можно подключить не более 31 CSS-файла". У вас их 35.

Худший ответ:
Стиле не подтянулись к .scroller.vscroller. А вот почему это уже отдельный вопрос.
Вопрос: Виртуальные машины и SSD-диск: как безопаснее и как быстрее?

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

Худший ответ:
Если вы про износ SSD, то
 — в зависимости от поддержки TRIM
а также
 — в зависимости от того, сколько у вас RAM
а также
 — минимального свободного места, которое будет оставаться на SSD при заполнении виртуальных машин, сохранении их снэпшотов, состояний и т.д. Если останется меньше 30% — то лучше не надо,
а также
 — наличия ИБП.

Если RAM мало(4 и меньше), то на SSD лучше разместить своп всей системы, куда кстати будут свопиться и виртуальные машины. Если RAM много (12+), весь кэш в него умещается, и SSD большой — то можете смело размещать на нём часто используемые файлы. Однако, я бы посоветовал такую конфигурацию:
 — SSD под систему
 — зеркало из двух самсунгов под все ваши проекты и важные данные. здесь же можно виртуальные машины. не страйп, потому что со страйпов очень легко и печально теряется информация.
 — третий диск 1,5 ТБ под некритичные данные (бэкапы, дистрибутивы, фильмы-музыка)
Это исходя из того, что винт дешевле купить новый, чем восстанавливать с него информацию у специалистов, а также из того, что винты дохнут внезапно, а также из того, что SSD критично воспринимают сбои питания.
Вопрос: Как сбить настройки в PyCharm?

Лучший ответ:
На будущее для тех, кто натыкается на те же грабли и выходит на эту статью с ответом (как и я):
покопали дальше, выяснили, что это можно сделать и в настройках, только для панелей они отдельные:
File - Settings - Appearance & Behaviour - Appearance: Theme  (панели и общее оформление)
File - Settings - Editor - Colors&Fonts: Scheme (оформление в редакторе)

Худший ответ:
В GNU/Linux можно просто удалить директорию ~/.PyCharm40
В Windows наверняка где-то в %APPDATA%, ищи там.
Вопрос: Рынок китайской электроники

Лучший ответ:
Вот несколько моих советов, надеюсь, помогут:
1. Цену на выбранный товар нужно промониторить в разных магазинах — очень часто получается нехилая разница. Сам пользовался dealextreme, focalprice, buyincoins. Их можно весьма много найти.
2. Обязательно используйте paypal — облегчает работу с возвратами в случае косяков: можно открывать инцидент прямо в paypal, если не удалось договориться с самим продавцом. PP в свою очередь помогает решить вопрос возврата, хотя чаще всего с самим продавцом можно договориться. Например, если прислали вместо одного лота другой, можно потребовать с продавца возмещения пересылки лота ему обратно (изначально придется вложить свои средства) или уплаты им разницы между лотами (с небольшой надбавкой за моральный ущерб :)). Эта схема с мелочевкой у меня работает (один раз пришлось столкнуться) — с продавцом договорились быстро, деньги через PP вернулись за сутки.
3. Перед заказом техники читайте отзывы на сайтах магазинов, форумах, хабре и т.д., смотрите внимательно фотографии и видео от кастомеров (на них товар ближе к реальности, нежели на фото продавца).
4. Трекинг намбер — полезная штука, обращайте внимание не его наличие в заказе. Трекаться по russianpost начинает через 1-2 недели, до этого можно увидеть только движение по Китаю от продавца до места вылета в РФ.
5. Есть много статей на тему приема посылки на нашей почте — почитайте, как, что и когда осматривать, подписывать, оспаривать и т.д.
6. Сперва сложно привыкнуть к «контрастным» ценам, но не переживайте — это всего лишь привычка к нашим магазинским. В Китае все иначе :)

Худший ответ:
Вам сюда www.ebay-forum.ru/phpBB2/topic48913.html
Вопрос: Странное поведение ListView, находящегося внутри LinearLayout?

Лучший ответ:
У ListView поставьте android:layout_height="0dp" и будет ожидаемый вариант. Вообще при использовании android:layout_weight у этого контрола желательно ставить android:layout_height (или соответственно android:layout_width) в 0dp. И поведение будет более предсказуемым, да и работает быстрее. А у нижнего ImageView android:layout_weight наверное совсем не нужен.

Худший ответ:
Вообще, мне кажется, android:layout_height="wrap_content" у ListView — плохая идея. Попробуйте сделать match_parent.
Вопрос: Странное поведение встроенной функции. Не правда ли?

Лучший ответ:
С первого взгяда может показаться нелогичным, но логика здесь есть.
Когда используется all? Когда мы проверяем, что все переменные в iterable-объекте - True (неважно, какого вида). Сформулировав по-другому, можно сказать: "all сообщает о том, что в списке все объекты не False". Т.к. Список пуст - значит в нём нет объектов, которые есть False.
С any похожая логика. "any сообщает о том, что в списке есть хотя бы один элемент True". Т.к. список пуст - значит в нём нет хотя бы одного объекта, который True.

Худший ответ:
Функция all() использует оператор and, что, в свою очередь, соответствует математическому символу умножения ' * '. Функция any() - оператор or (математический символ сложения ' + ')
Любое что-то можно разбить на составляющие: Что-то и Ничто. Например, 5 = 5 + 0
Так вот, допустим, функция all() принимает аргументом Что-то (какое-либо True). Помня о том, что all() работает 
с ' * ', мы можем разбить это True на True * 1. Т.е. в случае c функцией all() Ничто, получается, принимает значение 1/True.
Сооответственно, помня о том, что any() работает с ' + ', мы можем разбить это True на True + 0. Т.е. в случае c функцией any()  Ничто, получается,  принимает значение 0/False.
Вопрос: От блоговой CMS до крупного интернет магазина. Так ли это важно?

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

Худший ответ:
Хотел пройти мимо, но..Мало того, что это опенсоурсные платформы
Этого достаточно что бы вообще не связывать коммерческие проекты с опенсорсном!! НИКОГДА!!!
Если Вы этого не понимаете, извините, но мне жаль Ваших заказчиков..
Вопрос: Как через js отловить событие работы сканера?

Лучший ответ:
Никак.

Худший ответ:
От себя рекомендую СШК Honeywell eclipse ms5145
Вопрос: Как обеспечить проект контентом?

Лучший ответ:
Добавьте вотзможность напистать аннотацию к книге, за скидку на книгу в вашем магазине. Я думаю через некоторое время у вас появится множество аннотаций, если эти книги того стоят конечно.

Худший ответ:
1. Можно попробовать заказать аннотации на специализированных сайтах.
2. Также соглашусь с ALiEN_QWERTY, дать возможность пользователям оставлять свои аннотации или отзывы на книгу, это обеспечит страницы уникальным контентом и даст другим пользователям более расширенное представление о товаре.
Вопрос: Как отформатировать номера телефонов?

Лучший ответ:
Как делаю я для веба:
На сам input ставлю regexp, который форматирует номер по нужному мне формату, а далее проверяю его уже на сервере, если вдруг подменили номер каким-нибудь TamperData. 
На серверной, удаляю все тире, скобки и пробелы. Далее сверяю размер номера, там два варианта возможны с 7/8 или без. Всё, если удовлетворяет всем условиям - пишем в базу.

Худший ответ:
https://github.com/googlei18n/libphonenumber
там есть ссылки на порты под разные языки
Вопрос: Кто-нибудь сориентирует по текущим расценкам работы с Drupal?

Лучший ответ:
Я бы взял $1К — иначе просто лениво работать ;-) А вообще, всегда есть две стороны: к примеру, по п.4-5, «как я себе это представил» и «как вы себе это представляете». В первом случае ничего сложного, прикинул и сделал = цена минимальна. Во втором случае, сделай то, не знаю что = за переделки стоимость проекта может и в 2 раза вырасти. Если на словах панибратски договорились и друг другу мозги не делаем, то цена минимальна. Если с договорами-печатями (сжатыми сроками, юр.ответственностью и прочими радостями жизни), то дороже раза в 3. Отсюда и разброс по ценам, ибо кто как видит: красота в глазах смотрящего.

Худший ответ:
постоянно делаю что-то подобное на drupal, wordpress и прочее. Делаю — это я имею ввиду, как менеджер.

Скажу так, что все зависит от исполнителя и его страны. Я со временем набрал пул исполнителей, которые адекватно и не за дорого.

В адекватно включается

1. Автономность работы ( не надо постоянно тыркать)
2. Сам может решить какие-то проблемы
3. Пишет все так, что потом можно дописывать или менять

Если бы я работал с ними, то заложил бы такие сроки

1. Верстка главной страницы под Drupal.
Если макет без супер хитростей и кучи JS, то — 1500 2 рабочих дня ( с учетом обратной связи и исправления косяков)

2. Создание модуля для слайдера: 5 видов анимации, слайды, описание. 
Здесь чего создавать? Все готовое есть. Нужно только интегрировать и допилить — 4 часа.

3. Создание сайта визитки с шаблонным дизайном из 5 страниц: Главная, Услуги, О компании, Портфолио (изображение, название, описание), Контакты (поля для обратной связи).
Тут то же все просто, в самой CMS все есть для этого, фактически вы сами можете это сделать и формы обратной связи есть. Нужно взять ваш контент и перенести — 1 час.

4. Создание модуля каталога: добавление категорий/подкатегорий, добавление товара (превью, название, описание, цена), корзина, в которой по кнопке «Заказать» информация о выбранном товаре отправляет на почту администратора. 
Опять же, есть готовые решение, -2 дня, с учетом допилки и правок.

5. Добавление билинга (Робокасса) и импорта/экспорта Excel для каталога описанного в 4 пункте. 
Робокасса ставится так. Сначала вы регистрируете аккаунт. Потом запускаете в тестовом решении. Затем пишете в робокассу письмо о переходе в боевой режим. Обычно 3 дня уходит. Программист прикрутит за 2 часа вам.

По срокам, за 5 дней реально получить сайт, еще дней 5 на допилку и правки.

Теперь о цене.

На друпале за все я бы хотел заплатить — 7-10 т.р

Wordpress будет дешевле процентов на 10-15 и быстрее.

Советую вам сделать ТЗ очень подробное и адекватное и оценить его на fl.ru.

Будут вопросы — пишите.
Вопрос: С чего начать писать игры под Android?

Лучший ответ:
Могу ответить на третий вопрос. NDK - это прекрасно, когда вы с хорошей командой пишете кроссплатформенный игровой движок на С++. Если вы один и хотите писать игры, ответ - нет, не используйте. Слишком много постороннего шума и мелких неудобств, которые мешают сосредоточиться на, собственно, игре.

Худший ответ:
По порядку:
1) Лучше всего присоединиться к какой то команде, чтобы не наступать на грабли.
2) 1 год костылестроения. Хотя что такое приемлимый уровень - непонятно.
3) А вы собрались без NDK на голой джаве писать? Не ну текстовые квесты можно, а что то более мения нормальное - либо готовые движки, либо да, NDK + openGL/SDL.
Вопрос: Пользователь + socket.io, как подключить этого же пользователя в разных вкладках браузера?

Лучший ответ:
Socket.io действительно генерирует каждому подключению свой уникальный handshake и это правильно и в порядке вещей.
Если интересует вывод пользователей онлайн в списке на сайте, например, то решить проблему можно при помощи callback() функции.
Мы будем передавать на сигналер-сервер user_id, например через PHP и затем проверять, есть ли этот user_id в массиве подключенных пользователей.
Пример server.js:userlist = {}; // Массив юзеров
io.sockets.on('connection', function(socket) {
	socket.on('connect', function(data, callback) {
		socket.user_id = data.user_id; // в user_id передаём идентификатор пользователя
		if(socket.user_id in userlist) {
		    callback(false); // Ага, этот юзер уже открыл вкладку, значит ничего не делаем
		} else {
		    callback(true); // А вот тут он новенький
		    userlist[socket.user_id] = data; // Фигачим его в массив
		    UpdateUserList(); // Обновляем список онлайн юзеров
		} 
	});
        // При дисконнекте
        socket.on('disconnect', function() {
             delete userlist[socket.user_id];
             // Тут немного магии, чтобы юзеры в списке онлайн на клиенте не моргали, когда например они ходят по ссылкам сайта
             setTimeout(function () {
                 UpdateUserList();
             }, 1000);
        });
    
        function UpdateUserList() {
		io.sockets.emit('updateusers', userlist);
	}
});

Худший ответ:
Но, получается, что одному пользователю соответствует несколько socket.id или это нормально?
Это нормально. socket.io в любом случае надо каждое подключение назвать уникально, чтобы можно было с ним работать отдельно не зависимо от того, есть ли такой логин в Вашем массиве или нет.
Вопрос: ExtJS 6 перелопатили или как создать простейшее приложение?

Лучший ответ:
Можно  по старинке (взять билд из дистриба):<link rel="stylesheet" type="text/css" href="build/classic/theme-gray/resources/theme-gray-all.css" />
<script type="text/javascript" src="build/ext-all.js"></script>
<script type="text/javascript" src="build/classic/theme-gray/theme-gray.js"></script>
<script type="text/javascript" src="build/classic/locale/locale-ru.js"></script>

Худший ответ:
Ответ на Ваш вопрос здесь.
То есть напрямую файлы можно подключать, но приложение будет работать медленно.
Вопрос: Redis. Как записать в ключ TimeStamp с сервера, где запущен Redis-сервер?

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

Худший ответ:
Синхронизацию посекундную сделать практически нереально. обязательно будут какие-то накладки.
Каким образом можно пропатчить редис?
Вопрос: Клуб анонимных Дедов морозов

Лучший ответ:
Интересно, провинившихся в прошлом году дедов морозов допустят к новой акции?

Худший ответ:
меня не пускает в клуб (((
пишет, что я read-only
мне совсем без вариантов туда попасть?
Вопрос: Обзоры старых игр?

Лучший ответ:
Не совсем конечно обзоры, еще «доделка» для работы в современных системах, архиполезные модификации и прочее.

Худший ответ:
Я думаю, что стоит добавить несколько технических подробностей по каждой игре. Наример, технологии, использованные для создания, ведь интересно посмотреть как делали игры раньше и сравнить с тем, как делают сейчас.
Вопрос: Aliexpress Api (есть ли он вообще)?

Лучший ответ:
Посмотрите portals.aliexpress.com/help/help_center_API.html

Худший ответ:
Могу свой парсер предложить parser.ssweb.ru
Вопрос: Шаблоны для формы входа

Лучший ответ:
www.webdesigntunes.com/graphic-design/free-signup-forms-psd/

Оно? Отсюда ссылка.

Худший ответ:
www.webdesigntunes.com/graphic-design/free-signup-forms-psd/

Оно? Отсюда ссылка.
Вопрос: Excel 2003 sp3

Лучший ответ:
Скорее всего винчестер умирает, бэд блоки, связанные с этим таймауты. А почему это влияет? 
Потому что оперативной памяти мало и идет своп на винт. Сколько оперативки и что говорит S.M.A.R.T?

Худший ответ:
Если все остальное работает нормально, то надо смотреть, какие надстройки и макросы поставлены на excel. Макросы да и надстройки смотреть в редакторе Visual Basic (Alt+F11). В идеале там не должно быть не одной строчки кода (если вы сами ничего не делали). Переустановка офиса на это могла не повлиять.