Pull to refresh
-1
0
Юрий Лунев @bitterman

Embedded Linux

Send message

.NET/Mono в Java? Легко!

Reading time11 min
Views20K
Здравствуйте. Хочу представить свой проект – компилятор .NET/Mono в Java. Целью проекта является создание компилятора, и набора стандартных библиотек позволяющих переносить написанные приложения и библиотеки на платформу Java, версии 1.6 и выше. Из аналогичных проектов мне известен лишь проект dot42. Но он заточен под Android и имеет собственную стандартную библиотеку не совсем совместимую с .NET/Mono.

Пока есть только альфа версия, и поэтому для реального использования компилятор пока не годится, однако уже частично работоспособен, генерирует валидный код Java и поддерживает часть стандарта ECMA-335.

Исходные коды на github.com: https://github.com/zebraxxl/CIL2Java

Подробнее о том, что не поддерживается, что поддерживается и как это все работает.

WiFi от Ruckus – почему он лучший

Reading time2 min
Views110K
Каждый производитель WiFi оборудования хвалит себя, приводя разные аргументы. Но лишь немногим действительно есть чем похвастаться. Ruckus – один из таких. Серьезно, ни один производитель не умеет так управлять диаграммой направленности, как они. Но обо всем по порядку.



В чем тут собака зарыта?



Кстати, это официальное лого производителя Ruckus Wireless

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

Cемантическое слияние JSON файлов в Git

Reading time15 min
Views12K
Операция слияния (merge), выполняемая стандартными средствами git, хорошо работает для текстовых файлов, содержащих исходные тексты программ. Но слияние текстовых файлов, содержащих жестко структурированные данные, в частности JSON — это большая головная боль.

Для решения этой проблемы можно подключить к git'у отдельный инструмент слияния для JSON-файлов, который не работает построчно, а учитывает структуру JSON-объектов.

Предлагаю использовать для этого скрипт на javascript, который анализирует сливаемые JSON-файлы и делает слияние на основании структуры и вложенности объектов JSON.
Читать дальше →

Мобильные телефоны и тотальная слежка АНБ: как это работает

Reading time6 min
Views141K
image

Имя Эдварда Сноудена последние два года регулярно мелькает в новостях по теме информационной безопасности. Благодаря разоблачениям этого бывшего сотрудника американских спецслужб все уже слышали, что Агентство национальной безопасности (АНБ, NSA) обладает возможностями тотальной мобильной слежки за гражданами. Но как именно устроена эта слежка, мало кто знает. В данном обзоре мы собрали некоторые подробности о технологиях, которыми пользуется NSA — и не только оно.

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

Сервис мониторинга свободного места на Bash

Reading time9 min
Views18K
Добрый день! Хотелось бы рассказать Вам об очередном велосипедостроении. Просматривая Хабр, я наткнулся на замечательную статью: Bash: запускаем демон с дочерними процессами. После прочтения возникла идея написать что-нибудь полезное, с преферансом и куртизантками, куда же без этого.

Вводная:

ОС: Astra Linux 1.2 (1.3)

Из вводной следуют два вывода:

  1. Нельзя устанавливать не сертифицированное ПО, иначе мы словим лютую попаболь с двух направлений (Заказчик и Руководство).
  2. Т.к. мы настоящие пионеры и не ищем легких путей, то вывод команды df нас не интересует.
Приступим

Диски, контроллеры, ОС и Advanced Format

Reading time12 min
Views96K
imageКазалось бы, что про диски Advanced Format за последние 4 года успели узнать все. Публикаций действительно много, но настало время рассмотреть все технические подробности и подводные камни в одной большой статье. Речь пойдёт об использовании AF-дисков в серверах, и я заметил, что для большинства администраторов даже в крупных компаниях знание предмета в большинстве случаев сводится к «это как-то связано с современными дисками, но у меня всё работает».
Читать дальше →

10 советов фрилансерам, как расставлять приоритеты задачам

Reading time9 min
Views27K
Вы когда-нибудь задумывались: «А сколько стоит пароход построить?”, “А сколько — дизайн-макет сделать?”, “А из чего складывается такая цена?»

Пароход — штука архисложная; его стоимость — это цена на материалы (металл, пластик и что там ещё нужно), оплата труда рабочих верфи, амортизация на износ оборудования, оплата инженерных изысканий и так далее и тому подобное…

А что с дизайн-макетом? Из чего складывается его цена? Ну, допустим, вложим в стоимость “амортизацию оборудования” — деньги на ПК и ПО, которые регулярно нужно обновлять. А что ещё? Остается, собственно, только оплата труда дизайнера-верстальщика. А как её рассчитать? Тут способов два: либо оплата за человеко-часы (сколько времени потратил — столько и оплатили); либо другой более распространенный подход — сдельная оплата (т.е. оценил бриф-ТЗ на макет, прикинул его сложность, назвал стоимость).

