Home Blog Page 8

Best Financial Gifts to Give this Festive Season

0

The festive season is a time for joy, celebration, and, of course, gift-giving. While traditional gifts like gadgets, clothing, and accessories are always appreciated, there’s a growing trend toward giving gifts that contribute to financial well-being. This festive season, consider wrapping up presents that not only bring joy in the moment but also sow the seeds for a prosperous future. In this blog post, we’ll explore some of the best financial gifts you can give to your loved ones, making this holiday season both memorable and financially empowering. 

Investment in Stocks or Bonds 

Consider introducing your loved ones to the world of investing by gifting them stocks or bonds. This not only encourages financial literacy but also provides an opportunity for long-term wealth accumulation. Choose companies or investment instruments that align with their interests and values to make the gift even more thoughtful. 

Personal Finance Books or Courses 

Knowledge is a gift that keeps on giving. Invest in the financial education of your friends and family by gifting them personal finance books or online courses. There are numerous resources available that cover budgeting, investing, and overall financial planning. This gift can be particularly beneficial for those looking to enhance their financial literacy and make informed decisions. 

Financial Planning Services 

Help your loved ones kickstart their journey toward financial stability by gifting them a subscription to financial planning services. Many platforms offer personalized advice, budgeting tools, and investment guidance. This gift is especially valuable for those who may not have the time or expertise to navigate the complexities of financial planning on their own.  

Contribution to Retirement Accounts 

Give the gift of a secure future by contributing to your loved one’s retirement account. Whether it’s a 401(k), IRA, or other retirement savings plan, this gesture demonstrates your commitment to their long-term financial well-being. Many individuals appreciate the boost to their retirement savings, especially during a time when they might be focused on immediate expenses. 

Financial Planning Consultation 

Connect your loved ones with a certified financial planner for a one-time consultation. This can be an invaluable gift, offering personalized advice on budgeting, saving, and investment strategies. A professional perspective can help individuals set realistic financial goals and develop a roadmap for achieving them. 

Conclusion 

This festive season, go beyond the traditional gifts and consider presents that contribute to the financial health and prosperity of your loved ones. Whether it’s through investments, education, or professional guidance, these gifts have the potential to make a lasting impact. By fostering financial well-being, you’re not just giving a present—you’re giving the gift of a brighter and more secure future. 

Goldman Sachs loses profit after hits from GreenSky, real estate

0


Second-quarter profit fell 58% to $1.22 billion, or $3.08 a share, due to steep declines in trading and investment banking and losses related to GreenSky and legacy investments that shaved about $3.95 from earnings a share. Revenue fell 8% to $10.9 billion.

ImageFan Reloaded – tab-based image viewer

0
ImageFan Reloaded - tab-based image viewer

ImageFan Reloaded is a cross-platform, lightweight, tab-based image viewer, supporting multi-core processing.
It uses the Avalonia UI framework.
This is free and open source software.

Features include:

Quick concurrent thumbnail generation, scaling to the number of processor cores present.
Support for multiple image folder tabs.
Keyboard and mouse user interaction.
Toggleable recursive folder image browsing.
Targeted zoom and drag zoomed image control.
Fast and seamless full-screen navigation across images.
Command-line direct access to the specified folder or image file.
Configurable thumbnail size, between 50 and 500 pixels, available in the AppSettings.json file.

Website: github.com/mihnea-radulescu/imagefanreloadedSupport:Developer: Mihnea RădulescuLicense: GNU General Public License v3.0
Click image for full size
ImageFan Reloaded is written in C#. Learn C# with our recommended free books and free tutorials.
Return to Image Viewers

Popular series

The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.

Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.

Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.

Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.

Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We’ve written reviews of more than 40 self-hosted apps. All are free and open source.

New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.

Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.

Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.

Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.

Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.

Saving Money with Linux looks at how you can reduce your energy bills running Linux.

Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.

Now and Then examines how promising open source software fared over the years. It can be a bumpy ride.

Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.

Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.

Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.

Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There’s a strict eligibility criteria for inclusion in this series.

These best free books accelerate your learning of every programming language. Learn a new language today!

These free tutorials offer the perfect tonic to our free programming books series.

Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.

Stars and Stripes is an occasional series looking at the impact of Linux in the USA.

Linux is the number one in-demand skill: Open source career trends

0
Linux is the number one in-demand skill: Open source career trends

The trends of the open-source world are constantly changing and so are the open-source skills. According to a report shown by the open-source foundation in the year 2018, there is an increasing demand for employees that are open-source savvy. It also reported that around 87 percent of managers are finding difficulty in hiring talent with open source technology and within this, 83% of employers give priority to the open-source employees.Today, Linux is the highest-ranked skill in software development and in the job market. According to Jim Zemlin, the executive director of the Linux Foundation, it is made sure that everyone can get access to training and certification of open-source skills with ease. In this modern era, every business is recognizing the need for open source skill and thus the trend of getting Linux certifications is increasing. Today, companies are not hungry for employees with a Linux certification but they are starving for it. This is the reason why companies are ready to pay for the Linux certification if the employees have some primary skills.This article will shed light on the importance of this skill and its growing demand in the open-source industry.

Perks offered for Linux experts
Some top-notch companies are paying for all entry-level, mid-level, and even for the highest-level Linux certifications which are CompTIA Linux+, Linux Enterprise Professional Certification and Red Hat Certified Engineer (RHCE). According to dice.com, the demand for Linux experts is so much that some companies are even allowing employees to write their cheques on their own. All this is done so that a software development company can compete well in this competitive market and cover its budget with the future profits generated through the Linux resource. Not only this, but Linux professionals are getting other additional benefits like flexibility in working hours, telecommuting, and additional vacations.However, these perks and money are not motivational factors for Linux workers. Research shows that only 13 percent of the Linux workers were impressed with the handsome salary and great benefits. The other 37 percent selected Linux as their career because they wanted to work with the latest technology, and the remaining 50 percent chose it, as it was their passion.
Linux experts’ inter-familiarity

