• Поезда и LEGO-замки. Строим сами


      Про LEGO, наверняка, слышали почти все. Но о такой вещи как компьютерное LEGO-моделирование, как я подозреваю, знает гораздо меньшее количество людей. Да и я бы никогда об этом не узнал, если бы не наткнулся на статью в одном из старых номеров «Мира ПК».

      То, что этот детский конструктор пользуется успехом не только у детей, но и у вполне серьезных взрослых людей по всему миру — вроде бы не секрет. Не удивительны и целые города, построенные из блоков конструктора — Леголэнды. Но то, что LEGO есть и на компьютере я как-то не подозревал :) Под катом — небольшая коллекция ссылок и программ, которые мне удалось найти. Думаю, именно хабрапользователям тема с LEGO-моделированием будет близка. А что если в вас живет LEGO моделист? ;)
      Читать дальше →
    • New Level

        Всем привет!

        Я думаю, что фрилансеры Санкт-Петербурга уже не раз и не два слышали про коворкинг-центр New Level, однако я рискну написать еще и этот пост.

        Дело в том, что мы решили предложить вам использовать New Level в качестве площадки для объединения, а также для получения заказов и помощи в работе. Попробую рассказать по порядку.
        Читать дальше →
      • MySQL rownum

          Постановка задачи


          Есть таблица меню в БД с полем порядка order_id, но порядок неправильный и надо порядок обновить по алфавиту другого поля title. Сортировка по полю title исключается, потому что таблица представляет из себя иерархическое меню, где порядок может менять пользователь устанавливая order_id. Использовать отдельно серверную обработку (php) тоже невыгодно — лишнее разделение бизнес логики если это можно сделать в БД, да и на случай больших объемов данных это займёт больше ресурсов.

          Решение


          В MySQL к сожалению отсутсвует такая возможность ROWNUM, RANK(),
          ROW_NUMBER() как в ORACLE или MSSQL. Присутсвие _rowid никак не влияет
          на ситуацию. В нашем случае можно использовать переменные, введённые с пятой версии (или раньше):
          SET @rank=0;
          SELECT @rank:=@rank+1 AS rank, id FROM menu;

          Для обновления такой таблицы через саму себя у меня не получилось, поэтому я просто скопировал таблицу под другим именем и выполнил такой запрос:
          SET @rank=0;
          UPDATE `menu` SET order_id=(
          SELECT @rank:=@rank+1 FROM `menu2` WHERE `menu`.id=`menu2`.id LIMIT 1
          ) WHERE parentID=0 ORDER BY `title` ASC;



          Оригинал
        • Легкий способ набросать mindmap

            Ресурс text2mindmap.com легко преобразует текст в mindmap, который затем можно сохранить как JPEG-изображение. Ресурс имеет статус бета и немного глючит, например из-под Firefox2 мне так и не удалось сохранить изображение, загружался пустой файл. Но в целом приятен на вид и прост в использовании.

            text2mindmap
          • Стандарт комментирования кода в PHP

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

                Сервис карт от Google столь же многогранен, как и сама компания-разработчик. Давайте посмотрим на удивительные «картины» Maps!

                Что правда — то правда! Google Maps имеет множество секретов, достаточно знать лишь ключи к ним — координаты объектов. Зная эти шифры можно увидеть настоящие чудеса природы, многогранность человеческой фантазии и много чего интересного. В поисках таких вот диковинок я наткнулся на огромное множество последних. Самыми интересными из них я с вами и поделюсь!
                Читать дальше →
              • Искусство публичных выступлений или анализ речи Стива Джобса

                  Вы всегда восхищались умением Стива Джобса представлять новые продукты Apple? С интересом смотрели доклад Стива Балмера в Москве? Удивлялись тому факту, что Фидель Кастро представил речь продолжительностью 27 часов? И, самое главное, хотите научиться делать такие-же удивительные презентации и произносить не менее пламенные речи?

                  Полгода назад, изучая биографию Стива Джобса, я прочитал и посмотрел знаменитые «Три истории», рассказанные выпускникам Стэндфортского университета. Несомненно, это одна из наиболее известных, интересных и поучительных речей Джобса. Покопавшись в сети, я обнаружил хороший разбор речи. Вот примерный перевод этого анализа (найдете неточности и ошибки — отписывайтесь в комментариях).
                  Читать дальше →
                • 10 безусловных «Нет!» для фрилансера

                  • Translation
                  Впервые я начал заниматься фрилансом еще будучи студентом, тогда я ужасно хотел создавать веб-сайты и ответил бы «Да» на абсолютно любое предложение, независимо от уровня моих способностей и требуемого времени. Мне просто нравилось знать, что кто-то нуждается во мне для выполнения задания, которое требует опыта и определенных навыков. К сожалению, очень быстро оказалось, что я все время в работе, питаюсь полуфабрикатами и вечно не успеваю рассчитаться с университетскими долгами. Ситуация становилась еще хуже от того, что мои заказчики передавали мои контактные данные своим знакомым (например, даме, которая хотела заниматься продажей свитеров для собак он-лайн, но при этом имела для целей электронной коммерции бюджет в 100$; и это все за создание сайта, 1000 брошюр, гарантированный результат №1 в Google по запросам «собака», «свитер» и «любовь»).

                  В любом случае, теперь, спустя 4 года, мое мировоззрение (и мой финансовый успех) свидетельствуют в пользу более частого использования ответа «Нет». Ниже приведены десять вопросов, на которые теперь я почти всегда отвечаю «Нет»:
                  Читать дальше →
                • TouchWall за 40$, возможно?

                    Есть TouchWall, это хорошо, но стоит-то все это не дешево.

                    А что делать «простым смертным», у кого нет столько денег на покупку?

                    Есть дешевое похожее решение с использованием Wii Remote.


                    Читать дальше →
                  • Разница во времени, аутсорсинг и трудовые будни админа

                      В час ночи у админа звонит мобильный.

                      Путь звонка:

                      1. В Питере клиент поднимает трубку, набирает городской номер и слышит мелодичный женский голос «Вы позвонили в службу технической поддержки компании такой-то, нажмите… » в трубке играет музыка. Клиент слушает музыку и представляет себе людей в синих комбинезонах и фирменных кепках с фотографий на сайте, денно и нощно дежурящих в стерильном дата-центре.
                      2. Соединение по SIP с сервером на дедике в Москве/США/Где-угодно-лишь-бы-подешевле.
                      3. Сервер пытается позвонить админу на ноут — облом.
                      4. Сервер звонит админу на мобильный.

                      Админ просыпается, поднимает трубку, слышит «бип-бип-бииип», ага, питерская поддержка.
                      Читать дальше →
                    • Художник-программист сгенерировал картину из вирусов

                        Черви вроде NetSky и Mydoom, трояны и спам давно стали причиной головной боли для сетевых администраторов и специалистов по безопасности, но не для всех. Программист Алекс Драгулеску из Массачусетского технологического института нашёл в них источник вдохновения.

                        Алекс произвёл декомпиляцию вирусов и написал программу для генерации трёхмерной графики на основе этого кода. Он попытался найти интересные, повторяющиеся паттерны в поведении вирусов и в спаме. На картине внизу страшные красные щупальца сгенерировал червь Mydoom в процессе своей жизнедеятельности (сканирования портов). А вообще, на базе разных вирусов художник создал десятки впечатляющих графических образов: «Эти существа очень умные. Очень интеллектуально спроектированы. Цифровые организмы, действительно, способны приспосабливаться к окружающей среде и размножаться. Мы хотели запечатлеть их сложность и уникальность», — говорит он.


                        Читать дальше →
                      • Интернет — Сообщество переработчиков полимеров.

                          Пару месяцев назад возникла идея создать профессиональное сообщество переработчиков полимеров. Планировалось сделать максимально веб 2.0 сайт с возможностью комментировать все и вся. Решили использовать ЦМС Друпал.
                          Перед тем как меня запинают )) хотел бы сказать, что я не дизайнер и не программист. Я почувствовал что есть люди моей специальности, которые хотят обмена опытом, знаниями, а средств в интернете для профессионального общения по не ИТ-специализации нет. Поэтому, я с друзьями попробовали предоставить подобный инструмент в меру своих сил и возможностей.

                          Друзья, необходимы ваши отзывы, критика и всеобщая оценка. Мне хочеться узнать что на ваш взгляд не хватает в функционале и дизайне моего небольшого стартапа.

                          Я понимаю что недостатков ГОРЫ, но все же постарайтесь критиковать с максимальной конкретикой и конструктивом.

                          Сейчас сайт находится на обычном хостинге, поэтому тормоза — это обычное явление, в дальнейшем планирую взять вип -хостинг
                        • Портфолио для веб-программиста

                            У дизайнеров с портфолио все просто. По крайней мере, не сложнее, чем с обычной повседневной работой.

                            А как быть веб-программистам? Ведь часто мы вообще ничего не можем показать: готовый сайт видишь через призму дизайна, а твой код, разумеется, никто читать и оценивать не будет.

                            Я пришел к выводу, что для программиста главное — показать, что у него мозги есть. Как «показать мозги»? Мои варианты:
                            • Вести тематический блог.
                            • Публиковать свой софт, пусть даже маленькие утилиты — они-то у каждого есть. И библиотечка кода есть у каждого.
                            • Участвовать в opensource-проектах.
                            • Пройти сертификацию. Все-таки Zend Certified Engineer о многом говорит.


                            На вопрос «что такое портфолио веб-программиста» я так и не ответил…

                            А вы как думаете, хабралюди?
                          • Всё, что вы должны знать о прототипах, замыканиях и производительности

                            • Translation
                            • Tutorial

                            Не всё так просто


                            На первый взгляд, JavaScript может показаться достаточно простым языком. Возможно, это из-за достаточно гибкого синтаксиса. Или из-за схожести с другими известными языками, например, с Java. Ну или из-за достаточно малого количества типов данных, по сравнению с Java, Ruby, или .NET.

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

                            В JavaScript поиск данных зависит от двух вещей: прототипного наследования и цепочек областей видимости. Для разработчика понимание этих двух механизмов совершенно необходимо, ибо ведет к улучшению структуры, а, зачастую, ещё и производительности кода.
                            Читать дальше →
                          • Классификация с использованием муравьиного алгоритма

                            На хабре уже был рассмотрен муравьиный алгоритм, позволяющий используя простые правила решить задачу поиска оптимального маршрута. В данной статье рассмотрено применение этого алгоритма к задаче классификации.
                            Читать дальше →
                            • +50
                            • 20.7k
                            • 8
                          • Symfony CMF. Часть 2 и последняя

                              imageПродолжим разглядывать Symfony CMF, реализующую концепцию платформы для построения CMS из слабосвязанных компонентов. В первой части статьи мы подробно рассмотрели схему хранения и доступа к данным, во второй части нас ждет все остальное.

                              Продолжение статьи выходит со значительной задержкой из-за моей лени, проблем со здоровьем и интернетом. За эти пару месяцев система доросла до версии 1.0.0, и все последующие правки в master-ветке зачем-то ломают работу системы, не будучи документированными. На случай, если кто захочет ставить систему руками, помните — опирайтесь на стабильные версии, помеченные тегами.

                              Самые нетерпеливые могут промотать вниз, скачать виртуальную машину с установленной системой (потребуется VirtualBox) и пощупать все самому, но для полноты опыта я бы рекомендовал сначала прочитать статью.

                              Итак. Что у нас по плану после хранения данных?
                              А вот что
                              • +24
                              • 17.8k
                              • 5
                            • Мобильные приложения «Сочи 2014»: как показать мегабайты результатов пользователям

                                Вот и отгремели «Жаркие.Зимние.Твои» Олимпийские игры. Не смотря на весь скепсис, переживания и недоверие, игры, без сомнения, прошли хорошо. Как один из участников этого проекта, отвечающий в составе интернет-команды за официальные мобильные приложения, хотел бы поделиться с интернет-сообществом некоторыми подробностями, как это всё вообще стало возможным и как было реализовано.
                                Читать дальше →