Search
Write a publication
Pull to refresh
4
0
Send message

Стабилизация растений для ленивых романтиков. Ну и гиков тоже

Reading time8 min
Views118K

Думаю, это очень классная история, когда ты подарил цветы, а они не вянут целый год!

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

В основе стабилизации нет никакого чуда: обычные законы физики и биохимии, простые ингредиенты и широкий простор для экспериментов. Хотя у производителей остаются свои секреты.

Читать далее

Навеянное Prolog-ом коммерческое решение пробыло больше 10 лет в эксплуатации

Reading time13 min
Views5.2K
Для большинства программистов которые хотя бы слышали про Prolog это только странный артефакт из времён когда компьютеры были размером с динозавров. Некоторые сдали и забыли в институте. И лишь узкие как листочек A4 специалисты сталкивались с чем-то подобным в современном мире. Так уж получилось, что далёком 2003-ем году я использовал некоторые решения подчерпнутые из Prolog-а, в коммерческих играх на Flash и больше десятилетия они радовали французов. Причём применил я это полудекларативное решение не потому что прочитал книжку Братко и впечатлился, а потому что это было реально нужно нашему проекту. Я до сих пор регулярно порываюсь воспроизвести то решение на современном уровне, потому что оно очень много где было бы полезным в современном игрострое, но, к сожалению, каждый раз находятся дела поважнее… В общем об этом всём и расскажу.


Скриншот той самой флэшовой игры до сих пор приветствует вас на сайте toox.com/jeux/jeux-de-cartes/coinche
Ещё раз предупреждаю, всё что будет дальше не про Prolog, а про надёрганные из него идеи

Буддизм с точки зрения программиста

Reading time20 min
Views103K

Здравствуйте, меня зовут Сергей, я работаю JavaScript-программистом, и я - буддист. Но совсем не такой, каким вы меня только что представили. Наверняка, при прочтении слова "буддист", в вашей голове всплывает либо образ улыбчивого азиата в оранжевом одеянии, либо образ безработного хиппи-вегана, путешествующего по Индии, занимающегося йогой и ищущего "просветления" в сомнительных религиозных практиках. Так вот, я ни тот, и ни другой. Так кто же я? Чтобы ответить на этот вопрос, нужно для начала поближе познакомиться с историей буддизма.

Около трех с половиной тысяч лет назад Древняя Индия была завоевана ариями - одним из индоевропейских племен, пришедшем в Индию с предгорий Кавказа через территорию современного Ирана. Немного отклонившись от основной темы поста, скажу, что с этим завоеванием связано много интересных фактов. Именно потому, что кроме Индии эти племена завоевали также территории Европы и Ирана, все европейские, персидский и индийские языки родственны друг другу и входят в одну языковую семью. Вы же понимаете санскритское слово "веды" без перевода, верно? И именно по названию места происхождения этих племен в английском языке европеоидная раса называется caucasian race. А также именно по названию этого племени французский граф Жозев Артюр де Гобино дал имя своей печально известной расовой теории, позже популяризованной и претворенной в жизнь Адольфом Гитлером. Но давайте вернемся назад к нашей теме.

Читать далее

Что такое Unity Asset Store и как на нем зарабатывать?

Reading time6 min
Views26K

Доброго времени суток, Habr! Я являюсь паблишером Asset Store уже 4 года и хочу поделиться с вами своим опытом. Расскажу вам что такое Unity Asset Store глазами программиста и что нужно знать для создания ассета.


Итак, что же такое этот Unity Asset Store? Это магазин в котором можно приобрести ассеты для Unity, такие как 3D модели, звуки/музыка, наборы UI, шейдеры/частицы, наборы спрайтов, а так же инструменты. Asset Store был создан в 2010 году и не так давно ему исполнилось 10 лет! Практически в любом проекте Unity можно встретить ассеты, которые делают процесс разработки более комфортным и быстрым. Если вы знакомы с Unity, у вас есть идея и желание, то вы можете стать паблишером и увеличить свой пассивный (но это не точно) доход.

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

Дополняем чек-лист тестирования при обновлении иконки и сплеша в мобильных приложениях

Reading time3 min
Views7.4K


Алоха! Меня зовут Даша, я тестирую мобильные приложения. Скоро Хэллоуин, а FunCorp традиционно обновляет к некоторым праздникам иконку и сплеш. Сейчас именно такой случай, потому что большинство наших пользователей находятся в США. Задача показалась тривиальной, я быстро составила базовый чек-лист на 8 пунктов, но в процессе нашла ещё несколько кейсов, и он вырос до 13-ти (прилагается).

Здесь нет rocket science, я лишь расскажу, на что стоит обращать внимание в таких тасках, чтобы не пропустить лишних багов в прод — и на Android, и на iOS.
Читать дальше →

Создание сеток шестиугольников

Reading time25 min
Views103K
image

Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
Читать дальше →

Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги (часть 1, 2)

