Как стать автором
Обновить

GitHub: хостинг для git репозитариев

Чулан
Совсем недавно, 2 года назад, Линус Торвальдс написал Git — систему контроля версий, а точнее, distributed scm. С тех пор количество разработчиков её использующих возрастает по экспоненте.
Не так давно, около двух месяцев назад и я решил поспотреть что эе это такое и с тех пор использую её повседневно и во всех проектах с которыми я работаю (ну, честно говоря, почти во всех, есть один проектик под svn, в котором повсеместно были зачекинины испорченные симлинки, использовать git просто не получается).

Итак, чем же git так хорош?
Чистота — залог здоровья. в отличии от svn, создается только одна директория .git, где и хранится вся нужная системе информация, по всему проекту не создаются директории .svn.
Интеграция с svn. Да, Вы можете использовать git при работе с репозитарием svn! Для этого в комплекте идет git-svn. Однако, как говорил выше, если в svn репозиторий были зачекинины симлинки, то git не сможет сконвертировать его в свой формат.
Вы можете использовать его, будучи в оффлайне. Даже если у Вас проблемы с интернетом, Вы всё равно можете чекинить, затем просто синхронизируйте репозитарий с сервером (если Вам это вообще нужно).
Branches. Помните бранчи в svn? Забудьте. С git бранчи станут повседневной и очень удобной вещью.
Ну и наконец, как говорится, it's new and shiny tool for coolkidz.

Это я собственно к чему? Могу пригласить первых трех человек в github beta (http://github.com), поверьте, не пожалеете. Очень-очень прошу, пишите только если Вы действительно используете git, а не просто посмотреть. Заранее благодарен.
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 1.2K
Комментарии 13

Как я отказался от $300 000

Я пиарюсь
Перевод
Когда нам по двадцать с копейками лет, когда нам, по большому счету, нечего терять, у нас есть время, навыки и жадность риска, почему бы не предпринять Попытку Всей Жизни? Если ничего не удастся — а у большинства это будет именно так — то конца света не наступит. Но если удастся, то представьте себе награду.
Говорит Tom Preston-Werner
Всего голосов 123: ↑103 и ↓20 +83
Просмотры 3.2K
Комментарии 72

Делаем gem для RubyGems

Ruby *

Собираем камешки для Ruby


Зачастую бывает так, что таскаешь из проекта в проект какие-то куски кода. Такие куски очень удобно выносить во внешние файлы, модули. Для этого в Ruby существует RubyGems — менеджер приложений и библиотек, оформленных в один файл-пакет — gem. И собрать такой гем, а главное, сделать его доступным для любой машины, подключенной к интернету, оказалось очень просто.

Итак, gem за пол-часа
Всего голосов 32: ↑27 и ↓5 +22
Просмотры 2.2K
Комментарии 17

Конечные автоматы в Ruby

Ruby *
Статья за авторством хабраюзера preprocessor, который не смог ее опубликовать по всем понятной причине. Так что все плюсики ему:)

Конечный автомат (Finite-state machine) — это такая штука, описывающая поведение объекта с конечным количеством состояний. Пути перехода из одного состояния в другое, условия этого перехода, действия выполняемые во время перехода или после. С теорией у меня всегда было плохо, поэтому больше вдаваться в нее не буду, вместо этого, для тех кто интересуется подробностями, могу порекомендовать посмотреть википедию (как же без нее) http://en.wikipedia.org/wiki/Finite-state_machine и http://ru.wikipedia.org/wiki/Конечный_автомат, а оттуда уже капать на сколько захочется. На практике это можно использовать много где, от парсинга строк (привет Ragel), до модели User в вашем веб-приложении.
Читать дальше →
Всего голосов 34: ↑27 и ↓7 +20
Просмотры 8.4K
Комментарии 15

К вопросу о борьбе со списыванием

