• Skip to primary navigation
  • Skip to main content
  • Skip to footer
Scinonova logo
  • Start
  • Om oss
  • Karriär
  • Blogg
  • Kontakt
  • Svenska

Scionova

Interview with Lisa and Matz – Halfway through their Master Thesis

12 oktober, 2018 by Scionova

During 2018 the students Liza and Matz have worked with their Master Thesis at Scionova. They are writing about the security of Smart Home Devices and are currently about halfway through the thesis. Read our interview with them.

———————————————————————————————————————

How does it feel to hit the halfway mark?

Matz: It feels really good. Especially since it means we have done most of the hard work with background theory and report output. Now the more practical (and for me, fun) parts such as prototype design and implementation are the focus of our work.

Lisa: It feels great! It means that not much is left of either the thesis project or the time at Chalmers. It has been an exciting but though five years, and it is nice to finally see a concrete end to my academic endeavors.

You are writing your Master Thesis about Security of Smart Home Devices, why did you choose that topic?

Matz: I have always been interested in tech tools that can do everyday life more fun and easy. With the rising market of smart homes, this becomes easier, and I’ve got a bunch of smart home sensors and actuators at home. However, I’m a little bit worried about the security issues. Therefore it seemed like a good idea to do thesis work on something that could affect my everyday life and not just the thesis itself!

Lisa: Security in smart homes is a relevant and exciting topic, with many challenging problem areas. It also ties in well with my masters at Chalmers, as I have focused on distributed systems and security. Smart home is a great topic combining my main focus areas.

Do you have connected devices at home?

Matz: As previously states, yes! I have got a few smart lights, two dimmers, some smart plugs and a home-built control system which includes arcade buttons, RFID sensor, control lights, a led display… Well, just it is just an awesome box of all sorts of controls. I have plans to install some sort of temperature system this winter too. Did I mention the sound system? Well, I like tech toys.

Lisa: I have a few devices at home, but nothing spectacular. I’m living fairly cramped, so I don’t have space for too many toys to clutter up the little available space that I do have.

Are you worried about safety in connected devices? If so, why?

Matz: Yes, especially after this Master Thesis. There are many examples of companies trying to make cheap products and hence ignoring security. Hopefully, the market will mature and implement more security principles soon, but in the meantime, we have to try to protect ourselves against these threats in other ways. That is where our security supervisor comes in!

Lisa: At-large, yes. There is little consensus on security in the industry and little awareness among many users. More focus on securing these growing systems is necessary, I think they will become a liability to the Internet otherwise. There’s a lot of severe risks associated with unsecured networked devices.

How do you arrange/split the work between the two of you?

Both: We do most of the work in close communication. Since we sit in the same office it is easy to bring up any questions or comments in any phase of the work.

Why did you choose to do your Master thesis at Scionova?

Matz: Scionova felt like a good, friendly and knowledgeable company. I have not been disappointed!

Lisa: Scionova proposed an interesting thesis topic and I couldn’t resist. It ticked all the boxes for what I wanted for my thesis project.

Soon you will be finished with your studies at Chalmers. What are your plans after graduation?

Matz: I have one course left to take in order to get my Science of Masters degree. In January 2019 it is time to start working at Scionova!

Lisa: After graduation, I plan to join the team at Scionova!

 

From the “Taco” Country to the “Fika” Country – a Labor Survival Guide

7 oktober, 2018 by Scionova

Our newest employee is Carlos, originating from Mexico. At Scionova, we are proud of the fact that we are a multi-cultural company with employees from all around the world. If you ask us, this diversity makes our professional family dynamic and broad-minded. But how is it to “cut ties” and start working in a whole new country? Is there a big difference in the working culture? Fika, what is that? In this blog post, Carlos describes how he experienced his first time in Sweden.

When we decided to move back to Sweden after 7 years of living in Mexico with my Swedish wife and 2 years old kid, I was not really worried about living in the country of ABBA. I believed (so naively) that after two years studying my master in Jönköping, sharing my life with a Swede and years of working experience then I was ready for this working experience. I was so mistaken!

Therefore, we sold (almost gave away) what we could, we gave many things to my family, kept a few boxes at my parent´s house, packed only the necessary (in a record time) and then we flew to this wonderful country. We arrived in July when the weather was perfect (take a moment to remember the sunlight in your face and when you could wear shorts…. wonderful, right? now look out through the window). Well, here some situations I had to face that I was not really prepared for.