Today, the increasing demand for Linux experts and open source skills reveal that Linux certification is beneficial for almost every company rather than just the IT companies. Not only the big scale companies, but there is a dire need that small and emerging companies should think about the change that a Linux expert can bring. The Consistent Operating Model of Linux enables the Linux experts to comprehend and recognize the system irrespective of its place and time. Whether it is process management, command line syntax or network administration, a Linux expert can easily correlate everything. This inter-familiarity can change the success rate of businesses that are looking to expand or grow at a speedy rate.

The scalability of Linux
This shows that Linux is highly scalable. This is the reason why employers can easily accommodate Linux experts anywhere they are needed. The comfort and most importantly, the familiarity of the employee does not need to be worried about.

Customization
Today, businesses are running towards customization. So many firms are competing in the market that it becomes difficult to gain a competitive edge and improve the ROI. They want to customize their programs so that they can provide what their specific group of customers want. Copyrights and licensing are some of the major issues with customization. However, a Linux expert can conveniently tailor your operating system as per your needs and demands. Linux experts are providing the benefits of everything from a customized business application to databases and a platform of website hosting to email.
Capabilities of the operating system

The demand for Linux is not limited to a few factors. The operating system capability is another great reason to hire Linux experts. Firms are always in search of automation, private cloud, containers, orchestration and server virtualization. These are the aspects through which Linux is leading today’s industry.

The shift from Windows to Linux
A recent trend has been observed by several firms in their shift to Linux from windows. This shift is one of the biggest reasons for the increased demand for Linux experts. Some of the business owners are so impressed with the benefits of Linux that they are trying to have some basic knowledge of Linux so that it can help them in taking the key business decisions. However, the need for an IT expert is still there to bring a noteworthy change in the business and meet the modern-day requirements.
Some of the biggest reasons why companies are going towards Linux instead of windows include:- SecuritySince Linux has a small user base, the chances of a hacker attacking you are minimal. This is not the case with Windows OS where hackers are likely to have a huge audience.- Hassle-free updatesThe updates of your software become easier in Linux. In comparison to Windows, you do not need to re-boot after every step and you can also update multiple software at the same time.- Budget-friendlyThere is no need to compare the price with any other thing when Linux is free to use. Though it can provide great benefits to the business it does not demand a hefty price from you. Top-notch companies of the world are using it and they have successfully reached their business goals.- TransparencyThe code of Linux can be easily seen by everyone because it is an open-source project. This removes the chances of bugs and viruses because the IT department can see what is happening at each step.In short, Linux is an ideal option for IT professionals. The scalability, customization, security, and other benefits of Linux make it a decent choice for every growing business. Linux certification and expertise can guarantee a well-paid job with several benefits and shining career.
Arslan Hassan is an electrical engineer with a passion for writing, designing and anything tech-related. His educational background in the technical field has given him the edge to write on many topics. He occasionally writes blog articles for Dynamologic Solutions.

yewtube Is A Feature Packed Terminal Based YouTube Player

0
yewtube Is A Feature Packed Terminal Based YouTube Player

yewtube is a command-line tool to search, browse, and play YouTube videos directly from your terminal, for Linux, macOS, and Microsoft Windows. It uses no API keys, and it can play audio only or audio/video using a third-party media player like VLC, mpv or mplayer, with lots of features on top.yewtube is a fork of mps-youtube, which had its last release in back in 2018. This January, yewtube was merged back in mps-youtube, and its development continues at https://github.com/mps-youtube/yewtube. The fork is a year old, and it contains numerous bug fixes as well as some minor new features such as the ability to run yewtube over tor using torsocks, and the ability to set the mplayer cache.The application’s main purpose is to serve as a terminal YouTube music player, offering options to:search and play audiocreate and save local playlistssearch and open YouTube playlistslocal play historyset the default media formatsWith extra options such as:play video externally using mpv, mplayer, or vlcaudio/video downloadview video information and commentsoptional notifications on song changeoptional MPRIS v2 supportlast.fm scrobbling supportyewtube is written in Python3, and for interacting with YouTube it uses pafy, a Python library to download YouTube content and retrieve metadata. It doesn’t support logging in to YouTube, so anything related to that is not supported (e.g. posting comments).You might also like: ytfzf – Search (With Thumbnails) And Play YouTube Videos From A Terminalyewtube search resultsVideo informationyewtube help topicsThis is a powerful and flexible tool that offers a simple and efficient way to search, browse, and play YouTube videos from your terminal. Whether you’re a Linux user looking for a lightweight music player, or a macOS or Windows user who prefers a command-line interface, yewtube is definitely worth checking out.Below you’ll find instructions for installing yewtube using pipx, and a quick getting started guide.Install yewtubeThe easiest way to install yewtube is using pipx. On Linux, install pipx from your distribution’s repositories:Debian, Ubuntu and Linux distributions based on these (Linux Mint, Elementary OS, Pop!_OS, Zorin OS, etc.):sudo apt install pipxsudo dnf install pipxsudo pacman -S python-pipxsudo zypper install python-pipxOnce pipx is installed, run the following command to ensure directories necessary for pipx operation are in your PATH:pipx ensurepathNow you can install yewtube using pipx:pipx install yewtubeLater when you want to upgrade it, you can do it using: pipx upgrade yewtubeYou’ll also want to install a media player to use with yewtube, from the following 3: VLC, mpv or mplayer. On Linux, you can install these from your Linux distribution’s repositories.You might like: How To Download A YouTube Playlist And Convert It To MP3 Using youtube-dl or yt-dlp (Command Line)Getting started with yewtubeStart using yewtube by typing the following command in a terminal:ytYou may want to start by configuring yewtube. I’d recommend starting with:- if you want to disable playing videos (with this set to false, yewtube will only play audio; it’s set to true by default):set show_video false- set the media player to use for playback:set player <player>where <player> is mpv, mplayer or vlc.If you use VLC as the player, you’ve disabled showing the video in yewtube, and want to suppress the VLC GUI from showing up:set vlc_dummy_interface trueYou can view the currently active configuration by typing set.yewtube is quite customizable. For instance, the search results screen can be configured to display additional fields. To see all the available configuration options, type help config in yewtube.After finishing with the configuration, start using yewtube. Initiate a search by entering / followed by search terms. To play a track, enter its number and press ENTER. You can specify more items separating them by commas, and also include ranges, e.g. play tracks from 1 to 5, 7 and 9: 1-5,7,9.Use n and p to continue search to next/previous pages. Type p <number> to switch to page <number>.View a video’s information (view count, likes and dislikes, published date, author, etc.) by typing i followed by the item’s number. Type c <number> to view a video’s comments.The application comes with an extensive help. To learn more about a feature and how to use it, check out the help inside yewtube, by typing help.YouTube-related: How To Cast YouTube Videos From Your Phone To Raspberry Pi Using YouTube On TV (youtube.com/tv)

