Skip navigation

Jika anda mempunyai dua buah tabel yang ingin dibandingkan untuk mengetahui perubahan apa yang sudah dilakukan, ada cara mudah dan cepat untuk melakukannya. Yaitu dengan perintah UNION. Perintah ini memungkinkan anda membandingkan nilai NULL dan melihat baris apa yang tidak ada di salah-satu tabel.

Caranya adalah dengan meng-GROUP penggabungan dari dua buah tabel. Jika kedua buah tabel tersebut identik maka akan menghasilkan bilangan 2 jika di-COUNT. JIka tidak, maka hasil COUNT akan benilai 1.

Susunan perintahnya seperti dibawah ini:

SELECT MIN(NamaTabel) AS NamaTabel, kolom1, kolom2
FROM(
  SELECT 'Tabel 1' AS NamaTabel, A.kolom1, A.kolom2,... FROM tabel1 AS A
  UNION ALL
  SELECT 'Tabel 2' AS NamaTabel, B.kolom1, B.kolom2,... FROM tabel2 AS B
) tmp
GROUP BY NamaTabel, kolom1, kolom2,...
HAVING COUNT(*) = 1;

Perintah diatas akan menghasilkan semua record yang berbeda. Jika kedua kedua tabel berisi record yang sama, maka perintah tersebut tidak akan menghasilkan apapun.

/ra.-

Blogspot menyediakan sarana untuk navigasi arsip postingan menggunakan 3 (tiga) cara. Cara pertama menggunakan hirarki (hierarchy), cara kedua menggunakan susunan nama bulan (flat list) dan cara ketiga menggunakan combobox/dropdown menu.

Tulisan berikut ini menjelaskan cara memasang kalender untuk memudahkan navigasi arsip dan mempercantik tampilan weblog anda.

Langkah Pertama:

Pastikanlah agar widget arsip anda terpasang pada modus susunan nama bulan (flat list).

Langkah Kedua:

Bukalah Template > Edit HTML, dan biarkan checkbox Expand Widget Templates tetap dalam keadaan terbuka tidak diberi centang, dan carilah baris yang bertuliskan seperti gambar dibawah ini:

Sisipkan pada baris tersebut teks dibawah ini:

<b:widget id=’BlogArchive2’ locked=’false’ title=’arsip’ type=’BlogArchive’>
<b:includable id=’main’>
<b:if cond=’data:title’>
<h2><data:title⁄><⁄h2>
<⁄b:if>
<div class=’widget-content’>
<div id=’ArchiveList’>
<div expr:id=’data:widget.instanceId + "_ArchiveList"’>
<b:if cond=’data:style == "HIERARCHY"’>
<b:include data=’data’ name=’interval’⁄>
<⁄b:if>
<b:if cond=’data:style == "FLAT"’>
<b:include data=’data’ name=’flat’⁄>
<⁄b:if>
<b:if cond=’data:style == "MENU"’>
<b:include data=’data’ name=’menu’⁄>
<⁄b:if>
<⁄div>
<⁄div>
<b:include name=’quickedit’⁄>
<⁄div>
<⁄b:includable>
<b:includable id=’toggle’ var=’interval’>
<!-- Toggle not needed for Calendar -->
<⁄b:includable>
<b:includable id=’flat’ var=’data’>
<div id=’bloggerCalendarList’>
<ul>
<b:loop values=’data:data’ var=’i’>
<li class=’archivedate’>
<a expr:href=’data:i.url’><data:i.name⁄><⁄a> (<data:i.post-count⁄>)
<⁄li>
<⁄b:loop>
<⁄ul>
<⁄div>

<div id=’blogger_calendar’ style=’display:none’>
<table id=’bcalendar’><caption id=’bcaption’>

<⁄caption>
<!-- Table Header -->
<thead id=’bcHead’><⁄thead>
<!-- Table Footer -->