Reading time12 min
Views67K
Данная история будет состоять из трёх частей, т.к. я выпустил три игры:

  • Beasts Battle
  • Necromancer Returns
  • Magicians Legacy

Часть‌ ‌1


Для тех кто предпочитает смотреть, а не читать, я подготовил видео этой статьи.


В каждом выпуске будут цифры по каждой игре, какой бюджет и доход принесли игры…

Сразу скажу, я – фанат серии Heroes of Might and Magic и King's Bounty. Играл почти во все части и аддоны, за исключением седьмой части, т.к. время идет, жизнь меняется и на игры времени не осталось.

Как мы переосмыслили работу со сценами в Unity

Reading time5 min
Views11K

Unity как движок имеет ряд недостатков, но которые благодаря возможностям для кастомизации и инструментам для кодогенерации можно решить.

Сейчас я вам расскажу о том, как мы написали плагин для Unity на основе пост-процессинга проектов и кодогенератора CodeDom.

Читать далее

История одного pet-проекта

Reading time19 min
Views10K
Если помните, в детстве были такие книжки, где ты читаешь, а в конце есть вариант развилки — пойти направо или налево, убить кого-то или помиловать. В зависимости от вашего выбора в книжке было написано: «Перейдите на такую-то страницу и на такую-то строчку». У Александра Зимина появилась идея для pet-проекта – сделать маркетплейс с дизайном Netflix или онлайн-кинотеатров и где было бы много таких игр.

Александр учился в Высшей Школе Экономики на факультете ФКН и руководил встречами CocoaHeads, пока не уехал из России. Участвовал в разных европейских и американских стартапах, но в то же время успел поработать и full-time в лондонском Badoo. Сейчас Александр участвует в проектах в доле. В своем докладе на конференции App Live 2019 Александр рассказал о том, что помогло ему сделать проект прибыльным, и какой путь он прошёл для этого. Его рассказ — от идеи до результата, — мы расшифровали и публикуем сегодня.


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

За двумя мобильными сервисами: HMS и GMS в одном приложении

Reading time10 min
Views8.1K


Привет, Хабр! Меня зовут Андрей, я делаю приложение «Кошелёк» для Android. Уже больше полугода мы помогаем пользователям смартфонов Huawei оплачивать покупки банковскими картами бесконтактно — через NFC. Для этого нам потребовалось добавить поддержку HMS: Push Kit, Map Kit и Safety Detect. Под катом я расскажу, какие проблемы нам пришлось решать при разработке, почему именно так и что из этого вышло, а также поделюсь тестовым проектом для более быстрого погружения в тему.
Читать дальше →

Ленивая инициализация в C#

Reading time4 min
Views35K
Отложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения. Необходимость ленивой инициализации может возникнуть по разным причинам: начиная от желания снизить нагрузку при старте приложения и заканчивая оптимизацией редко используемого функционала. И действительно, не все функции приложения используются всегда и, тем более, сразу, потому создание объектов, реализующих их, вполне рационально отложить до лучших времён. Я хотел бы рассмотреть варианты ленивой инициализации, доступные в языке C#.
Читать дальше →

«На пике» Брэда Сталберга и Стива Магнесса: профилактика самовозгорания (часть вторая)

Reading time8 min
Views2.3K


Продолжаем цикл статей с основными тезисами книги Брэда Сталберга и Стива Магнесса «На пике. Как поддерживать максимальную эффективность без выгорания». В первой части мы говорили о многоликости стресса: как он выглядит изнутри нашего мозга, какова его связь с вожделенной продуктивностью и в каких терапевтических дозах его принимать. Сегодня речь пойдёт об отдыхе – антиподе стресса, приятном, но ускользающем в современном мире.
Читать дальше →

Улучшение Python-кода: 12 советов для начинающих

Reading time12 min
Views44K
В мои обязанности входит наём Python-разработчиков. Если у заинтересовавшего меня специалиста есть GitHub-аккаунт — я туда загляну. Все так делают. Может быть, вы этого и не знаете, но ваш домашний проект, не набравший ни одной GitHub-звезды, может помочь вам в получении работы.

То же самое относится и к тестовым задачам, выдаваемым кандидатам на должность программиста. Как известно, мы, когда впервые видим человека, формируем первое впечатление о нём за 30 секунд. Это влияет на то, как мы будем, в дальнейшем, оценивать этого человека. Мне кажется несправедливым то, что люди, обладающие привлекательной внешностью, добиваются всего легче, чем все остальные. То же самое применимо и к коду. Некто смотрит на чей-то проект и что-то тут же бросается ему в глаза. Ошмётки старого кода в репозитории — это как крошки хлеба, застрявшие в бороде после завтрака. Они могут напрочь испортить первое впечатление. Может, бороды у вас и нет, но, думаю, вам и так всё ясно.



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

