• Полный архив рукописей Эйнштейна



      Еврейский университет в Иерусалиме заканчивает сканировать и публиковать в онлайне рукописи Альберта Эйнштейна. Сейчас на сайте Einstein Archives Online представлено около 3000 отсканированных изображений, к конца текущего года их число вырастет до 7000. Полный архив Эйнштейна превышает 80 000 записей, включая письма, заметки о путешествиях и прочие личные документы, например, школьный аттестат.
      Читать дальше →
    • Строение двигателей

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

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

        Читать дальше →
      • Делаем красивую флеш галерею в программе Picasa

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

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

            Наверняка, у многих еще остались машины с устаревшими видеокартами, но более-менее мощными процессорами. Сейчас такие популярно называть «машинка для офиса» — на них ставят довольно неслабые двухядерные пентиумы, а видеокарта уходит на последний план, что верно. Если вы являетесь обладателем такого аппарата и хотите увидеть красивости DX9 на своей встроенной видеокарте, или вы — фанатичный до игры, вышедшей пару лет назад, но неимущий студент, обладатель, P4 3000MHZ и несчастной GFMX440. А может быть и вовсе, вы написали крутой DX9 рендерер для своей homebrew стрелялки, но «на погонять» у вас под рукой только дешевый ноутбук 2003 года. Если да, то читаем дальше.

            Теперь можно заставить любой (почти) процессор обсчитывать DX8, DX9 сцены с шейдерами, без участия мощностей видеокарты.

            Встречайте — Swift Shader 2 от Transgaming inc.

            Читать дальше →
          • Помогите развиваться

              Добрый день. Так как на хабре нет возможности просто задать вопрос, поэтому пишу топик.
              Я — программист на PHP. Учился сам с нуля ещё на мобильном телефоне (Siemens MC60 с поддержкой файловой системы, фтп) делая wap сайты. Сейчас пытаюсь делать сайты для «большого» интернета, но сомневаюсь в качестве своих разработок. Сейчас прошу кого-нибудь помочь мне в понятии моих ошибок (я уверен, их много) в моём коде путём просмотра его.
              Если будет кто-то, кто согласится поучить меня немного — я выложу архивы (кстати, программирую процедурно).

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

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

              P.P.P.S. Убрал.
              Читать дальше →
            • Нужна помощь в восстановлении винта

                Есть винт WDC WD5000AAKS-00A7B0, надеюсь, что многие поняли, что это Western Digital на 500 Гб. С ним случился казус по моей вине: обнулились MBR и Boot Sector (где-то я напортачил). В них реально были одни нули, остальное, вроде бы, на месте. Я их «примерно» восстановил, но винды отказываются присваивать этому диску букву, говорят, что раздел неотформатирован. Возможно я немного напутал или ошибся в циферках, но не могу понять где. На винте большой архив, который очень не хочется потерять.
                Было:
                WDC WD5000AAKS-00A7B0, один NTFS Primary раздел, форматированный на только-что купленном винте системой Win XP 64 bit или просто Win XP (уже не помню, это было в Мае месяце этого года). Форматирование было полным и по дефолтным установкам за исключением метки тома. Туда был слит архив (примерно 300 Гиг) с другого винта, отправленного на службу другому компьютеру.
                Нужно:
                Если у кого есть такой-же винт, такая-же система и также отформатирован, поделитесь, пожалуйста, образом MBR и Boot Sector или посоветуйте что-нибудь.
                С меня кармаблагодарность за реально работающий вариант, если не заминусуют. Если получится восстановить — с меня рассказ об этом приключении.
                P. S. Пару-тройку раз я уже восстанавливал NTFS разделы с битыми MBR и Boot Sector, причем удачно, но в этот раз что-то не получается. :(
                UPD Спасибо за советы, но пробовал автоматику уже — не подойдет. На этом винте кроме многих тысяч фотографий заархивированных на DVD лишь частично, есть еще и виртуальные машины со своими виртуальными дисками и программы для автоматического восстановления благополучно находят туеву хучу разделов разной степени совместимости друг с другом. Реально, там один раздел: NTFS, Primary форматированный по дефолтным настройкам системы и вот тут я где-то облажался, поэтому и прошу образы MBR и Boot Sector для такого-же винта с такой-же системой: сравню и примерно будет ясно в каком направлении дальше двигаться.
                UPD 2 Всем, кто порекомендовал TestDisk плюс в карму. Рассказывать что-то о восстановлении моего винта при помощи этой замечательной программки нет смысла, потому, что в ней всё очень просто и понятно.
              • Как я покупал «идеальный» компьютер. Часть 1 — монитор.

                  Так уж получилось, что долго и верно служивший домашний компьютер неожиданно сгорел. Сломалось в нем почти все, не оставив надежд на частичный апгрейд. Поэтому, честно говоря, к своей радости, пришлось покупать все с нуля.

                  Выбор нужной конфигурации виделся делом интересным и недолгим. Однако эта иллюзия исчезла в первый же день. Выбирая основной рабочий инструмент, спешить не хотелось. Пришлось перелопатить гору информации. Эта статья, хотя и не претендует на полноту, возможно сократит время для некоторых ищущих. В первой части расскажу про выбор монитора. Статью не стоит рассматривать как руководство, просто хочу поделиться собранной информацией — возможно, кому-то она окажется полезной.
                  Читать дальше →
                • Десять маленьких программ, без которых неуютно жить

                    Заменяем диспетчер задач
                    Управляем автозагрузкой и следим за состоянием системы
                    Устанавливаем переключение раскладки
                    Создаем виртуальные рабочие столы
                    Сохраняем все заметки в одно место, не задумываясь ни о чем, кроме текста
                    Ускоряем навигацию по винчестеру
                    Ставим плагины к проводнику Windows и радуемся
                    Легко и быстро удаляем папки-файлы «занятые другими процессами»
                    Копируем и перемещаем быстрее и качественнее
                    Перестаем парится с кодировками, заменив блокнот

                    и как мы это сделаем?
                  • Альтернативные потоки данных в NTFS или как спрятать блокнот

                      Введение


                      Поддержка альтернативных потоков данных (AltDS) была добавлена в NTFS для совместимости с файловой системой HFS от Macintosh, которая использовала поток ресурсов для хранения иконок и другой информации о файле. Использование AltDS скрыто от пользователя и не доступно обычными средствами. Проводник и другие приложения работают со стандартным потоком и не могут читать данные из альтернативных. С помощью AltDS можно легко скрывать данные, которые не могут быть обнаружены стандартными проверками системы. Эта статья даст основную информацию о работе и определении AltDS.
                      продолжение
                    • IT блоггеры Рунета, где вы?

                        Буквально вчера я понял, что кроме Хабра в моем RSS ридере нет ни одного русскоязычного источника IT информации. Несправедливость какая-то, подумал я и принялся составлять список блоггеров, которых было бы интересно почитать и за которыми хотелось бы активно следить. Задача эта, как ни странно, оказалась не из самых простых. Поэтому и обращаюсь за помощью к Хабрачеловекам.

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

                        Сразу скажу, что лично меня не интересует: блоги с превалирующей информацией на личные темы; переводчики-кросспостеры информации с западных мейнстримовых блогов (TC, Mashable, Technorati и т.п.), ну и наверное всё.

                        UPD: Огромное спасибо всем, кто прислал линки! Под катом находится лишь малая доля ссылок, присланных хабрапользователями, основные сливки в комментариях
                        Читать дальше →
                      • Я хочу работать в Google! Телефонное интервью (часть 2)

                          Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.
                          Читать дальше →
                        • GitHub Cheat Sheet

                            Привет, Хабр! В очередной раз на глаза попался очень интересный репозиторий. Эта шпаргалка по самым тайным и функциональным возможностям Git и GitHub появилась благодаря выступлениям Зака Холмана одну из статей которого я уже переводил Git and GitHub Secrets на Aloha Ruby Conference 2012 и More Git and GitHub Secrets на WDCNZ 2013. Стоит сказать о том, что проект набрал свыше 1000 старов менее чем за 12 часов. Приведу несколько примеров:

                            Hub — Git Wrapper


                            Hub — это оболочка над Git, которая сокращает потраченное время на лишнее нажатии клавиш при работе с Git.
                            $ hub clone tiimgreen/toc
                            > git clone https://github.com/tiimgreen/toc.git
                            

                            На hub можно сделать алиас git и все будет выглядеть еще удобнее:
                            # Remote
                            $ git remote add rtomayko
                            > git remote add rtomayko git://github.com/rtomayko/CURRENT_REPO.git
                            
                            #Fetch
                            $ git fetch mislav
                            > git remote add mislav git://github.com/mislav/REPO.git
                            
                            #Fork
                            $ git fork
                            [ repo forked on GitHub ]
                            > git remote add -f YOUR_USER git@github.com:YOUR_USER/CURRENT_REPO.git
                            


                            Читать дальше →
                            • +40
                            • 17.6k
                            • 8
                          • Собираем и анализируем логи с помощью Lumberjack+Logstash+Elasticsearch+RabbitMQ

                              Добрый день.

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

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

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

                              Почему? Maxifier представляет собой SaaS-продукт с клиентами в США, Бразилии, в нескольких странах Европы и в Японии, так что у нас около сотни серверов, раскиданных по всему миру. Для оперативной работы нам необходимо иметь удобный доступ к логам наших приложений и быстрый поиск ошибок в них в случае проблем на сторонних сервисах/api, появления некорректных данных т.д. Кстати, похожей системой сборки логов пользуются The Guardian (одни из наших клиентов).

                              После нескольких случаев сборки логов Rsync-ом со множества серверов мы задумались над альтернативой, менее долгой и трудоемкой. И недавно мы разработали свою систему сборки логов для разных приложений. Поделюсь собственным опытом и описанием, как это работает.
                              image
                              Читать дальше →
                            • HTML по стандартам

                                Привет Хабр!

                                image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

                                В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
                                Читать дальше →
                              • RESTFul Api контроллеры в .NET MVC 4

                                • Tutorial
                                Приветствую.
                                Летом вышел релиз новой версии фреймворка, но поработать с ним получилось только недавно. В новой версии было добавлено много полезных штук, об одной из них, а именно ApiController, я хотел бы сегодня рассказать.
                                Благодаря им стало возможно делать RESTFull Api без лишних усилий. На небольшом примере заодно разберем работу с OData.
                                Читать дальше →
                              • ASP.NET MVC Урок E. Тестирование

                                • Tutorial
                                Цель урока. Научиться создавать тесты для кода. NUnit. Принцип применения TDD. Mock. Юнит-тесты. Интегрированное тестирование. Генерация данных.

                                Тестирование, принцип TDD, юнит-тестирование и прочее.

                                Тестирование для меня лично – это тема многих размышлений. Нужны или не нужны тесты? Но никто не будет спорить, что для написания тестов нужны ресурсы.
                                Рассмотрим два случая:
                                1. Мы делаем сайт, показываем заказчику, он высылает список неточностей и дополнительных пожеланий, мы их бодро правим и сайт отдаем заказчику, т.е. выкладываем на его сервер. На его сервер никто не ходит, заказчик понимает, что чуда не произошло и перестает платить за хостинг/домен. Сайт умирает. Нужны ли там тесты?
                                2. Мы делаем сайт, показываем заказчику, он высылает список правок, мы их бодро правим, запускаем сайт. Через полгода на сайте 300 уников в день и эта цифра растет изо дня в день. Заказчик постоянно просит новые фичи, старый код начинает разрастаться, и со временем его всё сложнее поддерживать.


                                Читать дальше →
                              • Как находить и устранять утечки памяти на примере Яндекс.Почты

                                • Tutorial
                                На первый поверхностный взгляд, слова JavaScript и «утечка памяти» рядом стоять не могут. Настоящих утечек памяти в JS, конечно, не может быть, потому что процесс сборки мусора происходит автоматически и не может контролироваться из нашего кода. Выделить память под объект и забыть освободить невозможно. Но могут быть ситуации, связанные с ошибками в логике работы приложения, которые приводят к утечкам памяти другого рода. Например, забиндили обработчик, в котором что-то делаем с методами общего объекта и забыли его анбиндить. Или же посылаем письмо с большим телом и не очищаем тело даже после отправки.

                                image

                                Мы в Яндекс.Почте, сложном и массовом проекте, накопили заметный опыт в поиске и устранении таких утечек, и хотим им поделиться.
                                Итак, больше подробностей
                              • Фотографии рабочих мест хабражителей и…

                                  image
                                  Хабражители редко ходят друг к другу в гости. И, в то же самое время, хотят взглянуть на то, как устроились другие. Может быть, даже, позаимствовать разные интересности.

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

                                  По возможности, описываем:
                                  1. 7 любимых гаджетов.
                                  2. 7 ежедневных программ.
                                  3. 7 интересных открытий, которыми вы часто пользуетесь.

                                  Приоткройте занавесу тайны в своей обители.

                                  PS: Бонус для владельцев ноутбуков — подключаем 2 монитора.
                                  Читать дальше →
                                • Девять кругов автоматизированного тестирования



                                    Я хочу рассказать о созданной нами системе автоматизированного тестирования. Система в моем понимании это не только код, но еще железо, процессы и люди.

                                    Я отвечу на вопросы: Что тестируем? Кто этим занимается? Зачем это все происходит? Что у нас есть?
                                    А затем расскажу как все работает: опишу круги тестирования — с первого по девятый.

                                    Что?

                                    Наш продукт — корпоративное web-приложение Service Desk, написано на java.

                                    Кто?

                                    Я — лид группы автоматизированного тестирования; программисты код которых тестируем; ручные тестировщики, рутину которых мы искореняем; менеджеры верящие, что если тесты прошли, то все не так уж и плохо.

                                    Зачем?

                                    Цель моей группы — уберечь продукт от регрессионной спирали смерти.
                                    Задача группы — необнаружение дефектов максимумом интересных способов с минимальным количеством ручного труда.

                                    Что у нас уже есть?

                                    900 коротких и не очень сценариев использования приложения закодированых в тесты.
                                    CI Jenkins на шести серверах, три СУБД, два семейства ОС и три браузера под которые пишем продукт.

                                    Как это работает?


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