![theurbanpenguin](/img/default-banner.jpg)
- 1 277
- 13 057 235
theurbanpenguin
United Kingdom
Приєднався 19 жов 2009
Welcome to the UA-cam channel of The urban penguin. The Urban Penguin is your comprehensive provider for professional Linux software development, training and services. Every day decision makers are barraged with information on Windows vs. Open Source. Making a decision on which platform to bet your business on is a critical decision and significant investment. We offer industry-leading cost-effective business solutions using the Linux platform. World-renown Linux expert, Andrew Mallett, believes in the Open Source platform. Let The Urban Penguin help you make the best decisions for your software development and business needs.
Simplify Your Code with OOP and Namespaces: A Beginner's Guide
Are you struggling to keep your code organized and maintainable? In this beginner-friendly guide, we delve into the essentials of Object-Oriented Programming (OOP) and the importance of namespaces in modern software development. Learn how OOP principles can help you create scalable and reusable code, while namespaces ensure your code remains clean and conflict-free. Whether you're new to programming or looking to enhance your skills, this video will provide you with practical insights and examples to simplify your coding journey. Subscribe for more tips and tutorials on programming best practices!
Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time to see my own site www.theurbanpenguin.com
Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time to see my own site www.theurbanpenguin.com
Переглядів: 292
Відео
Unlocking Python: The Power of Variables and Functions for Reusability
Переглядів 26812 годин тому
In this video, we dive deep into the fundamental concepts of variables and functions in Python. Learn why variables are essential for storing and manipulating data, and discover how functions can make your code more modular, reusable, and efficient. Whether you're a beginner or looking to refresh your skills, this tutorial will help you understand the importance of these core concepts and how t...
StreamingLinux Desktops in Docker
Переглядів 67816 годин тому
Sometimes you will need a GUI to connect to, not just the CLI, but you still want lightweight. Streaming the Desktop on KASMWeb's VNC is the way to go and they have some Docker Images including the Rocky Linux Desktop we use. You will see how to setup the container as well as how to gain SUDO rights in the container Additionally you can find my video courses on Pluralsight: pluralsight.com/trai...
Create your own Python Weather App
Переглядів 38019 годин тому
Create your own Python Weather App and in doing so learn to use 3 different APIs. If you want to look at the weather you need you location. Your IP Address can help you with your location but you also need to grab your public address, often the address of your router Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time ...
Configuring a Git Daemon on Rocky Linux 8
Переглядів 552День тому
You can configure a git server with many protocols. In this video you will learn to use the git daemon and the git protocol to create your git server. Full instructions: theurbanpenguin.github.io/git-daemon/ Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time to see my own site www.theurbanpenguin.com
Create Secure Tunnel Using SSH on Rocky Linux
Переглядів 549День тому
Using two Rocky Linux 8.10 systems we demonstrate how to create secure tunnels between two devices. One device may be an embedded device running http that cannot be upgraded to HTTPS but does support SSH connects. We can secure communication using an SSH Tunnel between the two devices. From the command line: ssh -fNL 808:localhost:80 vagrant@172.16.247.158 Or from .ssh/config Host mytunnel Host...
Understanding CI/CD and Continuous Deployment
Переглядів 447День тому
All the time in DevOps you will here the terms Continuous Integration, Continuous Delivery and Continuous Deployment, but how well do you understand those terms. Let's try to explain them in simple terms. Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time to see my own site www.theurbanpenguin.com
Monitoring System Using Nagios Core
Переглядів 44314 днів тому
With Rocky Linux 8.10 recently out and continuing the line of Enterprise Linux 8, why not test it by installing Nagios Core, the monitoring system,. While you can probably monitor a single system, monitoring many systems is more of a challenge and this is where Nagios fits in. Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and ...
Installing Redis, The Remote Dictionary service, on Rocky Linux 9.4
Переглядів 25714 днів тому
Redis is mainly an in-memory database server, designed to store key and value pairs for remote applications in a microservices environment. The demonstration takes you through the install of Redis on Rocky Linux 9.4 and accesses the server via redis-cli and python applications. Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and...
Which Way to Install Ansible? Rocky Linux 9.4 and Ansible
Переглядів 36714 днів тому
Installing Ansible from your distributions Repository will give you Ansible but not the latest. With Rocky Linux 9.4 we get Ansible 2.14 from the EPEL repository which is good but not the lastest. Using the Python pip install we get version 2.15 which is better but if we need it for all users we have to install as root and not in a virtual environment and the installer will advise you of this. ...
From VM to BOX : Creating a Vagrant Box from VMware Image and Uploading it to Vagrant Cloud
Переглядів 49514 днів тому
Building a VMware Image of Rocky Linux 8.10 we then use Packer and .pkr.hcl file to export to Vagrant to be uploaded to Vagrant Cloud. Testing the vagrant box file created by Packer we add the box locally before uploading the Rocky Linux box to Vagrant Cloud. Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time to see m...
Understanding DevOps and Immutable Infrastructure Using Docker Swarm and 100% Uptime
Переглядів 38614 днів тому
Immutable Infrastructure in DevOps is never making changes to your infrastructure, don't update your servers. Update images and redeploy these images. You will learn this in the demo as I use Docker Swarm to manage my container cluster. I can keep the website running while we upgrade Nginx versions Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Detai...
Python Scripts vs Infrastructure as Code, (Ansible and Terraform)
Переглядів 60214 днів тому
You can use BASH shell scripts or you can create Python Scripts, or even Perl scripts but you have to do the work. Using Ansible and other IaC ,Infrastructure as Code, products much of that work is done for you. We take a look at installing software to different Linux distributions using Python and then Ansible, before looking at Terraform to deploy containers Additionally you can find my video...
Kali Linux Metasploit Framework SSH Login: exploit and protection
Переглядів 55421 день тому
Using the Metasploit framework in Kali Linux we show how you quickly get so many failed ssh login attempts on your public facings servers. If you need the servers to be accessible, world wide it is not so easy to limit access to trusted systems so you will quickly see many login attempts. The demo server was running just 3.5 hours with 247 invalid logins. Using the Kali Linux Metasploit Framewo...
Rocky Linux 8.10 Supported Until May 2029
Переглядів 42721 день тому
At the end of last month Rocky Linux released 8.10 with support though until May 31 2029. If you are working with this version of Enterprise Linux then the folk at Rocky are your answer. Additionally you can find my video courses on Pluralsight: pluralsight.com/training/Authors/Details/andrew-mallett and take time to see my own site www.theurbanpenguin.com
Learn Linux Using WSL: Windows Subsystem for Linux
Переглядів 55721 день тому
Learn Linux Using WSL: Windows Subsystem for Linux
Installing Vagrant Virtual Machine Management From Hashicorp
Переглядів 44621 день тому
Installing Vagrant Virtual Machine Management From Hashicorp
Prepare Ubuntu 24.04 Server VirtualBox VM for Imaging with Packer and Vagrant.
Переглядів 45221 день тому
Prepare Ubuntu 24.04 Server VirtualBox VM for Imaging with Packer and Vagrant.
Understanding HEAD and Detached HEAD in Git
Переглядів 36428 днів тому
Understanding HEAD and Detached HEAD in Git
Understanding Ansible Ad-Hoc Commands
Переглядів 26028 днів тому
Understanding Ansible Ad-Hoc Commands
The Anatomy of a Git Commit: Understand Your Git Commits
Переглядів 1,3 тис.28 днів тому
The Anatomy of a Git Commit: Understand Your Git Commits
Deep Dive Into Git: Understanding .git Folder
Переглядів 716Місяць тому
Deep Dive Into Git: Understanding .git Folder
Using Docker Compose as IaC, Infrastructure as Code
Переглядів 339Місяць тому
Using Docker Compose as IaC, Infrastructure as Code
Using Ansible to Secure Apache Configuration Cyber Risks During Install
Переглядів 405Місяць тому
Using Ansible to Secure Apache Configuration Cyber Risks During Install
Configuring the Ansible Inventory or Hosts List
Переглядів 332Місяць тому
Configuring the Ansible Inventory or Hosts List
What are other ways to simplify code. What, exactly, is a name space? Is it just two different folders that contain two different files that have the same name?
first of all this is just classes, namespaces is scopes that you can import into your current scope Namespaces is borken, and new languages do not come with it any more. the replacement is modules, Why, well because you get a lot stuff into your scope you don't need, with modules you import the stuff you need and no more. classes as show here is not really OOP, as it is a thing to hold data, a "data object" and that is used in FP too. but OOP is bad by design, as any unique features it has is making software a mess, and you end up rewriting it. we(languages designers) are trying to do better, Rust got trait, optional for ex.
Simple and straight to the point, thank you sir! OOP is one of my weaknesses.
I truly appreciate the thorough preparation and content of your tutorials. Often, I thought I had a good understanding of a topic until I watched your videos. Respect for the effort and the engaging way you present the material. Keep up the great work!
Thanks for such a considered comment, love it thank you
Nice simple explanation.
Thank you
👍
Really very useful, thanks!
You're welcome!
print("Thanks sir!")
👍 ha ha well done
Golden content . Thank you so much this helped me a lot finishing my task using molecule … from zero to hero in just 1 hour. Keep up the great work 👍
Excellent, so please it helped. Thanks for the feedback
Nagios is good, but Zabbix is much, much better 😁
Cool
Thank you....could students use it for free indefinitely....(with sudo access)
It is your choice if you charge for it. But I use it on my online courses. The students have access to their system further the duration of the course
Brilliant explanation. Thanks... Even 11 yrs later!
Somethings in Life don't change. Thanks for the comment
Good stuff in here. Hit the pause && subscribe
Thank you
im having some issue getting this installed for a few hour on my rocky LINUX processor... "apt install nagos && reboot now" unknown error because it reboot to quick... help?
try removing the reboot
I find your video tutorials very interesting and useful. Thank you for removing the animated logo, it was very distracting for me and made it hard to follow. I guess if it was a static image it would be fine. Looking forward to your next tutorial. Great job, thank you! <3
thank you for your feedback
Hi Sir .. Instead of building new image , can u just mount the file form local host into docker conatianer using -v switch ?
Well you mount a directory not a file so you would be replacing the entire sudoers.d directory and you would need to do it each time you run the container. For these reasons I chose to create an image and it takes seconds to create
👍!
👍Thanks again.
No problem 👍
Has thin lvm sense without oveprovisioning? Thin snapshot would still be more efficient than thick ones, am I right?
👍!
👍One more!
AI script for world domination - when?
👍Again!
Thanks for sharing your knowledge. Your videos are always very informative. But please remove that yellow flashing animation. It has no use and is just irritating. Thanks!
Thanks for sharing your knowledge. Your videos are always very informative. But please, remove that yellow flashing animation. It has no use and is just irritating. Thanks!
It will be removed on going. A video went out today but your feedback is appreciated and I will act upon it
👍Thanks!
Please drop the yellow audio animation at your logo, that’s only for channels without content
Thank you for your feedback. Truly appreciated. New video just gone out but I will try with the animation in future
really useful.
Thank you older technology but really useful as you say
I follow your content for couple years, and lately I saw the increase of Devops oriented content, I am very glad, thank you.
Excellent, thank you
You got me over the hump with an xinetd conversion after perusing several online examples and failing to get them to work. Maybe this is apocryphal, but I've heard that Heathkit back in the 1950s-60s used to pull in random people off the street to see if they could follow the instructions to build their radio or television kit, the idea being that nobody can reasonably be expected to evaluate the effectiveness of their own documentation; people reading it are going to be missing some of the things that you assume they know... which is the whole point. I'm an IT pro but I frequently lose patience with blog examples and tutorials. Regardless of experience level, I think lots of us still feel like that off-the-street rando from time to time. Something like this where we get to see the building of a simple project from beginning to end including testing, right down to the keystrokes, can be very useful. I understood it and should be able to generalize it to some other contexts. Nice job, and thanks for the foot in this particular door.
Thank you
I recently learned how this is setup and configured and there are quite a few steps involved. It seems that once it's configured, it's fairly easily to make small modifications though. Thanks for the video!
It's a very very deep topic, with more opinions than people :D I 5 minute video can't really do much more than explain the terms. In practice, it is extremely difficult to build robust fully automated ci/cd processes - especially unattended deployment to production, which is the holy grail and VERY hard - not so much technically (though there are a lot of challenges) but around governance and assurance that will give stakeholders and security team the confidence to allow it to happen. A lot of politics to overcome as well as the tech side.
Yes, exactly
it says im not alloweed to installl on a vhd?
👍!
Hi Bro. Can you please make a video explaining the structure/syntax of Ansible step by step in layman terms how to write a playbook for Ansible I am new to it & don't have experience in coding or programming its confusing how & where the indentation are applied like Spacings, Hyphens, Commas, Curly brackets, Variables, loops etc. are used. Please its a request if possible
The Ansible docs page is a great way to start. It has a lot of examples for all of the modules.
The Ansible Playlist ua-cam.com/play/PLtGnc4I6s8dvMkOS0ecQQADV8qJLwlwH9.html
Thanks for sharing!!❤
Thanks for the comment too!!
Hello, thank you for the great video. I am encountering an issue on a CentOS 8 environment where too many requests to a configured socket cause it to repeatedly fail with the following error: failed (Result: trigger-limit-hit) The service itself does not fail. Is there a way to configure the socket to prevent it from failing? For example, can it be set to automatically restart whenever it goes down? Thank you.
👍And thanks again!
Awesome support
👍
👍Thanks!
Amazing! Thank you
Hello, I was looking at your video channel. We may be helping a company that uses secure images to increase supply chain security and help cloud native development. Would you be willing to help try their software, make a video, and help show devs how to use their tools? This is not an offer, but just to start a conversation about your willingness to take on sponsorship. The video can be from 5 to 10 minutes long. You'd have a chance to look at their technology and decide if it's the type of software that you'd be interested in covering in your channel. Please provide us with your pricing. Respectfully,
Thanks for learning.can you create video to continue this vm how to use to paker?
ua-cam.com/video/9UTThbtJsdg/v-deo.html
Keep going about Docker Swarm, nice video
The BSDs get no ❤️ 😢
The animation for the audio volume on the bottom left is not desired as it blocked some commands.
thanks for your sharing, please keep posting new videos.
Animation is too distracting 😮
Appreciate your comment. Which animation or do you dislike animation full stop in this video
You're better off checking the OS by the /etc/os-release file, you can pythons csv library to split it up into a key->value dict by using the "=" as the csv deliminator. The debian_version and redhat_version files are deprecated, and are slated for future removal -- how long until they remove them, no idea, but they shouldn't be relied upon. In any case, the ID field should give you a short name of fedora,rhel,centos,etc - if there is an ID_LIKE field, which you'll find in debian and RHEL derivitaves, you'll have things like ID_LIKE="debian" or ID_LIKE="fedora rhel" or even ID_LIKE="rhel" that will give you other hints.
example of reading the os-release file: ``` import csv path = '/etc/os-release' with open(path, 'r') as f: os_info = dict(csv.reader(f, deliminator='=')) ``` You can then match against the os_info['ID'] field to determine what package management method to use.
I disagree with using the variables in os-release. The separate files indicate the os family and save having the load variables into memory. I do agree that more information is available in the file but that information was not required in this case. The is family being indicated just by the file name. It is always possible to create a more complex solution and u appreciate your efforts
Your urban penguin animation is blocking your content