Gold Star

Dec 17

Gold Star

В компании Materialise есть отличная традиция по поощрению лучших проектов за год. В прошлом году наш проект стал обладателем Gold Star. Учитывались многие параметры: – отзывы клиентов; – scope; – бюджет; – временные рамки и т.п. Завтра станет известно какой проект станет лучшим в этом году...

Read More

Таки да! PolyITAN-1 — первый украинский наноспутник на орбите!

Jun 28

Таки да! PolyITAN-1 — первый украинский наноспутник на орбите!

Ура! Спутник, в разработке которого я принимала участие, был выведен на орбиту! В ночь на 20-ое июня на околоземную орбиту был выведен первый украинский наноспутник PolyITAN-1, созданный в КПИ. Наноспутники – это класс малых искусственных спутников Земли, создание которых стало возможным благодаря развитию микромитиатюризации и нанотехнологий. Сейчас они все чаще используются для различных исследований, объясняет пресс-служба МОН. В НТУУ КПИ был создан наноспутник формата «Cubesat», массой около 1 кг и размерами 10х10х10см. Источники: http://mon.gov.ua/ua/news/34662-pershiy-ukrayinskiy-nanosuputnik–na-orbiti;...

Read More

JS Course. 5 месяцев неугомонного кутежа

Jun 23

JS Course. 5 месяцев неугомонного кутежа

