#SidnetDonations: Olga for Creative Commons Polska and hospiCare

She brings a human touch to our team of engineers, translating from technologese into the language of users. Olga is responsible for marketing communication at Sidnet, combining analytical thinking with creativity. The open source and non-profit projects she selected exemplify this.

Discover the human side of technology – projects which our marketing expert considers worth supporting.

Creative Commons Polska

The Polish branch of Creative Commons (CC) – a non-profit organisation which helps adapt copyright laws to the realities of the Internet and promotes open access to culture and research. Creative Commons has been a provider of licences and legal tools for authors of photographs, recordings, books and websites since 2001, giving creators control over how they want to share their work online, and empowering users of shared materials.

4 basic types of CC licences:

Attribution, CC-BY. You can copy, alter, publish and distribute the material under the condition that you indicate the author of the original and the original licence.

ShareAlike, CC-SA. You can copy, alter, publish and distribute the material under the condition that you share it under the same licence as the original.

NonCommercial, CC-NC. You may copy, alter, publish and distribute the material, but you cannot profit from doing so.

NoDerivatives, CC-ND. You can copy, present and distribute the material only in its original form. You cannot adapt, build upon or remix the material.

These symbols can be found in various combinations on sites such as Flickr, YouTube, Wikipedia, Medium and Behance.

“I learned about Creative Commons thanks to CC0, a tool which enabled me to use photos and graphics without listing their authors. This was very useful back when I was at university, where I was responsible for promoting our student organization – I wanted to do it for free, but at the same time as professionally as possible. I want to support the Polish branch of CC, which, together with Centrum Cyfrowe Projekt: Polska, helps cultural institutions, teachers and others share and use open-access resources”, says Olga.

Icons: Creative Commons, CC BY 4.0

hospiCare

hospiCare is a mobile app project facilitating the work of those involved in caring for domestic children’s hospice patients.

“I did not know what domestic hospices were until I met Eliza and Paula – the creators of hospiCare. I wasn’t aware that a terminally ill child could stay at home at all times and still receive care from a hospice. Or that, in practice, it involves visits by a dozen doctors every day, hundreds of phone calls and messages, large amounts of medicines and scattered medical records which grow in size every day”, says Olga.

The hospiCare app can facilitate the work of medical teams and help carers in their everyday tasks. Its features will include online access for authorised users to the complete medical records of a given patient, medicine dosage reminders and tools making remote medical consultations easier. The app will be available for free to all children’s domestic hospices in Poland.

“I admire the project, and its creators even more. The girls draw on their own experiences looking after terminally ill family members, but are far from wallowing in suffering. They have concrete ideas on how to finance hospiCare. They want to involve other parents of ill children who cannot find work despite their education and skills”, Olga adds.

The hospiCare team needs more funds to develop and maintain the app. To support the project, you can donate to Fundacja Zostaw Swój Ślad via bank transfer with the title “hospiCare”.

Festival of mobile development in Łódź. Mobilization IX review

Last Saturday I attended a conference organized by our friends of JUG Łódź. In between supporting the organization of the event, I had a chance to watch the presentations covering the topics of MVVM and CI/CD in the domain of mobile app development. I would like to share my impressions and thoughts.

Mobilization IX 2019 conference opening
Conference opening (Image: Paweł Włodarski/Mobilization).

“Building a CI/CD pipeline for your mobile app”

As we use CI/CD processes at Sidnet I wanted to check how others approach this practice to make sure that we aren’t missing anything important.

Peter-John Welcome, a guest from Johannesburg, has showcased the whole process in a very clear manner and it was mostly consistent with my experience. The Continuous Integration and Continuous Deployment (/Delivery) practices are nothing more than the automation of manual processes that occur during the Software Developer’s daily work, and the improvement of its various aspects.

Peter-John Welcome on CI/CD in mobile app development during Mobilization IX 2019
Peter-John Welcome during his CI/CD lecture, covering the domain of mobile app development (Image: Paweł Włodarski/Mobilization).

The speaker recalled the fact that the processes in the IT domain do not necessarily follow strict rules. For example, Peter-John Welcome mentioned the topic of using code-verifying bots to check for coding standards or formatting. He said that if no heated discussions at the stage of Code Review emerged, the automatic check could be skipped.