В чём разница между новичком и более опытным разработчиком? Новичок не работал с устаревшими кодовыми базами. Поэтому он не видит ценности в том, чтобы вкладывать время в написание кода, который легко поддерживать. Часто новички работают в одиночку. Они, в результате, не особенно заботятся о читабельности кода.
Читать дальше →

Как начать понимать на слух английский? Подружиться с умными колонками

Reading time6 min
Views20K
На Хабре было много статей о том, как выучить английский язык. Это — еще одна, однако здесь будут именно лайфхаки для того, чтобы прокачать навык понимания на слух, или аудирования. Причем мой подход претендует на уникальность в рамках Хабра. Навык аудирования исторически очень плохо развит в СНГ, но всё ускоряющаяся глобализация приводит к тому, что он становится понемногу востребован даже среди технических специалистов, от которых раньше требовалось «уровень английского: чтение технической документации».



Я решил, что единственный вариант достичь желаемого — избавиться от постоянного чтения, а для этого нужно отказаться от графического интерфейса, оставив только восприятие на слух, и в этом нам помогут умные колонки. Что можно делать с ними, и как с их помощью прокачать навык аудирования — под катом.
Читать дальше →

Выводы, которые я сделал, помогая стартапу для секс-чатов повысить конверсию

Reading time6 min
Views11K

Не так давно я писал о закрытии моего агентства UXhot. Но до того, как это случилось, нам довелось поработать над юзабилити одного интересного стартапа.

Читать далее

Рендеринг каустики воды в реальном времени

Reading time7 min
Views12K
В этой статье я представлю свою попытку обобщения вычислений каустики в реальном времени с помощью WebGL и ThreeJS. Тот факт, что это попытка, важен, ведь найти решение, работающее во всех случаях и обеспечивающее 60fps — сложная, если не невозможная задача. Но вы увидите, что при помощи моей методики можно достичь достаточно приличных результатов.

Что такое каустика?


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

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


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

Чтобы добиться стабильных 60fps, нам нужно вычислять её на графической карте (GPU), поэтому мы будем вычислять каустику только шейдерами, написанными на GLSL.
Читать дальше →

Как создавать напряжение в хоррор-играх. Часть первая

Reading time6 min
Views48K
Напряжение, стресс и саспенс – это 3 столпа хоррор-игры. Лучшие игры этого жанра медленно накаляют обстановку в игре до предела и затем высвобождают напряжение в несколько этапов. В некоторой степени именно за счет этого и достигается эффект крайнего вовлечения: когда игрок настолько увлечен игрой, что испытывает физический стресс.


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

Как создавать напряжение в хоррор-играх. Часть вторая

Reading time6 min
Views16K
Саспенс и напряжение создаются в играх с большим трудом. Чтобы напугать игрока и всё время держать его в страхе, вам нужно тяжело работать, всесторонне воздействуя на его чувства. Лучшие хоррор-игры выводят игроков из равновесия основными игровыми механиками и затем фиксируют их внимание на страшном повествовании. Вам нужно продумать каждую механику, каждое художественное решение, чтобы пользователь оставался сосредоточенным на игре и в то же время ощущал собственную уязвимость.


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

Зона доступа: 30 способов, которые позволят разблокировать любой смартфон. Часть 1

Reading time16 min
Views478K


В своей работе компьютерные криминалисты регулярно сталкиваются с кейсами, когда надо оперативно разблокировать смартфон. Например, данные из телефона нужны следствию, чтобы понять причины суицида подростка. В другом случае — помогут выйти на след преступной группы, нападающей на водителей-дальнобойщиков. Бывают, конечно, и милые истории — родители забыли пароль от гаджета, а на нем осталось видео с первыми шагами их малыша, но таких, к сожалению, единицы. Но и они требуют профессионального подхода к вопросу. В этой статье Игорь Михайлов, специалист Лаборатории компьютерной криминалистики Group-IB, рассказывает о способах, которые позволяют экспертам-криминалистам обойти блокировку смартфона.
Читать дальше →

Стартап Glide для создания мобильных приложений из Google-таблиц

Reading time9 min
Views40K


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

Например, если говорить о сайтах, то можно вспомнить то время, когда цена простейшего лендинга начиналась от нескольких тысяч долларов. Сегодня же можно бесплатно скачать готовый шаблон практически для любого сайта. Либо же воспользоваться одним из популярных конструкторов. И да, «создать сайт за 5 минут» – это именно то, что нужно большинству заказчиков.

Похожая тенденция наблюдается и на рынке мобильных приложений. Для них тоже существует огромное множество бесплатных шаблонов. А простые конструкторы вполне подходят для самостоятельной разработки.

И сегодня мы решили рассказать о проекте, который имеет все шансы открыть новый виток развития в этой сфере. Стартап Glide привлек к себе внимание возможностью создавать приложения на базе Google-таблиц для любой мобильной ОС. При этом «разработчику» не нужно иметь знаний кода и опыта в программировании.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity