Home Blog Page 2

aws – EC2 Inter-instance Site visitors Routing Points – Methods to Examine and Remedy Them?


I’ve a db server (let’s name it DB) on one other cloud service and a VPN server working wireguard on Amazon AWS (let’s name it GW), an EC2 occasion. I even have an internet server as an EC2 occasion (let’s name it WEB).

I am an entire noob to AWS companies. My networking setup comprises the next:

  • A VPC containing two subnets, one public (let’s name it PUB), one non-public (let’s name it PVT).
  • An web gateway on the PUB subnet
  • An Elastic IP connected to considered one of GW’s community interface

The GW occasion has two community interfaces:

  • one on the PUB subnet (10.25.0.2/24) with the EIP attributed
  • one on the PVT subnet (10.25.240.2/24)

The WEB occasion has one community interface (10.25.240.50/24).

Each have non-public IPv4, solely the GW has a public IPv4, and each have IPv6, however I am specializing in organising the IPv4 first, so let’s ignore the IPv6 setup.

There is a Wireguard tunnel established between DB and GW with the next setup:

  • GW: wg0, 192.168.40.1/24
  • DB: wg0, 192.168.40.2/24

Each DB and GW ping one another via the tunnel, and each GW and WEB ping one another via non-public subnet interfaces. I did a “permit all the things” Safety Group for each situations on the interface that talk with one another as a result of I suspected it could possibly be an issue.

All situations run Linux and GW has sys.internet.ipv4.ip_forward sysctl choice set to 1.

I attempted disabling my firewall (firewalld), I attempted creating insurance policies for inter-zone visitors ahead, I attempted all the things, however packets from DB merely will not arrive at WEB (they do go away GW, although) and packets from WEB merely will not arrive at GW.

I examined with ICMP packets working tcpdump, packets destined to WEB from DB arrive on the tunnel interface, and they’re despatched to the wire into the non-public subnet from dumping the non-public subnet’s interface, however tcpdump on the WEB occasion does not present something arriving). Additionally, packets from the WEB destined to DB are captured on the WEB community interface, however will not seem on the GW interface in any respect.

DB routing desk:

default through 10.1.1.1 dev eth0 proto dhcp src 10.1.1.149 metric 100
10.1.1.0/24 dev eth0 proto kernel scope hyperlink src 10.1.1.149 metric 100
10.25.240.0/24 dev wg0 scope hyperlink
192.168.40.0/24 dev wg0 proto kernel scope hyperlink src 192.168.40.2

(the path to 10.25.240.0/24 was produced by wireguard’s AllowedIPs)

WEB Routing Desk

default through 10.25.240.1 dev eth0 proto dhcp src 10.25.240.50 metric 100
10.25.240.0/24 dev eth0 proto kernel scope hyperlink src 10.25.240.50 metric 100
192.168.40.0/24 through 10.25.240.2 dev eth0

(the path to 192.168.40.0/24 was manually added to NetworkManager config)

That mentioned, I’ve a twofold query:

  • Typically, how would I method this type of scenario to diagnose the difficulty when working with AWS stuff?
  • In particular, what could possibly be the attainable trigger and the attainable options for this problem?

ios – How you can resolve ‘non-modular-include-in-framework-module’ error in Xcode 16.0 with React Native 0.78.1?


I am encountering a recurring construct error in Xcode 16.0 when constructing my React Native app (model 0.78.1). The error particularly states:

non-modular-include-in-framework-module

This happens in a number of React Native dependencies, similar to react-native-reanimated, react-native-permissions, and react-native-fast-image. The venture makes use of Swift and Goal-C combined recordsdata, and the issue constantly occurs when importing these modules.

Steps Already Tried:

Setting Enable Non-modular Consists of in Framework Modules to YES in Construct Settings.

Clearing Derived Knowledge (~/Library/Developer/Xcode/DerivedData) and re-building.

Cleansing and reinstalling pods utilizing:

cd ios && pod deintegrate && rm -rf Podfile.lock && pod set up

Making certain all pod targets use use_frameworks! :linkage => :static to align with React Native’s newest suggestions.

Verified that HEADER_SEARCH_PATHS are appropriately set.

Regardless of these steps, the error persists.

Surroundings Particulars:

React Native: 0.78.1

Xcode: 16.0

Node: >=18

Package deal.json: (Dependencies listed above)

Pods setup: use_frameworks! :linkage => :static

Does anybody have ideas for resolving this explicit difficulty or insights into why this would possibly proceed taking place regardless of the steps talked about above?enter image description here

bundle.json

  "identify": "MyHair",
  "model": "0.0.1",
  "personal": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "lint": "eslint .",
    "begin": "react-native begin",
    "check": "jest"
  },
  "dependencies": {
    "@react-native-async-storage/async-storage": "^2.0.0",
    "@react-native-community/checkbox": "^0.5.17",
    "@react-native-community/datetimepicker": "^8.3.0",
    "@react-native-community/geolocation": "^3.4.0",
    "@react-native-masked-view/masked-view": "^0.3.1",
    "@react-navigation/bottom-tabs": "^6.6.1",
    "@react-navigation/native": "^6.1.18",
    "@react-navigation/native-stack": "^6.11.0",
    "@react-navigation/stack": "^6.4.1",
    "@sentry/react-native": "^5.36.0",
    "@tanstack/react-query": "^5.65.1",
    "axios": "^1.7.9",
    "dayjs": "^1.11.13",
    "hermes-engine": "^0.11.0",
    "jwt-decode": "^4.0.0",
    "react": "19.0.0",
    "react-native": "0.78.1",
    "react-native-calendars": "^1.1307.0",
    "react-native-config": "^1.5.3",
    "react-native-dialog": "^9.3.0",
    "react-native-encrypted-storage": "^4.0.3",
    "react-native-fast-image": "^8.6.3",
    "react-native-fs": "^2.20.0",
    "react-native-geolocation-service": "^5.3.1",
    "react-native-gesture-handler": "^2.20.0",
    "react-native-image-crop-picker": "^0.42.0",
    "react-native-image-picker": "^7.2.3",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-linear-gradient": "^2.8.3",
    "react-native-paper": "^5.12.5",
    "react-native-permissions": "^5.3.0",
    "react-native-reanimated": "^3.17.1",
    "react-native-safe-area-context": "^5.3.0",
    "react-native-screens": "^3.34.0",
    "react-native-splash-screen": "^3.3.0",
    "react-native-star-rating-widget": "^1.9.2",
    "react-native-svg": "^15.10.1",
    "react-native-toast-message": "^2.2.1",
    "react-native-vector-icons": "^10.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/preset-env": "^7.25.3",
    "@babel/runtime": "^7.25.0",
    "@react-native-community/cli": "15.0.1",
    "@react-native-community/cli-platform-android": "15.0.1",
    "@react-native-community/cli-platform-ios": "15.0.1",
    "@react-native/babel-preset": "0.78.1",
    "@react-native/eslint-config": "0.78.1",
    "@react-native/metro-config": "0.78.1",
    "@react-native/typescript-config": "0.78.1",
    "@varieties/axios": "^0.14.0",
    "@varieties/date-fns": "^2.5.3",
    "@varieties/jest": "^29.5.13",
    "@varieties/node": "^22.7.4",
    "@varieties/react": "^19.0.0",
    "@varieties/react-native-vector-icons": "^6.4.18",
    "@varieties/react-test-renderer": "^19.0.0",
    "babel-jest": "^29.6.3",
    "eslint": "^8.19.0",
    "jest": "^29.6.3",
    "prettier": "2.8.8",
    "react-native-dotenv": "^3.4.11",
    "react-test-renderer": "19.0.0",
    "typescript": "5.0.4"
  },
  "engines": {
    "node": ">=18"
  }
}

Podfile

  require Pod::Executable.execute_command('node', ['-p',
    "require.resolve('#{script}', {paths: [process.argv[1]]})", __dir__
  ]).strip
finish

node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')

platform :ios, '16.0'
prepare_react_native_project!

goal 'MyHair' do
  config = use_native_modules!

  use_react_native!(
    path: config[:reactNativePath],
    hermes_enabled: true
  )

  setup_permissions(%w[Camera PhotoLibrary LocationWhenInUse Microphone])

  $react_native_config = config
finish

post_install do |installer|
  react_native_post_install(installer, $react_native_config[:reactNativePath], mac_catalyst_enabled: false)
finish

Spillover in Agile: 3 Methods to Break an Unfinished Work Behavior


A key agile precept is the worth of getting deliberate work carried out every iteration.

But many agile and Scrum groups fall into the behavior of letting unfinished work spill over dash after dash.

What Is Agile Spillover?

Spillover is when deliberate work (a product backlog merchandise or story) is left unfinished on the finish of the dash or iteration and carries over to a subsequent dash.

Spillover in agile tends to happen for one in all three causes:

  • Formidable dash purpose, or
  • An excessive amount of unplanned work, or
  • Underestimating the hassle required to finish the work.

Occasional unfinished work will not be a foul factor. In truth, it’s regular and fascinating to sometimes intention somewhat excessive in a dash, and are available up brief.

Too many spillovers, nonetheless, can cut back predictability, diminish creativity, hurt morale, and threaten venture timelines.

Commitments Are Not Ensures

Earlier than I get into why spillover occurs and what to do about it, I wish to make this level: a dash purpose is a dedication, not a assure. A dedication is a promise to attempt to obtain a purpose. If compelled to make a assure, a group will decide to much less in order that the assure is secure.

Typically we do have to make ensures, equivalent to when a shopper or buyer wants some functionality or a hard and fast scope by a sure date. In these circumstances, to make sure they meet that assure, a venture group would doubtless reduce on different work and set a much less formidable dash purpose.

Generally, although, we don’t wish to power a group right into a assure. As an alternative, we wish them to decide to one thing affordable, realizing we’ understanding in the event that they miss it.

When Does Story Spillover Grow to be a Drawback?

Lacking often will not be an issue. Routine spillover is completely different.

Agile teams get into trouble when unfinished work becomes a habit.

Routine spillover occurs when agile groups nearly all the time decide to greater than they’ll full of their sprints. They not often full what they suppose they’ll and finish most sprints with incomplete consumer tales.

With routine spillover, the tip of the dash turns into an arbitrary date, and unfinished tales are simply carried over into the following dash as if it’s no large deal.

Influence of Routine Spillover on Agile Groups

Habitually rolling over unfinished tales to the following iteration is a giant deal for 2 principal causes: it decreases predictability and negatively impacts morale.

Habitual spillover leads to lack of predictability and lower team morale.

Facet Impact #1: Lack of Predictability

The principle drawback with routine spillover is a scarcity of predictability and dependability.

Each group advantages from some degree of predictability. Predictability shouldn’t be the first purpose, however it needs to be a purpose. When your group is predictable, stakeholders will belief you and your work. There might be much less second-guessing and micromanaging, so this belief advantages everybody. However don’t fear: you don’t need to be excellent to be predictable.

It’s the identical in sports activities. Basketball gamers attempt to make each free throw. However a participant who sinks the ball within the basket about 80% of the time is taken into account a excessive performer. That participant may be relied on to make most of their free throws.

Baseball gamers additionally attempt to get successful each time they’re at bat. They’re thought-about nice, extremely predictable hitters, in the event that they handle successful about 35% of the time—mirrored of their .350 batting common.

Predictable doesn't mean perfect. 60-80% of the time is good enough.

Like these sports activities gamers, agile groups are anticipated to attempt to ship every thing they suppose they’ll, each time. But when they obtain their purpose 60–80% of the time, they’re predictable groups.

Facet Impact #2: Lower in Morale

A second, associated purpose groups want to complete what they begin more often than not has to do with the ability of small wins.

In a 2011 research, Amabile and Kramer discovered that tangible, seen progress is a key think about folks’s enjoyment of labor and degree of creativity.

It’s nearly unattainable to get this tangible, seen sense of progress on “principally carried out” however unfinished work. One purpose is that till a backlog merchandise is totally carried out, you’ll be able to’t actually gauge the quantity of labor remaining. This is named the 90% syndrome. Software program initiatives are typically 90% carried out for 90% of their schedule.

Avoid the 90% syndrome, where software projects are 90% done 90% of the time.

When progress stalls, folks lose their sense of accomplishment. (Learn this weblog to dive deeper into why it’s so vital for groups to get to carried out.)

Why Does Overcommitment Grow to be a Behavior?

So why do some groups routinely attempt to ship extra worth than they’ll fairly count on to ship? The most typical supply of this unhealthy behavior is stress. That stress can originate from one in all two locations: exterior or inside.

Exterior stress can come from management, numerous stakeholders, or from any outdoors supply. An government or stakeholder can exert stress by establishing unrealistic expectations when it comes to funds or scope.