<!-- Table Body -->
<tbody>
  <tr>
    <td id=’cell1’> <⁄td>
    <td id=’cell2’> <⁄td>
    <td id=’cell3’> <⁄td>
    <td id=’cell4’> <⁄td>
    <td id=’cell5’> <⁄td>
    <td id=’cell6’> <⁄td>
    <td id=’cell7’> <⁄td>
  <⁄tr>
  <tr>
    <td id=’cell8’> <⁄td>
    <td id=’cell9’> <⁄td>
    <td id=’cell10’> <⁄td>
    <td id=’cell11’> <⁄td>
    <td id=’cell12’> <⁄td>
    <td id=’cell13’> <⁄td>
    <td id=’cell14’> <⁄td>
  <⁄tr>
  <tr>
    <td id=’cell15’> <⁄td>
    <td id=’cell16’> <⁄td>
    <td id=’cell17’> <⁄td>
    <td id=’cell18’> <⁄td>
    <td id=’cell19’> <⁄td>
    <td id=’cell20’> <⁄td>
    <td id=’cell21’> <⁄td>
  <⁄tr>
  <tr>
    <td id=’cell22’> <⁄td>
    <td id=’cell23’> <⁄td>
    <td id=’cell24’> <⁄td>
    <td id=’cell25’> <⁄td>
    <td id=’cell26’> <⁄td>
    <td id=’cell27’> <⁄td>
    <td id=’cell28’> <⁄td>
  <⁄tr>
  <tr>
    <td id=’cell29’> <⁄td>
    <td id=’cell30’> <⁄td>
    <td id=’cell31’> <⁄td>
    <td id=’cell32’> <⁄td>
    <td id=’cell33’> <⁄td>
    <td id=’cell34’> <⁄td>
    <td id=’cell35’> <⁄td>
  <⁄tr>
  <tr id=’lastRow’>
    <td id=’cell36’> <⁄td>
    <td id=’cell37’> <⁄td>
  <⁄tr>
<⁄tbody>
<⁄table>
<table id=’bcNavigation’><tr>
<td id=’bcFootPrev’><⁄td>
<td id=’bcFootAll’><⁄td>
<td id=’bcFootNext’><⁄td>
<⁄tr><⁄table>

<div id=’calLoadingStatus’ style=’display:none; text-align:center;’>
<script type=’text⁄javascript’>bcLoadStatus();<⁄script>
<⁄div>
<div id=’calendarDisplay’⁄>

<⁄div>

<script  type=’text⁄javascript’> initCal();<⁄script>

<⁄b:includable>
<b:includable id=’posts’ var=’posts’>
<!-- posts not needed for Calendar -->
<⁄b:includable>
<b:includable id=’menu’ var=’data’>
Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month⁄Year Format
<⁄b:includable>
<b:includable id=’interval’ var=’intervalData’>
Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month⁄Year Format
<⁄b:includable>
<⁄b:widget>

Langkah Ketiga:

Carilah teks seperti gambar di atas dan sisipkan teks dibawah ini diantara dua baris yang berwarna dasar biru.

<!-- Blogger Archive Calendar -->
<script type='text/javascript'>
//<![CDATA[

var bcLoadingImage = "http://www.geocities.com/reza_amrullah/images/loading.gif";
var bcLoadingMessage = " memuat....";
var bcArchiveNavText = "lihat arsip";
var bcArchiveNavPrev = '◄';
var bcArchiveNavNext = '►';
var headDays = ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"];
var headInitial = ["Mg","Sn","Sl","Rb","Km","Jm","Sa"];

// Nothing to configure past this point ----------------------------------
var timeOffset;
var bcBlogID;
var calMonth;
var calDay = 1;
var calYear;
var startIndex;
var callmth;
var bcNav = new Array ();
var bcList = new Array ();

