So, I&#x27;ve been writing a home automation system using the .NET Framework (with Visual Basic, I&#x27;ll wait until you finish laughing).......... Okay.<p>I&#x27;ve made a point not to add any third parties references and packages I can avoid. I went ahead and got a third party scheduling engine, and the SQLite provider, but beyond that, I&#x27;m writing everything else myself so far.<p>First of all, I&#x27;m learning a lot in having to write stuff myself. At the very least, it&#x27;s a great educational experience. I&#x27;ve worked with a lot of code samples, so I&#x27;m not going totally from scratch, but they&#x27;re all at the very least tailored to my needs.<p>But for me, the big thing is keeping everything thin. The program loads in milliseconds. Almost all of the reference data for what it&#x27;s built on is in one place (the .NET Framework Reference). And key, is that the features my program supports are the features I want and need, not the features some dependency has told me to have.<p>The biggest dependency I have, Quartz.NET, is actually the most confusing part. It&#x27;s not structured like the rest of my program is, it&#x27;s documentation leaves some things to be desired, and it does a lot more than I need it to. There&#x27;s a lot of bloat I could cut out if I wrote my own scheduler, and maybe someday I will.