The idea is harmless but, in my opinion, it is also far from optimal. Speaking from my experience I can say that standardization eliminates senseless disputes. It becomes quite clear for everyone involved in the project, as to what formatting shall be used. The bot’s task is simpler as well. It is to make sure whether the given code matches the defined standards. Automation of this step is a time-saver for the whole team, so I wouldn’t recommend getting rid of it from the processes.

“MVVM as good (anti)pattern in iOS”

The developer world has been recently buzzing with regards to the MVVM (Model-View-ViewModel) pattern. Is it a righteous step to utilize it in iOS apps? Mateusz Szklarek considers this to be an error. Szklarek bases his beliefs on experience. His conclusions come, for instance, from a project concerning a mobile app involving 250 thousand lines of source code.

Mateusz Szklarek on using MVVM pattern in mobile app development during Mobilization IX 2019
Mateusz Szklarek’s speech on MVVM (Image: Paweł Włodarski/Mobilization).

As noted by Szklarek, MVVM eliminates the Massive View Controllers file problem, quite frequently emerging when MVC (Model-View-Controller) pattern is employed. In case of MVVM another problem is quite prevalent – namely, the Massive View Models.

MVVM is far from perfect. However, no perfect solution exists, to be honest. Whether the given idea or tool would work depends very much on the way in which it is utilized by  devs themselves. Szklarek said that following the crowd and using the MVVM methodology the way everyone uses it, is not really a valid strategy.

Solution? Common-sense, as usual. Any patterns or tools are there for you – just make sure you are using them in a manner that is rational. The solutions should be tailored to a problem, not the other way round. I would like to emphasize the fact, as the speaker I am referring to did, how important programming principles are. Following them makes it possible to tailor the given pattern and thus, to overcome the issues emerging in each and every model.

Although I was not able to participate in all presentations, I am glad that I could help the organizer.

“Krzysztof, respect for being ready to work hand in hand during the conference. Thanks for your mobilization!”

Marek Defeciński
Mobilization Organiser

#SidnetDonations: Krzysiek for Vim and the Foundation for Polish Science

Halfway through October, Krzysztof Pisera is taking over the reins of our donation fund. Today he will choose the open-source and non-profit projects that we will be supporting this month. Tomorrow we will be celebrating the 10th anniversary of his first day at Sidnet, a career that he started as a very talented 21-year-old(!). As our lead developer, he has proven himself countless times to be excellent at organising the work of other team members as well as his own.

And if you happen to become nostalgic whenever someone mentions the early ‘90s, you will surely appreciate the fact that both of the projects chosen by Krzysiek began in 1991. What are these projects then?

Vim

Vim is a freely-available text and graphics editor, which is also referred to as a “programmer’s editor”. It supports hundreds of different programming languages and file formats.

According to Stack Overflow, it remains the fifth most popular development environment, even 28 years after its release. The community centred around Vim is engaged in a never-ending dispute (aka. editor war) with the users of another popular editor – Emacs. And inevitably, the Sidnet team includes supporters of both tools. However, Krzysiek avoids engaging in such conflicts as he considering them counterproductive. Nonetheless, he likes Vim so much that this will already be his fifth donation to the project as part of the Sidnet donation initiative.

“I tried Vim out years ago and I have been using it ever since due to its flexibility and the possibility of expanding its functionality, but above all, because of its efficiency. Vim is a model example of charityware. It is developed in a completely selfless manner and user donations are used to help children in Uganda”, Krzysztof said.

And as a side effect of the #SidnetDonations initiative, our company has been included in the Hall of Honour list available on the Vim website.

Foundation for Polish Science

The Foundation for Polish Science is the largest Polish NGO that supports scientists and research teams. It has been funding scholarships for young scientists since its establishment in 1991. Every year it provides scholarship holders with a total of PLN 3 million in donations. The foundation makes it possible for young, bright people under thirty to focus on their work, instead of worrying about money during the early years of their scientific career.

“Science is certainly an area that is close to my heart. Unfortunately, many outstanding scientists (and not only the youngest ones) often earn much less than the rest of our society. As a result, they have to choose between scientific work and more profitable endeavours. These people should be given an opportunity to focus their energy on what they truly excel at. Fortunately, the foundation also helps scientists commercialise their discoveries and inventions. We all benefit from that”, our lead developer said.

#SidnetDonations: Staszek for LibreOffice and the “Pomagam” Foundation

