Visit our site to listen to past episodes, support the show, join our community, and sign up for our mailing list.
Summary
One of the biggest new trends in technology is the Internet of Things and one of the driving forces is the wealth of new sensors and platforms that are being continually introduced. In this episode we spoke with the founder and head engineer of one such platform named Onion. The Omega board is a new hardware platform that runs OpenWRT and lets you configure it using a number of languages, not least of which is Python.
Brief Introduction
- Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
- I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com
- Linode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project
- We are also sponsored by Rollbar this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link rollbar.com/podcastinit to get 90 days and 300,000 errors for free on their bootstrap plan.
- Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.
- To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers
- Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.
- The Open Data Science Conference in Boston is happening on May 21st and 22nd. If you use the code EP during registration you will save 20% off of the ticket price. If you decide to attend then let us know, we’ll see you there!
- Your hosts as usual are Tobias Macey and Chris Patti
- Today we are interviewing Lazar and Zheng about the Onion IoT platform
Interview with Lazar and Zheng
- Introductions
- How did you get introduced to Python? – Chris
- What is the Onion platform and how does it leverage Python? – Tobias
- Can you compare and contrast the Python support you provide for Onion as compared with Raspberry Pi? – Chris
- I noticed that you are using the OpenWRT distribution of Linux in order to provide support for multiple languages. What was the driving intent behind choosing it and why is multiple language support so important for an IoT product? – Tobias
- Do you provide any libraries for using with the Omega to abstract away some of the hardware level tasks? What are some of the design considerations that were involved when developing that? – Tobias
- What are some of the most interesting projects you have seen people build with Python on your platform? – Tobias
Keep In Touch
Picks
- Tobias
- Chris
- Lazar
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA
Hello, and welcome to podcast dot in it, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show, you can visit our site at python podcast.com. Linode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project. We are also sponsored by roll bar this week. Roll bar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link rolebar.com/podcastin it to get 90 days and 300, 000 errors tracked for free on their bootstrap plan.
You can also visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. And to help other people find the show, you can leave your view on iTunes or Google Play Music and tell your friends and coworkers. You can also join our community. Visitdiscourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host, as usual, are Tobias Macy and Chris Patti. And today, we're interviewing Lazar and Zheng about the Onion IoT platform. So could you guys please introduce yourselves? How about you go first, Zheng?
[00:01:25] Unknown:
Okay. So, I am 1 of the early founders of the company. So, the company was founded 2 years ago. The initial idea of Anew was, we want to build a platform so that people can easily create connected devices. So we started with this software platform, that allows you to connect hardwares to the cloud and to remotely access it from anywhere in the world. And then later on down the road, we discovered that, there aren't that many hardwares that's specifically designed for this kind of low power, communication purpose. So that's how we came up with the Ania Omega, which is a tiny Linux computer that's specifically designed for IoT.
And, it has all software built in. So once it boots up, it connects to our cloud, and everything will be taken care of. From the developer's, point of view, they can just go in and program in high level languages such as Python, and this will make their life much easier.
[00:02:33] Unknown:
Then, Lazar, can you introduce yourself?
[00:02:36] Unknown:
Yeah. For sure. So I joined Onion this summer, actually. I came aboard as a late to the game cofounder, and I worked for a large tech company previously. And when I first spoke to Boca and Zhang about onion and the omega, I was absolutely floored. I you know, having such a successful Kickstarter and such a captivating product, I at first, I was just like, okay. How many of these can I get right now? And then when I realized, oh my god, I could actually work on this and make it better, be a part of the development and be a part of this team, I was ecstatic. So, I came aboard, and, I've been working on most largely the the applications on the device, dealing with the firmware, more low level stuff to enable the higher level, programming that the Omega is, that the Omega provides for developers.
[00:03:38] Unknown:
So how are you folks introduced to Python?
[00:03:41] Unknown:
So I actually learned about Python, during my university years. I was searching for easy to use programming languages to do side projects. And by the time, there aren't that many scripting language that does, as complete as Python. If I remember correctly, Node. Js was not even available back then. And so the first time I I got introduced to Python was working on a, project where I got different wireless sensors, that samples temperature readings and send it to a computer. So, the reason I chose it is because the string parsing capability in Python was much, much stronger than using c. And that's how I got into it, and I was hooked since then. Like, things the syntax was clean, and, everything was really easy to use.
[00:04:38] Unknown:
So my my story is a little different at work. I during 1 of my internships, I discovered Pearl. And I started working with Pearl and wrote a whole suite of scripts for that current play that placement. And I was like, oh, okay. This is great. You know, it's so much easier than c. And then at a hackathon, we were making a a web enabled, IR remote, and 1 of my teammates was just like, why don't you I was gonna write it in Perl, and he's like, why don't you just try a Python? I was like, okay. Like, sure. Why not? And I picked it up really quickly, and then I started working again. They'd they'd had a whole suite of scripts in Perl, so I kinda went back to Perl.
And then when I joined onion, there was I can't even remember, but, I was Zang and I were talking about something, and I was like, oh, okay. I'll just write a Perl script. And he's like, Perl, like grandpa language? Come on. Do something more, modern. Try try Python. And, like, ever since then, I've been I've been hooked and, I'm writing Python scripts on a weekly basis now.
[00:05:49] Unknown:
The fine tradition of shaming in computer science.
[00:05:54] Unknown:
Well, to be honest, and to be perfectly fair, Perl is a grandpa language. So I do agree now that I'm more versed in Python. I I was missing out for a few
[00:06:08] Unknown:
So, Zhen, you alluded a little bit to, this question, but what is the onion platform, and how does it leverage Python?
[00:06:16] Unknown:
Yeah. So as I mentioned before, like, initially, it was just a a a cloud software that allows device to connect and communicate with each other. But since we came up with, Omega, we started to build, device level framework as well. So the the way that we use Python is to build a generic, application framework. So it's so people can just take, the template and implement a few functions, and, our cloud will take care of the rest and make it available online and make it easily accessible through web APIs. So Python is not the only language that we high level language that we support here. We also support Node and PHP. But the general idea would be a, a set of code that people can import and just write a few lines of, additional code to make it work, with our
[00:07:15] Unknown:
And what kind of apps would you typically write or run on the on the onion platform or on the Omega itself?
[00:07:22] Unknown:
So there are 2 sets of apps. There's 1 set that runs on the device, and that's where Python was, involved, is to extend the functionality of, services that the the device is, offering. So once you add the services onto the device, the cloud clap platform will pick it up and make it available as sets of rest APIs. At that point, you can now write mobile or web apps that can directly interact with your device.
[00:07:53] Unknown:
So can you compare and contrast the Python support you provide for Onion as compared with Raspberry Pi?
[00:08:00] Unknown:
So 1 of our current drawbacks in terms of our Python support is that we do not fully support, pip. So the Omega is it has a tiny MIPs processor on it that's 400 megahertz. So it's not really a conducive environment for a c compiler. So any modules that require compilation that require compilation during the installation process cannot be installed on the Omega right now. However, we are, working on a cloud compile environment that'll be accessible to our users. And as a part of that, we'll be including support for PIP, so installing any any packages with PIP.
[00:08:45] Unknown:
So you said that it's not possible to compile it at install time, but would it be possible to, for instance, generate a wheel archive and then ship that to the Omega to execute?
[00:08:57] Unknown:
Yes. That that's gonna be the plan, down the road. So, we are gonna make a repository of all, Python packages that's precompiled for the Omega platform. So so the, users can just, download them and install it instead of having to compile it on the on the fly.
[00:09:18] Unknown:
And 1 thing that I'm curious about with thinking about installing packages is how much storage space is there available on the Omega, and is that expandable?
[00:09:27] Unknown:
So the Omega comes with, 16 megabytes of flash storage, which is a little low, But you can expand the storage with USB. All of our docs have USB host ports. So you can, you can either expand the storage or you can completely move the file system of the Omega to the to the USB drive.
[00:09:53] Unknown:
And I noticed that you're using the OpenWrt distribution of Linux in order to provide support for those multiple languages. I'm wondering what the driving intent was behind choosing that and why multiple language support is so important, for an IoT product.
[00:10:07] Unknown:
Yeah. So OpenDev IoT was initially designed for wireless routers. And, right out of the box, it supports basically all modern telecommunication protocols. So that's a really good starting point for IoT applications because, since, even till now, there aren't a basic standard for IoT communication. So we want to support as many protocols as we want as we can without needing to go in and start to, put over them 1 by 1. So that's why we chose the open w HT platform. And for languages, it's basically the same idea. We don't want to lock the user into 1 language. We want people to develop in the language that they feel comfortable with. So, have by having a Linux operating system, this helps a lot.
[00:11:04] Unknown:
Yeah. And just to add on to, what Zang said. Yeah. So OpenWRT, 1 of additionally, is also very small. So it doesn't have any excess fat, and any fat that it might have, we're able to trim down. So it was very, very conducive to, our omega environment. And, yeah, like, with the with the multiple languages, we believe that only if you love what you're doing will you actually create the the greatest products or the greatest content. So if you have a great idea in mind, but you're tied into using a language that you don't get or love even, I don't think the product will be as good. So the the intent behind multiple language support was if you have a great idea, you can code it in whatever language you want. That shouldn't be a barrier. Languages are you know, there's so many of them these days, and and everybody has their own favorites. So we wanted to allow people to just work with what they are most comfortable with.
So, just really opened the door to all sorts of projects and all sorts of developers. I mean, right now, software developers are realizing, hey. Like, making hardware is not only is it fun, but now it's becoming easy. And platforms like the Omega allows somebody with minimal hardware experience to, come in and use languages that they know and love, known JS, Python, and create their own hardware devices that are connected and accessible from anywhere in the world.
[00:12:35] Unknown:
And do you have any intent to expand the choice of languages that you're gonna support on the Omega? And, also, as a corollary to that, what does language support look like on the Omega platform? Does it require a certain set of, APIs that are exposed, you know, as bindings to that language? Or could you, for instance, just put whatever language you wanted onto it that is supported by OpenWRT and start using the Omega even if it's not 1 of the languages that you list as being supported?
[00:13:03] Unknown:
Right. So so for Python and, Node. Js, you, just have to use the package manager and install the packages to support to provide the language support. We right now, we do offer some onion customized modules for Python. We're working on those for Node. Js as
[00:13:23] Unknown:
well. So, basically, I don't know how much you know about OpenWRT, but they have a really good hardware abstraction. They have something called, U Bus. It's basically a message bus in sitting in the operating system that abstracts a lot of, functionalities of the OS in into a socket into a so at this point, it doesn't matter what kind of language you use. You can access the low level functions all through the U verse service. So, the the plan going forward is not to come up with specific libraries for each language, but, to make hardware level access available over the UBAR service so that and then, we'll provide a library, a simple library, to each language that access the U verse. So by doing that, we don't have to go go over all the functionalities again and again when when new language is supported on the platform.
[00:14:30] Unknown:
That's super smart. I think that it's really nice to see Linux distros coming up with abstractions like that that make sense. I wish more distros would come up with abstractions like that. I think it would make everyone's life easier and also increase Linux's adoption on more in more context?
[00:14:50] Unknown:
Yeah. There's a lot of really good things that WebRTC has done. It's it's actually a really powerful little system.
[00:14:59] Unknown:
Yeah. I use it for my wireless router and have done so for a few years now. And I think part of the driver for their innovation is because they're working on such constrained hardware that they have to come up with different ways of tackling some of those problems versus, some of the other distributions that are targeted more for servers or desktops that have much more capacity to work with so they don't have to worry so much about how to handle different hardware interactions. And also because of the fact that OpenWrt is targeting such a wide variety of such limited and embedded hardware, that that too contributes to the need to be able to handle that kind of environment in a sane manner.
[00:15:39] Unknown:
Yeah. Agreed. I wouldn't say necessity is the mother we mentioned. In this case, it will be more constrained hardware than is the mother we mentioned.
[00:15:49] Unknown:
I just I just want you to add a bit on this, on the same term of thought. So, the UPA service, it doesn't just provide us with, with that abstraction layer for low level hardware access. It also helps us to, interface with the device in many different ways. So, I just described 1 use case where, like, we just provide a thin layer for people to access the U Bus from different languages. But there's also a way for you to expose the U Bus over the network, with, HTTP server. So that instantly transfers all your device level features into our s t HTTP service.
On top of that, we can build another client that exposes the same features over the cloud. So, like, the the use case, there there's, like, a a plenty of use case you can use just with this simple service that they they provide.
[00:16:47] Unknown:
Yeah. I can definitely see how that would be very useful, you know, in in 1 aspect for command and control purposes, but also for monitoring of the, hardware status of your different devices. That would definitely be very powerful. And 1 thing that I'm curious about is given that this is targeted for IoT and, small embedded hardware, do you have any sort of GPS support or any modules that you can use to expand the Omega to add that kind of support so that you can then query each device to find what its location might be?
[00:17:20] Unknown:
Yeah. Yes. Actually, we we we do have, GPS expansion. It's just it's part of, our, Omega family. It's a USB device, built built specifically for the Omega. So, we basically plug this USB device into the Omega dock, and it will just show up automatically as a U Bus service. It's called, like, GPS U Bus service. And then by querying that endpoint, you can get location, varying speed, and, I think there's a a few, other attributes you can get with GPS. And yes. So this is already available.
[00:18:03] Unknown:
That would have come in very handy when I was working a few jobs ago where we had distributed sensors and needed to track their coordinates basically using a spreadsheet or database table and having to go out to each 1 and find record its GPS coordinates based on what we pulled off of our phone or whatever we might have handy with that capability. So we talked about it a little bit as far as, some of the different Python libraries that you provide for abstracting away some of the hardware level tasks. But what were some of the design considerations that you guys had to tackle in order to provide a more unified experience for the different languages and, I guess, just some of the more interesting design problems that you've come across both at the hardware and software level?
[00:18:48] Unknown:
Well, the the libraries and packages that we, currently support, they're actually all based in, c. The actual kinda user space drivers where I wrote them in in c, and then I had to figure out how I can how I can make that into a Python module. I thought at first, I was like, oh, man. I'm gonna have to rewrite all this code into Python, but then things like, no. Like, Python and c are very, very related, and you can use your existing c code and create a a Python module. So I went about that. And, really, the the main design consideration was whether how to present this to the user in a in a way that makes sense. So, again, a better example would be the the server expansion. The server expansion has 16 channels.
And so would it make more sense to have an object where you specify the channel that this object will be programming and then have the user create as many objects as they need or just provide functions where you just pass in the channel number and the the pulse width modulation duty cycle. So it was little things like that that were really, the main design considerations, how the users will experience it and how the users will what would be most useful for the users.
[00:20:13] Unknown:
And while we're on the topic, can you just give some more detail about the actual hardware specs that are on the board and, I guess, some of the things that make us stand out versus some of the other IoT boards that are available, such as the Tesla or Arduino or some of the other different products in that space?
[00:20:30] Unknown:
Right. So the the main the ones that were really, like, wow to me when I when I first heard about the projects were, the onboard Wi Fi and storage. So once you when you get your Omega, you plug it into the dock and you use a micro USB to provide power, and you're ready to go. You don't need anything else. Previously, I had been doing some projects using a Raspberry Pi, and then so I got the Raspberry Pi, and I was like, okay. I need a SD card. But I got an SD card. Well, now if I want wireless, I have to buy a wireless dongle. So it was just a whole bunch of waiting and extra money being spent. So I really like how the Omega is just literally plug and play, and you can just, you know, plug it in and go right away.
Another thing that I really think about the Omega is the the modularity of all the expansions. So if you don't need if you have a project that needs, you know, a screen and a servo, that's great. If you don't need 1 or 1 or more of those things, you can just pop it right off the expansion dock. When you're comparing it to the Arduino, you know, it is more powerful because it does have community, connectivity, but it also has Linux so you can schedule more things. It's not just a a 1 trick pony. And we actually do offer an Arduino dock where it's essentially equivalent hardware to the Arduino UNO, and there's a socket for the Omega. So the Omega can actually program the AC Mega microcontroller and then communicate with it through I Square C to if you need a if your project requires a need for a microcontroller.
[00:22:08] Unknown:
Yeah. I've definitely heard of people using the Raspberry Pi for that kind of purpose. But having something that's a little smaller form factor and more self contained, I can definitely see as being beneficial, particularly from a power standpoint. Speaking of which, what what are the power requirements? And I guess, if you were to try and deploy, an Omega in an environment where you didn't have access to a power outlet, what sort of batteries would you be attaching to it?
[00:22:38] Unknown:
So I think we used, like, a a 15, 000 milliamp hour battery,
[00:22:44] Unknown:
and we ran an Omega for about a week. Yeah. And that's, like, when the Omega is always on and transmitting. So, to extend the battery power, you can always, put the device into hibernation mode, which will, like, basically draw near to 0 power. And, based on a schedule, it would just wake up, does its transmission, and then go back to sleep again. I've we haven't done a test about that, but, I think it's gonna extend the battery life, for a long, long time.
[00:23:18] Unknown:
So what are some of the most interesting projects you guys have seen people do with Python on the onion, omega, and the other platforms that you expose?
[00:23:28] Unknown:
I recently saw 1 where there was, it was being used as a essentially, a remote control for a 3 d printer. So it would plug into the serial port of a 3 d printer, and the user would upload the g code file that with the instructions for the 3 d printer. And a Python script would actually use the the USB as a serial port and would send the instructions 1 by 1 to the to the 3 d printer waiting for, okay response and then moving forward to the next instruction. 3 d printers at the office, and like, we have a few 3 d printers at the office, and they're very noisy, very distracting when you're trying to when you're trying to work and build things. So, we keep them closed in a conference room, and we just, watch them with the USB cameras. And, this project, you know, combined control and monitoring of, 3 d printers. So I thought that was very creative.
[00:24:34] Unknown:
That does sound interesting. Do you typically see people using a single omega at a time for a given project, or do you think it's more common for people to deploy clusters of them for a more network or distributed capability?
[00:24:47] Unknown:
I think at this point, people are just, exploring the Omega right now. I don't know how much of a connected application as people build. Once we have, once we have launched our app store on the cloud, I think there there's gonna be more people coming up with interesting applications that utilizes more than 1.
[00:25:09] Unknown:
And I think 1 of the things that's powerful about having a network platform like the Omega is that you can update the code on it remotely rather than having to go and collect the devices and reflash them with the new instruction sets like you would with something like an Arduino?
[00:25:26] Unknown:
Yeah. About that, I want to, expand on that topic. So, in most of the IoT boards, they are just a microcontroller. So the only way to update the functionalities of that microcontroller is basically to, refresh it. And people just came up with multiple, over the air from the upgrade protocols for that. But for Omega, since it runs Linux, updating the functionality of the device is basically just updating a software package in the OS. And this will not disrupt your operation. This will, and it will update, like, really quickly and really stably.
[00:26:12] Unknown:
1 of the 1 of the things with a lot of other IoT development boards is that they're microcontroller based. And if you wanna change the functionality of the device, you have to reflash the microcontroller, you know, bring it down and reflash it. Other companies have come up with methods to do this over the air. The thing with the Omega is that updating any software functionality is just done by updating a software package. So this can be done, remotely, and it can be done quickly in a very stable manner. So you just, you log in to the cloud. You say, okay. I wanna push this in the software to this in this device.
You click, and it's done.
[00:26:51] Unknown:
Bringing up the login raises another question as to what sort of access control or security mechanisms you have in place for restricting access to the omegas to make sure that some rogue agent doesn't just find the device, figure out that it's there, and start trying to use it for their own purposes?
[00:27:09] Unknown:
Yeah. So we have a unified account system, Yanyan. So, basically, every every product we offer is based on the same user account. So either it's at the store, the forum, and even device access itself. So on the cloud on the cloud console, you can manage all your devices and you can assign it to different people just like how you can share a document in Google Drive, you can do it the same way. You can enter a email address of your friend, and, this will give access of your device to that person. And then this access is constrained based on the access right you you gave.
So we have gave a lot of thought into the access control and device sharing, which we believe is gonna be a huge part of the IoT is, how people interact with not just their own devices, but other people's devices and public devices. So all this, yeah, all this is done through our, account system and, access right management system.
[00:28:16] Unknown:
And do you leverage any of the firewalling capabilities that are part of the typical OpenWRT distribution?
[00:28:23] Unknown:
We don't necessarily use the firewall. So, in our system, all the request there's no incoming request into the device directly. So the device is, actively reaching out to our server and maintains that connection once it's connected. There's no problem of, people trying to, like, hacking from outside directly to the device. Everything has to pass through our server. And, the server itself is secured through, like, the modern web technology. Like, everything go through, HTTPS. The the account is managed by all auth. So we believe that, like, the system is pretty robust since, like, people has already tested out all this all those web technologies.
[00:29:13] Unknown:
And if somebody wanted to just use the Omega hardware without attaching it to the onion cloud, is there any mechanism for them to do that, or would they just need to reflash with a different open WRT image?
[00:29:26] Unknown:
So the onion customized image that comes with the omega, it's it's fully fledged to do whatever you want with it. You actually have to enable the cloud. Like, each device has its own ID that is generated on the cloud, and then the user would have to set up on the device. So until you do that setup, there's no connection to the cloud, and, you it's it's entirely optional. So you can use the device just as it's you know, the way it is, just a a small, microprocessor with these cool add ons. But I think the real the real strength of the Omega comes with, using the cloud and the cloud features.
[00:30:11] Unknown:
Is there anything else that you wanna talk about or any questions that we didn't ask that you think we should have?
[00:30:17] Unknown:
I think we've covered a variety of topics.
[00:30:20] Unknown:
Great. So for anybody who wants to follow you guys and keep up to date with what you're up to, what would be the best way for them to do that?
[00:30:29] Unknown:
So, we have a community forum where if it's, like, technical issues, then that the community will be the best place to go. And, if for just general, updates on what we have been working on, Twitter would be the would be a good place,
[00:30:46] Unknown:
just do that. So it's onion IoT is our handle. Okay.
[00:30:51] Unknown:
Great. So with that, we'll move it on to the picks. I'm gonna keep it short today. I'm just gonna pick a movie that I watched this week called Now You See Me. Came out a few years ago, and it's actually a very well done movie. It's got some great acting in it. And the premise is that there are 4 different individual magic acts, and they all, get these enigmatic tarot cards, that draw them to a single location. And then they end up combining their acts into 1 big show, where they start robbing large amounts of money from different locations and distributing that out to their audiences. And the plot line is just very interesting and well put together.
The acting is great, so definitely recommend taking a look at that. It's a fun movie. And, apparently, they just came out with a sequel, so I look forward to seeing that when it comes out. And with that, I'll pass it to you, Chris.
[00:31:48] Unknown:
Thanks, Tobias. Keeping with the theme of of keeping it short and sweet, I've only got 2 picks this week. My first pick is basically a very well engineered piece of metal. It is a portrait landscape phone or tablet stand. Essentially, I came to realize that I I used to have an alarm clock on my nightstand, and I and I no longer do, which is fine. But because I was using my I've been using my phone, but I miss being able to sort of look up in the middle of the night and say what time is it without having to flounder and flail with my phone. So this thing just lets you, either stand the phone up upright or lay it on its side in portrait mode, and run any 1 of the myriad sort of, you know, night night time clock apps.
I'll pick the app next week. But it's just a really nicely engineered little thing. It it keeps the phone very stable, rubber, feet on the bottom, so it doesn't slide around your nightstand. And for $10, it's it's a pretty good good value. My next pick is kind of a little more general than I would have liked in the sense that I was going to pick my particular laptop bag. But since I've owned it for 7 years now or 6 years or something like that, they no longer sell the particular bag. But these guys make such good bags, Tom Bihn bags, and the link is in the show notes. That's b I h n is the last name.
Their bags are exceptionally well designed and engineered. Each bag has like a little, you know, little video to go with it to show you all the little features that, that, you know, that the bag contains. And I've just been really singularly impressed. As I say, I've owned mine for years, and it is not showing the slightest bit of wear despite the fact that I haul it back and forth to work every day. It's been on every flight that I have been on in recent memory, and the thing just won't quit, has not you know, there's not even the usual sort of like frayed edges or things like that that bags suffer when you, you know, they get hard daily use through the years. So you're gonna pay a little more for these things, but they are totally worth it because they wear like iron. That's it for me.
Lazar, what do you have for us for picks?
[00:33:56] Unknown:
My pick is the movie Ex Machina. So I watched this movie a month or 2 months ago, and, honestly, I still think about it on, like, a weekly basis. So the premise for for anybody who hasn't seen it is that this enigmatic individual creates an artificial intelligence and tries to see if it'll pass the Turing test. And the the movie not only explores technology, which obviously I love, but it also goes into, you know, morality and what it means to be human. So there are so many layers to this movie that I just keep keep coming back to it. Whether it's in, you know, conversations at work, conversations with friends, or, you know, just thinking about it in my spare time.
So it's it's been I, like, really enjoyed it when I when I first watched it, and it's really stuck with me for for quite a long time. I don't remember the last time movie did that. So if you haven't seen it, I definitely recommend watching it.
[00:34:55] Unknown:
And, Zheng, what about you? Do you have any picks for us?
[00:34:58] Unknown:
I'm afraid I couldn't contribute with this, this 1 today, being, you know, stuff. I'm a lot of time to think about. Sure. No problem. You could pick the onion.
[00:35:10] Unknown:
Zeng's pick is the omega.
[00:35:13] Unknown:
Alright. Well, I appreciate you guys taking time out of your day to talk to us today and tell us more about the work you've been doing. And I hope you enjoy the rest of your day. Awesome. Thanks for having us. Yeah. Bye.
Introduction and Sponsor Mentions
Interview with Lazar and Zheng: Introduction
The Genesis of Onion IoT Platform
Lazar's Journey to Onion
Onion Platform and Python Integration
OpenWRT and Multi-Language Support
GPS and Expansion Modules
Design Considerations and User Experience
Hardware Specs and Comparisons
Remote Updates and Security
Closing Thoughts and Contact Information
Picks of the Week