OpenFest2021 – Devstyler.io https://devstyler.io News for developers from tech to lifestyle Tue, 12 Oct 2021 12:50:56 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 “Machine Learning Is the Quantum Mechanics of Software Engineering” https://devstyler.io/blog/2021/10/12/machine-learning-is-the-quantum-mechanics-of-software-engineering/ Tue, 12 Oct 2021 12:50:56 +0000 https://devstyler.io/?p=73159 ...]]> Stefan Nica is a Software Engineer/Architect at SUSE who has over 15 years of experience in software development, architecture and design. He has expertise across a wide range of domains: AI/ML, MLOps, DevOps, cloud-native applications, cloud platforms, communication protocols, networking and virtualization technologies. Stefan is a promoter of opensource, virtualization, DevOps culture and practices. He loves good challenges and thrives in an innovation-friendly environment.

How and why did you decide to dive into the tech industry? What and/ or who has inspired you to do so?

It would be tough to point out one exact thing and say that’s exactly how it started. But if I had to do so, I would probably say it began by simple curiosity. And the way that usually goes is:

Hey, you know, what is this?

This is a computer.

Oh, how interesting!

And the… WOW, I can programme it to do what I want it to do and, and if it makes a mistake, it’s not because you know someone else’s fault, because I screwed something and that kind of combination of control and self-accountability but also the freedom. All those things that you can do with a computer can quickly get to be really addictive, so it’s really an addiction-type-of-thing. And yes, I guess that’s how it started.

Then I started doing this and it was all about getting this high and scratching this edge. It was more of a selfish endeavour in that sense when I really started loving what I do with technology but this was much later, I guess maybe five years ago. I was only doing it for myself but five years ago something happened. I ran across this interesting thing called Software-Defined Networking which was at the time, a really disruptive idea. Then I really understood that the power of these ideas can have to change everything, to challenge the status quo of the industry, I guess. And those pioneers at the time were really trying to do exactly that. Because networking is so very complicated and involves so many protocols. If you look at a diagram of protocols and want to print them out and put them on your wall, it will probably take you an entire wall. There are so many of them – hundreds of thousands and these guys were all about making things accessible for everyone else. Simplifying it so that anyone can get involved, innovate, contribute and attend. And I guess that’s when I really started gaining some perspective on things and I’ve been doing that ever since.

We’re not doing technology just for the sake of doing technology. Actually, I was kind of doing that before. Then I realised that technology is just a tool, something that everyone can use and needs to access.

What have you been working on for the past few years?

I think the last few years have been the most interesting years in my career, but then I could have said the same for every year, whenever you asked me that.

So before I get into details I think I need to come clean with something. In my bio and on my LinkedIn account I say that I work for SUSE. That is a lie. Let me explain. You know they say “Choose a job and do something that you love so you never have to work a day in your life.” And that’s the case with me. That’s how it feels working with an open-source company like SUSE. They say that open source is in our genes there and that’s true.

So, I started working maybe five, or more than five years ago as an OpenStack cloud software developer. OpenStack is a complex cloud platform software. It was also a disruptive technology cloud for a while, hence, I started to do that. Then, a few years after I made the transition to something else equally interesting to containerization, Kubernetes and containers. I was also a cloud-native application developer for a while.

But I guess the really interesting story of mine is when I started working in doing things with artificial intelligence and machine learning. In 2020, late 2020, I got involved with this amazing group of people, and we created this open-source project called FuseML. This is partially the reason why I gave this talk to the ОpenFest. And we recently launched it. We’re trying to improve things for everyone that wants to do something with machine learning.

You have a lot of experience in the tech world, starting from virtualization to SDN, to cloud computing, to containerization and cloud-native applications. Now you are exploring the AI/ML realm. Can you share what are the main challenges that stand in front of the AI/ML world?

Sure, so it depends on who you ask. For companies, I would say the challenge is to not really read the benefits of machine learning.

So far, only the big giants and the companies have been able to successfully do that and that’s why you hear all these interesting stories about artificial intelligence and machine learning coming from companies like Google, Netflix, Uber and so on. The real challenge here is to democratise that type of success and to give everyone a fair chance. I think that’s what these new disciplines of ML ops, machine learning operations are trying to do together with a set of best practices to help with that. So, it aims to help facilitate everyone’s access to building machine learning systems that everyone can put in production and get the revenue out of that.