Учебный процесс в IT
Я так понимаю, тут есть преподаватели, ведущие практики всевозможные. Вот, делюсь с ними (выставляю на обсуждение) педагогической мыслью :) Все мы знаем, как сложно победить тягу студента к списыванию и копированию различных решений из интернета (кстати, это совсем даже не плохо — в повседневной практике, например, программирования копипаст является полезным инструментом, но он должен быть разумным). Ниже описан способ хоть какого-то противодействия бездумному копипасту при помощи систем контроля версий.

Читать дальше →
Всего голосов 74: ↑51 и ↓23 +28
Просмотры 1.5K
Комментарии 146

Джаваскриптовый эмулятор Сommodore 64

JavaScript *
Опрос показал, что около 42% читателей Хабрахабра используют рождественские выходные дни для того, чтобы потрудиться над своими проектами.

Во блоге Ajaxian сообщают, что точно таким же манером использовал свои выходные разработчик по имени Тим де Конинг, который портировал Flash-версию эмулятора Commodore 64 на чистый джаваскрипт, работающий с холстом (<canvas>). Получился проект, названный им jsc64. Выглядит вот как:

[скриншот jsc64]

Исходный код раздаётся на GitHub. Там есть даже plugin для jQuery.
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 1.1K
Комментарии 3

Gordon: среда исполнения Flash, реализованная на джаваскрипте

IT-стандарты *
Перевод
Вот это сюрприз! Тобиас Шнайдер (Tobias Schneider) построил среду исполнения Flash, работающую прямо во браузере. Она реализована на чистом джаваскрипте и HTML5, и все исходники являются открытыми (MIT-лицензированными), и располагаются на GitHub.

Поглядите на Gordon в действии (хостинг демонстраций осуществил Пол Айриш).

Gordon работает волшебно в последних версиях Файерфокса, Хрома и Сафари (да, и в iPhone Safari, хотя демонстрация «blue» на моём 3G идёт утомительно медленно). Чтобы установить его себе, запустите «git clone git://github.com/tobeytailor/gordon.git». Я обнаружил, что с URL «file:///» демонстрации не грузятся (в силу системы зависимостей скрипта), так что направьте ваш вебосервер на корень Gordon, а браузер направьте на demos/.

Документации ещё никакой нету, так что неясно, насколько широкой совместимостью с Flash обладает Gordon, или в каком направлении станет развиваться. Однако, по крайней мере, это мощная заявка на зрелость открытых веботехнологий.
<body onload="new Gordon.Movie('trip.swf', {id: 'stage', width: 500, height: 400})"></a>
    <div id="stage"></a></div>
</body>
[Gordon (скриншот)]
Читать дальше →
Всего голосов 153: ↑140 и ↓13 +127
Просмотры 941
Комментарии 134

Закончен предварительный перевод книги «Волшебство Git»

Git *
Я, как и многие программисты, после знаменитого выступления Линуса Торвальдса о Git на Google Talks заинтересовался распределенными системами управления версиями, а в особенно Git.

Я довольно таки свободно читаю на английском, но мне приятнее читать на русском языке, при условии нормального перевода.
Существует замечательная книга «Git Magic» Бена Лина (Ben Lynn).
Благодаря труду многих людей вышел первый черновой вариант этой книги. Всех желающих улучшить перевод — приглашаю под кат.
Читать дальше →
Всего голосов 81: ↑77 и ↓4 +73
Просмотры 25K
Комментарии 59

GitHub, вебсайт и автоматическое создание тестового сайта из последней версии исходных кодов

Чулан
Речь в данной статье пойдет о том, как автоматически получать свежую версию исходников из основной ветки вашего репозитория и разворачивать из нее проект на виртуальном хостинге. Сразу хочу отметить, что с GitHub'ом и Git'ом я познакомился только вчера. Поэтому матерым веб–программистам эта статья может показаться тривиальной. А тем, кто еще только начинает свой путь веб–программиста, надеюсь, поможет.

Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 2.3K
Комментарии 5

Homebrew: Менеджер пакетов для OS X

Разработка под MacOS *
Перевод
Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. В этом посте я расскажу про Homebrew — новый менеджер пакетов, нацеленный на простоту использования.