Typically this management stress is well-intentioned. A frontrunner will get excited concerning the alternatives introduced by a product and desires extra or they wish to produce worth sooner due to the nice it’s going to do the corporate and/or the product’s customers.

Different occasions, although, the stress comes from misguided leaders who suppose stress is an applicable solution to inspire others. (When this occurs, attempt utilizing the Plan Visualizer device to clarify why a sure set of labor simply is not attainable in a given timeframe.)

The second purpose overcommitment occurs is inside: stress from themselves. Some groups enable their optimism and excessive expectations of themselves to create stress to do greater than is affordable.

Both external and internal pressures can lead to a spillover habit.

Whether or not stress to overcommit comes from outdoors or inside, it’s neither a wholesome atmosphere for group members nor a great state of affairs for the group.

Three Methods to Cease Routine Spillover

Bear in mind, we wish to cease routine spillover, not all spillover. Typically groups miss their targets after they intention excessive and fall somewhat brief. Don’t attempt to repair that sort of effort—have a good time it!

Different occasions groups miss as a result of they only hit a run of unhealthy luck for a handful of sprints. Once more, no have to intervene there.

However when unfinished work spills over from dash to dash, listed here are three issues you are able to do to assist.

Teams can break their rollover habit by making it visible, asking what if, and undercommiting temporarily.

1. Make Unfinished Dash Work Seen

One factor you are able to do instantly to assist cease routine consumer story rollover is to make sure everybody notices that unfinished work exists.

When this dash ends, notice the unfinished tales left within the dash backlog versus what number of had been 100% carried out. Even higher: look again on the prior sprints and depend these spillover tales too.

Deliver this data to the dash retrospective and ask the group members why they suppose unfinished work has turn out to be a sample for them. Stroll them by workouts designed to uncover the basis reason behind an issue, equivalent to 5 Whys. Then invite them to debate choices and determine one factor they may attempt subsequent dash to alleviate that root trigger.

Don’t overlook to carry them accountable to attempting that concept (no matter it’s) throughout dash planning and because the dash progresses.

Free Assets to Assist Your Workforce Cope with Unfinished Work

2. Curb Their Enthusiasm

Most frequently, incomplete work or unfinished tales are brought on by an overabundance of optimism. Folks plan every dash to be a best-case state of affairs and pull extra work from the product backlog than they’ll obtain primarily based on group capability.

If that sounds acquainted, in your subsequent dash planning assembly attempt asking questions like these:

  • What might go flawed that would trigger us to overlook our purpose (unplanned work, consumer story greater than anticipated, unexpected situations equivalent to important bugs, integration points, and so forth)?
  • What has to go proper to attain this purpose?

These questions will help uncover any dangerous assumptions a couple of story or about how straightforward the deliberate work might be. Consider it as a pre-mortem for the dash. (Pre-mortems are additionally helpful for figuring out venture dangers previous to a venture improvement effort.)

3. Drastically Beneath-commit

If elevated visibility and pointed questions don’t end in extra reasonable commitments, a Scrum Grasp may need to resort to drastically lowering what the group brings into the dash backlog.

On the subsequent dash planning assembly, encourage your group to actually under-commit in relation to their group capability.

I’m not speaking about slicing the dash purpose by some small quantity, like 10–20%. I’m saying to restrict group members to committing to solely 50% of what they consider they’ll full.

(They may have to separate consumer tales to do that. For assist with this, try SPIDR: 5 easy however highly effective methods to separate any consumer story.)

The group could push again on this. They’re used to filling up their dash and might be optimistic that they’ll get extra carried out than the objects they’ve chosen. Scrum Masters ought to maintain agency, reminding them that in the event that they run out of labor to do, they’ll all the time deliver extra in./p>

(Scrum Masters will doubtless have to have a chat with the product proprietor previous to dash planning so that they too may be ready to listen to that the group is bringing just a few objects into the dash.)

The purpose in under-committing is to let everybody on the group (together with the product proprietor) really feel what it’s like so as to add a narrative fairly than all the time needing to drop incomplete tales or carry spillover tales to a brand new dash.  After they do, they’ll doubtless wish to really feel it once more.