For us, end-users, well, not for me because I’m a developer but I guess I’m also an end-user of machine learning… So, for us and users and maybe even the society at large the challenge is huge because it’s the world we need to understand. I don’t think there are a lot of people that really understand what machine learning is all about and what artificial intelligence really does. So I think that would be the next challenge for us, to inform ourselves and for those who know about it, to popularise it and democratise it in a way that makes it accessible to anyone. In that way, we’ll make it easy for everyone to understand what the implications of machine learning are and how we affect them personally because they will affect us as well.

And I think that that is one way to do it. So, again, I keep going with the democratisation of machine learning. I think that is one of the best ways to tackle this problem and this challenge. Also the popularisation. I hope there’ll come a time when we need to standardise what we’re doing with machine learning in the industry.

What specialized interpretation of the traditional DevOps culture and methodologies are required to build and maintain a successful production Machine Learning system? 

It’s not so much in my opinion as it is something that is still developing. It’s something called ML ops and machine learning operations. So people have tried to apply DevOps, standard DevOps, conventional DevOps to build machine learning systems and machine learning applications. And it didn’t really give us a day or hope for – I’m talking mainly about companies that are trying to put production machine learning systems out there, and the reason for that is the fact that machine learning systems are unique. You need to change the way you think about machine learning because they are unlike anything we’re doing within conventional software engineering.

So, DevOps for machine learning requires a more targeted approach to apply them to machine learning and that’s what ML Ops is. It basically looks at machine learning and then says and recognises that machine learning is weird. So, what I’m thinking is that machine learning is the quantum mechanics of software engineering. Quantum mechanics is really weird when compared to classical mechanics or Newtonian mechanics. They can behave in all sorts of unexpected ways, they are really opaque. You cannot directly measure it, you cannot actually measure what it’s doing as you do in classical mechanics.

So you don’t really know what’s happening inside. You need to take a lot of measurements, you need to do a lot of experimentation with machine learning models to understand how they behave, and to change them to behave the way that you want them to. So it’s really, really unlike anything that we do with conventional engineering.

What AI and machine learning tools are you familiar with?

My experience with machine learning tools and additional registers comes mostly from what I do with this fusion project.

And, gosh, I wish I had more than 24 hours in a day because there’s like an entire ecosystem of things, tools and ideas that are constantly expanding and evolving. Some more research papers are being published each and every day in the machine learning field. More tools are being able to capture those ideas and I can only scratch the surface with what I’m doing.

But in my experience as an engineer that is working on something like ML ops, that is maybe closer to the tools that you need to successfully put machine learning in production. So I can give some examples there. I have some experience with tools that relate to those that you use to track what you do with machine learning models, to Version Control Data and all these artefacts that are coming from machine learning development. Things like ML flow, that is a very popular tool for doing that. And not just that but also it’s really popular for data science DVC, and that stands for data version control, which is another tool that I briefly worked with.

Well, the tools that are inside a component that can be used to generate predictions are called Prediction Service platforms. And today I’m also dealing with my voice. And, I mean I can go on and on.

You need these pipeline orchestration engines to implement DevOps like workflows and that are specific to machine learning things are tacked on Argo and kept for pipelines. And yeah, I think that there are maybe hundreds of thousands of doors in here. It’s very hard to keep track of all of them.

You have mentioned that you have dealt with a lot of machine learning problems. What kinds of machine learning problems have you tackled, and how did you tackle them?

Yeah, so those again are related to what I’m doing. It’s an orchestration tool for ML ops and because of that machine learning sometimes involves a lot of tools. So sometimes you need several of those tools to glue them together.

Because every tool serves a localised purpose in what you’re doing to create machine learning systems that are production-grade, one challenge that we’ve been trying to do with FuseML is how to integrate all those tools together, how to get open source tools from various open-source projects, unrelated to one another, and create a complete end to end workflow on top of them. How to integrate them in a way that, first of all, they work together, because sometimes they don’t. And how we did that is, we’re featuring all these Extensibility Mechanisms. We fuse them out with a FuseML project. We can integrate all these tools, and use them as components in your automated workflow with minimal friction.