//Initialize Fill Array
var fill = ["","31","28","31","30","31","30","31","31","30","31","30","31"];
function openStatus(){
document.getElementById('calLoadingStatus').style.display = 'block';
document.getElementById('calendarDisplay').innerHTML = '';
}
function closeStatus(){
document.getElementById('calLoadingStatus').style.display = 'none';
}
function bcLoadStatus(){
cls = document.getElementById('calLoadingStatus');
img = document.createElement('img');
img.src = bcLoadingImage;
img.style.verticalAlign = 'middle';
cls.appendChild(img);
txt = document.createTextNode(bcLoadingMessage);
cls.appendChild(txt);
}
function callArchive(mth,yr,nav){
// Check for Leap Years
if (((yr % 4 == 0) && (yr % 100 != 0)) || (yr % 400 == 0)) {
fill[2] = '29';
}
else {
fill[2] = '28';
}
calMonth = mth;
calYear = yr;
if(mth.charAt(0) == 0){
calMonth = mth.substring(1);
}
callmth = mth;
bcNavAll = document.getElementById('bcFootAll');
bcNavPrev = document.getElementById('bcFootPrev');
bcNavNext = document.getElementById('bcFootNext');
bcSelect = document.getElementById('bcSelection');
a = document.createElement('a');
at = document.createTextNode(bcArchiveNavText);
a.href = bcNav[nav];
a.appendChild(at);
bcNavAll.innerHTML = '';
bcNavAll.appendChild(a);
bcNavPrev.innerHTML = '';
bcNavNext.innerHTML = '';
if(nav <  bcNav.length -1){
a = document.createElement('a');
a.innerHTML = bcArchiveNavPrev;
bcp = parseInt(nav,10) + 1;
a.href = bcNav[bcp];
a.title = 'sebelumnya';
prevSplit = bcList[bcp].split(',');
a.onclick = function(){bcSelect.options[bcp].selected = true;openStatus();callArchive(prevSplit[0],prevSplit[1],prevSplit[2]);return false;};
bcNavPrev.appendChild(a);
}
if(nav > 0){
a = document.createElement('a');
a.innerHTML = bcArchiveNavNext;
bcn = parseInt(nav,10) - 1;
a.href = bcNav[bcn];
a.title = 'berikutnya';
nextSplit = bcList[bcn].split(',');
a.onclick = function(){bcSelect.options[bcn].selected = true;openStatus();callArchive(nextSplit[0],nextSplit[1],nextSplit[2]);return false;};
bcNavNext.appendChild(a);
}
script = document.createElement('script');
script.src = 'http://www.blogger.com/feeds/'+bcBlogId+'/posts/summary?published-max='+calYear+'-'+callmth+'-'+fill[calMonth]+'T23%3A59%3A59'+timeOffset+'&published-min='+calYear+'-'+callmth+'-01T00%3A00%3A00'+timeOffset+'&max-results=100&orderby=published&alt=json-in-script&callback=cReadArchive';
document.getElementsByTagName('head')[0].appendChild(script);
}