For Staszek, September is debut month. After all, it was in September of last year that he joined our team. And now, for the first time ever, Staszek is choosing the recipients of our monthly donations. At Sidnet, Michał Staszewski – aka “Staszek”, deals with sales. In a nutshell, he ensures that the customer understands the technical team and the technical team understand the customer.

See which open-source and charity projects will be receiving our financial support this month, as per Staszek’s request.

LibreOffice

LibreOffice is an open-source office program suite. It is used by tens of millions of people around the world, including government agencies in France, Italy and Taiwan. It is available in 110 different languages. The programme is being developed by The Document Foundation – a non-profit organisation which supports its operations thanks to volunteers. It is distributed under the Mozilla Public License.

“I started using LibreOffice at school when I needed a free alternative to Microsoft Office. Several years have passed since then and I still use it in my daily work. What is more, I also found myself in a team that deliberately gives up commercial software and aims to support open-source solutions such as LibreOffice,” Staszek explained.

So why does Staszek like LibreOffice?

  • Feature-richness. LibreOffice is the most comprehensive open-source office program suite available. It includes such tools as Writer (text editor), Calc (spreadsheet), Impress (presentation editor), Draw (graphics editor), Base (database editor) and Math (mathematical formula editor).
  • A plethora of supported formats. LibreOffice supports files with various extensions, including Microsoft Office formats (.docx, .xlsx and .pptx). In addition, LibreOffice’s native and open format, .odf (OpenDocument Format), is designed to guarantee free access to data, forever and regardless of the choices of commercial solution creators in the future.
  • Extensions. The functionality of LibreOffice can also be extended with additional functionalities, which is often an advantage of open-source software. There are a number of free plugins available on the Internet, including dictionaries, document templates and tools that improve the file export processes.

The “Pomagam” Foundation

The “Pomagam” Foundation from Łódź helps children suffering from diseases, as well as those in orphanages. Staszek knows this foundation “first-hand”.

“When I lived in Łódź, I met the president of the foundation – Ewa. Thanks to her enthusiasm, I became interested in helping others, especially ill children. I helped her in organising collections and transport,” Staszek said.

Since 2006, the “Pomagam” Foundation has donated over one million zlotys to people in need. The foundation provides financial aid to support the treatment and rehabilitation of ill children. In addition, it provides financial and educational support for children in orphanages while striving to introduce some positive experiences in their lives, for example, educational and integration trips, sports activities, workshops with psychologists and dog-assisted therapy.

“I am getting married next August. Instead of flowers, I would like the guests to bring school supplies for the foundation’s students. It will be just in time for the start of the new school year,” Staszek said, further encouraging us to help others in need.

Quantum computing & machine learning. Data Science Łódź #16 review

Our growing interest in data science and big data led us to attend the Data Science Łódź #16 meetup. While machine learning with the use of quantum computers still technically counts as data processing, it’s on a level mankind has not seen before.

Read on and learn the key concepts in the field of quantum machine learning (QML).

Komputer kwantowy IBM Q
Quantum computer IBM Q. Connie Zhou/IBM (Flickr).

Maciej Adamiak of SoftwareMill and Adam Mickiewicz University in his informative presentation titled “Quantum-assisted machine learning” demonstrated a machine learning algorithm that combines the operating principles of a classical computer with those of a quantum computer. He also showed examples of Python source code written to run on a quantum computer. It ran on IBM cloud services with the help of a number of libraries.

We were surprised by the high substantive level of the meetup. Not only the speaker, but also the members of the audience were very knowledgeable – both in the broad field of data science and the cutting edge subject of quantum machine learning.

As a summary of the talk, we’re going to describe the basic concepts and a couple interesting facts on the current state of the field of quantum computing.

Qubits – units of information in quantum computers

One gigabyte of data stored using binary bits can be represented by as little as 30 qubits (the fundamental units used in a quantum computer). Machines operating on qubits can perform multiple computations at the same time, unlike classical computers. This doesn’t mean their broad use could be affordable anytime soon.

It is anticipated that quantum computers need a few more years to beat classical computers in computing power. The few existing machines can only process about 30 qubits.

Faster algorithms thanks to quantum entanglement

