Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Glaurung

Pages: 1 [2] 3 4 ... 6
16
This is another "Glaurung introduces someone else's poem" post, like Clancy of "The Overflow". It's another of the very small number of poems that have stuck with me after I've encountered them.

It's out of copyright, so I can quote it in full, and as I think it will resonate with a lot of people here, I'm going to do so.

We are the music makers,
  And we are the dreamers of dreams,
Wandering by lone sea-breakers,
  And sitting by desolate streams;—
World-losers and world-forsakers,
  On whom the pale moon gleams:
Yet we are the movers and shakers
  Of the world for ever, it seems.

With wonderful deathless ditties
We build up the world's great cities,
And out of a fabulous story
We fashion an empire's glory:
One man with a dream, at pleasure,
  Shall go forth and conquer a crown;
And three with a new song's measure
  Can trample a kingdom down.

We, in the ages lying
  In the buried past of the earth,
Built Nineveh with our sighing,
  And Babel itself in our mirth;
And o'erthrew them with prophesying
  To the old of the new world's worth;
For each age is a dream that is dying,
  Or one that is coming to birth.

A breath of our inspiration
Is the life of each generation;
A wondrous thing of our dreaming
Unearthly, impossible seeming—
The soldier, the king, and the peasant
  Are working together in one,
Till our dream shall become their present,
  And their work in the world be done.

They had no vision amazing
Of the goodly house they are raising;
They had no divine foreshowing
Of the land to which they are going:
But on one man's soul it hath broken,
  A light that doth not depart;
And his look, or a word he hath spoken,
  Wrought flame in another man's heart.

And therefore to-day is thrilling
With a past day's late fulfilling;
And the multitudes are enlisted
In the faith that their fathers resisted,
And, scorning the dream of to-morrow,
  Are bringing to pass, as they may,
In the world, for its joy or its sorrow,
  The dream that was scorned yesterday.

But we, with our dreaming and singing,
  Ceaseless and sorrowless we!
The glory about us clinging
  Of the glorious futures we see,
Our souls with high music ringing:
  O men! it must ever be
That we dwell, in our dreaming and singing,
  A little apart from ye.

For we are afar with the dawning
  And the suns that are not yet high,
And out of the infinite morning
  Intrepid you hear us cry—
How, spite of your human scorning,
  Once more God's future draws nigh,
And already goes forth the warning
  That ye of the past must die.

Great hail! we cry to the comers
  From the dazzling unknown shore;
Bring us hither your sun and your summers;
  And renew our world as of yore;
You shall teach us your song's new numbers,
  And things that we dreamed not before:
Yea, in spite of a dreamer who slumbers,
  And a singer who sings no more.

If you'd like a more official source to link to, it's on Wikisource. There is a brief biography of O'Shaughnessy on Wikipedia.

17
Fandom Discussion - The Secret Garden / Digger
« on: September 29, 2016, 12:49:03 AM »
In a lucky 10,000 moment a few days ago, Jubal and some other friends pointed me at a webcomic called Digger. It features a lost but very pragmatic and hopeful wombat named Digger, a statue of the Hindu god Ganesh, various hyenas, a strange and very curious shadow creature, vampire pumpkins, an exuberant mish-mash of mythologies, and lots of other fun stuff. I highly recommend it. Even the comments are good!

I'm also still reading it (just about to start chapter 8 of I don't know how many), so I'd appreciate not having spoilers.

18
Non-game Programs - The Tinkers' Workshop / Roman numeral converter
« on: August 07, 2016, 01:00:49 AM »
I thought this might be of interest: it's code to parse a number written in Roman numerals and convert it to conventional Arabic numerals. It's written in a Microsoft proprietary language called C/AL, based on Pascal - I appreciate that most readers won't be familiar with it, but hopefully it's still readable as pseudo-code.

There are a few quirks:
- C/AL provides a textual data type called Code, which forces any text input into upper case. This neatly enabled me to avoid explicit case conversions or making the code handle both cases.
- C/AL also provides a data type called Option, which I've used for the character types (Unit or Five). It's used for small, fixed lists of values.
- The code provided assumes that the first element in arrays has index 0, as this makes things neater and is true of many common languages.
- I've assumed that the largest valid number to be handled is 3,999 (MMMCMXCXIX) as I'm not aware of a Roman numeral for 5,000 and I didn't want to handle a special case of MMMM for 4,000.
- I've also assumed that numbers such as 99 and 999 are only validly represented as XCIX and CMXCIX respectively, rather than the possibly valid IC and IM.