Что в первом случае (прямо), что во втором (косвенно), стоимость будет зависеть от времени, которое вы тратите на свою работу. А из чего складывается это время? Есть факторы внутренние: мотивация, навыки работы, муза, в конце концов… Они подвластны лишь вашей силе воли, тут дза-дзен и прочее самосовершенствование вам в помощь. Но остаются ещё и факторы внешние: от обстановки в рабочем кабинете до методологии, по которой вы работаете, — и с ними всё интереснее…


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

Почему 1С это плохо и почему так не любят 1С программистов

Reading time14 min
Views532K
Мы продолжаем то, что мы уже много наделали.

Черномырдин В.С.

Не так давно ко мне в очередной раз обратился клиент с широко известной проблемой. В его компании установили обновления 1С. И работа остановилась, так как программа перестала корректно работать. Думаю, всем, кто сталкивался с программными продуктами от 1С в качестве программиста или пользователя, эта ситуация очень хорошо знакома.

Конечно, в данном конкретном случае я постарался решить все проблемы в самые короткие сроки, и, в результате, работа офиса вернулась в привычное русло. Но даже в такой ситуации я получил массу негатива со стороны клиента. И тогда я задумался о том, почему с программными продуктами 1С постоянно возникает такое количество проблем, почему от клиентов идет столько негатива, а самих 1С-программистов часто недолюбливают, в том числе, и другие программисты?
Читать дальше →

Презентация YotaPhone 2: похоже, у них получилось

Reading time4 min
Views40K
Сегодня, 2 декабря, в культурном центре «Гараж» в Парке Горького состоялась презентация второго поколения «Йотафона» — телефона, кроме российского бренда, известного наличием двух экранов. Я не ждал от этого мероприятия никаких сюрпризов, но второй «Йотафон» оказался действительно интересным смартфоном, в котором концепция двух экранов наконец-то заработала как надо.


Yotaphone 2 выйдет в продажу сразу в 20 странах
Читать дальше →

Микро БД для конфигурации на микроконтроллере

Reading time6 min
Views20K
Многие разработчики программ для микроконтроллеров сталкивались с проблемой хранения конфигурационных данных. Это могут быть калибровочные коэффициенты измерительного алгоритма или просто последний выбранный пользователем пункт меню. Для микроконтроллера, имеющего возможность записывать в собственную flash-память, решение кажется простым — стираем сегмент и пишем туда все, что нужно. Однако, если необходимо еще и обеспечить отказоустойчивость по отношению к выключению питания в произвольный момент, задача становится нетривиальной, — по сути необходимо реализовать маленькую базу данных с механизмом обеспечения атомарности операций записи и восстановлением после сбоев. Решение этой задачи для микроконтроллеров семейства MSP430 — под катом. По количеству используемых ресурсов оно подходит даже для самых младших членов этого семейства — с размером RAM от 256 байт и falsh-памяти от 8Kb. В качестве бонуса — интерфейс командной строки (через UART) для чтения и записи конфигурации.
Читать дальше →

Дайджест российских программ поддержки ИТ-стартапов #1

Reading time12 min
Views12K


В сегодняшнем и последующих выпусках нашего дайджеста мы будем рассказывать о разнообразных отечественных программах поддержки ИТ-стартапов. Подробный перечь таких программ мы приводили ранее. Для каждого выпуска дайджеста мы планируем подбирать программы, различные по своему фокусу и возможностям, но объединенные общей темой – сегодня, например, мы будем говорить о связи таких программ и классического образования.

На сегодняшний день в России программ поддержки молодых предпринимателей, работающих при ВУЗах или тесно связанных с темой образования в целом, достаточно много, поэтому в рамках первого дайджеста мы расскажем лишь о некоторых из них. Помимо, собственно, перечня подобных компаний, мы включили в дайджест их более подробное описание, а также несколько небольших интервью, в которых представители программ поддержки отвечают на наши вопросы о том, как связаны их организации с классическим образованием, как такие компании популяризуют стартап-культуру в стенах своих alma mater и можно ли совмещать учебу и, пусть маленький, но бизнес.
Читать дальше →

Человеческий фактор в разработке программного обеспечения: психологические и математические аспекты

Reading time8 min
Views27K
Разработка программного продукта — это процесс, в котором человеческий фактор играет очень важную роль. В статье поговорим о различных психологических и математических законах и принципах. Некоторые из этих принципов и законов вам хорошо известны, некоторые — не очень, а некоторые помогут объяснить ваше поведение или поведение ваших сотрудников и коллег.

Разработка ПО – нелинейный процесс

Разработка программного обеспечения — нелинейный процесс. Если на проект выделено 5 разработчиков, которые за 5 месяцев должны разработать продукт (25 чел./мес.), то 25 разработчиков не смогут сделать эту же работу за 1 месяц (те же 25 чел./мес.).


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

Как мы экспериментировали с Теорией Ограничений в Украине