I guess the way that an end-user would see that someone that uses FuseML is through abstractions. So through abstractions, it is a very nice way of bringing this thought again. Extracting simplicity out of complexity and giving everybody a chance to interact with those that can be complicated and really not challenging to interact with otherwise. So that’s one problem that I tackled. And that’s what, not me myself but the whole team from the project does.

Peace of mind is also an automation tool that automates the workflow of machine learning and building machine learning systems. The question was how. So, how do you deal with it? How can you find a balance between automation on one hand and customization?

So how to have a tool that allows you to automate everything that you want to automate but at the same time gives you the control you need to customise the way it’s running all those processes that are needed to implement the workflow that you’re trying to automate, how do we tackle that one?

Well first of all we recognise that there’s a problem that needs to be solved. So, let’s say you have some images, and you want to recognise you do not want to do object detection from those images. You can have an end to end, fully automatic workflow that does that for you – you just deploy it, apply it to those images and it does that for you with us. But you also can get very personal and particular about how you’re doing things. You can split that workflow into PCs and orchestrate them in a more customizable way.

What are the ethical implications of using machine learning?

Yeah, that’s what everybody is thinking about. I guess that doesn’t matter what we are doing with machine learning. I don’t know if I’m prepared enough to answer that question myself. Everybody has their own interpretation of things. It is a big challenge that machine learning in the industrial sector still needs to deal with that and even more. I myself have to admit I’m still struggling to understand what those indications are but probably time will show that. So I think machine learning has the capacity to transform society, on a very deep level. I guess everyone is concerned with things like privacy, surveillance, and, of course, bias and discrimination because machine learning systems can do that if they’re not properly built.

And these are maybe personal things. So how does it affect me and how will it affect me? How will machine learning systems take away my job? Will it, and how will it impact me? Will this benefit me as a person, as an individual?

I think the more pressing question and the more pressing ethical implication is how it will impact us as a society. There’s one example that I figure we can just give a thought of how much we need to how much we lie on a day to day basis to friends, to relatives, to our children, to our employer, employees. So we do that, maybe even to ourselves sometimes because we need some kind of reassurance on different things.

So as a society and as individuals, we really rely on a lot of stuff that is distorting the truth. So imagine that there will be an app out there, some point in the future and it won’t take too long to come up with that kind of thing that can detect whether you’re telling the truth. You can install it on your phone, you can screen your conversations like the conversation that we’re having right now. So, everyone can have such an app on there, or on their laptop installed and they can track the eye movements, the way our lips move the inflexions in our voice. It can tell us whether we’re telling the truth, or whether we’re not really truthful about what we’re saying.

Now imagine the implications of that and how we can deal with that as a society, as individuals. I think that’s the kind of thing that keeps me up at night. And I really wonder whether we as a society, as a human species, were able to cope with those types of changes. Because everyone has their personal interpretation of those occasions.

So let’s move slightly to the OpenFest 2021. At this year’s OpenFest2021 you presented “MLOps: specialized DevOps for Machine Learning”. What is the reason to choose this topic? How important is it?

Yeah, so it all goes back to what I was saying earlier about FuseML. This project that we’ve been working on at SUSE, with the ML team there. So ML is an emerging engineering discipline where there is still a lot of experimentation, a lot of thoughts being gathered, a lot of ideas being exchanged as practices. They are being collected and I think people need to be aware of what’s happening. Because it’s only through collaboration and exchange of healthy ideas. There’s even an ML ops community, where people that are interested in that exchange ideas. And that’s some of the reasons why I think everyone needs to know about ML ops.

What is your message to all beginners and tech newbies? 

Well, if you want to be successful in this industry, that’s really highly competitive, find something that is complicated to use, simplify it in that way so it’s not widely available. Make it accessible to everyone. And I think in that way you’ll not only have to benefit yourself as someone who is passionate about technology but also contribute to the larger picture.

]]>
“Our whole mission is to support the FreeBSD project and the community” https://devstyler.io/blog/2021/08/16/our-whole-mission-is-to-support-the-freebsd-project-and-the-community/ Mon, 16 Aug 2021 14:12:30 +0000 https://devstyler.io/?p=66034 ...]]> Deb Goodkin is the Executive Director of the FreeBSD Foundation.  Deb has been with the foundation since August 2005. She has spent 20+ years working in marketing, sales, and the development of data storage devices. She earned an MSEE from the University of Santa Clara, and a BSCE from the University of California, San Diego. In her spare time, she likes to run and walk. Anything that takes her outside her home is what she tries to do. 