Code: [Select]
PROCEDURE ProcessRomanNum(RomanNum: Code[20]): ArabicNum: Integer;
VAR
  RomNumLen: Integer;
  i: Integer;
  ArabDigit: ARRAY [4] OF Integer;
  ArabNumPower: Integer;
  CurrChar: Code[1];
  CurrCharPower: Integer;
  CurrCharType: 'Unit,Five';
BEGIN
  ArabicNum := 0;
  ArabNumPower := 4;

  RomNumLen := STRLEN(RomanNum);
  IF RomNumLen = 0 THEN
    ERROR('No string');
  IF RomNumLen > 15 THEN
    ERROR('String too long');

  FOR i := 0 TO 3 DO
    ArabDigit[i] := 0;

  FOR i := 1 TO RomNumLen DO BEGIN
    CurrChar := COPYSTR(RomanNum, i, 1);
    ConvertRomanDigit(CurrChar, CurrCharPower, CurrCharType);

    IF CurrCharPower > ArabNumPower THEN BEGIN
      IF (CurrCharPower > (ArabNumPower + 1)) OR (ArabDigit[ArabNumPower] <> 1) OR (CurrCharType = CurrCharType::Five) THEN
        ERROR('Bad sequence: %1', COPYSTR(RomanNum, i-1, 2));

      // only valid combinations: IX, XC, CM
      ArabDigit[ArabNumPower] := 9;
    END ELSE BEGIN
      IF CurrCharPower < ArabNumPower THEN
        ArabNumPower := CurrCharPower;

      IF CurrCharType = CurrCharType::Five THEN BEGIN
        CASE ArabDigit[ArabNumPower] OF
          0:
            ArabDigit[ArabNumPower] := 5;
          1: // combinations: IV, XL, CD
            ArabDigit[ArabNumPower] := 4;
          ELSE
            ERROR('Bad sequence: %1', COPYSTR(RomanNum, i-1, 2));
        END;
      END ELSE BEGIN  // CurrCharType = Unit
        CASE ArabDigit[ArabNumPower] OF
          3, 8:
            ERROR('Too many consecutive units: %1', CurrChar);
          4, 9:
            ERROR('Bad sequence: %1', COPYSTR(RomanNum, i-2, 3));
          ELSE
            ArabDigit[ArabNumPower] += 1;
        END;
      END;
    END;
  END;

  FOR i := 0 TO 3 DO
   ArabicNum += ArabDigit[i] * POWER(10, i);
END;

PROCEDURE ConvertRomanDigit(TestChar: Code[1];VAR Power : Integer;VAR Type: 'Unit,Five');
BEGIN
  CASE TestChar OF
    'C', 'I', 'M', 'X':
      Type := Type::Unit;
    'D', 'L', 'V':
      Type := Type::Five;
    ELSE
      ERROR('Bad character: %1', TestChar);
  END;

  CASE TestChar OF
    'I', 'V':
      Power := 0;
    'L', 'X':
      Power := 1;
    'C', 'D':
      Power := 2;
    'M':
      Power := 3;
  END;
END;

Readers are welcome to pick this code up and use it, translating to other languages as they wish. Credit and/or a post here to say so would be appreciated but aren't required. I'm reasonably confident that the code correctly handles all valid inputs, and rejects all invalid ones, but I can't guarantee this, and people using it should carry out their own testing.

EDIT 17/07/21: removed the spoiler tags, corrected the Roman numeral for 3999 (!)

19
As usual for me, a BBC News article.

According to the article, the continent of Australia (and presumably Tasmania too) is moving northwards at about 7cm per year, and this is causing problems with GPS systems. The GPS device reports the true position (latitude and longitude) - but the map data that it uses to work out where it is and what's around it uses latitudes and longitudes that were calculated in 1994 and have been fixed since then. Consequently the device thinks it's about 1.5 metres north of where it actually is. This is not a problem in most cases, but if the GPS is used in controlling automatic vehicles (e.g. farm tractors mentioned in the article) then there's potential for significant problems.

As a short-term fix, the Australian national mapping system will be shifted north by 1.8 metres on 1 January 2017 - this is a bit further than it needs to be, but will give a few years while the map and the actual co-ordinates are getting closer together. The long-term intention is to introduce a more flexible mapping system that can keep up with the movement continuously.

20
I remembered this Youtube video from about 5 years - another way to get something into space. Fewer rockets than the XMA approach, but higher altitude and more video.