As soon as the group has felt the enjoyment of no dash spillover, Scrum Masters ought to encourage them to plan a bit extra into the following few iterations till they get near having to roll over incomplete tales once more. Incorporate the enthusiasm-curbing questions as wanted to forestall over-committing.

Routine Spillover Can Be a Arduous Behavior to Break

Agile groups have to carry out their finest whereas additionally permitting the group to create dependable plans. To do this, you desire a group that is aware of its capability and on the identical time isn’t afraid to attempt exhausting issues. You additionally want a product proprietor and stakeholders who perceive that an formidable group is not going to accomplish its purpose each iteration and that perceive the distinction between a dedication and a assure.

Key takeways: Spillover is a bad habit, caused by pressure. It makes teams less predictable and lowers morale. To break the habit, make incomplete stories visible, ask what if, and temporarily undercommit

Outdated habits die exhausting. Typically you must take drastic motion to appreciate lasting outcomes.

Battling routine dash spillover? The important thing to breaking the unfinished work behavior is steady enchancment—and that begins with higher retrospectives. Proper now you will get two model new on-demand video programs: Higher Retrospectives and Retrospectives Restore Information for the value of 1. 

The provide expires at 9 p.m. Pacific on Thursday, April 17. Don’t let this chance spill over—entry each programs right here.

Final replace: April fifteenth, 2025

Ecosystem Highlight: South Africa’s JETP, Worldwide Partnerships, and Prepping for Giant-Scale Innovation


South Africa’s Simply Vitality Transition Partnership (JETP) enters a brand new section, with the U.S. withdrawing its assist earlier this yr. Reaffirmed by present members via extra funding, the pioneering partnership continues to influence the nation’s progress in its vitality transition and, by extension, cleantech improvement.  Worldwide partnerships just like the JETP might be very important accelerators for native cleantech ecosystems in a number of methods:  

  • Influencing institutional reform to prime present infrastructure 
  • Leveraging bilateral relationships to mobilize the non-public sector 
  • Constructing capability for widespread deployment 
  • Laying systematic basis for technological innovation 

Let’s Take It from the High: Prompting Infrastructural Reform By way of Institutional Assist 

Multi-national public sector partnerships just like the JETP announce high-level monetary assist from worldwide companions ($8.5B initially, with an extra $5B together with the worldwide gateway package deal introduced in 2025), enabling needed coverage shifts to prime the vitality business for widespread adoption and expertise scaling: 

  • Lifting licensing exemptions for embedded era facilitates non-public funding in photo voltaic/wind
  • Handed Local weather Change Invoice in 2023 to facilitate institutional preparations for local weather insurance policies and actions, in addition to to mandate the implementation of a carbon budgeting system and the institution of sector emissions targets

Multilateral improvement banks finance and discover native grid and vitality storage reform in a extra inviting surroundings, priming present infrastructure for renewables integration and creating area for revolutionary grid applied sciences: 

  • Concessional loans from the World Financial institution, AfDB and the New Growth Financial institution funded Eskom’s Battery Vitality Storage System (BESS), to put in 1,440 MWh of grid-connected battery storage to enhance reliability and take up photo voltaic/wind fluctuations
  • A 2023 grant from the U.S. Commerce and Growth Company enabled exploration of AI-enhanced grid administration, vitality storage integration, and cross-border electrical energy buying and selling. The examine was carried out by U.S. agency POWER to cut back load shedding and enhance the grid’s renewables capability
  • Engagement with the Chinese language authorities, leveraging PowerChina’s experience to improve high-voltage transmission and ‘good distribution’ infrastructure bolsters native capability for future renewable additions via modernizing Eskom’s present infrastructure 
Whole Vitality & Energy Investments In South Africa 2020-2025 By Sector

 

It Takes Two to Tango: Focused Partnerships Invigorate Innovation 

In signalling international investor confidence, the JETP has attracted worldwide and bilateral non-public sector collaboration focused at scaling renewables era, invigorating revolutionary improvement in renewables functions in mobility and battery manufacturing.  

  • Envusa Vitality is a three way partnership between Anglo American and EDF Renewables to decarbonize Anglo American’s mining operations and add renewables era to the nationwide grid. Envusa is growing 600 MW of renewable capability in its first section, planning to scale as much as 3 GW by 2030
  • World impartial energy producers (IPPs) Enel Inexperienced Energy (Italy), Scatec ASA (Norway), and Mainstream Renewable Energy (Eire) have secured over 7.7 GW in utility-scale wind and photo voltaic capability via aggressive auctions
  • Anglo American and ENGIE’s have collaborated on the world’s largest hydrogen-powered mining truck in 2022 and BMW South Africa and Vulcan Vitality have invested in solar-powered EV charging networks and significant mineral provide chains from native renewables scaling 

