Tuesday, July 16, 2019

Linux in a Microsoft world

When I started using Linux, in 2003, I gave myself the challenge: to do everything I do in Windows, except in Linux.  That goal has been met many years ago with Ubuntu (and derivatives) and even today it still is my preferred OS.

However, at work things are a little different. At work we run a lot of Microsoft technologies, The biggest exception of this is the Drupal/Wordpress running on Linux for external websites (currently).  Even there, though, it looks like SharePoint is going to be getting into the mix.

So it seems, other than getting hired by Red Hat *hint* *hint* or Canonical, I need to brush up and improve my Microsoft skills for work.  I need to improve for current employment and for prospective employment in case things do not work out here.


Now Microsoft "loves Open Source", or so they say, but this love-fest resides in Linux on servers only. You look at what Microsoft has opened up and worked with Linux and you quickly see they are Enterprise and Server focused (WSL is CLI, Azure is for Linux servers, SQL Server runs in Docker on Linux, dotNET core, Visual Studio Code is for developers, etc.).  Their desktop offerings have a bit to be desired (Skype is outdated, Office 365 does not work well with WINE, etc.)

I don't fault them, and am glad for every validation of the Linux platform they generate with more integration.  This leads me to my next goal;

To use and integrate Linux as much as possible while I update and improve my overall technical capabilities, predominately Microsoft technologies.

This means building an environment for development that can transfer easily to my work environment, which is Microsoft based, and becoming familiarized with the languages and technology.

My focus is on development, not system administration, which Microsoft can make it very easy to breeze over. Visual Studio can start coding and debugging without having to have a full-blown web server in place. Azure provides an easy (but can become expensive) platform or even software as a service so you don't need to be involved with the underlying bits.

I don't want to end up spending all of my time deciding container (which?), virtual machines, cloud, source control, backups, restores and updates of a local system in hopes I can use it for development.  As I get more active in development, I will be trickling down into the details anyway, but I don't want to have to start at the bottom and build up and not know if I am even going in the right direction.

I am being vague and that is partially because I don't know what exactly this goal means.  That's perfectly fine, because it is a larger and broader goal to guide my continued technological journey.  Does this mean I run Windows and use WSL for my Linux "fix"? Maybe. Does it mean I heavily learn how to use Visual Studio Code (which is confusing as-is) on Linux and figure out how to transfer it to a Windows server? Maybe.  I just don't know HOW I am going to do it, but I hope to learn from it.

Just like it was with my first goal, the Internet will likely prove to be the bridge between the two systems.  In the past, so long as I had a browser I had the bare minimum of capabilities and productivity.

Let's see how far this rabbit hole goes...


Monday, June 24, 2019

New Raspberry Pi 4!



So  I read today that there is a new version of Raspberry Pi out, Raspberry Pi 4!  Not only is it more powerful and capable than the other versions, which were pretty capable of themselves, it now boasts specs pretty close to the old CPUs I use for various severs!

Most headlines I have seen focus on how you get more power for the same $35 price tag, but this glosses over probably the biggest feature I see with ver. 4; that it comes in 1GB, 2GB or 4GB of RAM versions!  The 4GB version tops out the price but $55 is still not bad for what you get!

This quite largely addresses the largest weakness I found in using the Pi.  The chip and RAM update with the 3B+, Wi-fi and Bluetooth sold me on the version but this takes that and makes it even more palatable.

Naturally, this starts getting me thinking about what kind of projects I want to do that warrants purchasing a new Pi!

What's it got?

It shouldn't be hard to find the specs, but here's a listing.
  • 64bit Quad-Core ARM CPU (1.5GHz)
  • 1-, 2- or 4GBs of RAM
  • Ports
    • 2 x  Micro-HDMI (yes.. can handle 2 monitors!)
    • 2 x USB 3
    • 2 x USB 2
  • Gigabit Ethernet (no PoE from what I've seen)
  • Wi-Fi (dual-band)
  • Bluetooth

 

NextCloudPi replacement

I set up a Pi 3B+ with  NextCloudPi to run a NextCloud server for all of the family members. It works wonderfully and I took the suggestion to throttle the upload speed when initially synchronizing files to the server so you don't end up doing DDOS on yourself.

The Raspberry Pi 4 with a gigabit Ethernet and more RAM than the 3B+ I think will make a huge difference in performance over the 3B+.

Some other ideas

I've had some other ideas, which just seems so much sweeter with the added "oomph" of the 4!
  • Thin-client like setup, or ChromiumOS, where it is a desktop for purposes of getting online, or connecting to either a local LTSP server or, even better, to work's remote access.
  • PiHole
  • Network handling, like local DNS (for accessing local servers) and possibly single sign-on server(?)
  • Brains for my 3D printer
  • Smart home server (handling multiple camera feeds)
  • Minecraft server (it may not be great, but I've run on less and being portable makes it easy to carry to a friend's house).
  • Basic desktop (nothing too strenuous, just browsing/email/chat, etc.)
  • I've always been tempted to hack the window fans to read the outside and inside temperatures, direct the airflow appropriately and synchronize the activity of multiple fans (blow out on one side of the house, suck in on the other so air travels between them).
  • If it can handle LXD/LXC, then I may be able to run multiple servers in one machine.

What are you going to do with all that extra power?



Referenced Links

NextCloudPi (https://ownyourbits.com/nextcloudpi/
NextCloud (https://nextcloud.com/)