Kali Linux : Touchpad issues – tapping, reverse/natural scrolling

0
Kali Linux : Touchpad issues - tapping, reverse/natural scrolling

Since I’ve started using Kali Linux, I have often encountered problems with my touchpad. The problem can either be with tapping (tapping the touchpad doesn’t result in a click, and I have to press the physical button), or with scrolling (two finger scrolling doesn’t work).I have come across the following 3 fixes. At least one of them should work for you-
Fix 1: Easiest – GUI setting

This fix requires no fancy commands. You just have to go to Mouse & Touchpad settings and make appropriate changes. To go to the settings, you can either-

Press the windows key (on the lower bottom, Ctrl key, Function key, Windows key, Alt key), and type mouse in the search bar that shows up.
Click the activities button on the top left, and type mouse in the search bar that shows up.

Now, you should see something like this-

You can check the tap to click and two finger scroll options and your problem is solved.

If, however, you see something like this-

Then you have to use the next fixes, as the Mouse and Touchpad setting are useless for you.

Fix 2 : Tapping and reverse Scroll

If you are able to scroll just fine, but your touchpad is not registering the taps, then just type this command into the terminal-

synclient tapbutton1=1
This should enable tapping for you.In my case, I had scrolling working without any problems, but I prefer natural scrolling, and that option wasn’t there for me in mouse & touchpad settings. However, if you type synclient into the terminal, you see something like this-

new@kali:

Parameter settings:    LeftEdge                = 1618    RightEdge               = 5366    TopEdge                 = 1356    BottomEdge              = 4536    FingerLow               = 25    FingerHigh              = 30    MaxTapTime              = 180    MaxTapMove              = 251    MaxDoubleTapTime        = 100    SingleTapTimeout        = 180    ClickTime               = 100    EmulateMidButtonTime    = 75    EmulateTwoFingerMinZ    = 282    EmulateTwoFingerMinW    = 7    VertScrollDelta         = 114    HorizScrollDelta        = 114    VertEdgeScroll          = 0    HorizEdgeScroll         = 0    CornerCoasting          = 0    VertTwoFingerScroll     = 1    HorizTwoFingerScroll    = 0    MinSpeed                = 1    MaxSpeed                = 1.75    AccelFactor             = 0.035014    TouchpadOff             = 0    LockedDrags             = 0    LockedDragTimeout       = 5000    RTCornerButton          = 0    RBCornerButton          = 0    LTCornerButton          = 0    LBCornerButton          = 0    TapButton1              = 1    TapButton2              = 0    TapButton3              = 0    ClickFinger1            = 1    ClickFinger2            = 1    ClickFinger3            = 1    CircularScrolling       = 0    CircScrollDelta         = 0.1    CircScrollTrigger       = 0    CircularPad             = 0    PalmDetect              = 0    PalmMinWidth            = 10    PalmMinZ                = 200    CoastingSpeed           = 20    CoastingFriction        = 50    PressureMotionMinZ      = 30    PressureMotionMaxZ      = 160    PressureMotionMinFactor = 1    PressureMotionMaxFactor = 1    GrabEventDevice         = 0    TapAndDragGesture       = 1    AreaLeftEdge            = 0    AreaRightEdge           = 0    AreaTopEdge             = 0    AreaBottomEdge          = 0    HorizHysteresis         = 28    VertHysteresis          = 28    ClickPad                = 0

You can quickly notice the VertScrollDelta (delta usually refers to rate of change, here speed of scrolling) parameter which for me is set to 114. I decided to check if making it -114 would make it scroll at the same speed but in the opposite direction. To test that, I tried the following command-
synclient VertScrollDelta=-114
And turns out I was right and it did reverse the direction of scrolling.
Little problem
These changes that we made aren’t persistent, and the synclient setting would revert to default every time you start your system again. There are many solutions to this, one of which include editing files in /usr/share/X11/xorg.conf.d/. However, these files tend to get overwritten and we have to deal with a lot of other mess to fix that behavior.Instead, we will use a very simple solution, and just run the above two commands on system startup.
Add the commands to startup