International companions have invested in initiatives to develop native early-stage improvement capabilities:

  • Native mining councils partnered with the German Federal Ministry for Financial Cooperation and Growth (BMZ) in 2021 to foster analysis and improvement for superior supplies and sustainable mineral processing
  • The Hydrogen Valley Initiative, led by South Africa’s Division of Science and Innovation and companions like Anglo American, mapped potential hydrogen corridors and kicked off pilot tasks starting from forklifts to gasoline cell bus routes
  • Universities such because the College of the Western Cape are partnering with international labs on battery storage developments that take native circumstances into consideration 

Invigorating funding in inexperienced hydrogen manufacturing/expertise improvement, coordinated worldwide efforts goal to capitalize on South Africa’s pure geographic suitability and affect future coverage assist: 

  • $1B SA-H2 Fund launched alongside the Netherlands and Denmark (2023) to scale home inexperienced hydrogen manufacturing and place the nation as a worldwide export hub via mobilizing large-scale investments
  • German and South African bilateral Hydrogen Process Drive, invested €23.1M in hydrogen “reference tasks” together with hydrogen-fuelled vans, inexperienced ammonia, and sustainable aviation gasoline. Coordinated by KfW and South Africa’s IDC, financing goals to bridge funding gaps to draw non-public traders and value-chain improvement
  • Sasol’s varied partnerships: Signed an MoU with ITOCHU to discover a inexperienced ammonia venture in Northern Cape City and partnered with ArcelorMittal South Africa to develop a hydrogen-powered “inexperienced metal” facility at Saldanha Bay 

Choosing Up Tempo: Concerns As Plans Come to Fruition 

Even with renewed financing, the JETP nonetheless contends with sensible implementation hurdles. Accelerated planning has increasing the nation’s pipeline of tasks, inflating the partnership’s scale additional than anticipated (little doubt contributing to the U.S.’s exit, amongst different elements). Financing continues to come across distribution roadblocks with native firms (e.g., Eskom’s mortgage delays on account of its debt). Inexperienced hydrogen’s absence from 2023’s IRP and native teams’ frustrations with the governments’ lack of transparency in growing associated technique complicates international curiosity in inexperienced hydrogen.  

Native frustrations additionally prolong into the non-public sector, as corporates battle to attach with native innovators.  Granted, we’ve seen current initiatives that concentrate on native expertise like certification and change applications facilitated by Germany’s GIZ and SARETEC for wind/photo voltaic engineers and a renewables coaching middle/incubator for potential innovators accompanying The World Financial institution’s initiative to transform former coal plant Komati Energy Station right into a photo voltaic PV/battery facility. In the end, time will inform if this groundwork laid by the JETP is sufficient to bridge the divide and inch innovators throughout the trail to commercialization.  

Total, the JEPT has been essential in injecting momentum into the native cleantech improvement via forging new partnerships and anchoring nationwide technique via long-term strategic alignment. To capitalize on this momentum, ecosystem actors ought to leverage the bolstered assist supplied via worldwide companions to speed up improvement at a neighborhood degree.    

8 uncommon Linux instructions



This submit examines eight considerably uncommon Linux instructions which can be price realizing. However earlier than we get into the precise instructions, you possibly can run the command under to see whether or not these eight instructions are put in in your system. For every command, you’ll see the file system location for the command executable or a line that begins with “no command in (PATH)” the place “PATH” can be a show of your search path – the locations the place the command appears for them.

[shs@fedora ~]$  for cmd in sure shuf column pv tldr stat namei rev
do
which $cmd
executed

The output ought to appear to be this if all of the instructions are put in:

usr/bin/sure
/usr/bin/shuf
/usr/bin/column
/usr/bin/pv
/usr/bin/tldr
/usr/bin/stat
/usr/bin/namei
/usr/bin/rev

Now let’s check out what every of those instructions can do for you.

1. The sure command