The idea has become so popular that the people involved now have their own small business selling the kits: Sent Into Space. One thing to bear in mind: a launch of this sort generally requires permission from the relevant civil aviation authority.

21
I've just run into this, which I think will appeal to forum members. Someone has built a microprocessor out of individual transistors, soldered to boards and mounted in racks. They're also linked to LEDs so that it's possible to see what the processor is actually doing. The project is not for the faint-hearted - it's taken nearly two years, about £40,000 of components, and probably a lifetime's worth of soldering. But it's now running, and the builder can play Tetris on it.

Full details are on the Megaprocessor's own website.

22
Here we go with another planetary exploration mission: NASA's Juno probe went into orbit around Jupiter a few days ago. The plan is to adjust the orbit closer to Jupiter in mid-October, at which point the main scientific activity will start.

More details in the usual BBC News article.

23
This article looks very interesting. I don't understand enough of the physics involved to say how likely it is, but there's promising empirical evidence that the EmDrive actually works, and the hypothesis would explain the hitherto mysterious jumps in the acceleration of satellites known as fly-by anomalies.

24
I thought I'd consult the assembled wisdom of Exilian. I would like to learn Python (the programming language), and I would appreciate recommendations for textbooks or online materials to learn from. I'm familiar with programming in general, so I just need something to explain the syntax and quirks of Python specifically.

25
I think this is fun (other with less of an interest in languages might disagree). It's a short essay on atomic theory, written by science fiction author Poul Anderson - the fun bit is that he has chosen a variant of English that reflects the word formation processes used by Old English, a thousand years ago. It's as if the Norman Conquest hadn't happened, and English had been allowed to evolve without the impact of French. In particular, words for new concepts are not borrowed from other languages, as we do, but instead are translated and rendered using compounds of existing words. So, for example, "atom", from Greek meaning "undivided" or "indivisible", is replaced with "uncleft", and the related adjective "atomic" becomes "uncleftish". As you might guess, almost every scientific word has to be translated in this way, as do quite a lot of others.

26
Astronomers from Caltech have published indirect evidence for the existence of a previously unknown planet in our solar system. It's calculated as having about 10 times the mass of the Earth (somewhat less than Uranus or Neptune), and a very distant orbit with a period of at least 10,000 years.

There's a summary in a BBC News article, and the full scientific paper online as well.

27
Announcements! The Town Crier! / Election Results: January 2016
« on: January 17, 2016, 11:33:00 PM »
Election Results: January 2016

BASILEUS
SaidaiSloth (FIF) received 10 votes
There were 3 abstentions.

SaidaiSloth (FIF) is duly elected as Basileus, taking over from comrade_general (FIF).

SEBASTOKRATOR
Othko97 (FIF) received 10 votes
There were 2 abstentions

Othko97 (FIF) is duly re-elected as Sebastokrator.

SPATHARIOS
Gmd (IDE) received 9 votes
Othko97 (FIF) received 5 votes
SaidaiSloth (FIF) received 4 votes
There were 3 abstentions

Gmd (IDE) is duly elected as Spatharios, taking over from Clockwork (independent) and Lizard (independent). As Othko97 has been re-elected as Sebastokrator and SaidaiSloth has been elected as Basileus, one Spatharios position remains vacant.

TRIBOUNOS
no1 croat fan (Independent) received 9 votes
Pentagathus (PP) received 9 votes
There were 3 abstentions

Pentagathus (PP) and no1 croat fan (Independent) are duly re-elected as Tribounoi.



Election Results by Party

PartyVotes% inc. abstentions% exc. abstentions% change inc. abstentions% change exc. abstentionsCandidacies
FIF294352+5+74
IDE91316+13+161
PP91316-3-31
Independent91316-18-201
Abstentions1116N/A+1N/A
Turnout of 13 voters, 18% of citizenry

28
The Bodleian Library (part of Oxford University) has been given a collection of about 1,500 boardgames, dating from 1800 to 2000. Some of them are now on display, illustrating the way children were taught about topics such as history, politics and war, in the early twentieth century. More details in the inevitable BBC News article, and in the Bodleian's own article.

29
General Chatter - The Boozer / Happy New Year!
« on: December 31, 2015, 10:27:55 PM »
Best wishes to everyone for 2016 - I hope it's a better year for you than 2015.

30
General Gaming - The Arcade / PC gaming event, London, 5-6 March 2016
« on: December 29, 2015, 06:40:07 PM »
As posted by Clockwork (the forumite formerly known as Colossus) in the chatbox. All details on the website.

Pages: 1 [2] 3 4 ... 6