Reading time4 min
Views13K
Многие из тех, кто читает этот блог, знают, что я ратую за то, чтобы внедрение ERP систем не было исключительно ради внедрения ERP системы. Этот проект должен приносить какие-то экономические плоды для компании. А возможно это только в том случае, если вместе с системой внедряются и методики управления. В противном случае ERP-система будет просто учетной программой, в которой можно фиксировать события и документы, но никаких решений принимать будет нельзя, и компания лучше не станет. Для принятия правильных решений в области менеджмента и управления нужны методы. Вот как, например, на Тойоте были изобретены определенные методы управления конвейерным производством и это принесло фантастический успех Тойоте. И уже на эти методики сверху можно ставить ERP-систему. Тогда она принесет эффект.

Если вы будете ловить леща при помощи спиннинга, то это принесет одни убытки. Расходы будут, а результат нулевой. Потому что тут тоже нужны методики и знания, прежде, чем приступить. Так же и в бизнесе.

Месяц назад мы запустили проект на Украине, где опробовали наши новые решения в области Теории Ограничений (TOC). Теория Ограничений — это тоже методика управления предприятием, как и тойотовский канбан, но TOC более совершенна и, в отличие от канбана, хорошо работает в случае с рваным спросом, высокой вариативностью заказов. О некоторых показателях эффективности этого проекта в цифрах чуть ниже.
Читать дальше →

Пара слов о работе на дому

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

Много воды лить не буду и перейду сразу к советам.
Читать дальше →

Элегантный Builder на Java

Reading time7 min
Views148K
Наверняка большинство сколько-нибудь опытных программистов знакомы с паттерном Builder. Он позволяет сделать инициализацию структур данных более наглядной, гибкой при этом сохраняя такое полезное их свойство как неизменяемость (immutability). Вот классический пример с первой страницы выдачи гугла на запрос «java builder pattern example». При всех своих преимуществах, самый главный недостаток данной реализации паттерна — в два раза больше кода, по сравнению с обычным плоским бином. Если генерация этого дополнительного кода не проблема для любой популярной IDE, то редактировать такой класс становится достаточно утомительно и читабельность страдает в любом случае.
Что же делать?

Inversion of Control: Методы реализации с примерами на PHP

Reading time8 min
Views52K
О боже, ещё один пост о Inversion of Control


Каждый более-менее опытный программист встречал в своей практике словосочетание Инверсия управления (Inversion of Control). Но зачастую не все до конца понимают, что оно значит, не говоря уже о том, как правильно это реализовать. Надеюсь, пост будет полезен тем, кто начинает знакомится с инверсией управления и несколько запутался.

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

Опыт применения Go в продакшене Яндекса

Reading time7 min
Views75K
Хочу поделиться опытом использования языка Go в продакшн-системах Яндекса. Вообще мы здесь довольно консервативно относимся к тому, какие языки использовать для реальных систем. И это лишь добавляет полезности тому опыту, который мы получили в этот раз.

Мы начали разрабатывать на Go летом прошлого года. Тогда появился фреймворк Go для облачной платформы Cocaine. До этого приложения серверного API Браузера писались в основном на C++ и Python. Серверный API в это время как раз переходил на облачную платформу, и мы по большей части только определялись с тем, какие технологии использовать в будущем для него. API выполняет следующие функции: получить данные, обработать, отправить во внутренний сервис Яндекса, ещё раз обработать, отдать назад Браузеру. Набор простых приложений.



Недостатком C++ для нас был явный оверкилл для наших целей, на разработку уходила уйма времени, также большой проблемой для нас было то, что плюсовый фреймворк для Кокаина не представлял никакой возможности работать асинхронно, кроме как с помощью коллбэков. У нас было много обращений к различным сервисам, поэтому в результате скоро весь код стал одной большой лапшой из коллбэков. Масштабировать и отлаживать ее было очень сложно.
Читать дальше →

Внедрение программного продукта. Особенности работы бизнес-консультанта. Часть III. Финальная

Reading time18 min
Views25K
Недостаточно только получить знания, надо найти им приложение. Недостаточно только желать, надо делать.

Гёте

Читателям моей серии статей о работе бизнес-консультанта в малом и среднем бизнесе, я хочу напомнить, что в прошлых статьях я рассказал:

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

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

Мониторинг серверов через очередь заданий на JAVA

Reading time3 min
Views11K
Недавно был озадачен проблемой мониторинга нескольких десятков серверов (ну наверно редко кто не сталкивался с такой задачей). Проблему можно описать несколькими правилами:

  1. Нужно периодически пинговать сервер
  2. Иногда выполнять какое-либо действие с сервером (например, исполнение команды через ssh), которое засабмитил пользователь
  3. Действия с серверами могут нескольких типов, у каждого действия свой приоритет
  4. Таски (из п.1-3) нельзя выполнять одновременно для каждого сервера
  5. Таски могут завершаться с неудачей, например по причине отсутствия связи с сервером, нужно ждать пока связь восстановится и пытатся выполнить запланированную задачу


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

Использование методологии ITIL в малом бизнесе

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

Именно поэтому, хотел бы вам предложить изменить эту схему. А именно — несколько рекомендаций из библиотеки ITIL. Они-то и станут тем фильтром, на который осядет весь неизбежный негатив нашей профессии. Если вам еще интересно – добро пожаловать под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Registered
Activity