Замінюємо бут-анімацію Android пристрою на мелькають логи Linux ядра

Після розробки кастомного завантажувача для свого телефону мені захотілося реалізувати вивід ядерних логів на дисплей, як це вміють робити десктопні дистрибутиви Linux. А все тому, що особисто мені при завантаженні телефону набагато цікавіше спостерігати мелькають kmsg логи, ніж спостерігати спочатку логотип завантажувача, а потім ще і бут-анімацію системи Android. За два роки «нудні шпалери» вже приїлися.

Зараз спробую коротко розповісти про модулі LLCON для Android ядра, який реалізує низькорівневий висновок kmsg логів на дисплей.

Читати далі →

FConsole — інструмент для налагодження Canvas/WebGL додатків

Буквально вчора виклав у відкритий доступ першу робочу версію консолі для налагодження Canvas/WebGL додатків FConsole. Якщо ви завжди хотіли редагувати властивості візуальних об'єктів без зміни вихідного коду, а так само без ускладнень переглядати всю ієрархію візуальних об'єктів, то прошу під кат.

image
* На скріншоті представлена Flash-Console, яка бралася в якості прикладу при розробці FConsole

Читати далі →

Валідація JSON з командного рядка Linux

Внаслідок синтаксичної простоти і гнучкості, JSON (JavaScript Object Notation, Об'єктна Нотація JavaScript став стандартом де-факто, використовуваним для обміну даними в багатьох веб-додатках. У зв'язку з тим, що JSON широко використовується для представлення структурованих даних з високим ступенем гнучкості, виникає необхідність мати можливість «валідувати» JSON-подання.

Таким чином з'явилася так звана схема JSON (зараз 4-я версія чернетки IETF), яка визначає структуру даних JSON в декларативному форматі, так само, як схема бази даних визначає логічну структуру і взаємовідносини записів бази даних. Сама схема JSON записана в JSON. Схема JSON може бути досить корисна не тільки для генерації правильно форматованих даних JSON, але також для перевірки коректності структури даних JSON.



Це керівництво торкнеться два аспекти валідації JSON з дотриманням схеми JSON. По-перше, ви можете валідувати дані JSON за схемою JSON, тобто, перевіряти, щоб дані JSON відповідали специфікації зі схеми JSON. Інший аспект валідації — це валідація схеми, коли ви перевіряєте, щоб сама схема JSON була правильно оформлена відповідно з Інтернет-чернеткою схеми JSON. В обох випадках я покажу вам, як зробити необхідну валідацію з командного рядка Linux.

Читати далі →

Як розпарсити JSON-рядок в командної рядку Linux


Якщо ви часто працюєте з текстами формату JSON з командного рядка або у шелл-скриптах, ви можете задатися питанням, чи є якась консольна утиліта, яка може розпарсити JSON-рядок. Консольний JSON-парсер може бути корисним, коли ви тестуєте або отлаживаете мережеві JSON-сервіси. Ви можете згодувати відповіді формату JSON від веб-сервісу консольному JSON-парсеру, тим самим легко вивчаючи важкочитаємі JSON-відповіді або витягуючи з них окремі об'єкти.

У цьому посібнику я покажу розпарсити JSON-рядок з командного рядка.

Читати далі →

Новий PyCharm 4.5 зібрав разом усі інструменти для роботи з Python

Всім привіт! Ми випустили новий PyCharm 4.5, який вже доступний для скачування.



З моменту попереднього релізу PyCharm 4.0 минуло рівно півроку. За цей час PyCharm отримав ряд нових корисних інструментів для Python, Django і веб-розробки, які, як завжди, тісно інтегровані і ефективно працюють один з одним. Сьогодні ми раді розповісти, що ж цікавого і важливого з'явилося у новій версії PyCharm.

Читати далі →

Довідник методів console в JS

З часів систематизації методів об'єкта console пройшло досить багато часу, деякі браузери отримали підтримку відсутніх раніше методів. Таблиця викликає природний інтерес у розробників, тому — чому б її не оновити, доповнивши в одній статті описами?

Читати далі →

Command line interpreter на мікроконтролері своїми руками

У кожному розроблювальному пристрої у мене був присутній вивід зневадження в UART, як у найпоширеніший і простий інтерфейс.
І кожен раз, рано чи пізно, мені хотілося крім пасивного виведення зробити введення команд через той же UART. Зазвичай це відбувалося коли мені хотілося для налагодження виводити якийсь дуже великий обсяг інформації за запитом (наприклад, стан NANDFLASH, при розробці власної файлової системи). А іноді хотілося програмно керувати ніжками GPIO, щоб відрепетирувати роботу з якою-небудь переферією на платі.
Так чи інакше мені був необхідний CLI, який дозволяє обробляти різні команди. Якщо хтось натикався на вже готовий інструмент для цих цілей — буду вдячний за посилання в коментарях. А поки я написав собствыенный.
Читати далі →

Роздуми про стандартної бібліотеки JavaScript. Core.js

Один пацан писав на JavaScript, і клієнт, і сервер, казав що подобається, зручно, читабельно. Потім його в дурку забрали, звичайно.
— З просторів інтернету
До чого це я? Цікава штука — JavaScript. Основа сучасного web і на фронтэнде альтернатив як таких не має.

JavaScript це, в тому числі, і бібліотека, про яку тут і піде мова. Під стандартною бібліотекою я маю на увазі модулі, конструктори, методи, що повинні бути присутніми на будь-якій платформі, будь то браузер або сервер, без зайвих дій з боку програміста, не включаючи API, специфічний для платформи. Навіть якщо ви не пишіть на JavaScript, а на язиці в нього компилируемом, швидше за все, вам доведеться мати справу з його стандартною бібліотекою.

Ванільна стандартна бібліотека JavaScript, в цілому, непогана. Це не тільки стандартна бібліотека по специфікації мови ECMA-262 актуальних версій — від 3 до чернетки 6. Частина API винесено в окремі специфікації, наприклад, API інтернаціоналізації ECMA-402. Багато можливості, без яких складно уявити JavaScript, наприклад,
setTimeout
, відносяться до web-стандартам. Консоль не стандартизована зовсім — доводиться покладатися на стандарт де-факто.

Ось тільки не така вже вона і стандартна — скрізь різна. Є старі IE, в яких з коробки ми отримуємо стандартну бібліотеку ES3 90-бородатого року навіть без
Array#forEach, Function#bind, Object.create
і консолі, і є, наприклад, Node.js, на якій багато хто вже щосили використовують можливості майбутнього ES6.

Хочеться мати універсальну, дійсно стандартну бібліотеку, як на сервері, так і в будь-якому браузері, що максимально відповідає сучасним стандартам, а також реалізує необхідний функціонал, що (поки що?) не стандартизований. Стаття присвячена бібліотеці core.js — реалізація моїх міркувань з приводу стандартної бібліотеки JavaScript. Крім того, ця стаття ще й шпаргалка по сучасній стандартизованою стандартної бібліотеки JavaScript і замітки про її перспективи.

Зміст, або що отримаємо на виході:


Читати далі →

Перепрошивка мережевого сховища NS-2502 від Edimax через консольний кабель

Від Автора: Статтю вже викладав, пояснення перепоста в кінці статті.

Одного разу вирішив оновити NAS нерідний прошивкою. Ну прошивка була під той же залізо, тільки випущена іншим виробником.
Знайшов обговорення даного сховища на форумі IXBT, з нього перейшов на польський сайт, де і взяв прошивку, яка за всіма відгуками працює з залізом в рази краще, ніж рідна.
Прошивку брав звідси, там ця залізяка називається MZK-NAS02SG.

При прошивці трапився облом. Сервер випав в осад і завантаження прошивки підвисла. Почекавши деякий час і перезавантаживши сервер чарівними клавішами (RELEASE+COPY — 5 sec), отримав геморой — сервер помер.
Вийшов такий непоганий цеглинка з двома полуторатерабайтными дисками і абсолютно даремний.

Поліз в інтернет і не знайшов ніякої інформації про те, як же все таки перепрошити даний девайс. Благо натрапив на форумі comteh.com на пост, в якому користувач Virus_58 сам потрапив у таку ж ситуацію. Від нього я отримав китайський документ, в якому говорилося, шити девайс. Половина документа була на китайському, друга англійською, що в загальному-то допомогло.

Отже, перше, що нам потрібно зробити — розібрати наш цегла. Справа непроста, без зламаних замків не обійтися, так що розбираємо хто як може.

Десь на англійскою сайті згадувалося про кредитку, але у мене щось не вийшло.

Читати далі →

Інтерактивна консоль з автодоповнення на PHP

    У цій маленькій статті я покажу, як використовувати у своєму PHP-скрипті консоль з автодоповнення після натискання Tab. З подібних статей на Хабре знайшов тільки статтю від CKOPOBAPKuH , і у неї кілька інший напрямок, хоча суть — та сама.
 
Насправді, ніякої магії тут немає, зі складностей — сформулювати для себе, як повинна працювати ваша консоль. Тому мінімум слів, мінімум коду, тільки найнеобхідніше.
 
Є питання: чи можна (і якщо можна, то як) зробити свою консоль з командами і підказками на PHP.
Є відповідь: можна, але відповідне розширення (readline) для PHP доступно тільки на Linux, на жаль.
 
 
Читати далі →