image
Чудово жити на березі гірського озера, серед незайманої природи. Дихати тільки чистим, наповненим ароматом трав повітрям. Але мало в кого це виходить. І в мегаполісі, вдома і в офісі можна досягти максимально можливої якості повітря.
Для цього в першу чергу треба бачити і розуміти, що нас оточує? Яким повітрям ми дышем? Нам вже стали звичними термометри, барометри, прилади показують вологість. Але ці прилади нічого нам не говорять про якість навколишнього повітря. А значить ми будемо слухати поради, які не завжди вірні, керуватися чутками, не знаючи напевно, чи правильно ми чинимо.
Один з таких міфів – що в містах огидний повітря, брудний і отруйний. І замість кисню суцільні вихлопи від автомобілів. Ми сприймаємо це як даність, і не намагаємося виправити ситуацію, навіть там, де здатні це зробити, у власному будинку або офісі. Навіть ті, у кого є маленькі діти, або проблеми з алергією, прикладають свої зусилля в сліпу, не контролюючи результатів.
Є багато корисних приладів дозволяють збільшити якість повітря в нашому домі — зволожувачі, іонізатори, мийки повітря, припливні вентиляції та фільтри.
Але цього недостатньо. Потрібен прилад яким ви могли б безпосередньо поміряти якість повітря у вашому будинку. Що б Вам було зрозуміло і очевидно, чим Ви дихаєте. Як температура на градуснику.

Читати далі →



В першу неділю березня в офісі Mail.Ru Group пройде міжнародна конференція Lua in Moscow 2017. У програмі — виступи автора мови Роберто Єрусалимського і кращих зарубіжних і вітчизняних експертів з Lua і LuaJIT.

Lua — унікальний мова програмування, який використовується далеко не тільки в індустрії комп'ютерних ігор, але і як вбудований мова розширень в таких інструментах web-програмування, як Redis, nginx, Tarantool, OpenResty. Lua також застосовується для аналізу великих даних, наукових обчислень. У багатьох роутерах, принтерах і інших подібних пристроях є Lua.

У 2014 році ми провели восьму щорічну конференцію по мові програмування Lua Workshop, найбільшу за кількістю учасників за всі роки. З тих пір ми не забували про мову програмування Lua, проводили митапы і потоки на IT-конференціях. І ось, нарешті, в цьому році у вас знову є шанс особисто задати питання автору мови, обмінятися досвідом з кращими програмістами і, звичайно, послухати доповіді про передовий досвід застосування Lua і LuaJIT.

Частина доповідей буде англійською мовою.

Навіть якщо ви ще не пишете мовою Lua, приходьте, можливо, конференція відкриє вам очі на щось нове та цікаве!

Читати далі →

Ми знову публікуємо розшифровку доповіді конференції HighLoad++ 2016, яка проходила в підмосковному Сколково 7-8 листопада минулого року. Володимир Протасов розповідає, як розширити функціональність NGINX з допомогою OpenResty і Lua.

Всім привіт, мене звати Володимир Протасов, я працюю в Parallels. Розповім трохи про себе. Три чверті свого життя я займаюся тим, що пишу код. Став програмістом до мозку кісток в прямому сенсі: я іноді уві сні бачу код. Чверть життя — промислова розробка, написання коду, який йде прямо в продакшн. Код, яким деякі з вас користуються, але не здогадуються про це.

Щоб ви розуміли наскільки все було погано. Коли я був маленьким джуниором, я прийшов, і мені видали такі двухтерабайтные бази. Це зараз у всіх highload. Я ходив на конференції, запитував: «Хлопців, розкажіть, у вас big data, все круто? Скільки у вас там бази?» Мені відповідали: «У нас 100 гігабайт!» Я говорив: «Круто, 100 гігабайт!» А про себе думав, як би акуратненько зберегти покерфейс. Думаєш, так, хлопці круті, а потім повертаєшся і ковыряешься з цими многотерабайтными базами. І це — будучи джуниором. Уявляєте собі, який це удар?

Я знаю більше 20 мов програмування. Це те, чим мені довелося розібратися в процесі роботи. Тобі видають код на Erlang, C, С++, на Lua, Python, Ruby, на чомусь ще, і тобі треба це все пиляти. Загалом довелося. Точну кількість порахувати так і не вдалося, але десь на 20 число загубилося.

Читати далі →

Класичні алгоритми генерації лабіринтів. Частина 2: занурення у випадковість



Передмова
частина Перша

Отже. Оцінивши відгук аудиторії Хабра і розібравшись зі справами, я взявся за написання другої статті з циклу. Реакція публіки виявилася значно позитивніше моїх припущення, а значить, ми продовжуємо розмову на одну з найцікавіших тим процедурної генерації – створення лабіринтів.

У цій частині ми поговоримо про те, що ж таке випадкова і псевдослучайная генерації, які алгоритми можуть дати нам рівноймовірно нічим не схожі один на одного лабіринти і в чому їх мінуси. Героями нашого сьогоднішнього пригоди стануть алгоритм Вілсона і алгоритм Олдоса-Бродера для створення випадкового остовного дерева (Uniform Spanning Tree). ОБЕРЕЖНО ТРАФІК.

Читати далі →

Master-master реплікація і масштабування додатків між усіма IoT-пристроями і хмарою


На фото представлені пристрої, використані для прототипування. Як видно, за основу взята платформа Intel Edison, так як вона підтримує багато архітектури, в тому числі MIPS і ARM.

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

Читати далі →

Класичні алгоритми генерації лабіринтів. Частина 1: Вступ



Передмова
На написання статті мене спонукало практично повна відсутність матеріалів російською мовою про алгоритми генерації лабіринтів. На Хабре, з того, що взагалі є по темі, можна відзначити дві статті: раз і два. Цінність і користь з яких несе лише друга. У першій – просто переклад формального алгоритму та невелика його пояснення. Що, звичайно, непогано, але дуже бідно і не викликає бажання вивчати тему далі.

Якщо моя стаття Вам сподобається, я продовжу писати про різних алгоритмах. Ми розглянемо два найбільш примітивних і простих випадку – генерація двійкового дерева і Сайдвиндер, який, по своїй суті, просто трохи змінена версія двійкового дерева з одним помітним плюсом. ОБЕРЕЖНО ТРАФІК.
Читати далі →