Summer break

One of the first shocks I got just when I arrived is that almost everything is closed (besides vacation places) in Summer. I was amazed by how Sweden dramatically slows down its working pace during the summer; almost everybody is on vacation enjoying the best part of the year. What happens to the projects, customers, deliverables, meetings, deadlines, etc.? What do you do with all the pendings? It waits too? And despite this summer-break, you still have a strong, healthy, innovative and prosperous economy. That is awesome! In Mexico you know it is summer because the weather is slightly nicer (all the year is nice hehe), schools are closed and you see kids around in “uncommon” hours; but work is the same, nothing changes and it is another day in front of the computer. In addition, you have the stress of what to do with your kids, in the scenario that both parents work. Difficult situation.

Dress Code

One of my first concerns was the dress code. In Mexico, if you work in an office you are expected to wear a tie and suit or at least formal pants and shirt. The first impression really matters in the MX zone. So I didn’t know exactly what to wear. I knew here is less formal, but to what extent? I didn’t want to be overdressed or too casual in my first days at work. I managed to wear casual pants and shirt and that was everything I needed to feel comfortable. My conclusion, first impression matters, but there are other things that are higher in priority.

 

Morning greetings

I was ready with the clothes, the next step was to enter the office and greet everyone. I know kissing on the cheek is not part of the Swedish culture, but shaking hands was still a doubt. In my home country, you kiss your female colleagues on the cheek even if it is the first time you meet them, not an option here. But then how to greet with a “good morning” in a proper way? I have to say that I only threw a “good morning” and took my seat, honestly, I felt so unpolite. But after a few days, I realized that there is nothing wrong and there is something called “the Swedish personal space” that might need another blog to write about. A common “hello, good morning” is appreciated and enough.

Fika and coffee

After 7 years in Mexico, I almost forgot this important event in Swedish life: the fika time. There is nothing like this in my country and I guess nothing similar in the world. In Mexico, you could make a pause to go to the coffee machine and come back immediately to your spot. However, if you take more than 5-10 mins you can be seen as unproductive and you don’t want that when your boss is somewhere around. But here, it is a convenient ~30 mins pause in which you give proper appreciation for your food, drink and your colleagues. Your boss is also there talking about the hockey game or the Eurovision song contest.

When I was getting ready to have fika, the first option was coffee. I don’t like coffee. Strange if we consider that Mexico is in the top 5 of the worldwide biggest coffee producers; on the other hand, Mexicans have a consumption of the only 1.2kg per capita, compared to the 8kg for a swede (6thplace as a coffee consumption per capita in the world). Lucky me there is always the tee option, but I had that feeling when you arrive at a dress up party and nobody told you, and hence you are the only who is not wearing one…. Do you know that feeling?

Vacations

I am not sure if Swedes have the same concern, but in Mexico when you get a job offer, one of the main questions is: how many vacation days are the company offering? Maybe you just take for granted a well-deserved 25 days vacation period (by law). But in Mexico, the companies are obliged to grant only (or a minimum of) 6 days vacation per year. Of course, there are many private companies that offer you a better vacation plan as a benefit. So when I knew I got 28 days vacation period here, I couldn’t believe it. But yeah…it is real!!

 

These are only a few of the situations I encountered different and in a certain way, challenging when I started working in Sweden. On the one hand, a new start is so exciting and refreshing. On the other hand, I can compare it like being a toddler at a grownups party: needing assistance, struggling to communicate and barely walking while grownups dance smoothly at a well-known Lisa Nilsson’s song.

// Carlos Salguero, Business Analyst

6 Useful New Features in C++17 – Part 5

13 september, 2018 by Scionova

Constexpr lambdas

Since C++11 we are able to use the constexpr specifier which evaluates the expression at compile time, with C++17 lambdas can also be constant expressions. One use case could be to initialize constexpr variables that depend on other constexpr variables. See the following example:

This example maybe is silly but imagine a much more complex dependency and the array consists of more complex elements than simple integers.

Compiler Support

These features are all fully supported by GCC, MSVC, and clang. Below follows a table showing which version enables support for each feature respectively.