Step 1 : Navigate to the .config directory

cd ~/.config/
Step 2 : Check if autostart folder exists
ls
Step 3: If it doesn’t exist, create the folder. If it exists, skip this step
mkdir autostart
Step 4: Navigate to autostart folder
cd autostart
Step 5: Use your favorite text editor [vim v/s/ sublime text?] (or cat ). I’m using leafpad to make things look less intimidating.
leafpad script.desktop
Step 6: A leafpad windows will pop up. Paste one of the following into the window and then save and then close leafpad.If you are logged in as root (probably the case)[Desktop Entry]Name=MyScriptType=ApplicationExec=/root/script.shIf you are logged in as another user (if you created a non-superuser account)[Desktop Entry]Name=MyScriptType=ApplicationExec=/home/<name here>/script.sh

Note 1 : To find the <name here> in second case, just navigate to home (cd ~) and find present working directory (pwd)

Note 2 : (If you’re curious why I didn’t use ~ and instead made two different scripts for root and other users) Exec=~/script.sh didn’t work for me. Maybe it does work in general, and there was some other factor in play for me, or maybe it isn’t supposed to work at all. Not sure. Any comments in this regard are welcome.

Step 7: Change directory to home.
cd ~
Step 8: Create a file called  script.sh
leafpad script.sh
Step 9: Paste the following code into it. Then save.synclient tapbutton1=1 #To enable tappingsynclient VertScrollDelta=-114 #To reverse direction of scrollPS: Paste only the lines required by you.

Step 10: Make it executable
chmod 777 script.sh
or
chmod a+x script.sh
Restart Kali and see if your tapping and reverse scroll are still working. If not, go through the steps again and see what you missed. Everything is case sensitive so you have to be very careful in that regard.
TroubleShooting

If typing the commands into the terminal worked for you, but automation by adding the commands to startup didn’t, then here is one simple troubleshooting tip to isolate the problem.

Open a terminal and type

./script.sh
If your tapping/reverse scrolling is working fine now, then your script is fine, but the autostart directory content is not. Recheck steps 1 to 6.If your tapping/reverse scrolling isn’t working fine, then your script is flawed. Recheck step 7 to 10.
Fix 3 : modprobe method

I found out about this method here. It did fix a few things for me, but like the second reply on the thread, what happened with me was- 

Earlier my scroll was working and tap to click wasn’tAfter running the commands

Tap to click started working and two finger scroll stopped working

Also, even when my scroll was working it wasn’t natural scroll and that’s a bit inconvenient for me. So, Fix 2 above was the best fix for me. However, I’ve included this fix because it seems to work with most people. So here it is- 

Step 1 : Open a terminal. 

Step 2 : Type the following command. Your mouse pointer will stop working after typing the first command and will resume continue working (hopefully with the touchpad problems solved) after the second.

modprobe -r psmouse 

modprobe psmouse proto=imps

Persistence
Follow these steps-Step 1 : Navigate to required directory
cd /etc/modprobe.d/
Step 2 : Open text editor
leafpad whatever.conf
Step 3:  Paste this-options psmouse proto=imps
Step 4: Save and exit

Restart and see if the changes are persistent. 

Again, I reiterate, this method is based on a fix I found on Kali Forums, and you should read further there if you are facing any problems.That said, if you are facing any problems, then feel free to comment. If you followed the guide but had to do something a bit different to get it working, then also comment, as it may help others.

VPC Peering vs AWS PrivateLink vs Transit Gateway

0
VPC Peering vs AWS PrivateLink vs Transit Gateway

Published: October 21, 2023 | Modified: October 21, 2023

In this article, we will compare three different ways to cross-VPC communication: VPC peering, AWS PrivateLink, and Transit Gateway. We’ll also discuss when to use each one and help you choose the best option. It’s important to note that we won’t dive deep into each implementation; instead, we’ll focus on their advantages, limitations, and ideal usage scenarios.

Peering or PrivateLink or Transit Gateway!

When operating Cloud Native applications, maintaining private and secure communication between applications is crucial. These applications may be distributed across various VPCs, whether within the same account or across different accounts. In such scenarios, we establish cross-VPC communication through the use of VPC peering, AWS PrivateLink, or Transit Gateway.

Let’s look at them one by one.

VPC Peering

It is a networking connection between two VPCs where network traffic can be routed across two VPCs. Read more about VPC peering here. Let’s look at the pros and cons of the VPC peering –

Advantages

Relatively straightforward to configure. It’s an invite-accept configuration.

Create network connectivity between two VPCs, resulting in a scalable network connection solution, enabling all resources in one VPC to communicate with resources in the other.

A simple, secure, and budget-friendly option.

VPC Peering comes at no additional cost; you are only billed for data transfer costs. The data transfer cost for VPC peering within the same Availability Zone (AZ) is completely free.

Limitations

Peering VPCs with overlapping CIDRs is not possible.

Peering is non-transitive.

Ideal usage

Individual VPC-to-VPC connections.

A situation that demands full network connectivity with other VPC.

A use case where a simple and cost-effective solution is expected.

This approach is not well-suited for handling a large number of VPCs. In such cases, Transit Gateway is the preferred solution. Since mesh networking between a large number of VPCs using peering adds complexity to the architecture.

AWS PrivateLink