Deb took over the main stage of this year’s OpenFest2021 on the 14th of August 2021 with a lecture named: “Embrace FreeBSD to let your Innovations soar”. During this lecture, she described how the FreeBSD Project works, how we can contribute to the Project, which is some of the differences between FreeBSD and Linux and what are the reasons why individuals and companies use FreeBSD. 

You have joined the Free BSD foundation back in 2005. You were the first employee who has been in charge of running day-to-day operations with the foundation. Can you tell us a bit more about what has inspired you to join this field in general and how this led you into the foundation?

Well, a long time ago when I was accepted to the University and had to pick a major. So I went ahead and picked computer engineering because it sounded interesting. I wanted to be able to get the skills where I could work anywhere in the United States. I was also good at math, so I thought “Well, okay, that was a good fit.” So I went ahead and studied that, and I found that I love the challenge and found it interesting. This degree provided a lot of opportunities to me even when I graduated. I can’t say what year that was, it was a long time ago. Then after college, I was doing low-level firmware engineering for a long time. I didn’t know anything about open source, because everything we did was proprietary. The first time that I learned about open source was when Justin Gibbs was looking for someone to run the foundation, and so he interviewed me and basically, the rest is history.

You’re a female engineer, in your opinion, do you think that there are enough women in STEM? How could we develop more inclusive, and equal environments in this field?

That’s a good question. So, what most of us don’t like is to be referred to as a female engineer or just as an engineer, but it just happens that we’re also female 🙂

But anyway, to answer your question, now there are not enough women in STEM. And STEM includes science too. I don’t see any reason why there shouldn’t be 50: 50 There are a lot of great opportunities in STEM careers, and none of them is gender-specific. I’m constantly asked:  “What do you know from companies, how can they get more women engineers or developers?”

So I try to encourage girls to at least explore STEM careers, and it just gets them exposed to female role models, because if they see them then they will believe that it’s something that they could do. This morning, when I was checking Twitter I saw a quote that actually sorts of resonates with your question. It comes from the CEO of “Girls Who Code”, and what she said was that we tell young women in our programme that you can learn to code and literally change your community and the world. And it’s true! So it’s really seeing outside the stereotype of what a typical programmer looks like. It is indeed hard for companies to make themselves more inclusive and equal. And I believe that companies need to make the environment supportive, inclusive, and they should value their companies and this isn’t specific just to women, but it’s just important. It’s an important philosophy, and it allows some flexibility in their work schedules and provides mentoring and guidance. And then, more specifically to retain female engineers they should encourage and support networking opportunities and huddles and help provide female mentors, and definitely add more chairs to the table so that women aren’t competing for those limited spots.

For those who are not familiar with the FreeBSD foundation, what kinds of things it does, and what are some of its main objectives?

So, one thing is, the FreeBSD Foundation is totally separate from the FreeBSD project. In the US it’s classified as a 501(C)(3) organization which means that we’re a public charity and so our whole purpose is for the public good. So we’re here to support this free and open-source computer operating system. Our whole mission is to support the project and the community. Some of the main things that we do are we do have software developers on staff, and they’ll step in and mainly implement new features. A lot of times they spend time reviewing, changing things, as well as fixing bugs. So we’re able to help, step in quickly to make fixes and changes. And we’re also growing our team. Over the past year and so we’re able to do more of that as well as we’re really looking at some major features that we will be able to implement. The other area that we support is advocacy for the project. And so we go to conferences like Open Fest, or we also hold a FreeBSD series online like this to help connect and educate the community to really get the word out, making sure FreeBSD is part of the conversation when people are talking about open source and operating systems. Тhose is the two main areas that we support. But our main objective is not only to support the project but a step in and critical like critical needs of the project so if there’s an area they need help with. If we have the resources we could step in and help. And then, the reason why we camped out was to hold the FreeBSD IP which is mostly the trademarks. We do hold on to the trademarks of the project. So, we’re a consistent place or resource for the project. People in my team may come and go, but the FreeBSD foundation will be a stable entity, so will the project.

Can you share with us how you recruit new people?