Оригинальная статья находится на dou.ua. Весной этого года в Киеве прошли JS курсы ребят из СodeAngels/Kottans (http://dou.ua/forums/topic/8181, http://kottans.org). Курсы длились около 5-ти месяцев 2 раза в неделю по вечерам в Cogniance + воркшопы по субботам + домашние задания для закрепления материала. Программа была очень насыщенной: Programming with JavaScript; HTML and CSS basics; High level languages (CoffeeScript, TypeScript, Dart); Popular frameworks (Backbone.js, Angular.js, Ember.js); Testing applications (Jasmine, Mocha); Server-side JavaScript (Node.js, Meteor.js); Speeding page loading time using various technics. В основном занятия проводил Джон, но мы также успели послушать и пописать код со многими другими замечательными людьми, среди которых были: Александр Белецкий (@alexbeletsky) – ▶ Тестирование JavaScript; Юля Будник (@Jubudni) – ▶ HTML&CSS; Эльдар Джафаров (@edjafarov) – ▶ Node.js; Артем Тритяк (@ArtyomTrityak) – ▶ Advanced Backbone.js; Андрей Листочкин (@listochkin) – Ember.js; Валентин Шибанов (@olostan) – ▶ Angular.js; Дима Ярмак (@dmytroyarmak) – Backbone.js; Миша Бортник (@vessi) – ▶ WebRTC; Женя Кошевой (aka Jim) – d3.js; Дима Целинко (Dmitry Tselinko) – JS basics, JS OOP; Дима Филипенко (@dmfilipenko) – JS, HTML, CSS. Ожидались ещё доклады Киры Пучниной (@kira__kit), Антона Немцева (@SilentImp) и Александра Бойченко (@banzalik), возможно, в следующий раз всё сложится 🙂 Некоторые дополнительные материалы выкладывал Артём в своем блоге, слайды можно найти здесь, а вот тут много всяко-разных ссылок. В основном, ЦА курсов – это уже сложившиеся IT-специалисты (back-end и front-end разработчики, QA и даже девушка-PM 🙂 ), да и тестовое задание изначально требовало определенных знаний и умений. Хочу отметить, что основной упор был на best practices, knowledge sharing, «как не прострелить себе ногу, используя тот или иной фреймворк» и пр., а не на обзорные лекции, которые, вряд ли, надолго заинтересовали бы людей. Помимо всего прочего, были рассмотрены WebGL, package managers, настройка CI, тестирование, deploy приложений и много других практических вещей. И напоследок немного feedback-a: «Перш за все, я зрозумів js, його сильні сторони. Також курси дали мені основні знання про різні фреймворки, хоча я подробиць вже не пам’ятаю, але в мене є вже основа, від якої я можу відштовхуватись і продовжувати “шлях джедая” ))). Дуже сильні враження щодо того, як потрібно працювати. Наприклад, коли були воркшопи, я спостерігав, як працюють коучі, на що звертають увагу, що використовують – це все дуже вплинуло на мене». Любомир, front-end development, R&R Music Ltd....

Read More

Forward to the Past, or How do I Organize Retrospectives

May 10

Forward to the Past, or How do I Organize Retrospectives

Once a disciple asked the Master, “How long should I wait for changes for the better?” “If you wait, you should do it for a long time,” said the Master. The truth is there is no need to wait for anything. Sprint by sprint, the team is working on the project, but where is the point where we could think the changes over and take a step towards them? And this point is a retrospective. Some theory “Why do we need retrospectives?” It is a frequently asked question. Sometimes in a marathon of infinite development, it is necessary to look back and think if everything is as good as we would like it to be. Perhaps the team members have suggestions/ideas on how to improve the code and design process, perhaps there were difficulties somewhere and we can do something to avoid them next time and so on. To do this, it is nice to get together and discuss these things. “Well, you can also send suggestions in letters and discuss them by mail”, once I heard this suggestion. It seems to me that this approach takes incomparably much more time and effort (as compared to one-hour meeting once every iteration) + in an endless chain of letters it is easy to miss rational ideas, everything is stretched over time, it is inconvenient to vote in a mail client and so on. “What kinds of retrospectives exist?” after every sprint (local improvements, better to say, short-term improvements); after the end of the project (long-term improvements, time for global changes). “Who to call?” As a minimum, the team (developers, test engineers, analysts, Project Manager). A good reference point is a meeting for planning, it is desirable that all those who usually take part in it, attend a retrospective. If there is an opportunity to invite the Product Manager do it, it will be good both for him and for the team. If the Product Manager speaks English, then hold the entire meeting in English: he should be fully involved in the process. “What about duration?” In my opinion, a 1 hour meeting after a sprint or 1.5 hour meeting after a completion of the project is enough (or I just don’t...

Read More

Links

Feb 01

Links

  Cats! I found the strengths and kept all our links in a single place. P.S. Further links I offer to add yourself here. Sorting, creation of new columns, replacement, and other improvements are highly appreciated 🙂...

Read More

How to Implement Data Communication Using Modbus RTU? (part 2)

Jan 12

How to Implement Data Communication Using Modbus RTU? (part 2)

So how to arrange data exchange through Modbus RTU?  Answering multiple requests and inspired by @burgua, @maxmaxmax and other people I have finally decided to write down a second part of the manual 🙂 In order to start up data exchange protocol, it is required to implement it both on master (in our case PC) and slave (board RS-485 with port). All this will work with RS-485 – USB adapter. Let’s have a look at Modbus RTU configuration implementation, where PC is a master (i.e. query sender) and a board is a slave (query responding unit). For the very beginning, one should define address chart to be completely matching address map set in the controller which we are going to use: Click to toggle codeblock 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 namespace Modbus {     public enum ModbusMap     {         ADR_STAT = 0,         ADR_ADC_STATUS = 1,         ADR_ADC_RESULT = 2,         ADR_ADC_ENG_VALUES = 12,         ADR_TIME = 22,         ADR_BINR_STATE = 25,         ADR_BINR_ATTEMPTNUM = 26,         ADR_STATUS_IOBSM = 27,         ADR_DIVISOR_COUNTER = 28,         ADR_TIME_SCALE = 29,         ADR_GSK_RES = 55,         ADR_OSK_RES = 83,         ADR_CMD = 111,         ADR_NAV_TASK_STATE = 112,         ADR_NAV_TASK_CORRECT_ORB_INDEX = 113,         ADR_NAV_TASK_CORRECT_ORB_INDEX_ITER = 114,         ADR_COUNT_GPS_DATA = 115,         ADR_COUNT_GPS_TASK = 116,         ADR_FIRST_INDEX_GPS_TASK = 117,         ADR_IS_CYCLE_READ_MODE = 118,         ADR_STORE_DIVISOR = 119     } } namespace Modbus { public enum ModbusMap { ADR_STAT = 0, ADR_ADC_STATUS = 1, ADR_ADC_RESULT = 2, ADR_ADC_ENG_VALUES = 12, ADR_TIME = 22, ADR_BINR_STATE = 25, ADR_BINR_ATTEMPTNUM = 26, ADR_STATUS_IOBSM = 27, ADR_DIVISOR_COUNTER = 28, ADR_TIME_SCALE = 29, ADR_GSK_RES = 55, ADR_OSK_RES = 83, ADR_CMD = 111, ADR_NAV_TASK_STATE = 112, ADR_NAV_TASK_CORRECT_ORB_INDEX = 113, ADR_NAV_TASK_CORRECT_ORB_INDEX_ITER = 114, ADR_COUNT_GPS_DATA =...

Read More