It’s an AWS service that enables you to access AWS services over a private network connection, rather than over the public internet. Read more about AWS PrivateLink here.

Advantages

A selective sharing of services between VPCs. Unlike VPC peering, where all VPC network access is unrestricted, AWS PrivateLink permits only specific services to be accessible across VPC.

This is a secure solution for private connectivity of services across VPCs or on-premises.

Limitation

It’s a connectivity option between your VPC and AWS services, not between VPCs. For VPC-to-VPC connectivity, consider VPC peering or Transit Gateway.

The setup process is complex.

It necessitates the creation of Network Load Balancers (NLB), Application Load Balancers (ALB), and Gateway endpoints, which introduces additional costs and management overhead.

Enabling PrivateLink for existing services requires design adjustments, including the incorporation of the above components into the current architecture.

Ideal usage

It can be valuable in hybrid cloud configurations to make services accessible privately between VPCs and on-premises environments.

It’s beneficial for accessing AWS’s public services like Amazon DynamoDB and Amazon S3 through AWS’s backbone network, ensuring secure, fast, and reliable connectivity while potentially reducing network costs.

It’s applicable for creating isolation by selectively exposing specific services to particular VPCs.

Transit Gateway

AWS Transit Gateway is a service that makes network routing easier for your Amazon Virtual Private Clouds (VPCs), on-premises networks, and VPN connections. It helps to simplify and centralize network routing. Read more about Transit Gateway here.

Advantages

A concrete method to link numerous VPCs, network devices, VPN connections, or an AWS Direct Connect gateway, featuring transitive routing for the simplification of network design.

Multicast support facilitates effortless distribution of content and data to various endpoints.

Efficiently manage and control large-scale networking via a single, unified service.

Limitations

Ideal usage

It is well-suited for hub-and-spoke architectures, designs that involve a significant number of VPCs, transitive routing needs, and global or multi-region network designs.

It is designed for scalability and is particularly suitable for continuously expanding environments.

It’s valuable for efficiently managing network connectivity among a large number of diverse participants.

Which one should I use?

As we’ve discussed, each of these three networking approaches has its specific areas of focus tailored to particular use cases. Consequently, the choice depends entirely on your unique requirements.

VPC Peering is an excellent choice when you need to connect a limited number of VPCs with minimal cost implications and management overhead.

AWS PrivateLink is the right option when you intend to selectively expose services to other VPCs, although it involves additional costs, extra networking components, and the associated management overhead.

Transit Gateway can serve as an alternative to VPC Peering as you scale to a larger number of VPCs, simplifying network management at the expense of some additional costs. It’s also well-suited for connecting various network entities with anticipated scalability.

Ansible Lineinfile Module: With Practical Examples

0
Ansible Lineinfile Module: With Practical Examples

