December 4, 2018

Form and layout

In Common Greek,
  • πληροφορέω, bring full measure: satisfy fully, PAmh. 2.66.42 (ii A. D.), PMag.Lond. 121.910; esp. assure, “τινὰ ὅρκοις” Ctes.Fr. 29.39, cf. Cod Just. 1.1.7.23. 2. fulfil, “τὴν διακονίαν” 2 Ep.Ti.4.5; “τὸ πατρῷον συνάλλαγμα” Arch.Pap. 5.383 (i/ii A. D.):—Pass., to be fulfilled, Ev.Luc. 1.1, Vett.Val. 43.18. 3. pay in full, POxy.1473.8 (Pass., iii A. D.), etc. II. Pass., of persons, have full satisfaction, to be fully assured, “ὅτι ...” Ep.Rom. 4.21: abs., ib. 14.5. 2. π. τοῦ ποιῆσαι to be fully bent on doing, LXXEc. 8.11.
From which,
  • πληροφορία, , fullness of assurance, certainty, 1 Ep.Thess. 1.5, Ep.Col. 2.2, Ep.Hebr. 6.11. II. assurance given, Cod.Just. 1.1.5.4. (Henry George Liddell, Robert Scott, A Greek-English Lexicon, revised and augmented throughout by Sir Henry Stuart Jones, with the assistance of Roderick McKenzie; Oxford, Clarendon Press, 1940)
Hence, in Romaic,
  • πληροφορία (pliroforía), f. (plural πληροφορίες), from Koine Greek πληροφορία (plērophoría, “certainty”). Information. (English Wiktionary)
And, from there,
  • πληροφορική (pliroforikí) f., from πληροφορία; calque of French informatique. Computer science, informatics. (English Wiktionary)
In their Preface to the first edition of the Greek-English Lexicon (1843), Henry George Liddell and Robert Scott write:
But first it may be well to notice an objection that may be taken, at starting, to the notion of an English Lexicon of the Greek Tongue. It may be asked, whether such a Lexicon should not be in Latin, as in the old times; whether the other is not an unworthy condescension to the indolence of the age.

In answer, we would draw a distinction between an English Lexicon and English Notes to Classical Authors. We hold that Critical Notes on these Authors will always be best in the Latin Tongue. No other will be found so brief, clear, and easy of remembrance; no other has the advantage of technical terms and phrases which all Scholars have agreed to use; no other will be so readily understood by Readers of all countries and all ages. But though this is our opinion in regard to Critical Notes, it by no means follows that we should hold the same in regard to Lexico­graphy. The chief business of Lexico­graphy is one, to interpret words; of Criticism another, to unravel the idioms and intricacies of language. The Latin Tongue may be the best organ for the latter work, yet very unequal to the due execution of the former. And quite unequal it is. For just as impossible is it to render the richness, boldness, freedom, and variety of Greek by Latin words, as it is to give any adequate conceptions of Milton or Shakspere by French trans­la­tions. Yet French is, confessedly, the language of Mathematics. So Latin is the language of Classical Criticism. But we hold it feeble and defective for purposes of Lexicography. And when we add to this the fact, that in richness at least and freedom (though certainly not in beauty or exactness) our own language is not unworthy to compare with the Greek, we conclude confidently, that the best Lexi­con an Englishman can use to read Greek with, will be in English. A French­man may have reason for using a Greek-Latin Lexicon; an Englishman can have none.
Multiple editions of the dictionary are available at the Internet Archive:

Blog aspect and layout

Adjust widths:
  • Entire blog: 1002px;
  • Right sidebar: 262px.
Accents:
  • Separator line color: #FFEEDD, same as the background of the main section (to make the line invisible).
The width of the post text is 690px; this width should be enough to allow 80 characters of preformatted text; this has been tested in Microsoft Edge, Microsoft Internet Explorer, Google Chrome and Mozilla Firefox on Windows 10, and with Firefox on Ubuntu 18.04.

Some Visual Basic for Applications code

Function IsAllAscii(GivenString As String) As Boolean

  Dim i As Long                         ' Index in GivenString
  Dim c As Long                         ' Code of character at position i

  For i = 1 To Len(GivenString)
    c = AscW(Mid$(GivenString, i, 1))
    If c < &H20 Or &H7F <= c Then
      IsAllAscii = False
      Exit Function
    End If
  Next i

  IsAllAscii = True