function cReadArchive(root){
// Check for Leap Years
if (((calYear % 4 == 0) && (calYear % 100 != 0)) || (calYear % 400 == 0)) {
fill[2] = '29';
}
else {
fill[2] = '28';
}
closeStatus();
document.getElementById('lastRow').style.display = 'none';
calDis = document.getElementById('calendarDisplay');
var feed = root.feed;
var total = feed.openSearch$totalResults.$t;
var entries = feed.entry || [];
var fillDate = new Array();
var fillTitles = new Array();
fillTitles.length = 32;
var ul = document.createElement('ul');
ul.id = 'calendarUl';
for (var i = 0; i < feed.entry.length; ++i) {
var entry = feed.entry[i];
for (var j = 0; j < entry.link.length; ++j) {
if (entry.link[j].rel == "alternate") {
var link = entry.link[j].href;
}
}
var title = entry.title.$t;
var author = entry.author[0].name.$t;
var date = entry.published.$t;
var summary = entry.summary.$t;
isPublished = date.split('T')[0].split('-')[2];
if(isPublished.charAt(0) == '0'){
isPublished = isPublished.substring(1);
}
fillDate.push(isPublished);
if (fillTitles[isPublished]){
fillTitles[isPublished] = fillTitles[isPublished] + ' | ' + title;
}
else {
fillTitles[isPublished] = title;
}
li = document.createElement('li');
li.style.listType = 'none';
li.innerHTML = '<a href="'+link+'">'+title+'</a>';
ul.appendChild(li);

}
calDis.appendChild(ul);
var val1 = parseInt(calDay, 10)
var valxx = parseInt(calMonth, 10);
var val2 = valxx - 1;
var val3 = parseInt(calYear, 10);
var firstCalDay = new Date(val3,val2,1);
var val0 = firstCalDay.getDay();
startIndex = val0 + 1;
var dayCount = 1;
for (x =1; x < 38; x++){
var cell = document.getElementById('cell'+x);
if( x < startIndex){
cell.innerHTML = ' ';
cell.className = 'firstCell';
}
if( x >= startIndex){
cell.innerHTML = dayCount;
cell.className = 'filledCell';
for(p = 0; p < fillDate.length; p++){
if(dayCount == fillDate[p]){
if(fillDate[p].length == 1){
fillURL = '0'+fillDate[p];
}
else {
fillURL = fillDate[p];
}
cell.className = 'highlightCell';
cell.innerHTML = '<a href="/search?updated-max='+calYear+'-'+callmth+'-'+fillURL+'T23%3A59%3A59'+timeOffset+'&updated-min='+calYear+'-'+callmth+'-'+fillURL+'T00%3A00%3A00'+timeOffset+'" title="'+fillTitles[fillDate[p]].replace(/"/g,'\'')+'">'+dayCount+'</a>';
}
}
if( dayCount > fill[valxx]){
cell.innerHTML = ' ';
cell.className = 'emptyCell';
}
dayCount++;
}
}
visTotal = parseInt(startIndex) + parseInt(fill[valxx]) -1;
if(visTotal >35){
document.getElementById('lastRow').style.display = '';
}
}

function initCal(){
document.getElementById('blogger_calendar').style.display = 'block';
var bcInit = document.getElementById('bloggerCalendarList').getElementsByTagName('a');
var bcCount = document.getElementById('bloggerCalendarList').getElementsByTagName('li');
document.getElementById('bloggerCalendarList').style.display = 'none';
calHead = document.getElementById('bcHead');
tr = document.createElement('tr');
for(t = 0; t < 7; t++){
th = document.createElement('th');
th.abbr = headDays[t];
scope = 'col';
th.title = headDays[t];
th.innerHTML = headInitial[t];
tr.appendChild(th);
}
calHead.appendChild(tr);
for (x = 0; x <bcInit.length;x++){
var stripYear= bcInit[x].href.split('_')[0].split('/')[3];
var stripMonth = bcInit[x].href.split('_')[1];
bcList.push(stripMonth + ','+ stripYear + ',' + x);
bcNav.push(bcInit[x].href);
}
var sel = document.createElement('select');
sel.id = 'bcSelection';
sel.onchange = function(){var cSend = this.options[this.selectedIndex].value.split(',');openStatus();callArchive(cSend[0],cSend[1],cSend[2]);};
q = 0;
for (r = 0; r <bcList.length; r++){
var selText = bcInit[r].innerHTML;
var selCount = bcCount[r].innerHTML.split('> (')[1];
var selValue = bcList[r];
sel.options[q] = new Option(selText + ' ('+selCount,selValue);
q++
}
document.getElementById('bcaption').appendChild(sel);
var m = bcList[0].split(',')[0];
var y = bcList[0].split(',')[1];
callArchive(m,y,'0');
}

function timezoneSet(root){
var feed = root.feed;
var updated = feed.updated.$t;
var id = feed.id.$t;
bcBlogId = id.split('blog-')[1];
upLength = updated.length;
if(updated.charAt(upLength-1) == "Z"){timeOffset = "+00:00";}
else {timeOffset = updated.substring(upLength-6,upLength);}
timeOffset = encodeURIComponent(timeOffset);
}

//]]>
</script>
<script src='/feeds/posts/summary?max-results=0&alt=json-in-script&callback=timezoneSet'></script>
<!-- End Blogger Archive Calendar -->

Langkah Keempat:

Simpanlah hasil kerja anda dengan cara meng-klik button Save Tempate.

Demikian, semoga bermanfaat.

/ra.

Pada perayaan Thanksgiving kami memosting sebuah tip mengenai pembuatan daftar teman untuk mengendalikan akses ke foto anda. Kali ini, dikarenakan sedang tingginya musim liburan, kami kira tidak akan memakan waktu lama untuk menjelaskan secara lebih rinci mengenai bagaimana cara anda mengendalikan akses ke postingan anda di Facebook.

Ketika anda memosting ke album foto atau video ke profil, anda dapat menentukan dengan tepat siapa saja yang dapat melihatnya. Anda dapat menahan akses ke jejaring tertentu, apakah itu teman anda atau bersama teman-temannya, ataupun hanya teman saja. Jika anda ingin lebih detil, anda dapat menyesuaikan pilihan dan menggunakan daftar teman untuk postingan anda tersedia hanya untuk beberapa orang teman anda saja. Sebagai contoh, jika anda tidak ingin rekan kerja untuk melihat foto anda yang sedang mengenakan baju hangat kesukaan nenek anda, buatlah daftar teman untuk anggota keluarga anda dan membuat foto tersebut hanya dapat dilihat oleh mereka yang ada didalam daftar tersebut.

Pastikan dengan tepat apa yang akan dilihat oleh teman ketika mereka membuka profil anda—ketiklah nama mereka ke dalam kotak yang tersedia di bagian atas halaman Tinjauan Privasi.

Anda juga dapat menelusuri foto atau video yang di-upload oleh teman anda. Jika seseorang dari mereka menandai anda pada sebuah foto atau video yang tidak anda sukai, anda juga dapat membuang tanda tersebut.

Harap diingat bahwa hal ini tidak akan membuang konten itu seluruhnya, dan kami-pun tidak akan membantu anda dengan menghapus foto atau video seseorang, hanya karena itu tidak anda sukai. Jika ada sesuatu yang tidak anda sukai di Facebook, anda harus bicarakan hal itu dan meminta teman anda untuk membuangnya. Anda harus selalu berhati-hati jika memosting sesuatu ke profil Facebook. Jangan posting sesuatu yang dapat merusak pertemanan.

saduran bebas dari Facebook Blog.

/ra.-

Cities and Thrones and Powers,
Stand in Time’s eye,
Almost as long as flowers,
Which daily die:
But, as new buds put forth,
To glad new men,
Out of the spent and unconsidered Earth, The Cities rise again.

This season’s Daffodil,
She never hears
What change, what chance, what chill,
Cut down last year’s:
But with bold countenance,
And knowledge small,
Esteems her seven days’ continuance
To be perpetual.

So time that is o’er kind,
To all that be,
Ordains us e’en as blind,
As bold as she:
That in our very death,
And burial sure,
Shadow to shadow,
well-persuaded,
saith, “See how our works endure!”

– Rudyard Kipling

A Rose, in tatters on the garden path,
Cried out to God and murmured ‘gainst His Wrath,
Because a sudden wind at twilight’s hush
Had snapped her stem alone of all the bush.
And God, Who hears both sun-dried dust and sun,
Had pity, whispering to that luckless one,
“Sister, in that thou sayest We did not well –
What voices heardst thou when thy petals fell?”
And the Rose answered, “In that evil hour
A voice said, `Father, wherefore falls the flower?
For lo, the very gossamers are still.’
And a voice answered, `Son, by Allah’s will!’”

Then softly as a rain-mist on the sward,
Came to the Rose the Answer of the Lord:
“Sister, before We smote the dark in twain,
Ere yet the stars saw one another plain,
Time, Tide, and Space, We bound unto the task
That thou shouldst fall, and such an one should ask.”
Whereat the withered flower, all content,
Died as they die whose days are innocent;
While he who questioned why the flower fell
Caught hold of God and saved his soul from Hell.

– Rudyard Kipling

I do not look for holy saints to guide me on my way,
Or male and female devilkins to lead my feet astray.
If these are added, I rejoice—if not, I shall not mind,
So long as I have leave and choice to meet my fellow-kind.
For as we come and as we go (and deadly-soon go we!)
The people, Lord, Thy people, are good enough for me!

Thus I will honour pious men whose virtue shines so bright
(Though none are more amazed than I when I by chance do right),
And I will pity foolish men for woe their sins have bred
(Though ninety-nine per cent. of mine I brought on my own head).
And, Amorite or Eremite, or General Averagee,
The people, Lord, Thy people, are good enough for me!

And when they bore me overmuch,
I will not shake mine ears,
Recalling many thousand such whom I have bored to tears.
And when they labour to impress, I will not doubt nor scoff;
Since I myself have done no less and—sometimes pulled it off.
Yea, as we are and we are not, and we pretend to be,
The people, Lord, Thy people, are good enough for me!

And when they work me random wrong, as oftentimes hath been,
I will not cherish hate too long (my hands are none too clean).
And when they do me random good I will not feign surprise.
No more than those whom I have cheered with wayside charities.
But, as we give and as we take—whate’er our takings be—
The people, Lord, Thy people, are good enough for me!

But when I meet with frantic folk who sinfully declare
There is no pardon for their sin, the same I will not spare
Till I have proved that Heaven and Hell which in our hearts we have
Show nothing irredeemable on either side of the grave.
For as we live and as we die—if utter Death there be—
The people, Lord, Thy people, are good enough for me!

Deliver me from every pride—the Middle, High, and Low—
That bars me from a brother’s side, whatever pride he show.
And purge me from all heresies of thought and speech and pen
That bid me judge him otherwise than I am judged. Amen!
That I may sing of Crowd or King or road-borne company,
That I may labour in my day, vocation and degree,

To prove the same in deed and name, and hold unshakenly
(Where’er I go, whate’er I know, whoe’er my neighbor be)
This single faith in Life and Death and to Eternity:“
The people, Lord, Thy people, are good enough for me!”

– Rudyard Kipling

What is a woman that you forsake her,
And the hearth-fire and the home-acre,
To go with the old grey Widow-maker?

She has no house to lay a guest in—
But one chill bed for all to rest in,
That the pale suns and the stray bergs nest in.

She has no strong white arms to fold you,
But the ten-times-fingering weed to hold you—
Out on the rocks where the tide has rolled you.

Yet, when the signs of summer thicken,
And the ice breaks, and the birch-buds quicken,
Yearly you turn from our side, and sicken—

Sicken again for the shouts and the slaughters.
You steal away to the lapping waters,
And look at your ship in her winter-quarters.

You forget our mirth, and talk at the tables,
The kine in the shed and the horse in the stables—
To pitch her sides and go over her cables.

Then you drive out where the storm-clouds swallow,
And the sound of your oar-blades, falling hollow,
Is all we have left through the months to follow.

Ah, what is Woman that you forsake her,
And the hearth-fire and the home-acre,
To go with the old grey Widow-maker?

– Rudyard Kipling

Too late, alas! the song
To remedy the wrong; –
The rooms are taken from us, swept and
garnished for their fate.
But these tear-besprinkled pages
Shall attest to future ages
That we cried against the crime of it –
too late, alas! too late!

“What have we ever done to bear this grudge?”
Was there no room save only in Benmore
For docket, duftar, and for office drudge,
That you usurp our smoothest dancing floor?
Must babus do their work on polished teak?
Are ball-rooms fittest for the ink you spill?
Was there no other cheaper house to seek?
You might have left them all at Strawberry Hill.

We never harmed you! Innocent our guise,
Dainty our shining feet, our voices low;
And we revolved to divers melodies,
And we were happy but a year ago.
To-night, the moon that watched our lightsome wiles –
That beamed upon us through the deodars –
Is wan with gazing on official files,
And desecrating desks disgust the stars.

Nay! by the memory of tuneful nights –
Nay! by the witchery of flying feet –
Nay! by the glamour of foredone delights –
By all things merry, musical, and meet –
By wine that sparkled, and by sparkling eyes –
By wailing waltz — by reckless gallop’s strain –
By dim verandas and by soft replies,
Give us our ravished ball-room back again!

Or — hearken to the curse we lay on you!
The ghosts of waltzes shall perplex your brain,
And murmurs of past merriment pursue
Your ‘wildered clerks that they indite in vain;
And when you count your poor Provincial millions,
The only figures that your pen shall frame
Shall be the figures of dear, dear cotillions
Danced out in tumult long before you came.

Yea! “See Saw” shall upset your estimates,
“Dream Faces” shall your heavy heads bemuse,
Because your hand, unheeding, desecrates
Our temple; fit for higher, worthier use.
And all the long verandas, eloquent
With echoes of a score of Simla years,
Shall plague you with unbidden sentiment –
Babbling of kisses, laughter, love, and tears.

So shall you mazed amid old memories stand,
So shall you toil, and shall accomplish nought,
And ever in your ears a phantom Band
Shall blare away the staid official thought.
Wherefore — and ere this awful curse he spoken,
Cast out your swarthy sacrilegious train,
And give — ere dancing cease and hearts be broken –
Give us our ravished ball-room back again!

– Rudyard Kipling

Here come I to my own again,
Fed, forgiven and known again,
Claimed by bone of my bone again
And cheered by flesh of my flesh.
The fatted calf is dressed for me,
But the husks have greater zest for me,
I think my pigs will be best for me,
So I’m off to the Yards afresh.

I never was very refined, you see,
(And it weighs on my brother’s mind, you see)
But there’s no reproach among swine, d’you see,
For being a bit of a swine.
So I’m off with wallet and staff to eat
The bread that is three parts chaff to wheat,
But glory be! – there’s a laugh to it,
Which isn’t the case when we dine.

My father glooms and advises me,
My brother sulks and despises me,
And Mother catechises me
Till I want to go out and swear.
And, in spite of the butler’s gravity,
I know that the servants have it I
Am a monster of moral depravity,
And I’m damned if I think it’s fair!

I wasted my substance, I know I did,
On riotous living, so I did,
But there’s nothing on record to show I did
Worse than my betters have done.
They talk of the money I spent out there -
They hint at the pace that I went out there -
But they all forget I was sent out there
Alone as a rich man’s son.

So I was a mark for plunder at once,
And lost my cash (can you wonder?) at once,
But I didn’t give up and knock under at once,
I worked in the Yards, for a spell,
Where I spent my nights and my days with hogs.
And shared their milk and maize with hogs,
Till, I guess, I have learned what pays with hogs
And – I have that knowledge to sell!

So back I go to my job again,
Not so easy to rob again,
Or quite so ready to sob again
On any neck that’s around.
I’m leaving, Pater. Good-bye to you!
God bless you, Mater! I’ll write to you!
I wouldn’t be impolite to you,
But, Brother, you are a hound!


– Rudyard Kipling

Hear now the Song of the Dead — in the North by the torn berg-edges –
They that look still to the Pole, asleep by their hide-stripped sledges.
Song of the Dead in the South — in the sun by their skeleton horses,
Where the warrigal whimpers and bays through the dust of the sear
river-courses.

Song of the Dead in the East — in the heat-rotted jungle hollows,
Where the dog-ape barks in the kloof –
in the brake of the buffalo-wallows.
Song of the Dead in the West –
in the Barrens, the waste that betrayed them,
Where the wolverene tumbles their packs
from the camp and the grave-mound they made them;
Hear now the Song of the Dead!

I

We were dreamers, dreaming greatly, in the man-stifled town;
We yearned beyond the sky-line where the strange roads go down.
Came the Whisper, came the Vision, came the Power with the Need,
Till the Soul that is not man’s soul was lent us to lead.
As the deer breaks — as the steer breaks — from the herd where they graze,
In the faith of little children we went on our ways.
Then the wood failed — then the food failed — then the last water dried –
In the faith of little children we lay down and died.
On the sand-drift — on the veldt-side — in the fern-scrub we lay,
That our sons might follow after by the bones on the way.
Follow after — follow after! We have watered the root,
And the bud has come to blossom that ripens for fruit!
Follow after — we are waiting, by the trails that we lost,
For the sounds of many footsteps, for the tread of a host.
Follow after — follow after — for the harvest is sown:
By the bones about the wayside ye shall come to your own!

When Drake went down to the Horn
And England was crowned thereby,
‘Twixt seas unsailed and shores unhailed
Our Lodge — our Lodge was born
(And England was crowned thereby!)

Which never shall close again
By day nor yet by night,
While man shall take his life to stake
At risk of shoal or main
(By day nor yet by night).

But standeth even so
As now we witness here,
While men depart, of joyful heart,
Adventure for to know
(As now bear witness here!)

II

We have fed our sea for a thousand years
And she calls us, still unfed,
Though there’s never a wave of all her waves
But marks our English dead:
We have strawed our best to the weed’s unrest,
To the shark and the sheering gull.
If blood be the price of admiralty,
Lord God, we ha’ paid in full!

There’s never a flood goes shoreward now
But lifts a keel we manned;
There’s never an ebb goes seaward now
But drops our dead on the sand –
But slinks our dead on the sands forlore,
From the Ducies to the Swin.
If blood be the price of admiralty,
If blood be the price of admiralty,
Lord God, we ha’ paid it in!

We must feed our sea for a thousand years,
For that is our doom and pride,
As it was when they sailed with the ‘Golden Hind’,
Or the wreck that struck last tide –
Or the wreck that lies on the spouting reef
Where the ghastly blue-lights flare.
If blood be the price of admiralty,
If blood be the price of admiralty,
If blood be the price of admiralty,
Lord God, we ha’ bought it fair!

– Rudyard Kipling

Follow

Get every new post delivered to your Inbox.