The sure command will repeat the phrase “sure” or no matter string you present time and again (e.g., with a command like “sure Hiya World”) till you’ve seen sufficient and use ^c to cease the output. Be forewarned that the output will fill your display extremely quick. The extra helpful facet of this command is that you should use it to reply “sure” to a script that asks a whole lot of questions. Simply run a command like this and also you received’t must kind “sure” to no matter questions it is going to ask:

$ sure | scriptname

2. The shuf command

The shuf command will randomly shuffle the traces in a file as proven within the examples under.

$ shuf workers    $ shuf workers
Sam Adams Sally Rose
Elaine Henry John Doe
Joanne Zahn Mary Berry
Mary Berry David Bloom
Lisa Stone Joanne Zahn
John Doe Sam Adams
Ben Matson Eric Docker
Eric Docker Lisa Stone
David Bloom Elaine Henry
Sally Rose Ben Matson

Shuffled output may be helpful if you want random textual content for some activity or to check a script to make it possible for its output is what you anticipate to see.

3. The column command

The column command will show textual content in columns. Listed below are two examples of use it:

$ cat workers | column
John Doe Lisa Stone Joanne Zahn Eric Docker Ben Matson
Mary Berry Elaine Henry David Bloom Sam Adams Sally Rose
$ cat workers | column -t
John Doe
Mary Berry
Lisa Stone
Elaine Henry
Joanne Zahn
David Bloom
Eric Docker
Sam Adams
Ben Matson
Sally Rose

4. The pv command

The pv (pipe viewer) command supplies a helpful method to show the progress of information being despatched via a pipe. Right here’s an instance. Notice the output shows the progress and the velocity of the command.

$ pv largefile.zip | tar xzf -
348KiB 0:00:00 [37.4MiB/s] [============> ] 18%

5. The tldr command

The tldr command supplies a simplified man web page that shows a collection of examples on use the command you’re asking about.

]$ tldr date

date

Set or show the system date.
Extra info: https://www.gnu.org/software program/coreutils/handbook/html_node/date-invocation.html.

- Show the present date utilizing the default locale's format:
date +%c

- Show the present date in UTC, utilizing the ISO 8601 format:
date --utc +%Y-%m-%dTpercentH:%M:%SpercentZ

- Show the present date as a Unix timestamp (seconds for the reason that Unix epoch):
date +%s

- Convert a date specified as a Unix timestamp to the default format:
date --date @1473305798

- Convert a given date to the Unix timestamp format:
date --date "2018-09-01 00:00" +%s --utc

- Show the present date utilizing the RFC-3339 format (YYYY-MM-DD hh:mm:ss TZ):
date --rfc-3339 s

- Set the present date utilizing the format MMDDhhmmYYYY.ss (YYYY and .ss are optionally available):
date 093023592021.59

- Show the present ISO week quantity:
date +%V

6. The stat command

The stat command supplies significantly extra particulars on a file than the lengthy file listings supplied by the “ls -l” command. These embody the dates and instances of the newest updates and accesses.

$ stat workers
File: workers
Dimension: 112 Blocks: 8 IO Block: 4096 common file
System: 0,51 Inode: 4975 Hyperlinks: 1
Entry: (0644/-rw-r--r--) Uid: ( 1001/ shs) Gid: ( 1001/ shs)
Context: unconfined_u:object_r:user_home_t:s0
Entry: 2025-04-09 13:19:11.313070260 -0400
Modify: 2025-04-09 13:19:06.317039688 -0400
Change: 2025-04-09 13:19:06.317039688 -0400
Start: 2025-04-09 13:19:06.317039688 -0400

7. The namei command

The namei command breaks a pathname into listing ranges – displaying every listing on a separate line.

$ namei -lx /usr/bin
f: /usr/bin
Dr-xr-xr-x root root /
drwxr-xr-x root root usr
dr-xr-xr-x root root bin

$ namei `pwd`
f: /dwelling/shs
d /
d dwelling
d shs

8. The rev command

The rev command reverses traces whether or not handed to the command as customary in or saved in a file.

$ echo Hiya, World! | rev
!dlroW ,olleH
$ echo Hiya, World! | rev | rev
Hiya, World!

Each 10.0s: date fedora: Wed Apr 9 14:00:42 2025

Wed Apr 9 02:00:42 PM EDT 2025

Wrap-up

Engaged on the Linux command line may be each worthwhile and enjoyable, and there’s all the time one thing new to be taught.