З радістю запрошуємо вас 7 і 8 березня в 19:00 (МСК) приєднатися до онлайн-трансляции запуску Visual Studio 2017! Де ви отримаєте можливість не лише завантажити нову версію улюбленого інструмента, але і разом з нами відсвяткувати 20 років Visual Studio!



Читати далі →

«Попит на Visual Studio для Mac великий» — інтерв'ю з Alex Thissen



Недавно Microsoft представила Visual Studio for Mac і багатьох вразило рішення випустити флагманський продукт для чужий платформи після багатьох років Windows-ексклюзивності. Але все не так просто: представлений продукт не повний аналог звичної Visual Studio, а перейменована і доповнена Xamarin Studio, потрапила в руки Microsoft з купівлею Xamarin. Що ця новина означає для розробників? Ми вирішили задати кілька питань девятикратному Microsoft MVP Алексу Тиссену (Xpirit), активно стежить за подіями в .NET-світі.

Читати далі →

Пакет-географ або бібліотека, яка прекрасно знає географію і говорить на різних мовах

У багатьох з проектів, в яких я брав участь, була необхідність використовувати географічні дані в тому чи іншому вигляді. Навіть самі прості сайти, як правило, мають список країн чи міст на якій-небудь з своїх сторінок – магазини хочуть знати, куди доставляти товари; соціальні мережі хочуть знати, звідки користувач; і так далі.

Що далеко ходити – от навіть тут на Хабре є випадаючі списки країн, штатів і міст:
image

Читати далі →

Роздаємо картинки рейками після відключення google'ом svn репозиторіїв

Мабуть, на тижні гугл відключив svn репозиторії code.google.com.
Якщо ви не підключали скрипти, що роздаються з цих репозиторіїв, ви могли цього не помітити, як і я.
Мене здивував збільшився трафік в репозиторій google-maps-utility-library-v3але спочатку я не зрозумів, чому це може бути. Пізніше я побачив, що зникли зображення іконок кластерів на карті. Справа в тому, що шлях до іконок захардкожен в MarkerClusterer і вказує на code.google.com.
Як налаштувати sprockets роздавати ці картинки, читайте під катом.
Читати далі →

Підсумки конкурсу з програмування Young Digital Makers

Оголошений нами в минулому році конкурс Young Digital Makers нарешті завершений. У цій статті ми розберемо роботи з призових місць і трохи порефлексируем про захід в цілому.

У ньому могли брати участь школярі зі всієї країни. Було запропоновано три номінації: анімація, гра або музичний трек. Головна умова — всі роботи повинні бути створені з використанням коду. У перші тижні зареєструвалося 800 осіб. Регіони були дуже активні: реєструвалися часто цілими класами.




Читати далі →

Objective-C, static libraries, categories, -ObjC, біль...

Не всім пощастило писати програми повністю на Swift, та й ще під ios 8+ онлі. Багато легасі на Objective-C, багато залежностей йде через статік либы, ні cocoapods, ні carthage, все ручками. Ми ж круті девелопери, тому строго дотримуємося DRY і все реюзабельные вкусшянки виносимо або в окремі проекти, або в статік бібліотеки. Зараз розглянемо випадок, коли ми зробили класну статичну бібліотеку з не менш прикольним апі, і хотіли б поділитися з товаришами по цеху всередині компанії — на вікі ресурсі/гіті викласти архівчик з либой, хедерами і, звичайно ж, ридмиком де описаний весь апі і як ним користуватися.

Для прикладу заради розглянемо один клас + категорію




Читати далі →

Додавання в Unreal Engine підтримки формату dxf

image

Привіт мене звуть Дмитро. Я займаюся створенням комп'ютерних ігор Unreal Engine в якості хобі. Сьогодні розповім як додати підтримку dxf файлів в Unreal Engine. (Исходники як завжди в кінці статті).

DXF — це відкритий формат векторної графіки, розроблений компанією Autodesk. В силу своєї відкритості цей формат підтримується величезним кількістю редакторів векторної графіки.


Читати далі →

Збираємо базу аудіокниг для зручної фільтрації

Всім привіт! Напевно багатьом з вас знайома проблема втомлених очей з тривалою роботою за комп'ютером. На жаль, із-за цього доводиться обмежувати себе в інших заняттях. Одним з них є читання книг. У зв'язку з цим, я вже більше 5 років майже кожен день слухаю аудіокниги. За цей час навчився паралельно займатися чимось і вникати в суть озвучки. Зараз я навіть в спортзалі слухаю книги! Уявіть як це зручно: година дороги пішки туди і назад + півтори години вправ. Середня книга в районі 10-15 годин запису.

