Когда потомки увидят твой говнокод
Перевод:
"Загрязнение Арктики - это серьезная проблема"
Я, после того как мой говнокод поместили в арктическое хранилище
Компания GitHub рассказала в своем блоге, что 8 июля 2020 года архив открытых исходных кодов сервиса был успешно размещен в арктическом хранилище Arctic World Archive на острове Шпицберген.
Чтобы заархивировать и перевести на физических носителях весь GitHub понадобилось более пяти месяцев кропотливой работы. 2 февраля 2020 года специалисты компании сделали копию всего открытого исходного кода, хранившегося на сервисе — это вклад работы более 37 миллионов пользователей, который включает около 100 миллионов активных публичных репозиториев.
Ссылка на новость - https://habr.com/ru/news/t/511402/
Как наш репозиторий на GitHub почти стал героем мема
Пока листал твиттер, автоматом среагировал на знакомое изображение: первые строчки из пояснительного текста нашего репозитория на GitHub! В контексте шутки-юмора и мемчика.
Специфическая библиотека для решения навигационных задач - это не около-Web и не ардуино, от того совсем не модно и "звездочки" приходится фактически выпрашивать - основные потребители - студенты из азии - народ не особо благодарный.
Всегда хочется иметь уверенность в том, что делаешь что-то нужное.
В особенности, делаешь это бесплатно.
Торжество свободы и демократии в интернете
GitHub представил для обсуждения сообществом новую редакцию правил, определяющих политику в отношении приватности и соблюдения законодательства США в области регулирования экспорта. Обсуждение продлится до 12 апреля. На 19 апреля намечено утверждение обновлённых правил.
В условия использования сервисом добавлен пункт о невозможности использования корпоративных учётных записей на GitHub в нарушение санкций и ограничений на экспорт, применяемых в США и других юрисдикциях, в том числе при нахождении нерезидента в стране или на территории, подпадающей под санкции. Ограничения также распространяются на работу от имени компании или лиц, занесённых в санкционные списки, или работающих на правительства санкционных стран.
При этом в документе, определяющий соблюдение ограничений на экспорт, для GitHub Enterprise предусмотрена возможность сохранения доступа пользователей, проживающих на территориях, на которые распространяются санкции. Данная возможность предоставляется в соответствии с разрешениями, выданными Управлением по контролю за иностранными активами. Разработчикам в подпадающих под санкции юрисдикциях запрещено использовать прокси, VPN и другие методы сокрытия своего истинного местоположения, а работа на GitHub ограничена некоммерческими проектами и личным общением.
Для тех кто не в курсе GitHub это один из самых распространенных сервисов для хранения и версионирования исходных кодов проектов.
Насколько этично автоматизировать GitHub активность?
Сегодня уже сложно найти что-то, что нельзя было бы автоматизировать, и тут умелые ребята добрались и до профессионального сервиса GitHub.
С помощью этого сервиса стало возможно запустить бота, который каждый день (или по потребности) будет делать кометы в ваш аккаунт.
Возникает вопрос: побаловаться этим можно и ничего плохого я в этом не вижу, но с профессиональной точки зрения, насколько этично так делать? Как считаете?
Сказ о том, как я лоханулся с Amazon Web Services
Немножко охуительных историй в ленту.
Сейчас я уже фактически выпускаюсь с американского универа и делаю что-то вроде дипломного проекта вместе с другими студентами. По проекту мы решили использовать Amazon Web Services, где лежит наша база данных. Как часть процесса разработки мы полагаемся на непрерывную интеграцию с помощью Travis CI (простым языком - тестировать проект каждый раз, когда кто-то комитит свежий код). Но была проблема. Базу данных мы не хотели оставлять открытой всем, но при этом каждый раз Травис использует Linux-машины с разными IP адресами. А это означает, что доступ к базе данных на аккаунте AWS каждый раз надо менять. Но у меня была идея.
Полторы недели назад вместо сна я решил накалякать скрипт, который позволит Травису самому себе давать доступ через API Амазона. И есть такая штука как ключи доступа, что сродни логину паролю. Ими нельзя делиться. Но поскольку я чудак на букву М и уже не соображал на ночь глядя, то просто вставил эти ключи в код даже без шифрования и закомитил. После этого, конечно, все работало и я довольный лег спать.
Утром выяснилось, что на нашем аккаунте было запущенно множество различных машин огромной производительности (для сравнения, наша машина под знаком "micro"). По всей видимости, есть боты, которые сканируют комиты на GitHub и ищут ключи, потом сами их используют и чужими руками ведут расчеты. Криптовалюту майнят или еще чего, неважно. Факт есть факт, это был взлом и взлом по моей вине. Однако я не являюсь администратором аккаунта и просто подставил другого человека. А подстава в том, что чтобы завести аккаунт на AWS нужно привязать свою кредитную карту. И конечно за такие взломы по головке никто не гладит.
Наш аккаунт заблокировали и мы остались без базы данных. Это уже пугало. Я начал искать о возможном ответе Амазона и обнаружил, что тонны людей тупили так же как и я. Комитили ключи доступа и их ломали. Но это меня не успокоило. Как выяснилось, у AWS достаточно сложная ценовая политика и даже если у тебя сейчас бесплатный акк, никто не ограничивает тебя в выборе мощностей. Просто за большее ты будешь обязан уже заплатить.
В некоторых случаях людям приходили счета и на $2000, на $5000, даже видел у одного $30000. И это были просто любители. Вот тут я уже был готов откладывать кирпичи. Однако меня тиммейты успокаивали тем, что у Амазона самая лучшая поддержка клиентов и они оценивают такие проколы демократично. Все случаи, про которые я читал, на удивление оканчивались хорошо и счета обнуляли у "провинившихся". Только сейчас узнал, что Амазон нас тоже простил и отпустил и очень рад этому :)
Опыт есть опыт, конечно, всякое может быть, но вот такие косяки бывают очень опасны и непредсказуемы. Я только радуюсь тому, что лоханулся заранее, а не работая в какой-нибудь крупной компании.
Так что если кто с подобным работает - будьте аккуратнее!
Бобёр и Космос (Space Beaver). Как я делал игру для часов Apple Watch. + исходный код.
Всем привет. Я сделал вторую игру про бобра - Бобёр и Космос (Space Beaver). Игра доступна на iPhone, но в этом посте пойдет речь о разработке версии для apple watch. Решил свои наработки выложить в общий доступ. Исходный код в конце поста.
После первой своей игры, я решил сделать вторую игру. Долго думал о жанре и игровом процессе. В итоге решил что буду делать простой тайм-киллер. По ходу разработки решил попробовать что-нибудь особенное. В один прекрасный момент подумал, а не сделать ли мне игру для часов. Я уже представлял как в неё будут играть.
Как только я приступил к разработке, то сразу возникла проблема: как тестировать на часах. У меня только были часы Zeblaze Blitz и там нет WatchOs (там даже не android wear). У моих знакомых тоже не было этого устройства и пришлось тестировать на симуляторе в XCode.
Вторая проблема - нельзя просто так портировать юнити игру на apple watch.
Игра изначально делалась на юнити и в итоге оказалось что под часы движок не собирает проект. Пришлось изучать swift и SpriteKit, переписывать код на другой язык, изучать другой движок. Также оказалось что некоторые функции недоступны для часов: реклама, интеграция с соцсетями, аналитика.
Третья проблема - маленький экран. Если в основной версии игры есть бонусы и магазин, то на часах ими было бы неудобно пользоваться. Поэтому решил сделать урезанную версию основной игры(которая для iPhone). Также для простоты решил отказаться от уровней сложности.
Добавил в игру звуки из основной игры. Добавил Force Touch для паузы. Добавил в игру эффекты haptic feedback(тактильная обратная связь). Эффекты используются при проигрыше и при неправильном жесте.
Мне понравилась разрабатывать под часы, но были некоторые неудобства. Разработка игры под часы заняла у меня 2 недели, при этом на основную игру под ios ушло 4 месяца. Но это уже совсем другая история :)
Всем спасибо за внимание!
Исходный код тут: https://github.com/darkwind666/SpaceBeaverAppleWatch
Более подробно про техническую часть здесь: https://habrahabr.ru/post/322540/
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.
Начинаем работу github
Сразу скажу, что эта "статья" больше для новичков чем для старожил и я буду рад если дадут дельный совет.
Намедни, недавно решил отвлечься от основной работы и всё таки примкнуть к open source сообществу и написать свой велосипед и заодно разобраться с тем как работать
с github и сделать так что-бы мой код мог быть обосранным использованным другими разработчиками которые более умны чем я и не любят писать велосипеды.
Итак, начнем.
Нам нужно установить git. Мануал курить отсюда
Теперь приступим к созданию репозитория. Для начала нужно зарегистрироваться на сайте github.com, если, конечно, у вас нет там аккаунта
Потом необходимо создать репозиторий
После успешного создания репозитория вам выдадут адрес репозитория. Сохраните его.
Учтите что мы создали пустой репозиторий без файлов.
Далее заходите в терминал (*nix системы) или в коммандную строку Windows.
Переходите в директорию где бы вы хотели клонировать наш репозиторий к себе локально.
А потом выполняйте команду
git init
и создайте там пустой файл. Мы создадим файл README.md - это файл описания нашего проекта
И добавим его в отслеживание git`ом введя команду в терминале
git add README.md
Теперь этот файл у нас будет отслеживатся git`ом и его изменения будут фиксироваться с помощью git`a
Далее нам нужно наш локальный репозиторий "подружить" с нашим удаленным.
Во втором скриншоте мы видели адрес нашего репозитория на github, скопируйте его и выполните команду
git remote add origin https://github.com/ftw-soft/pikabu-lesson.git
Адрес репозитория, само собой, меняйте на свой.
Что-бы удостовериться что вы правильно "соединили" локальный репозиторий с удаленным введите команду
git remote -v
Теперь нам нужно закоммитить (проще говоря - зафиксировать) наши изменения (добавление файла README.md в репозиторий).
git commit -m "initial commit"
А теперь все изменения нам нужно залить на удаленный репозиторий
git push -u origin master
У вас должно запросить логин и пароль к github как на скрине выше (при вводе пароля будет казаться что вы ничего не вводите - но это всё вранье)
Теперь давайте перейдем в наш репозиторий через браузер и посмотрим - есть ли там наш файл
И да, наш файл появился. По аналогии можете добавлять и другие файлы в репозиторий.
Спасибо всем кто заинтерисовался.
Если будет интересно то в следующий раз опишу как сделать так чтобы composer видел ваш githubовский репозиторий.
P. S. Конструктивная критикая, советы приветствуются