До Homebrew было несколько различных попыток создать эффективные пакетные менеджеры для OS X. Две наиболее популярные вылились в итоге в Fink и Macports, но у каждой из них все равно есть свои острые углы. В частности, в обоих создание своих пакетов или портов является черезчур сложным.

В Homebrew создавать новые пакеты и работать с ними проще пареной репы. Давайте посмотрим.
Читать дальше →
Всего голосов 38: ↑30 и ↓8 +22
Просмотры 60K
Комментарии 51

Github теперь поддерживает Subversion

Системы управления версиями *
Github наc заинтересовал с тех пор, как части проекта www.azati.com мы стали выпускать под AGPL лицензией. 1 апреля этого года Github объявил поддержку Subversion в режиме «только для чтения» для своих репозитариев. До сегоднешнего дня я был уверен, что это была первоапрельская шутка. Но вчера они объявили, что ввели поддержку Subversion еще и в режиме записи. Похоже Github целится в лидеры и настроен на пользователей которые уже устали от Subversion, но еще не созрели на Git. Ведь врядли те, кто уже использует Github с Git захочет использовать Subversion. Однако теперь многие поклонники Google code будут думать над переездом. Набор инструментов для работы с Subversion не меняется, глядишь, потом и Git можно попробовать ничего не теряя.
Читать дальше →
Всего голосов 43: ↑37 и ↓6 +31
Просмотры 2.2K
Комментарии 12

Подборка полезных репозиториев на GitHub

Разработка под iOS *

В последнее время у меня собралось много отмеченных репозиториев на GitHub со всякими разными, полезными и не очень кусками кода. Решил их как структурировать для себя, так и поделиться с общественностью.

Читать дальше →
Всего голосов 60: ↑51 и ↓9 +42
Просмотры 3K
Комментарии 15

Emacs Starter Kit

Emacs *
Emacs. Большая и сложная программа. Ему как ничему другому подходит это определение. Эмакс был создан очень давно в лаборатории искуственного интллекта MIT, он несет в себе гены очень своеобразной культуры лисп-хакеров былых времен. С тех пор он не раз переписывался, улучшался, дополнялся и обрастал тысячами расширений в течение десятков лет. Эмакс, если и был когда-то мощным текстовым редактором, сейчас стал некоей универсальной программой, в нём можно делать абсолютно всё что угодно, если это хотя бы немного затрагивает собой задачу отображения или редактирования текста, и даже больше. Людям знающим универсальность играет на руку, ведь одной программой можно делать тысячу разных дел, при этом не прилагая усилий для переучивания к разным интерфейсам. Людей, впервые запустивших эмакс подобная универсальность и непривычный интерфейс поначалу пугает. Научиться пользоваться эмаксом, понять его идею и проникнуться ею задача непростая, трудоемкая и долгая (как говорится, пологая кривая обучаемости).
Читать дальше →
Всего голосов 84: ↑79 и ↓5 +74
Просмотры 15K
Комментарии 76

PacMan в браузере

Чулан
PacMan в браузере

Дэйв Харви — разработчик из Шотландии, разработал версию PacMan, в которую можно играть в браузере. Примерно то же самое, что сделали программисты из Google 21 мая этого года в честь 30-летия PacMan.

Дэйв воссоздал полностью игровой процесс популярной игры, а использовал он для этого возможности современных браузеров: локальные хранилища, HTML 5 audio, Canvas и @font-face, не говоря уже о JavaScript, CSS и просто HTML.

Так же Дэйв разместил код игры на GitHub, чтобы можно было посмотреть что и как там устроено и поиграть на своем компьютере локально.

Ссылка на поиграться.
Всего голосов 78: ↑57 и ↓21 +36
Просмотры 2.2K
Комментарии 46

GitHub преодолел планку в 1 миллион размещенных репозиториев

Разработка веб-сайтов *
image
Буквально на днях веб-сервис для совместной разработки и хостинга проектов GitHub преодолел очередной рубеж – был зарегистрирован миллионный git-репозиторий. Приблизительно 60% из размещенных проектов – это полные репозитории, общие папки с кодом размещенном в нескольких файлах, а оставшиеся 40% — короткие фрагменты кода, содержащиеся в единственном файле.
Читать дальше →
Всего голосов 58: ↑52 и ↓6 +46
Просмотры 997
Комментарии 45