З часом все частіше і частіше з'являлася проблема вибору матеріалу. Адже досить велику роль відіграє читець, жанр книги. Часто виникає ситуація, коли хтось радить книгу (або в тій же статті на хабре в читальному залі), а аудіо-версії банально немає ще. Всі ці проблеми я спробував вирішити окремим сайтом. Зараз є кілька досить великих і розкручених аудіокниг, де ви можете прямо онлайн слухати їх. Такі сайти мають досить слабким фільтром за книгами. І, по суті, є чисто каталогом.



Джерело інформації
За весь час я помітив, що рутрекер є одним з найбільш масштабних сховищ аудіокниг. Якщо книга існує в такому форматі, то майже напевно вона є в роздачах. Багато читці навіть вручну роблять релізи торрентів. Першим завданням було повною синхронізацією всіх доступних аудіокниг з рутрекера.

Вибір книги
Наступною метою було створення широкого фільтра для підбору книги. Зручні фільтри допоможуть змінити підхід до вибору книги. Якщо раніше ви просто знаходили собі варіант, а потім шукали його аудіокнигу (якої могло не виявитися), то тепер ви виключаєте перший пункт і шукаєте в базі максимально всіх існуючих книг. Конкретно зараз у мене вийшло зробити наступний набір фільтрів:
  • Семантичний глобальний пошук по всій базі за всіма текстових полів
  • Сортування (asc/desc) за датою створення торрента, кількістю переглядів (на сайті), рейтингу (з зовнішніх джерел), кількість завантажень (за даними рутрекера), ну і навмання
  • Фільтр авторові твору, автору озвучки, жанрами, і можливість виключити книги, які ви відзначили як «прочитане»
  • Можливість підписки на авторів книг або озвучення. Так-так! Ви можете вибрати вподобаного виконавця і підписатися на всі його оновлення. Я, наприклад, моніторю всі книги Ігоря Князєва

Читати далі →

35 корисних порад для учасників Ludum Dare

image

Зовсім недавно, 9 травня, завершився підрахунок результатів Ludum Dare 35. Ludum Dare — міжнародний ігровий джем (по-простому — конкурс, на якому потрібно за 48 або 72 години повністю зробити гру). Ми брали в ньому участь не один раз (для декого з нас це вже 4-ий LD поспіль), але зараз серед нас є і новачки. На хвилі ентузіазму від минулого події і була написана ця стаття.

Завершивши останній проект для Ludum Dare 35, ми хотіли написати пост-мортем. Але в підсумку вийшло щось на зразок набору порад, заснованих на власному досвіді, для тих хто хоче брати участь у цьому конкурсі. Сподіваємося, що це буде корисно як новачкам, так і тим, хто вже не перший раз робить ігри для джемів.

Багато з цих рад можуть здатися очевидними, але кожен з них може виявитися для когось корисною каскою від зайвих граблів. Особливо для тих, хто ще не брав участь ні в чому подібному.

Читати далі →

Qook: Перенести стару іграшку на Android і поділитися нею зі світом

КДПВ

Насправді, я дуже люблю логічні іграшки. Не, «три в ряд», «знайди схожий» та інші «погодуй собачку» мене мало цікавлять. А ось по-справжньому складна штуковина може спокійно тягнути на пару тижнів. Приблизно так і сталося зі мною в 2004-му році, коли до мене в руки потрапив новенький мобільний телефон від Sony. Здатність цього T68I відмінно дзвонити, показувати кольорові картинки і, за чутками, навіть надсилати свої контакти з BT пройшли повз мене непоміченими. А ось Q – ні. І скільки годин я просидів за маленьким дисплеєм, судорожно ганяючи кульки туди-сюди я вже і не пам'ятаю. Натомість, чудово пам'ятаю, що, ідея написати порт цієї гри для якої-небудь із сучасних платформ мене не відпускала з часів свого першого Hello World. Правда, всі мої спроби склепати хоч якийсь ігровий движок в ті старі-добрі часи розбивалися об… взагалі про що-то вони розбивалися. Зате тепер я давно і міцно пишу на Java, а з деяких (зовсім недавніх) пір ще і для Android, так що ідея порту іграшки нарешті знайшла можливість бути реалізованою. Хочете подивитися, що воно є і як воно вийшло? Тоді – під кат.

Читати далі →