Quantum computers produce results in a shorter amount of time. Let’s assume we have an algorithm of O(n) complexity – for instance, an algorithm that processes every element of an n-element vector. With a quantum computer, a definitive result can be produced after checking just a few elements (with constant O(1) complexity). This is due to the “entanglement” of the elements of the vector in a quantum computer, analogous to the quantum entanglement of two particles.

Randomness in a quantum computer

A quantum computer is capable of producing true randomness, while traditional computers always need some form of seed. With quantum computers, a qubit can be put in a state of superposition in which the probability of it being a value of either 1 or 0 is split equally. This leads to a true (i.e. originating from quantum nature) non-deterministic result.

Difficulties of quantum computations

As of now, using a quantum computer comes with a number of hurdles. For a start, one needs to get familiar with the complicated knowledge of describing algorithms in a quantum computer. Executing computations with the current technology requires extreme carefulness and scrupulousness. For instance, it’s vital that the number of quantum gates is kept at a minimum, otherwise the result may get distorted by noise, up to a point of becoming random.

Availability of quantum computers

There are no commercially available quantum computers and probably won’t appear for quite some time. IBM offers a cloud based solution that allows the use of a quantum computer connected to a classical system. The IBM Q machine is located in a specially constructed facility, because it must operate in complete isolation from external factors. It is contained in a cube-shaped glass box with an edge of 2.7 meters, with the temperature brought down close to absolute zero (-273 C). It must be protected from any fluctuations in temperature, as well as from factors such as loud sounds, vibrations, or radiation. The slightest change of physical conditions affecting the machine can cause the qubits to lose their essential properties.

Python program running on a quantum computer (Jupyter tool)
Python program running on a quantum computer, shown using the Jupyter tool.

Machine learning and data science have become a part of many IT projects. There will be more and more attempts to make use of quantum computers to perform the calculations.

Today’s experiments with building a bridge between the quantum world and traditional computing are well described by this quote from Terry Pratchett, mentioned by Maciej Adamiak:

“In fact, the mere act of opening the box will determine the state of the cat, although in this case there were three determinate states the cat could be in: these being Alive, Dead, and Bloody Furious”

Terry Pratchett

From: Dawid, Sidnet | To: jQuery + Tczew Animal Shelter

In their everyday work, our developers work from various locations. But it is Dawid’s home town that is the longest distance away from our office in Warsaw. Dawid Jancen, a resident of Tczew, has been involved in programming frontend and single-page applications (SPA) for nearly 5 years.

When asked to choose the open-source and charitable projects that we will support this month, he indicated the ones that have already received our donations several times per his request. As such, Dawid chose to support the creators of the jQuery library for the 3rd time, and the inhabitants of the Tczew animal shelter for the 4th time.

jQuery

jQuery is a JavaScript library which is very helpful in building the frontend of web applications. It is open-source software, available under the MIT licence, which is currently being developed by the JS Foundation. Of the 10 million most popular websites, 73% utilise this library, including Wikipedia, Twitter and LinkedIn. As for us, we have used jQuery in many projects, notably in the sales and service management system developed for UK2.

What does the jQuery library provide us with?

  • Plug-ins. A plethora of free add-ons to use in interfaces, forms or AJAX mechanisms.
  • Animations. Ready-to-implement effects that make the user interface more attractive. This is the primary reason why the jQuery library is so popular with web designers.
  • Less coding. In accordance with the slogan: “write less, do more”, jQuery can do a lot with just short lines of code.
  • Cross-browser compatibility. The library works in all popular web browsers. Adapting the code to each one of them individually is not required.

“jQuery was the first library that I learned to use when I first started my adventure with JavaScript. It has been around for 13 years and, in that time, a very active community has formed around it. This makes it easy to find solutions even in the case of the most unusual problems” – said Dawid.

Tczew animal shelter

It is a dog and cat shelter that has been run by OTOZ Animals since 2007. Its activities include organising animal adoptions, educating people and protecting its inhabitants. In June, the shelter opened a brand new space, specifically dedicated to old dogs.

“Several of my friends were involved in the shelter’s activities. That is why I know for a fact that the Tczew animal shelter constantly needs donations to properly take care of the animals” – Dawid explained.

However, the activities of The Polish National Society for the Protection of Animals – OTOZ Animals – include much more than taking care of stray animals. The Society also conducts thousands of interventions every year and organises educational meetings at schools, as well as annual nationwide campaigns that encourage people to adopt animals. In addition, it supports protest actions against animal abuse.