А как же Rails Developers?

Блог компании Ciklum
Дополнительно к Ruby появилась идея охватить всю ROR технологию и провести новый конкурс на Rails. Будем надеяться, что предложенное нами к созданию приложение, станет полезным открытым нововведением.
Приз тот же — бесплатный пропуск на конференцию RubyConfUa 2010!
Мы все еще продолжаем принимать на проверку решенные задания на прошлый конкурс от Ciklum по технологии Ruby.

Задание для RoR разработчиков:

Для системы авторизации devise написать расширение (extension) для идентификации пользователя через один из сайтов Google, Facebook, Twitter.
Разместить готовое решение в свободном доступе на Github. Решение должно быть минимально продокументировано и содержать тесты.
Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 1.2K
Комментарии 0

Автоматизация создания соответствий исполняемых файлов исходным кодам в GIT

Git *
Имея программный проект с компилируемым языком программирования возникает задача имея исполняемый файл определить из каких исходных кодов он был собран. В данной статье мы опишем как автоматизировать добавление коммита в исполняемые файлы и как по нему в дальнейшем получить исходный код.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 2.4K
Комментарии 7

Написание документации

JavaScript *
Перевод
Если вы пишете документацию открытого исходного кода, то это не просто вежливые дополнение к проектам, она в определенной степени помогает вашему проекту взлететь. Хорошонаписаный README помогает, но полная документация по API делает проект более профессиональным. Даже если ваш проект с закрытым исходным кодом, документация поможет новым коллегам более быстро адаптироваться или поможет вам вспомнить как все работает в длительных проектах.

Давайте посмотрим как устроена документация в популярных JavaScript фрэймворках.

jQuery


jQuery

Документация jQuery располагается по адресу docs.jquery.com и представляет из себя wiki в которой описана вся документация по API. Любая крупная область API включена в навигацию, каждая страница имеет список методов для этой области. Страница содержит примеры кода и комментарии на Disqus.
Комментарии исходного кода в основном связаны с багами или с необычным фрагментом кода, который требует пояснений.

Далее: Prototype, JSDoc и несколько специфических подходов к JavaScript документации
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры 28K
Комментарии 18

Symfohub = symfony + GitHub

Symfony *
imageЯ люблю symfony framework, за то что там всегда уделялось много внимания пользовательским плагинам. Они всегда были частью архитектуры фреймворка, на официальном сайте есть раздел с каталогом всех возможных плагинов, а недавно было объявлено, что для долгожданого Symfony2 будет подобный каталог с bundles.

Но тем не менее, были вещи, которые казались неудобными. Было много плагинов-пустышек, достаточно условная категоризация, не было четкой градации плагинов: например, старый и глючный плагин будет в рейтинге выше нового неглючного, из-за того, что старый в свое время использовали больше людей и все они за него проголосовали.

Потому нами с LupineDreamer был создан Symfohub — проект-мешап для GitHub, собирающий все репозитории, относящиеся к symfony. Symfohub собирает данные обо всех symfony-репозиториях с GitHub'а, а также каталогизирует их по тегам, и собирает пользовательские отзывы об использовании того или иного плагина или бандла.

Читать дальше →
Всего голосов 20: ↑13 и ↓7 +6
Просмотры 1K
Комментарии 13

Парень выложил свой геном на Github под открытой лицензией

Git *
Программист Ману Спорни (Manu Sporny) секвенировал свой геном с помощью инструментов 23andme и выложил его в репозиторий под лицензией Creative Commons Public Domain.

Конечно, опубликован не весь геном, а только 966 977 маркеров SNP, то есть тех участков генома, которые отвечают за индивидуальные особенности каждого человека.
Читать дальше →
Всего голосов 149: ↑136 и ↓13 +123
Просмотры 3.5K
Комментарии 110