For more a detailed matrix with more compilers and all features of C++17 listed, follow this link.

 

Endnote

This was the last part of the series “6 Useful New Features in C++17” and I hope you found it helpful and interesting. All the previous blog posts in this series you will find under “NEWS“.

Don’t hesitate to share with your friends and colleagues and stay tuned for more!

 

 //Patrik Ingmarsson, Software Developer

6 Useful New Features in C++17 – Part 4

11 september, 2018 by Scionova

This is the fourth part of the series “6 Useful New Features in C++17”, the first part can be found here.

If Statements with constexpr Condition

This is a feature that perhaps has its main use while working with templated classes and such, but there are other uses as well, e.g., together with variadic arguments. constexpr adds the ability to discard branches at compile time. You might argue that a compiler optimizes code to achieve the same behavior anyway, and of course, you are correct. However, using constexpr if guarantees that it is evaluated at compile time, and at the very least the code compiles faster.

I would like to show an example when one makes use of SFINAE, a situation where I think constexpr if is useful. What follows is a non-sensical code snippet using SFINAE and C++14 revision.

With the use of constexpr if in C++17 it can be written with only one function, like so:

I know which version I would like to work with.

Compiler Support

These features are all fully supported by GCC, MSVC, and clang. Below follows a table showing which version enables support for each feature respectively.

 

For more a detailed matrix with more compilers and all features of C++17 listed, follow this link.

 

READ PART 5 “6 Useful New Features in C++17” HERE.

 

// Patrik Ingmarsson

6 Useful New Features in C++17 – Part 3

6 september, 2018 by Scionova

This is the third part of the series “6 Useful New Features in C++17”, the first part can be found here.

Init statements in if statements

Like for statements, if and switch statements get an initializer part. Convenient when handling shared resources between threads. As an example, if there are a lot of workers that share a single job queue but the jobs themselves are independent, then we only want to block while popping the queue and not while executing the job. One could solve this with the following:

The extra scope makes sure that we release the guard after we successfully grabbed a job to process. In my opinion it looks a bit messy and we’ve added extra parentheses to keep track of. If we instead make use of the init statement it could be rewritten as follows:

At least I think this is easier to follow and less error prone while refactoring.

Compiler Support

These features are all fully supported by GCC, MSVC, and clang. Below follows a table showing which version enables support for each feature respectively.

For more a detailed matrix with more compilers and all features of C++17 listed, follow this link.

 

READ PART 4 “6 Useful New Features in C++17” HERE.

 

// Patrik Ingmarsson

6 Useful New Features in C++17 – Part 2

3 september, 2018 by Scionova

This is the second part of the series “6 Useful New Features in C++17”, the first part can be found here.

 

Structured Binding

One thing that has been bugging me when trying to write nice looking code is iterating through maps. Most often it is when acting on information read from a JSON or XML file, where if a key is found then something should be done with the value.

For example, an application has a set of settings with default values, but a user can set their own values for these settings. However, the file specifying these user specific values only needs to contain those settings that deviate from the default values. A code snippet doing that could look like:

With Structured Binding supported by C++17 this can be rewritten in a prettier and more readable way:

One other example where structured binding helps you clean up your code would be when one needs to handle tuples.

Doesn’t look very intuitive even in this very simple example. What we could do before C++17 is make use of std::tiewhich unpacks the tuple into independent variables.

Well, I like this better. However, it is a bit cluttered because we need to declare the variables which is used in std::tie. Fortunately, structured binding lets us get rid of that as well:

Please note that structured binding can be used with other types than tuples!

Compiler Support

These features are all fully supported by GCC, MSVC, and clang. Below follows a table showing which version enables support for each feature respectively.

For more a detailed matrix with more compilers and all features of C++17 listed, follow this link.

READ PART 3 “6 Useful New Features in C++17” HERE.

// Patrik Ingmarsson

  • « Go to Previous Page
  • Go to page 1
  • Interim pages omitted …
  • Go to page 3
  • Go to page 4
  • Go to page 5
  • Go to page 6
  • Go to page 7
  • Go to Next Page »

Footer

Göteborgskontoret


Theres Svenssons Gata 13,
417 55 Göteborg

Varbergskontoret


Kungsgatan 28b,
432 44 Varberg

Gasell