So at the FreeBSD Foundation, we don’t have volunteers, but the project does. FreeBSD is an open-source project, and they have 1000s of contributors, and so we’re always looking to bring on new people to use FreeBSD and or to contribute to the project.  And how do we do this?

We go to conferences and give talks to raise awareness about FreeBSD and hopefully get people interested in wanting to get involved. We spread the word over social media about FreeBSD slots. A contributor is actually a part of the way they contribute. They’ll spread the word, so they might see a YouTube video on FreeBSD. They may read a blog post on “Why I use FreeBSD and you should too?” And then the other place would be at school, so we’re trying to bring FreeBSD in as an option of when professors are teaching operating system courses that FreeBSD is part of that conversations or education.

Do you need to have previous experience to contribute to FreeBSD? If yes, what kind of experience do we need to have? 

Okay, that’s a good question. So I’d say yes or no depending on what you want to contribute. So, yes, if you want to be a Kernel developer (Kernel is part of the operating system), then, yeah. You need to come in with programming experience. It doesn’t have to be a senior level, but you do have to have some type of background in programming. However, there are so many other areas that you can contribute without experience. And so that’s why I think that if you’re participating in an open-source project, it is such a great way to gain experience. For example, I always think, even if you’re a coder, you should just start helping with documentation because that’s a great way to learn just about the operating system and FreeBSD, and so you can come in and you’ll learn about the tools. In that way, you can help, or maybe explain things a little clearer in the documentation, fix errors, add explanations for things that are in there.

Then you can also contribute by doing a video on your experience or even show us how you’re using FreeBSD. There’s a lot of folks who do that. You can write blog posts. We always take guest blogs, bloggers, and we have marketing, advocacy and if you’re a sysadmin we have a whole team of system administrators who are helping the project. We have security folks. So there are many different places where you can contribute, and then really hopefully gain more experience, and have fun and have some marketable skills to get a better job.

Can you tell us what operating system you use?

So, to be honest, I do use a Mac, actually, I just got this MAC maybe two months ago.

I use Mac OS, but a lot of people know, maybe a lot of people don’t know that a Mac OS was originally created by using components of FreeBSD. I mean there’s actually a whole long history and I won’t go into that here, but I mean, it used BSD and then Apple replaced a lot of those components with FreeBSD. So a lot of times they will say: ‘Oh if you’re using Mac OS you’re using FreeBSD.’ A lot of us actually do use Mac OS because of that, but most of my developers on my team do use FreeBSD, and I have a FreeBSD computer behind me on the floor that I use to play around with it. And I need to do it more, because my background is not in operating systems, and so I’m always trying to learn more.

Can you tell us what are the advantages of FreeBSD, compared to the other operating systems?

So, they have proprietary operating systems and then you have open source. Compared to proprietary Windows and Mac OS, you have a lot more control of your computer. On my Mac, I could go to the terminal but I mean really, they have the GUI front and there’s a lot of software that they add that you’re forced to use whereas when you’re using FreeBSD. You could set up the base operating system and then add what you want. So you have a lot more control, comparing it to open-source operating systems that would really be like Linux distributions.

So, one of the main differences is that FreeBSD is a whole operating system. This means that you get the userland, and the tools and the kernel, and versus Linux is the Kernel. So you have all these other distributions. And, and so ours is this cohesive system put together by one team, and also tested as such.

The other thing that’s a big difference is the permissive licence. And so, like Linux distributions use a GPL license. With a permissive licence, BSD licence, then users can actually take their code and make their changes put in their IP if they want and they don’t have to give it back. Now most companies do, but there are a lot of companies out of these pretty cool embedded systems like PlayStation by Sony. They could take the operating system, they can put on their own changes and tweaks, and they don’t have to give it back. And that’s okay, that’s part of what this licence is about. And so there’s a lot of companies that use FreeBSD because of that. We have a core team, so it’s more democratically run versus having one benevolent dictator like Linux. We also have a very long history with Unix. I mean we descended from the Berkeley Unix which descended from Unix and was created over 50 years ago. So we have this long history of this architecture, and not just process, and standards. We have this philosophy called Pola and its philosophy of least astonishment. So you don’t make a change unless you have to. We don’t really have this hacker mentality so it ends up being a little more reliable and stable and secure. And our code size is much smaller. The last I looked, our kernel slides so just the FreeBSD kernel, so it’s not the whole operating system, was about five and a half million lines whereas the Linux Kernel was 35 million. So I mean, a much smaller amount of code. And so I mean I could go on and on about some of the differences but those were sort of the main differences between FreeBSD and Linux distribution.