In this tutorial, we’ll explore the Ansible lineinfile module, a powerful tool for managing lines in text files. Whether you’re updating configuration files or ensuring specific lines are present or absent, lineinfile provides a straightforward way to automate these tasks. We’ll start with an overview of the module’s syntax and usage, then dive into practical examples that illustrate its capabilities.What is Ansible Lineinfile Module?The lineinfile module is used to ensure a particular line is present or absent in a file. It can also be used to replace existing lines that match a certain pattern. This module is especially useful for managing configuration files, where specific lines must be added, modified, or removed.Here’s the basic syntax for the lineinfile module:- name: Ensure a line is present in a file
ansible.builtin.lineinfile:
path: /path/to/file
line: ‘text to be added’
This simple example ensures that a specific line of text is present in a given file. The module checks the file at the specified path and adds the line if it’s not already present. This basic usage can be extended with various parameters to handle more complex scenarios.Here is the explanation:path: The file to modify.line: The line to insert or ensure is present.state: If set to absent, the line will be removed.regexp: A regular expression to match the line that needs to be replaced.insertafter or insertbefore: Specifies where to insert the line if it’s not found.Let’s look at some practical examples to understand how lineinfile can be used in different scenarios.Example 1: Ensuring a line is presentIn this example, we’ll ensure that a specific configuration line is present in a file.—
– name: Ensuring a Line is Present
hosts: all
tasks:
– name: Ensure the timezone is set in /etc/timezone
ansible.builtin.lineinfile:
path: /etc/timezone
line: ‘Asia/Kolkata’
This task will check the /etc/timezone file and add Asia/Kolkata if it’s not already present. This is useful for setting system-wide configurations that must be consistent across multiple machines.By ensuring the line is present, you can standardize configurations and avoid manual errors. This is particularly useful in large environments where consistency is key.Example 2: Removing a lineSometimes, you need to ensure a specific line is not present in a file. You can use the state: absent parameter to achieve this.—
– name: Removing a Line
hosts: all
tasks:
– name: Remove the deprecated setting from config
ansible.builtin.lineinfile:
path: /etc/config_file
line: ‘DeprecatedSetting=true’
state: absent
This task will remove the line DeprecatedSetting=true from /etc/config_file if it exists. This is helpful for cleaning up obsolete or incorrect settings from configuration files.Removing deprecated settings helps maintain clean and up-to-date configuration files, ensuring that only relevant and necessary configurations are applied.Example 3: Replacing a line matching a patternYou can replace lines that match a certain pattern using the regexp parameter.—
– name: Replacing a Line Matching a Pattern
hosts: all
tasks:
– name: Update the max_connections setting in my.cnf
ansible.builtin.lineinfile:
path: /etc/my.cnf
regexp: ‘^max_connections’
line: ‘max_connections = 500’
This task will search for a line starting with max_connections in /etc/my.cnf and replace it with max_connections = 500. This is useful for updating configurations to meet new requirements.By using patterns, you can target specific lines for replacement, ensuring that only the intended lines are modified. This adds flexibility and precision to your automation scripts.Example 4: Inserting a line after a specific patternYou might need to insert a line after a specific line or pattern. Use the insertafter parameter for this purpose.—
– name: Inserting a Line After a Specific Pattern
hosts: all
tasks:
– name: Add a new repository after the existing repositories
ansible.builtin.lineinfile:
path: /etc/apt/sources.list
line: ‘deb http://example.com/repo ubuntu main’
insertafter: ‘^# End of file’
This task will insert the new repository line after the line matching the pattern ^# End of file. This is useful for adding new configurations in a specific order.Inserting lines in the correct order ensures that your configuration files remain organized and that new settings are applied in the desired context.Example 5: Handling multiple lines with lineinfile moduleWhile lineinfile is designed for single lines, you can manage multiple lines by running the module multiple times or using loops.—
– name: Handling Multiple Lines with Lineinfile
hosts: all
tasks:
– name: Ensure multiple lines are present
ansible.builtin.lineinfile:
path: /etc/my.cnf
line: “{{ item }}”
with_items:
– ‘max_connections = 500’
– ‘bind-address = 0.0.0.0’
This task ensures that both max_connections and bind-address lines are present in /etc/my.cnf. Using loops allows you to apply multiple changes in a single task.Handling multiple lines efficiently reduces the complexity of your playbooks and ensures that all necessary configurations are applied in one go.Example 6: Adding a line before a specific patternSometimes you may want to insert a line before a certain pattern in a file. Use the insertbefore parameter for this purpose.—
– name: Adding a Line Before a Specific Pattern
hosts: all
tasks:
– name: Add a comment line before the server block in nginx config
ansible.builtin.lineinfile:
path: /etc/nginx/nginx.conf
line: ‘# Added by Ansible’
insertbefore: ‘^server {‘
This task will add the line # Added by Ansible before any line that starts with server { in the /etc/nginx/nginx.conf file. This helps in adding comments or directives in a specific place in configuration files.Adding lines before specific patterns helps you place new configurations exactly where they are needed, maintaining the logical flow of the file.Example 7: Ensuring a line in a file that does not exist yetYou can create a file if it doesn’t exist and ensure a line is present in it.—
– name: Ensuring a Line in a File That Does Not Exist Yet
hosts: all
tasks:
– name: Ensure a line in a file that does not exist yet
ansible.builtin.lineinfile:
path: /etc/new_config_file
line: ‘InitialSetting=true’
create: yes
This task ensures that the file /etc/new_config_file exists and contains the line InitialSetting=true. If the file does not exist, it will be created. This is useful for initializing new configuration files.Creating files on the fly ensures that all necessary configurations are applied even if the files are missing, making your automation scripts more robust.Example 8: Ensuring a line exists with a specific owner and permissionsYou can also ensure that a file has a specific owner and permissions while ensuring a line is present.—
– name: Ensuring a Line Exists with a Specific Owner and Permissions
hosts: all
tasks:
– name: Ensure a line is present with specific owner and permissions
ansible.builtin.lineinfile:
path: /etc/some_config
line: ‘SomeImportantSetting=yes’
notify:
– set_permissions

handlers:
– name: set_permissions
ansible.builtin.file:
path: /etc/some_config
owner: root
group: root
mode: ‘0644’
This task ensures the line SomeImportantSetting=yes is present in /etc/some_config, and it sets the owner to root and permissions to 0644 using a handler. This ensures that the file has the correct ownership and permissions.Setting the correct permissions and ownership ensures that the file is secure and accessible only by authorized users.ConclusionIn this article, I covered the basics of the Ansible lineinfile module, including its syntax and key parameters. You also looked at several practical examples, such as ensuring a line is present, removing a line, replacing a line matching a pattern, and inserting a line after a specific pattern. You also explored advanced scenarios like adding lines before specific patterns, setting file permissions, and creating new files with specific lines.✍️Author: Hitesh Jethwa has more than 15+ years of experience with Linux system administration and DevOps. He likes to explain complicated topics in easy to understand way.

Systemd 256.1 Addresses Complaint That ‘systemd-tmpfiles’ Could Unexpectedly Delete Your /home Directory

0
Linux

“A good portion of my home directory got deleted,” complained a bug report for systemd filed last week. It requested an update to a flag for the systemd-tmpfiles tool which cleans up files and directories: “a huge warning next to –purge. This option is dangerous, so it should be made clear that it’s dangerous.” The Register explains:
As long as five years ago, systemd-tmpfiles had moved on past managing only temporary files — as its name might suggest to the unwary. Now it manages all sorts of files created on the fly … such as things like users’ home directories. If you invoke the systemd-tmpfiles –purge command without specifying that very important config file which tells it which files to handle, version 256 will merrily purge your entire home directory. The bug report first drew a cool response from systemd developer Luca Boccassi of Microsoft:

So an option that is literally documented as saying “all files and directories created by a tmpfiles.d/ entry will be deleted”, that you knew nothing about, sounded like a “good idea”? Did you even go and look what tmpfiles.d entries you had beforehand? Maybe don’t just run random commands that you know nothing about, while ignoring what the documentation tells you? Just a thought eh But the report then triggered “much discussion,” reports Phoronix. Some excerpts:

Lennart Poettering: “I think we should fail –purge if no config file is specified on the command line. I see no world where an invocation without one would make sense, and it would have caught the problem here.”
Red Hat open source developer Zbigniew Jedrzejewski-Szmek: “We need to rethink how –purge works. The principle of not ever destroying user data is paramount. There can be commands which do remove user data, but they need to be minimized and guarded.”
Systemd contributor Betonhaus: “Having a function that declares irreplaceable files — such as the contents of a home directory — to be temporary files that can be easily purged, is at best poor user interfacing design and at worst a severe design flaw.”

But in the end, Phoronix writes, systemd-tmpfiles behavior “is now improved upon.””Merged Wednesday was this patch that now makes systemd-tmpfiles accept a configuration file when running purge. That way the user must knowingly supply the configuration file(s) to which files they would ultimately like removed. The documentation has also been improved upon to make the behavior more clear.”Thanks to long-time Slashdot reader slack_justyb for sharing the news.

Kali Linux 2023.2 Release (Hyper-V & PipeWire)

0


Quick off the mark from previous 10 year anniversary, Kali Linux 2023.2 is now here. It is ready for immediate download or upgrading if you have an existing Kali Linux installation.The changelog highlights over the last few weeks since March’s release of 2023.1 is:New Hyper-V VM ImageWith this release, we welcome a new member in the family of pre-built VM images! We now provide an image for Microsoft Hyper-V.For those familiar with the matter, let’s jump straight into the details. This is a GEN2 image for Hyper-V, pre-configured for Enhanced Session Mode. All you need to do is to download the image, unpack it, then run the script install-vm.bat. Afterwards open the Hyper-V Manager and start the VM. Hyper-V should automatically propose to connect via Enhanced Session Mode (aka. xRDP over HvSocket), thereby greatly improving the user experience.Before that, enabling Enhanced Session Mode required some manual steps, both on Windows and in the Kali VM, and it was not super easy. We hope that this new images provides a better out-of-the box experience for Hyper-V users. In fact, there should now be zero configuration required.More details about this new image can be found in our documentation, on the page Import Pre-Made Kali Hyper-V VM.Xfce & PipeWireWith this release, we changed the audio stack for Kali’s default desktop: PipeWire now replaces PulseAudio.Some background information: PipeWire is a “server for handling audio, video streams, and hardware on Linux”. It was initially released in 2017, is actively developed, and is poised to become the de-facto sound server in pretty much every Linux distribution out there, therefore replacing PulseAudio. The GNOME desktop already uses PipeWire by default in most Linux distributions, including Kali Linux since version 2022.4 . Most users never noticed the change.But let’s get back to Kali’s default desktop environment: Xfce. Xfce does not really “support” PipeWire per se, but it does not need to. PipeWire provides a compatibility layer, under the form of the pipewire-pulse daemon. And that’s what make the magic happens: applications that were meant to work with PulseAudio keep working as if nothing happened, blissfully unaware of the change.We do not expect any issue with this transition, actually we expect the opposite, some well-known issues should be fixed, sound should work better overall.What should you do about it? Nothing special. For users who upgrade their Kali installation though, a reminder: the right command to upgrade your system is sudo apt update && sudo apt full-upgrade. Let us put the emphasis on full-upgrade, rather than upgrade: it matters.Should this change cause any problem with your setup, head to the page No sound on Kali 2023.2 for tentative solutions.i3 Desktop OverhaulThe Kali i3 desktop was completely redone!For context: i3 is a tiling window manager. You might not have heard of it, it’s not available from the Kali’s installer, and it can be said to be a desktop for advanced users. Nevertheless, Kali used to propose a i3 desktop (provided by the metapackage kali-desktop-i3) and also a i3-gaps desktop (metapackage kali-desktop-i3-gaps), which was a sort of alternative version of i3.The upstream projects i3-gaps and i3 merged recently, so it was awkward for Kali to have two separate metapackages. Therefore those two packages were merged, and only kali-desktop-i3 remains. This metapackage now provides a complete desktop environment (rather than a bare minimum, as it used to).All of that work was done by long-time i3 user and Kali contributor, Arszilla, and we’re really thankful for that. He shared some screenshots of his setup, so that he can give you an idea of what a i3 desktop can look like:Lock Screen:On/Off Menu:Desktop with tiled windows (note how inactive windows become transparent):Desktop with floating windowsHow can you try it out? Maybe the cleanest way is to build yourself a custom installer iso that includes the i3 desktop, and then install it on your machine of choice. After booting it up, refer to the installation guide, there are a few manual steps to run if you want to configure your i3 desktop to something similar to the screenshots above.Desktop UpdatesXfceIn this release we pre-installed a nifty extension for the Xfce File Manager: GtkHash. This extension provides the option to quickly compute checksums, simply by doing a right-click on a file and then opening the Checksums tab. No need to open a terminal and type the command manually! Screenshot below:GNOME 44Like for (almost) every half-year, there is a new version bump for the GNOME desktop environment. Kali 2023.2 brings the new version, GNOME 44, which is a more polished experienced following the work previously introduced in previous version.Here are some of the new features for this update:Enhanced Shell Quick Settings PanelQuickly connect or disconnect to bluetooth devicesUpdated Settings AppGNOME’s file chooser dialog can now display thumbnailsUpdated Kali themingTiling Assistant ExtensionWith this release, we are excited to introduce a new extension for Kali’s GNOME Shell desktop: Tiling Assistant. This extension elevates the default tiling experience, placing it on par with the quarter tiling support found in KDE and Xfce. With Tiling Assistant, you can surpass the limitations of the 2 column layout and unlock a range of powerful features. Enjoy intuitive window snapping, multi-monitor support, customizable keyboard shortcuts, and personalized settings, all designed to enhance your productivity and workflow.
Your browser does not support the video tag.App Icons and Kali Menu UpdatesBeginning with this release, we are excited to announce that we have initiated work on updates and improvements for the Kali menu. Our primary focus is on enhancing the tools listed in the top 100 on the kali.org/tools page. This entails improving existing icons, introducing new ones, and enhancing the organization of Kali’s menu categories.To provide you with a sneak peek, we have included a screenshot showcasing the new and updated app icons. We value your feedback, so if you believe that any particular tool would benefit from a new icon, please don’t hesitate to open a bug report at bugs.kali.org. Your input will contribute to the continued refinement of Kali’s menu experience.It would not be a Kali release if there were not any new tools added! A quick run down of what has been added (to the network repositories):Cilium-cli – Install, manage & troubleshoot Kubernetes clustersCosign – Container SigningEksctl – Official CLI for Amazon EKSEvilginx – Standalone man-in-the-middle attack framework used for phishing login credentials along with session cookies, allowing for the bypass of 2-factor authenticationGoPhish – Open-Source Phishing ToolkitHumble – A fast security-oriented HTTP headers analyzerSlim(toolkit) – Don’t change anything in your container image and minify itSyft – Generating a Software Bill of Materials from container images and filesystemsTerraform – Safely and predictably create, change, and improve infrastructureTetragon – eBPF-based Security Observability and Runtime EnforcementTheHive – A Scalable, Open Source and Free Security Incident Response PlatformTrivy – Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and moreWsgidav – Generic and extendable WebDAV server based on WSGIThere has also been numerous packages updates and new libraries as well.MiscellaneousBelow are a few other things which have been updated in Kali, that do not have as much detail:Python PIP changes – Friendly reminder about pip’s behavior changing in Kali 2023.4!When using kali-tweaks, altering OpenSSL security will now have an effect for Python based libraries as well!Our Kali WSL rootfs build-script got a overhaul. The result will now give a similar experience both using it as well as the output as it will include more of the standard packages by default.Kali ARM UpdatesWhen using the ARM build-scripts, it will now prompt you to reboot after installing build dependencies if required.Plus, we are now including additional firmware on all ARM images.The USBArmory MKII image currently only supports the 512MB variant. The version of u-boot has been bumped.The Raspberry Pi P4wnP1 image is now considered community supported. Unfortunately the upstream project does not support newer versions of bluez that Kali has, so until that is fixed, we do not want to ship an image that does not work properly.Kali Documentation UpdatesOur Kali documentation has had various updates to existing pages as well as the following new pages:We also want to say a little thank you to following for their work:Kali Blog RecapSince our last release, we did the following blog posts:These are people from the public who have helped Kali and the team for the last release. And we want to praise them for their work (we like to give credit where due!):Francisco Jose Rodriguez Martos – improving the arm build scripts yet again. Thank you so very much!Salty_ – doing the release testing for the Raspberry Pi 4.Mihir Parekh – reporting an issue with Kali KDE desktop in VMware, along with the workaround.Anyone can help out, anyone can get involved!New Kali MirrorsWe have some new mirrors since the year started! Those are:We almost got a new mirror in South America, but it did not work out, and we realized that we really lack mirrors in this region of the world. If you’re an organization in South America with quite some bandwidth to spare, and you want to improve Kali Linux availability in South America, check our guide on how to setup a Kali Linux Mirror. If you think it’s for you, please reach out!Kali Team Discord Chat SessionThe next Kali Discord session will happen a week after the release, Wednesday, 7th June 2023 16:00 -> 17:00 UTC/+0 GMT.Please note, we will not be recording these sessions. These are live sessions only.Get Kali Linux 2023.2Fresh Images:
So what are you waiting for? Go get Kali already!Seasoned Kali Linux users are already aware of this, but for the ones who are not, we do also produce weekly builds that you can use as well. If you cannot wait for our next release and you want the latest packages (or bug fixes) when you download the image, you can just use the weekly image instead.
This way you will have fewer updates to do.
Just know that these are automated builds that we do not QA like we do our standard release images. But we gladly take bug reports about those images because we want any issues to be fixed before our next release!Existing Installs:
If you already have an existing Kali Linux installation, remember you can always do a quick update:┌──(kali㉿kali)-[~]
└─$ echo “deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware” | sudo tee /etc/apt/sources.list
[…]

┌──(kali㉿kali)-[~]
└─$ sudo apt update && sudo apt -y full-upgrade
[…]

┌──(kali㉿kali)-[~]
└─$ cp -vrbi /etc/skel/. ~/
[…]

┌──(kali㉿kali)-[~]
└─$ [ -f /var/run/reboot-required ] && sudo reboot -f
You should now be on Kali Linux 2023.2 We can do a quick check by doing:┌──(kali㉿kali)-[~]
└─$ grep VERSION /etc/os-release
VERSION=”2023.2″
VERSION_ID=”2023.2″
VERSION_CODENAME=”kali-rolling”

┌──(kali㉿kali)-[~]
└─$ uname -v
#1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1kali1 (2023-05-12)

┌──(kali㉿kali)-[~]
└─$ uname -r
6.1.0-kali9-amd64
NOTE: The output of uname -r may be different depending on the system architecture.As always, should you come across any bugs in Kali, please submit a report on our bug tracker. We will never be able to fix what we do not know is broken! And social networks are not Bug Trackers!Want to keep in up-to-date easier? We have a RSS feeds and newsletter of our blog!