2025-02-28
“In October, I reached Youzhou; my spears and shields gleamed like the stars of Luo.” — After the Chaos and Separation: A Letter Conveying Heaven’s Grace to Yelang, Recalling Past Travels (Presented to Prefect Wei of Jiangxia) · Li Bai (Tang Dynasty)
Full Poem (English Translation)
Heaven holds the White Jade Capital, Twelve towers and five cities grand. Immortals brush my crown of hair, Binding locks, bestowing endless life.
Mistakenly I chased worldly cheer, Plumbing reason, sorting tangled feelings. Ninety-six sage emperors passed, Like fleeting clouds, their names hang empty.
Heaven and earth cast fate’s single die, Yet still I cannot forget the wars. I’d test the hegemon’s bold designs, Aspiring for the chariot’s glorious crown.
But destiny proved a grievous lie, So I cast it off and sailed the seas. Studying sword drew only scorn, And pen in hand brought scant renown.
A blade alone can’t best ten thousand foes, Yet writings steal fame across the world. Such trifles hardly merit talk, With sighs fivefold, I left the Western Capital.
As I prepared to take my leave, My tears soaked through my tasseled hat. I marveled at your brilliant talent, Standing head and shoulders ‘mong the great.
We spread a feast beneath ancestral tents, Comforting each other on this distant quest. Horse and saddle light as drifting clouds, They escorted me to the Rider’s Pavilion.
Song and bells could not express my heart, As daylight sank beyond Kunming’s hills.
In October I reached Youzhou, My spears and shields like stars of Luo. The king forsook the Northern Sea, Sweeping floors, he borrowed mighty whales.
Their breath spans a hundred rivers wide, Enough to break the ramparts of Yanran. I knew my words would fall unheard, Yet longed to dwell on Penglai’s isles.
I bent my bow, afraid of Heaven’s wolf, Held fast an arrow, yet dared not draw. I wiped my tears upon the Golden Terrace, Crying to Heaven for King Zhao.
Who prizes noble steed’s bones today? Swift-eared chargers prance in vain. If Yue Yi were reborn now, He too would flee before this storm.
Time wasted brings no satisfaction, So I turned my horse towards my native home. Meeting you amid zither’s strings, We sat in solemn grandeur’s glow.
A hundred Li of Taigu’s solitude, I lay in thoughts of Fuxi’s lore. At Lechang’s music hall I feasted, Wine vessels lined in stately row.
Noble guests and dancing maidens Facing candles in ordered rows. Drunken dancers on embroidered mats, Clear songs ring ‘neath flying beams.
Our revelry did not end till dawn, Then duty called me back to Xianyang. On ancestral roads ten thousand throngs, Their tents in sight, a distant panorama.
One farewell spanned a thousand miles, Fortunes rise and fall like heat and chill. How often turned the wheel of fate? Nine provinces lay in shattered ruin.
Han armor clashed with barbarian hosts, Dust and sand obscured the sky like clouds. Trees and grasses quivered at the gloom, Stars above lost all their luster.
White bones formed hills of sorrow, What guilt lay on these humble souls? At Hangu Pass the mighty emperor stood, The realm’s fate hung on General Geshu.
Three hundred thousand spears in line, They opened gates to welcome savage hordes. Ministers bowed like dogs and sheep, Their loyal voices pickled into brine.
The two sages toured the land of Yu, Leaving both capitals as mounds of dust. The prince Xu led the campaign east, His banner high, controlling mighty Chu.
His command lacked elder statesmen’s grace, His advisors fierce as bears and tigers. The people’s hearts had lost their hold, Rebels rose like wind-driven rain.
Yet you stood firm at lonely Fangling, True loyalty unmatched in all the ages.
I reclined atop the Incense Burner Peak, Feasting on clouds, bathing in jade springs. Gates opened—nine rivers turned— Beneath my pillow, the five lakes joined.
At midnight came the navy’s drums, Xunyang brimmed with fluttering banners. All my empty fame had been my doom; Compelled, I boarded the towered ship.
They offered me but five hundred pieces of gold, I cast them off like passing smoke. I resigned my post, refused their gifts, And was exiled to distant Yelang.
The thousand-li road to Yelang aged me, Westward each step added to my years. I sought to sweep clean the six directions, Yet still bore frost-touched reeds of exile.
Sun and moon shine impartially, How then could one plead to the vast heavens? A noble shepherd extols divine grace, His deep benevolence shelters every road.
I, a humble guest among azure clouds, Thrice ascended the Yellow Crane Tower. Now ashamed, I face recluse Mi, Idle chatter on Parrot Isle.
The tyrant’s power on Mount Fan is spent, Autumn’s desolation grips heaven and earth. The river skirts snowy Emei’s crest, The Three Gorges carve through Sichuan’s heart.
Ten thousand boats sail past Yangzhou, Their sails stretch far across the jade expanse. This vision sends my gaze ten thousand miles, And in its breadth, my sorrow fades.
A gauze window opens to the sky, Water and trees glow green as silk. The rising sun seems to bite the mountain’s edge, I urge another cup, rejoicing in the moon.
Wu beauties and Yue maidens, Graceful in layers of rosy robes. They call me up the ladder to the clouds, I emerge, smiling from the curtains.
To my guests I let my fingers fall, Robed in silk, I dance in spring’s breeze. They kneel, urging me to take repose— But my host’s fondness knows no end.
I admire your works of Mount Jing, River fish and abalone stir the appetite. Pure waters yield lotus blossoms, All natural, devoid of artifice.
My lofty spirit spreads across plain robes, Ever inviting those who seek. Vermilion gates throng with tiger-armored guards, Rows of pikes stand so dense and tall.
Paths carved through bamboo and stone, Currents swirl, rising clear and deep. On the terrace, I sit within the water pavilion, My discourse rich with noble tone.
A few words worth white jade, One promise lighter than gold. You say I shame not your presence, The green bird confirms my steadfast heart.
An oriole among five-colored clouds, It sings and flies from heaven’s height. Rumor brings the edict of pardon— At last I am free to leave Yelang.
Yet warm breezes turn to icy valleys, Scorching smoke births fields of death. You ascend the Phoenix Pond, Then suddenly abandon talents like Jia.
Even mad dogs still bark at Emperor Yao, The Xiongnu mock a thousand autumns. At midnight, four or five sighs escape— I ever worry for our great realm.
Banners flank the twin peaks, The Yellow River flows between them. Not even a chicken may pass these gates, And horses drink in barren plains.
If only Hou Yi, the master archer, were here, One arrow would fell the envoy’s standard.
Bulk Deleting Docker Containers
To delete multiple containers at once, use the following Docker command:
docker ps -a -q --filter "ancestor=hello-world" | xargs docker rm
Explanation:
-
docker ps -a -q --filter "ancestor=hello-world"
Lists all containers (including stopped ones) that were created from thehello-world
image. The-a
flag shows all containers,-q
outputs only the container IDs, and--filter "ancestor=hello-world"
restricts the list to containers using that image. -
xargs docker rm
Takes the list of container IDs from the pipe and passes them as arguments todocker rm
, deleting them in bulk.
This one-liner efficiently removes every container derived from the hello-world
image. Use it when you’re certain you no longer need those containers.
1. -q
The -q
(quiet) option makes docker ps
output only the container IDs rather than the full table of details. This is ideal for piping into other commands.
Example:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
12b2c2ae3684 hello-world "/hello" 2 days ago Exited (0) distracted_northcutt
Versus:
docker ps -q
12b2c2ae3684
2. --filter "ancestor=hello-world"
The --filter
flag narrows down the listed containers. The filter ancestor=hello-world
means “only show containers created from the hello-world
image.”
docker ps -a --filter "ancestor=hello-world"
will list just those containers.
3. xargs
xargs
reads items from standard input (one per line) and builds and executes the command you specify, appending the items as arguments. Here, it collects all the container IDs produced by docker ps … -q
and runs:
docker rm <id1> <id2> …
for you, deleting them in one go.