Let’s move slightly to the Open Fest. Can you tell us why you decided to join the Open Fest 2021? What are your expectations from this?

So, I know that there’s a really strong, open-source community in Sofia, and I thought that this would be a great venue to talk about one of the oldest and most successful open-source projects around. I was in Sofia a few years ago, we actually had a BSD conference there. And so I got to meet a lot of local people, by doing these free hikes, free walks and it was great, it was a great way to learn more about the culture, to meet people from there. And, so I sort of fell in love with that and I thought this would be a great opportunity to talk about FreeBSD. And I’m hoping the next time I will be able to come in person because obviously, I was unable to, right. I know we all wish that. Really what I hope to get out of this is spark an interest in attendees and get a few folks to try FreeBSD and hopefully contribute to the project.

Can you share with us where you get your inspiration from in a professional way?

Well, I think I get a lot of inspiration in my personal life and I think a lot of that translates into my professional life. And the biggest place I get my inspiration is music. Some of the lyrics can be so inspirational. I’m an active outdoors person so I run and walk every day, and so I do one or the other every day. I’m listening to music, and some of it is inspiring though just writing down, so things that they’ll say in the song, and I think that that really helps. Leaders who come from adversity, I read their books, and I follow them on social media. I follow groups like “Black Girls Who Code”, “Women Who Code”, and just like that quote, I had earlier.

A lot of those groups have been highlighting accomplishments of women in science and tech who we’ve never heard of before because they’re not documented in history. And so I think reading their stories is really inspiring. And, then I just follow certain people here in the United States, like Stacey Abrams and Michelle Obama and others. This great historian, Heather Cox Richardson who writes daily, and I have learned so much from her. Many leaders in the open-source field inspire me and so do the members of my team.

How do you prefer to spend your free time?

Well, like running and walking, I do that every day. Then I saw I live in Boulder, Colorado, and so we are at the base of the Rocky Mountains, and so I love to hike. I try to go up to the mountains. I mean basically, the mountains are just across the street from where I live, so I try to run up there or hike up there all the time. Anything that takes me outside, that’s what I try to do, even in the winter when it’s cold.

Last but not least, what is your message to all beginners and contributors to the open-source project?

I would say, first answer the question, “Why”, “Why do I want to contribute to an open-source project?” And then once you have that answer, explore the different communities or projects out there. There are 1000s of them and find a community that resonates with you and aligns with your interests and values. Once you get involved in the project, don’t be afraid to ask questions. Make sure you also ask for what resources are available, because I know with our project we have a lot of documentation that’s available to new and experienced folks. So you want to make sure you have a way of finding out that information too, besides just asking the questions.

Also, just join the appropriate mailing list, forums, Facebook groups, Twitter accounts. We have all that within the FreeBSD project too and you can follow them all, or you can follow the one that works best for you so that we do have a Facebook group. The questions that are asked are from basic beginner questions to more experienced ones and what I found watching it is that people are always respectful and helpful with their answers. This it’s so important because it’s so easy just to say “read the handbook” and they may say that but they always say it in a really respectful way because that might be the right thing to do. So I’m always impressed with the community and how they interact, and I would just say if someone is treating you or being rude to you I would probably won’t tell you to join this project because you’re there to learn and really to volunteer and to make it better. And so, you really want to get constructive and helpful feedback. So that’s the advice that I have.

We all have to push really hard to get it up to the top and even beyond, right?

Yeah, right.

Thank you so much for this interview. I really hope that we can see each other in person next year at the same Fest and everything is going to be fine- no more pandemic, no more social distancing, no more remote work. 

Yes. Oh, wait a second, remote work is what we do here. So we’ll still be doing that.

How do you find it?

Yeah, I love working from home. And it allows us to have people from all over the world. So I have staff members from Hong Kong to Kyiv. It’s hard with the time difference but we do meet people, we meet on Zoom or other tools. We do try to meet in person at least once a year at some of our conferences, and the goal is that we’re gonna have a staff retreat, and a summit next July in Iceland, so that’s our goal.

]]>