End Function

Function MakeControlsVisible(GivenString As String) As String

  Dim i As Long                         ' Index in GivenString
  Dim c As Long                         ' Code of character at position i
  Dim h As String                       ' Hexadecimal representation of code c

  MakeControlsVisible = GivenString
  For i = 1 To Len(MakeControlsVisible)
    c = AscW(Mid$(MakeControlsVisible, i, 1))
    If c < &H20 Or &H7F < c Then
      h = "<" _
        & IIf(c < &H10 Or (&H100 <= c And c < &H1000), "0", "") & Hex$(c) & ">"
      MakeControlsVisible = Left$(MakeControlsVisible, i - 1) & h _
        & Mid$(MakeControlsVisible, i + 1)
      i = i + Len(h) - 1
    End If
  Next i

End Function

Sub GetDateAndTimer(DateVal As Double, TimerVal As Double)

  DateVal = CDbl(Date)
  TimerVal = CDbl(Timer)
  If CDbl(Date) > DateVal Then GetDateAndTimer DateVal, TimerVal

End Sub

Function TimeDifference(DateVal As Double, TimerVal As Double) As Double

  Dim EndDateVal As Double, EndTimerVal As Double

  GetDateAndTimer EndDateVal, EndTimerVal
  TimeDifference = (EndDateVal - DateVal) * 86400# + EndTimerVal - TimerVal

End Function

Sub CheckStringPerformance(Optional ByVal NumIterations As Long = 1000)

  Dim i As Long, n As Long
  Dim d As Double, t As Double
  Dim s As String

  For n = 1 To 15
    s = vbNullString
    For i = 1 To 2 ^ n
      s = s & Mid$("abcdefghijkmnopqrstuvwxyz023456789", 1 + Int(34 * Rnd), 1)
    Next i
    GetDateAndTimer d, t
    For i = 1 To NumIterations
      If Not IsAllAscii(s) Then s = MakeControlsVisible(s)
    Next i
    Debug.Print Format$(Len(s), "@@@@@: "); _
      Format$(Format$(TimeDifference(d, t), "0.00"), "@@@@@"); " / ";
    DoEvents
    GetDateAndTimer d, t
    For i = 1 To NumIterations
      s = MakeControlsVisible(s)
    Next i
    Debug.Print _
      Format$(Format$(TimeDifference(d, t), "0.00"), "@@@@@"); " sec ";
    DoEvents
    Debug.Print Left$(s, 32)
  Next n

End Sub

' ------------------------------------------------------------------------------

'     2:  0.00 /  0.00 sec cs
'     4:  0.00 /  0.00 sec ncf2
'     8:  0.00 /  0.00 sec b54b2ns0
'    16:  0.00 /  0.00 sec 3gq6uotyeeog4uun
'    32:  0.00 /  0.01 sec o9mm9fn6yc3mjzynfksrrw7nyy90fvno
'    64:  0.01 /  0.01 sec i29kki4oojbb2nhj8naa5z7qknp9ymkg
'   128:  0.02 /  0.02 sec so866qjx02a4n06bso88vyo7jhsx7aij
'   256:  0.03 /  0.03 sec ztfp9fshmad6ftafydaoquudt73wpe7j
'   512:  0.06 /  0.05 sec 6uo84ohsfwb3kop6v8zrv79msf5f2ofs
'  1024:  0.12 /  0.13 sec mqjzmt5tnh456i6nrsunzj8j897o3ak8
'  2048:  0.24 /  0.24 sec nxzfti2t74c7kotioc7ddpwdacz5azk3
'  4096:  0.48 /  0.48 sec g3n3yppj32m24pu288ojxpys7absf4bh
'  8192:  0.96 /  0.97 sec 4dye90x2vy4s6rx3eznyzq4mz5y3rdsc
' 16384:  1.93 /  1.93 sec e0k2vpg0fs58av35qiiq5te9kv9pfwp3
' 32768:  3.87 /  3.87 sec z9ta40gzjg55j4d9dkcbfyyircuxryjh

' ------------------------------------------------------------------------------

No comments:

Post a Comment