"Come like shadows — so depart."
Lamb it was, I think, who suggested this subject, as well as the defence of Guy Fawkes, which I urged him to execute. As, however, he would undertake neither, I suppose I must do both, a task for which he would have been much fitter, no less from the temerity than the felicity of his pen -
"Never so sure our rapture to createCompared with him, I shall, I fear, make but a commonplace piece of business of it; but I should be loth the idea was entirely lost, and, besides, I may avail myself of some hints of his in the progress of it. I am sometimes, I suspect, a better reporter of the ideas of other people than expounder of my own. I pursue the one too far into paradox or mysticism; the others I am not bound to follow farther than I like, or than seems fair and reasonable.
As when it touch'd the brink of all we hate."
On the question being started, Ayrton said, "I suppose the two first persons you would choose to see would be the two greatest names in English literature. Sir Isaac Newton and Mr. Locke?" In this Ayrton, as usual, reckoned without his host. Everyone burst out a-laughing at the expression on Lamb's face, in which impatience was restrained by courtesy. "Yes, the greatest names," he stammered out hastily; "but they were not persons — not persons." "Not persons," said Ayrton, looking wise and foolish at the same time, afraid his triumph might be premature. "That is," rejoined Lamb, "not characters, you know. By Mr. Locke and Sir Isaac Newton, you mean the 'Essay on the Human Understanding,' and the 'Principia,' which we have to this day. Beyond their contents there is nothing personally interesting in the men. But what we want to see anyone bodily for, is when there is something peculiar, striking in the individuals, more than we can learn from their writings, and yet are curious to know. I dare say Locke and Newton were very like Kneller's portraits of them. But who could paint Shakespeare?" "Ay," retorted Ayrton, "there it is; then I suppose you would prefer seeing him and Milton instead?" "No," said Lamb, "neither. I have seen so much of Shakespeare on the stage and on book-stalls, in frontispieces and on mantelpieces, that I am quite tired of the everlasting repetition: and as to Milton's face, the impressions that have come down to us of it I do not like; it is too starched and puritanical; and I should be afraid of losing some of the manna of his poetry in the leaven of his countenance and the precisian's band and gown." "I shall guess no more," said Ayrton. "Who is it, then, you would like to see 'in his habit as he lived,' if you had your choice of the whole range of English literature?" Lamb then named Sir Thomas Browne and Fulke Greville, the friend of Sir Philip Sidney, as the two worthies whom he should feel the greatest pleasure to encounter on the floor of his apartment in their nightgowns and slippers and to exchange friendly greeting with them. At this Ayrton laughed outright, and conceived Lamb was jesting with him; but as no one followed his example, he thought there might be something in it, and waited for an explanation in a state of whimsical suspense. Lamb then (as well as I can remember a conversation that passed twenty years ago — how time slips!) went on as follows: "The reason why I pitch upon these two authors is, that their writings are riddles, and they themselves the most mysterious of personages. They resemble the soothsayers of old, who dealt in dark hints and doubtful oracles; and I should like to ask them the meaning of what no mortal but themselves, I should suppose, can fathom. There is Dr. Johnson: I have no curiosity, no strange uncertainty about him; he and Boswell together have pretty well let me into the secret of what passed through his mind. He and other writers like him are sufficiently explicit; my friends, whose repose I should be tempted to disturb (were it in my power), are implicit, inextricable, inscrutable.
'And call up him who left half-told"When I look at that obscure but gorgeous prose composition, the 'Urn-burial,' I seem to myself to look into a deep abyss, at the bottom of which are hid pearls and rich treasure; or it is like a stately labyrinth of doubt and withering speculation, and I would invoke the spirit of the author to lead me through it. Besides, who would not be curious to see the lineaments of a man who, having himself been twice married, wished that mankind were propagated like trees!  "I am afraid, in that case," said Ayrton, "that if the mystery were once cleared up, the merit might be lost;" and turning to me, whispered a friendly apprehension, that while Lamb continued to admire these old crabbed authors, he would never become a popular writer. Dr. Donne was mentioned as a writer of the same period, with a very interesting countenance, whose history was singular, and whose meaning was often quite as "uncomeatable," without a personal citation from the dead, as that of any of his contemporaries. The volume was produced; and while someone was expatiating on the exquisite simplicity and beauty of the portrait prefixed to the old edition, Ayrton got hold of the poetry, and exclaiming "What have we here?" read the following:
The story of Cambuscan bold.'
"'Here lies a She-Sun and a He-Moon there,
She gives the best light to his sphere
Or each is both and all, and so
They unto one another nothing owe.'"
There was no resisting this, till Lamb, seizing the volume, turned to the beautiful "Lines to His Mistress," dissuading her from accompanying him abroad, and read them with suffused features and a faltering tongue:
"'By our first strange and fatal interview,
By all desires which thereof did ensue,
By our long starving hopes, by that remorse
Which my words' masculine perswasive force
Begot in thee, and by the memory
Of hurts, which spies and rivals threatened me,
I calmely beg. But by thy father's wrath,
By all paines which want and divorcement hath,
I conjure thee; and all the oathes which I
And thou have sworne to seale joynt constancy
Here I unsweare, and overswear them thus —
Thou shalt not love by ways so dangerous.
Temper, O fair love! love's impetuous rage,
Be my true mistris still, not my faign'd Page;
I'll goe, and, by thy kinde leave, leave behinde
Thee! onely worthy to nurse it in my minde.
Thirst to come backe; O, if thou die before,
My soule, from other lands to thee shall soare.
Thy (else almighty) beautie cannot move
Rage from the seas, nor thy love teach them love,
Nor tame wild Boreas' harshnesse: thou hast reade
How roughly hee in peeces shivered
Fair Orithea, whom he swore he lov'd.
Fair ill or good, 'tis madness to have prov'd
Dangers unurg'd: Feed on this flattery,
That absent lovers one in th' other be.
Dissemble nothing, not a boy; nor change
Thy bodie's habite, not minde; be not strange
To thyeselfe onely. All will spie in thy face
A blushing, womanly, discovering grace.
Richly-cloath'd apes are call'd apes, and as soon
Eclips'd as bright, we call the moone the moon.
Men of France, changeable camelions,
Spittles of diseases, shops of fashions,
Love's fuellers, and the rightest company
Of players, which upon the world's stage be,
Will quickly know thee . . . O stay here! for thee
England is onely a worthy gallerie,
To walke in expectation; till from thence
Our greatest King call thee to his presence.
When I am gone, dreame me some happinesse,
Nor let thy lookes our long-hid love confesse,
Nor praise, nor dispraise me; nor blesse, nor curse
Openly love's force, nor in bed fright thy nurse
With midnight's starlings, crying out, Oh, oh,
Nurse, oh my love is slaine, I saw him goe
O'er the white Alpes alone! I saw him, I,
Assail'd, fight, taken, stabb'd, bleed, fall, and die.
Augure me better chance, except dread Jove
Thinke it enough for me to have had thy love.'"
Someone then inquired of Lamb if we could not see from the window the Temple-walk in which Chaucer used to take his exercise; and on his name being put to the vote, I was pleased to find that there was a general sensation in his favor in all but Ayrton, who said something about the ruggedness of the metre, and even objected to the quaintness of the orthography. I was vexed at this superficial gloss, pertinaciously reducing everything to its own trite level, and asked, "If he did not think it would be worth while to scan the eye that had first greeted the Muse in that dim twilight and early dawn of English literature; to see the head round which the visions of fancy must have played like gleams of inspiration or a sudden glory; to watch those lips that 'lisped in numbers, for the numbers came' — as by a miracle, or as if the dumb should speak? Nor was it alone that he had been the first to tune his native tongue (however imperfectly to modern ears); but he was himself a noble, manly character, standing before his age and striving to advance it; a pleasant humorist withal, who has not only handed down to us the living manners of his time, but had, no doubt, store of curious and quaint devices, and would make as hearty a companion as mine host of the Tabard. His interview with Petrarch is fraught with interest. Yet I would rather have seen Chaucer in company with the author of the 'Decameron,' and have heard them exchange their best stories together — the 'Squire's Tale' against the story of the 'Falcon,' the 'Wife of Bath's Prologue' against the 'Adventures of Friar Albert.' How fine to see the high mysterious brow which learning then wore, relieved by the gay, familiar tone of men of the world, and by the courtesies of genius! Surely, the thoughts and feelings which passed through the minds of these great revivers of learning, these Cadmuses who sowed the teeth of letters, must have stamped an expression on their features as different from the moderns as their books, and well worth the perusal. Dante," I continued, "is as interesting a person as his own Ugolino, one whose lineaments curiosity would as eagerly devour in order to penetrate his spirit, and the only one of the Italian poets I should care much to see. There is a fine portrait of Ariosto by no less a hand than Titian's; light, Moorish, spirited, but not answering our idea. The same artist's large colossal profile of Peter Aretine is the only likeness of the kind that has the effect of conversing with 'the mighty dead'; and this is truly spectral, ghastly, necromantic." Lamb put it to me if I should like to see Spenser as well as Chaucer; and I answered, without hesitation, "No; for that his beauties were ideal, visionary, not palpable or personal, and therefore connected with less curiosity about the man. His poetry was the essence of romance, a very halo round the bright orb of fancy; and the bringing in the individual might dissolve the charm. No tones of voice could come up to the mellifluous cadence of his verse; no form but of a winged angel could vie with the airy shapes he has described. He was (to our apprehensions) rather a 'creature of the element, that lived in the rainbow and played in the plighted clouds,' than an ordinary mortal. Or if he did appear, I should wish it to be as a mere vision, like one of his own pageants, and that he should pass by unquestioned like a dream or sound -
"'That was Arion crown'd: So went he playing on the wat'ry plain.'"
Captain Burney muttered something about Columbus, and Martin Burney hinted at the Wandering Jew; but the last was set aside as spurious, and the first made over to the New World.
"I should like," said Mrs. Reynolds, "to have seen Pope talk with Patty Blount; and I have seen Goldsmith." Everyone turned round to look at Mrs. Reynolds, as if by so doing they could get a sight at Goldsmith.
"Where," asked a harsh, croaking voice, "was Dr. Johnson in the years 1745-46? He did not write anything that we know of, nor is there any account of him in Boswell during those two years. Was he in Scotland with the Pretender? He seems to have passed through the scenes in the Highlands in company with Boswell, many years after, 'with lack-lustre eye,' yet as if they were familiar to him, or associated in his mind with interests that he durst not explain. If so, it would be an additional reason for my liking him; and I would give something to have seen him seated in the tent with the youthful Majesty of Britain, and penning the Proclamation to all true subjects and adherents of the legitimate government."
"I thought," said Ayrton, turning short round upon Lamb, "that you of the Lake School did not like Pope?" "Not like Pope! My dear sir, you must be under a mistake — I can read him over and over forever!" "Why, certainly, the 'Essay on Man' must be allowed to be a masterpiece." "It may be so, but I seldom look into it." "Oh! then it's his satires you admire?" "No, not his satires, but his friendly epistles and his compliments." "Compliments! I did not know he ever made any." "The finest," said Lamb, "that were ever paid by the wit of man. Each of them is worth an estate for life — nay, is an immortality. There is that superb one to Lord Cornbury:
"'Despise low joys, low gains;Was there ever more artful insinuation of idolatrous praise? And then that noble apotheosis of his friend Lord Mansfield (however little deserved), when, speaking of the House of Lords, he adds:
Disdain whatever Cornbury disdains;
Be virtuous, and be happy for your pains.'"
"'Conspicuous scene I another yet is nigh,And with what a fine turn of indignant flattery he addresses Lord Bolingbroke:
(More silent far) where kings and poets lie;
Where Murray (long enough his country's pride)
Shall be no more than Tully or than Hydel'"
"'Why rail they then, if but one wreath of mine,Or turn," continued Lamb, with a slight hectic on his cheek and his eyes glistening, "to his list of early friends:
O all-accomplish'd St. John, deck thy shrine?'"
"'But why then publish? Granville the polite,Here his voice totally failed him, and throwing down the book, he said, "Do you think I would not wish to have been friends with such a man as this."
And knowing Walsh, would tell me I could write;
Well-natured Garth inflamed with early praise,
And Congreve loved, and Swift endured my lays:
The courdy Talbot, Somers, Sheffield read,
Ev'n mitred Rochester would nod the head;
And St. John's self (great Dryden's friend before)
Received with open arms one poet more.
Happy my studies, if by these approved!
Happier their author, if by these beloved!
From these the world will judge of men and books,
Not from the Burnets, Oldmixons, and Cooks.'"
"What say you to Dryden?" "He rather made a show of himself, and courted popularity in that lowest temple of fame, a coffee-shop, so as in some measure to vulgarize one's idea of him. Pope, on the contrary, reached the very beau ideal of what a poet's life should be; and his fame while living seemed to be an emanation from that which was to circle his name after death. He was so far enviable (and one would feel proud to have witnessed the rare spectacle in him) that he was almost the only poet and man of genius who met with his reward on this side of the tomb, who realized in friends, fortune, the esteem of the world, the most sanguine hopes of a youthful ambition, and who found that sort of patronage from the great during his lifetime which they would be thought anxious to bestow upon him after his death. Read Gay's verses to him on his supposed return from Greece, after his translation of Homer was finished, and say if you would not gladly join the bright procession that welcomed him home, or see it once more land at Whitehall stairs." "Still," said Mrs. Reynolds, "I would rather have seen him talking with Patty Blount, or riding by in a coronet-coach with Lady Mary Wortley Montague!"
Erasmus Phillips, who was deep in a game of piquet at the other end of the room, whispered to Martin Barney to ask if "Junius" would not be a fit person to invoke from the dead. "Yes," said Lamb, "provided he would agree to lay aside his mask."
We were now at a stand for a short time, when Fielding was mentioned as a candidate; only one, however, seconded the proposition. "Richardson?" "By all means, but only to look at him through the glass door of his back shop, hard at work upon one of his novels (the most extraordinary contrast that ever was presented between an author and his works); not to let him come behind his counter, lest he should want you to turn customer, or to go upstairs with him, lest he should offer to read the first manuscript of 'Sir Charles Grandison,' which was originally written in eight-and-twenty volumes octavo, or get out the letters of his female correspondents, to prove that Joseph Andrews was low."
There was but one statesman in the whole of English history that anyone expressed the least desire to see — Oliver Cromwell, with his fine, frank, rough, pimply face and wily policy; and one enthusiast, John Bunyan, the immortal author of the "Pilgrim's Progress." It seemed that if he came into the room, dreams would follow him, and that each person would nod under his golden cloud, "nigh-sphered in heaven," a canopy as strange and stately as any in Homer.
Of all persons near our own time, Garrick's name was received with the greatest enthusiasm, who was proposed by Barron Field. He presently superseded both Hogarth and Handel, who had been talked of, but then it was on condition that he should act in tragedy and comedy, in the play and the farce, Lear and Wildair and Abel Drugger. What a "sight for sore eyes" that would be! Who would not part with a year's income at least, almost with a year of his natural life, to be present at it? Besides, as he could not act alone, and recitations are unsatisfactory things, what a troop he must bring with him — the silver-tongued Barry, and Quin, and Shuter and Weston, and Mrs. Clive and Mrs. Pritchard, of whom I have heard my father speak as so great a favorite when he was young. This would indeed be a revival of the dead, the restoring of art; and so much the more desirable, as such is the lurking scepticism mingled with our overstrained admiration of past excellence, that though we have the speeches of Burke, the portraits of Reynolds, the writings of Goldsmith, and the conversation of Johnson, to show what people could do at that period, and to confirm the universal testimony to the merits of Garrick; yet, as it was before our time, we have our misgivings, as if he was probably, after all, little better than a Bartlemy-fair actor, dressed out to play Macbeth in a scarlet coat and laced cocked-hat. For one, I should like to have seen and heard with my own eyes and ears. Certainly, by all accounts, if anyone was ever moved by the true histrionic aestus, it was Garrick. When he followed the Ghost in "Hamlet," he did not drop the sword, as most actors do, behind the scenes, but kept the point raised the whole way round, so fully was he possessed with the idea, or so anxious not to lose sight of his part for a moment. Once at a splendid dinner-party at Lord ---'s, they suddenly missed Garrick, and could not imagine what was become of him, till they were drawn to the window by the convulsive screams and peals of laughter of a young negro boy, who was rolling on the ground in an ecstasy of delight to see Garrick mimicking a turkey-cock in the courtyard, with his coat-tail stuck out behind, and in a seeming flutter of feathered rage and pride.
We were interrupted in the hey-day and mid-career of this fanciful speculation, by a grumbler in a corner, who declared it was a shame to make all this rout about a mere player and farce-writer, to the neglect and exclusion of the fine old dramatists, the contemporaries and rivals of Shakespeare. Lamb said he had anticipated this objection when he had named the author of "Mustapha" and "Alaham"; and, out of caprice, insisted upon keeping him to represent the set, in preference to the wild, hare-brained enthusiast, Kit Marlowe; to the sexton of St. Ann's, Webster, with his melancholy yewtrees and death's-heads; to Decker, who was but a garrulous proser; to the voluminous Heywood; and even to Beaumont and Fletcher, whom we might offend by complimenting the wrong author on their joint productions. Lord Brooke, on the contrary, stood quite by himself, or, in Cowley's words, was "a vast species alone." Someone hinted at the circumstance of his being a lord, which rather startled Lamb, but he said a ghost would perhaps dispense with strict etiquette, on being regularly addressed by his title. Ben Jonson divided our suffrages pretty equally. Some were afraid he would begin to traduce Shakespeare, who was not present to defend himself. "If he grows disagreeable," it was whispered aloud, "there is Godwin can match him." At length, his romantic visit to Drummond of Hawthornden was mentioned, and turned the scale in his favor.
Lamb inquired if there was anyone that was hanged that I would choose to mention? And I answered, Eugene Aram. The name of the "Admirable Crichton" was suddenly started as a splendid example of waste talents, so different from the generality of his countrymen. This choice was mightily approved by a North-Briton present, who declared himself descended from that prodigy of learning and accomplishment, and said he had family plate in his possession as vouchers for the fact, with the initials A. C. — "Admirable Crichton"! Hunt laughed, or rather roared, as heartily at this as I should think he has done for many years.
The last-named Mitre-courtier then wished to know whether there were any metaphysicians to whom one might be tempted to apply the wizard spell? I replied, there were only six in modern times deserving the name—Hobbes, Berkeley, Butler, Hartley, Hume, Leibnitz; and perhaps Jonathan Edwards, a Massachusetts man. As to the French, who talked fluently of having created this science, there was not a tittle in any of their writings that was not to be found literally in the authors I had mentioned. [Horne Tooke, who might have a claim to come in under the head of grammar, was still living.] None of these names seemed to excite much interest, and I did not plead for the reappearance of those who might be thought best fatted by the abstracted nature of their studies for the present spiritual and disembodied state, and who, even while on this living stage, were nearly divested of common flesh and blood. As Ayrton, with an uneasy, fidgety face, was about to put some question about Mr. Locke and Dugald Stewart, he was prevented by Martin Burney, who observed, "If J was here, he would undoubtedly be for having up those profound and redoubted socialists, Thomas Aquinas and Duns Scotus." I said this might be fair enough in him who had read, or fancied he had read, the original works, but I did not see how we could have any right to call up these authors to give an account of themselves in person till we had looked into their writings.
By this time it should seem that some rumor of our whimsical deliberation had got wind, and had disturbed the irritabile genus in their shadowy abodes, for we received messages from several candidates that we had just been thinking of. Gray declined our invitation, though he had not yet been asked; Gay offered to come, and bring in his hand the Duchess of Bolton, the original Polly; Steele and Addison left their cards as Captain Sentry and Sir Roger de Coverley; Swift came in and sat down without speaking a word, and quitted the room as abruptly; Otway and Chatterton were seen lingering on the opposite side of the Styx, but could not muster enough between them to pay Charon his fare; Thomson fell asleep in the boat, and was rowed back again; and Burns sent a low fellow, one John Barleycorn, an old companion of his, who had conducted him to the other world, to say that he had during his lifetime been drawn out of his retirement as a show, only to be made an exciseman of, and that he would rather remain where he was. He desired, however, to shake hands by his representative — the hand, thus held out, was in a burning fever, and shook prodigiously.
The room was hung round with several portraits of eminent painters. While we were debating whether we should demand speech with these masters of mute eloquence, whose features were so familiar to us, it seemed that all at once they glided from their frames, and seated themselves at some little distance from us. There was Leonardo, with his majestic beard and watchful eye, having a bust of Archimedes before him; next him was Raphael's graceful head turned round to the Fornarina; and on his other side was Lucretia Borgia, with calm, golden locks; Michael Angelo had placed the model of St. Peter's on the table before him; Correggio had an angel at his side; Titian was seated with his mistress between himself and Giorgione; Guido was accompanied by his own Aurora, who took a dice-box from him; Claude held a mirror in his hand; Rubens patted a beautiful panther (led in by a satyr) on the head; Vandyke appeared as his own Paris, and Rembrandt was hid under furs, gold chains, and jewels, which Sir Joshua eyed closely, holding his hand so as to shade his forehead. Not a word was spoken; and as we rose to do them homage, they still presented the same surface to the view. Not being bona-fide representations of living people, we got rid of the splendid apparitions by signs and dumb show. As soon as they had melted into thin air, there was a loud noise at the outer door, and we found it was Giotto, Cimabue, and Ghirlandajo, who had been raised from the dead by their earnest desire to see their illustrious successors--
"Whose names on earthFinding them gone, they had no ambition to be seen after them, and mournfully withdrew. "Egad!" said Lamb, "these are the very fellows I should like to have had some talk with, to know how they could see to paint when all was dark around them."
In Fame's eternal record live for aye!"
"But shall we have nothing to say," interrogated G. J ---, "to the 'Legend of Good Women'?" "Name, name, Mr. J --- ," cried Hunt in a boisterous tone of friendly exultation, "name as many as you please, without reserve or fear of molestation!" J--- was perplexed between so many amiable recollections, that the name of the lady of his choice expired in a pensive whiff of his pipe; and Lamb impatiently declared for the Duchess of Newcastle. Mrs. Hutchinson was no sooner mentioned, than she carried the day from the Duchess. We were the less solicitous on this subject of filling up the posthumous lists of good women, as there was already one in the room as good, as sensible, and in all respects as exemplary, as the best of them could be for their lives! "I should like vastly to have seen Ninon de l'Enclos," said that incomparable person; and this immediately put us in mind that we had neglected to pay honor due to our friends on the other side of the Channel: Voltaire, the patriarch of levity, and Rousseau, the father of sentiment; Montaigne and Rabelais (great in wisdom and in wit); Moliere and that illustrious group that are collected round him (in the print of that subject) to hear him read his comedy of the "Tartuffe" at the house of Ninon; Racine, La Fontaine, Rochefoucauld, St. Evremont, etc.
"There is one person," said a shrill, querulous voice, "I would rather see than all these — Don Quixote!"
"Come, come!" said Hunt; "I thought we should have no heroes, real or fabulous. What say you, Mr. Lamb? Are you for eking out your shadowy list with such names as Alexander, Julius Caesar, Tamerlane, or Genghis Khan?" "Excuse me," said Lamb; "on the subject of characters in active life, plotters and disturbers of the world, I have a crotchet of my own, which I beg leave to reserve." "No, no! come out with your worthies!" "What do you think of Guy Fawkes and Judas Iscariot?"  "Your most exquisite reason!" was echoed on all sides; and Ayrton thought that Lamb had now fairly entangled himself. "Why, I cannot but think," retorted he of the wistful countenance, "that Guy Fawkes, that poor, fluttering, annual scarecrow of straw and rags, is an ill-used gentleman. I would give something to see him sitting pale and emaciated, surrounded by his matches and his barrels of gunpowder, and expecting the moment that was to transport him to Paradise for his heroic self-devotion; but if I say any more, there is that fellow Godwin will make something of it. And as to Judas Iscariot, my reason is different. I would fain see the face of him who, having dipped his hand in the same dish with the Son of Man, could afterwards betray him. I have no conception of such a thing; nor have I ever seen any picture (not even Leonardo's very fine one) that gave me the least idea of it." "You have said enough, Mr. Lamb, to justify your choice."
"Oh! ever right, Menenius — ever right!"
"There is only one other person I can ever think of after this," continued Lamb; but without mentioning a name that once put on a semblance of mortality. "If Shakespeare was to come into the room, we should all rise up to meet him; but if that person was to come into it, we should all fall down and try to kiss the hem of his garment!"
As a lady present seemed now to get uneasy at the turn the conversation had taken, we rose up to go. The morning broke with that dim, dubious light by which Giotto, Cimabue, and Ghirlandajo must have seen to paint their earliest works; and we parted to meet again and renew similar topics at night, the next night, and the night after that, till that night overspread Europe which saw no dawn. The same event, in truth, broke up our little congress that broke up the great one. But that was to meet again: our deliberations have never been resumed.


[?[37minfo?[0m] application - Creating Pool for datasource 'default'
[?[33mwarn?[0m] c.z.h.u.DriverDataSource - Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
[?[37minfo?[0m] p.a.d.HikariCPConnectionPool - datasource [default] bound to JNDI as DefaultDS
[?[33mwarn?[0m] o.h.v.m.ParameterMessageInterpolator - HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
[?[37minfo?[0m] application - Shutting down connection pool.
[?[37minfo?[0m] application - Creating Pool for datasource 'default'
[?[33mwarn?[0m] c.z.h.u.DriverDataSource - Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
[?[37minfo?[0m] p.a.d.HikariCPConnectionPool - datasource [default] bound to JNDI as DefaultDS
[?[33mwarn?[0m] o.h.v.m.ParameterMessageInterpolator - HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
[?[37minfo?[0m] application - Shutting down connection pool.
[?[37minfo?[0m] application - Creating Pool for datasource 'default'
[?[33mwarn?[0m] c.z.h.u.DriverDataSource - Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
[?[37minfo?[0m] p.a.d.HikariCPConnectionPool - datasource [default] bound to JNDI as DefaultDS
[?[33mwarn?[0m] o.h.v.m.ParameterMessageInterpolator - HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
[?[37minfo?[0m] application - Shutting down connection pool.
[?[37minfo?[0m] application - Creating Pool for datasource 'default'
[?[33mwarn?[0m] c.z.h.u.DriverDataSource - Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
[?[37minfo?[0m] p.a.d.HikariCPConnectionPool - datasource [default] bound to JNDI as DefaultDS
[?[33mwarn?[0m] o.h.v.m.ParameterMessageInterpolator - HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
[?[37minfo?[0m] application - Shutting down connection pool.


Time: {{skPhanAnh.thoiGian}}
Location: {{skPhanAnh.viTri}}
Description: {{skPhanAnh.moTa}}
Emergency type: {{skPhanAnh.loaiPhanAnh}}
Location: {{skPhanAnh.viTri}}
Description : {{skPhanAnh.moTa}}
Time : {{skPhanAnh.thoiGian}}
| Pos | Name | Address | Application |
|---|---|---|---|
| {{coQuan.stt}} | {{coQuan.ten}} | {{coQuan.diaChi}} |
| Pos | Name | Address | Application | ||
|---|---|---|---|---|---|
| {{coQuan.stt}} | {{coQuan.ten}} | {{coQuan.diaChi}} |


class Resolv::DNS
Resolv::DNS is a DNS stub resolver.
Information taken from the following places:
-
STD0013
-
RFC 1035
-
etc.
Constants
Public Class Methods
Creates a new DNS resolver.
config_info
can be:
- nil
-
Uses /etc/resolv.conf.
- String
-
Path to a file using /etc/resolv.conf's format.
- Hash
-
Must contain :nameserver, :search and :ndots keys.
:nameserver_port can be used to specify port number of nameserver address.
The value of :nameserver should be an address string or an array of address strings.
-
:nameserver => '<IP_ADDRESS>'
-
:nameserver => ['<IP_ADDRESS>', '<IP_ADDRESS>']
The value of :nameserver_port should be an array of pair of nameserver address and port number.
-
:nameserver_port => [['<IP_ADDRESS>', 53], ['<IP_ADDRESS>', 53]]
Example:
Resolv::DNS.new(:nameserver => ['<IP_ADDRESS>'], :search => ['ruby-lang.org'], :ndots => 1)
# File lib/resolv.rb, line 333 def initialize(config_info=nil) @mutex = Thread::Mutex.new @config = Config.new(config_info) @initialized = nil end
Public Instance Methods
Closes the DNS resolver.
# File lib/resolv.rb, line 367 def close @mutex.synchronize { if @initialized @initialized = false end } end
Iterates over all IP addresses for name
retrieved from the DNS resolver.
name
can be a Resolv::DNS::Name or
a String. Retrieved addresses will be a Resolv::IPv4 or Resolv::IPv6
# File lib/resolv.rb, line 405 def each_address(name) each_resource(name, Resource::IN::A) {|resource| yield resource.address} if use_ipv6? each_resource(name, Resource::IN::AAAA) {|resource| yield resource.address} end end
Iterates over all hostnames for address
retrieved from the DNS resolver.
address
must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved names will be Resolv::DNS::Name instances.
# File lib/resolv.rb, line 452 def each_name(address) case address when Name ptr = address when IPv4::Regex ptr = IPv4.create(address).to_name when IPv6::Regex ptr = IPv6.create(address).to_name else raise ResolvError.new("cannot interpret as address: #{address}") end each_resource(ptr, Resource::IN::PTR) {|resource| yield resource.name} end
Iterates over all typeclass
DNS
resources for name
. See getresource for argument details.
# File lib/resolv.rb, line 508 def each_resource(name, typeclass, &proc) fetch_resource(name, typeclass) {|reply, reply_name| extract_resources(reply, reply_name, typeclass, &proc) } end
# File lib/resolv.rb, line 514 def fetch_resource(name, typeclass) lazy_initialize requester = make_udp_requester senders = {} begin @config.resolv(name) {|candidate, tout, nameserver, port| msg = Message.new msg.rd = 1 msg.add_question(candidate, typeclass) unless sender = senders[[candidate, nameserver, port]] sender = requester.sender(msg, candidate, nameserver, port) next if !sender senders[[candidate, nameserver, port]] = sender end reply, reply_name = requester.request(sender, tout) case reply.rcode when RCode::NoError if reply.tc == 1 and not Requester::TCP === requester requester.close # Retry via TCP: requester = make_tcp_requester(nameserver, port) senders = {} # This will use TCP for all remaining candidates (assuming the # current candidate does not already respond successfully via # TCP). This makes sense because we already know the full # response will not fit in an untruncated UDP packet. redo else yield(reply, reply_name) end return when RCode::NXDomain raise Config::NXDomain.new(reply_name.to_s) else raise Config::OtherResolvError.new(reply_name.to_s) end } ensure requester.close end end
Gets the IP address of name
from the DNS resolver.
name
can be a Resolv::DNS::Name or
a String. Retrieved address will be a Resolv::IPv4
or Resolv::IPv6
# File lib/resolv.rb, line 381 def getaddress(name) each_address(name) {|address| return address} raise ResolvError.new("DNS result has no information for #{name}") end
Gets all IP addresses for name
from the DNS resolver.
name
can be a Resolv::DNS::Name or
a String. Retrieved addresses will be a Resolv::IPv4 or Resolv::IPv6
# File lib/resolv.rb, line 392 def getaddresses(name) ret = [] each_address(name) {|address| ret << address} return ret end
Gets the hostname for address
from the DNS resolver.
address
must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved name will be a Resolv::DNS::Name.
# File lib/resolv.rb, line 428 def getname(address) each_name(address) {|name| return name} raise ResolvError.new("DNS result has no information for #{address}") end
Gets all hostnames for address
from the DNS resolver.
address
must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved names will be Resolv::DNS::Name instances.
# File lib/resolv.rb, line 439 def getnames(address) ret = [] each_name(address) {|name| ret << name} return ret end
Look up the typeclass
DNS resource of
name
.
name
must be a Resolv::DNS::Name
or a String.
typeclass
should be one of the following:
-
Resolv::DNS::Resource::IN::ANY
-
Resolv::DNS::Resource::IN::CNAME
-
Resolv::DNS::Resource::IN::HINFO
-
Resolv::DNS::Resource::IN::MINFO
-
Resolv::DNS::Resource::IN::MX
-
Resolv::DNS::Resource::IN::NS
-
Resolv::DNS::Resource::IN::PTR
-
Resolv::DNS::Resource::IN::SOA
-
Resolv::DNS::Resource::IN::TXT
Returned resource is represented as a Resolv::DNS::Resource instance, i.e. Resolv::DNS::Resource::IN::A.
# File lib/resolv.rb, line 489 def getresource(name, typeclass) each_resource(name, typeclass) {|resource| return resource} raise ResolvError.new("DNS result has no information for #{name}") end
Looks up all typeclass
DNS resources
for name
. See getresource for argument details.
# File lib/resolv.rb, line 498 def getresources(name, typeclass) ret = [] each_resource(name, typeclass) {|resource| ret << resource} return ret end
Sets the resolver timeouts. This may be a single positive number or an
array of positive numbers representing timeouts in seconds. If an array is
specified, a DNS request will retry and wait for
each successive interval in the array until a successful response is
received. Specifying nil
reverts to the default timeouts:
- 5, second = 5 * 2 / nameserver_count, 2 * second, 4 * second
-
Example:
dns.timeouts = 3
# File lib/resolv.rb, line 350 def timeouts=(values) @config.timeouts = values end


The most visible part of forms-angular is the form-input directive which takes a schema in the scope and creates inputs. These schemas can be very simple as in the example below:

 <form-input schema="name" />

This simple bit of markup creates a small schema and stores it in the scope as name (you wouldn't normally it like this, but it illustrates things well) then invokes the form-input directive, telling it to use the schema just created to create a form with the appropriate input fields.
Record content: {{record}}
There is more information about the forms-input directive on the forms page.
The form-input directive can get a good deal richer than the simple example above. The following options are available in a form schema element:
or
add: 'class="myClass"'
allows custom styling of a specific inputadd: 'ng-model-options="{updateOn: \'default blur\', debounce: { \'default\': 500, \'blur\': 0 }}" '

 <form-input schema="example2" />

which looks like:
Record content: {{exampledata}}
Mongoose is a popular package that simplifies using MongoDB with Node JS. Mongoose requires that a schema is created for each 'model'. forms-angular (specifically the BaseCtrl controller) can convert Mongoose schemas into the schemas that the form-input directive uses, which saves a lot of coding by hand and makes it very easy to keep your front and back ends in sync. If you use BaseCtrl, then you should set the schema attribute of the form-input tag to "baseSchema()".
As many models as you want can be registered with forms-angular by calling the addResource
method of the forms-angular object. If you have more than a few models it is a good idea to put them in their own
directory and loop through it.
A trivially simple schema looks like this:
var ApplicantSchema = new Schema({ surname: {type:String, required:true, index:true}, forename: {type:String, index:true}, });
Each schema element (or field) has a type and optionally a number of other properties. Many of these properties are used by forms-angular to generate appropriate behaviour on the front end. The appropriate input types are used (for instance an enum string) attribute will generate a select control (you can specify radio button - see below) and client side validation keeps round trips down (we cannot say "to a minimum" as work remains to be done in this area).
You can get an idea of what forms-angular does with a vanilla Mongoose JS schema by looking at this schema and the form generated from it.
For comprehensive information about Mongoose schemas visit the Mongoose JS website.
Note that enumerated fields options can be specified in the form
eyeColour: {type:String, enum:['Blue','Brown','Green','Hazel']}
or
eyeColour: {type:String, enum:{values:['Blue','Brown','Green','Hazel']}}
as you can see from the Mongoose documentation. In the latter case a labels key in the enum object will be used for the labels in the generated input.
For example
eyeColour: { type:String, enum: { values:['bl','br','gr','ha'], labels:['Blue','Brown','Green','Hazel'] } }
will use shorter strings for the stored value than for the displayed label.
In a couple of places forms-angular uses the concept of 'list fields' - fields that generally allow the user to quickly see what they are dealing with - for example in the case of a person the forename and surname would be list fields. They don't have to be unique, they just have to be useful. List fields are used:
A field may be specified to be a list field by adding a truthy value for a list key
in the schema element: forename: {type:String, list:true}
List fields can be generated on both the front and back end, and it is done as follows:
The mark-up of generated forms can be influenced by use of the form object in the schema type:
surname: {
type:String,
form:{
label:'Family Name',
size:'large'
}
}
The form object can have the following optional keys (many of which are duplicates of options in the Form Schemas section above (where they may have additional documentation and examples) :
smoker: {type: Boolean},
howManyPerDay: {type: Number, form:{showWhen:{lhs:"$smoker", comp:"eq", rhs:true}}}
As you can see from the example there are three parts to the showIf object:
This example schema and this form shows many of these options in use.
Sometimes it is hard within a Mongoose schema to detail exactly how you want the associated form or forms to be laid out. One particular class of layout features that currently cannot be requested within a Mongoose schema are containers. Hopefully this will be addressed in a forthcoming release but if you need them now then you need to create a schema by hand (or dynamically in code).
An example of a use of containers would be:
<form-input ng-init="names=[ {containerType:'fieldset',title:'Name',content: [ {id:'f_surname',label:'Surname',name:'surname',type:'text'}, {id:'f_forename',label:'forename',name:'forename',type:'text'} ] } ]" schema="names"></form-input>
Other containers are tab, well, well-large and well-small.
If you want to "roll your own" you can do something like:
 <form-input ng-init="names=[ {containerType:'redBorder',title:'Name',titleTagOrClass:'bigRed',content: [ {id:'f_surname',label:'Surname',name:'surname',type:'text'}, {id:'f_forename',label:'forename',name:'forename',type:'text'} ] } ]" schema="names"></form-input>
Where container type is seen as a class for a div and a titleTagOrClass of h1..h6 is interpreted as a heading tag and anything else as a class to be applied to a paragraph (as in the example). If a title is specified without a corresponding titleTagOrClass then
 is used as a default.
If you need even more flexibility then you can create a function that returns an object of the form {before: markup before container contents, after:markup after container contents}.
It is easy to create custom form schemas which are a subset of the whole schema by specifying the fields to include and any options. See the static in this example. These schemas are automatically used to generate custom views and routes to them (see here).
It is also possible to show a subset of fields in a sub-schema (which can be seen here if you add a new exam).
Custom schemas are a good way to allow access to only part of a document, for instance if a customer record contained operational and accounts information an accounts user would require a different view of the data (that would include account balance) than a user from operations (who would not have access to the account balance). Consider the following:
var AddressSchema = new Schema({
type: { type: String, default: 'Home', enum: ['Delivery', 'Invoice', 'Historic'] },
street: String,
town: String,
postalCode: String
}, {_id: false});
and in the customer model
addressList: {type: [AddressSchema], mergeKey: 'type', form: {pane: 'Address', labels: 'Addresses'}}
We need a way of having the delivery address appear on one form (for the operation user) and the invoice address on the finance form, even though they are in the same field.
forms-angular has the concept of a subkey for this scenario. The custom schema for the operations user would contain:
addressList: {subkey:
{keyList: {type: 'Delivery'}, containerType: 'well-small', title: 'Address', titleTagOrClass: 'h5'}
}
while that for finance might include
addressList: {subkey:
[
{keyList: {type: 'Invoice'}, containerType: 'well-small', title: 'Invoice To:'},
{keyList: {type: 'Delivery'}, containerType: 'well-small', title: 'Deliver To:'}
]
}
Note that subkey can be an object or an array of objects. Where there are multiple sub docs that match the subkey the first will be used. If there are no sub docs then one will be created, unless the subkey object has a onNotFound property of 'error'.
An alternative way of selecting the sub doc is to specify a function, using the selectFunc property. In this case the function (which) must be on the base scope - usually added during the onAllReady event handler. No automatic sub doc creation happens in this case.


Understanding HTTP Request Headers
Table of Contents
Summary
Networking is complex. Whether you are troubleshooting network connectivity or attempting to detect malicious external network communications, understanding the nuances of common HTTP requests is extremely helpful but often it can be difficult for many security and IT professionals.
When interacting with APIs or any internet connected service most people use a client library like Python’s urllib
or requests
which offer convenience and handle many of the nuances of communicating with an HTTP service for you. Under the hood, these libraries are following defined RFC’s (Request for Comment) for communication with a service, like an API. In every HTTP request, headers are sent along with the request being made. Whether that is a GET, POST, PUT, etc request to a specific endpoint or url, HTTP headers are also sent with both the requests and the server response.
These headers explain to the receiver of any request the constraints, options, and standards implemented by the service so they can properly communicate with it. Authentication, encoding, format, language, and many other properties are defined in these headers. Understanding these headers from an analyst perspective can help with investigating, responding, and defending against malicious network attacks.
Understanding these nuances helps:
- Security professionals identify malicious communications and improve detection capabilities
- Developers to troubleshoot and debug code communicating with APIs and external services
- IT Professionals when troubleshooting network connectivity or other software issues
Introduction
HTTP (Hypertext Transfer Protocol) is a form of network communications between two or more systems which relays data over a physical medium. HTTP requests are sent and received during the entire transmission of action or data.
These requests have components that are used during each phase of the communication; method, headers, and body.
This e-book will discuss HTTP headers in depth as well as how you can leverage this information to defend against malicious behavior.
Setup
We will be using several different examples of malware such as Emotet (Trickbot), Dridex, Hancitor with Cobalt Strike and others.
In order to follow along, you will need Wireshark installed as well as access to a browser. You can download Wireshark here: https://www.wireshark.org/
We will be using PCAPs (Packet Capture format) provided by https://www.malware-traffic-analysis.net.
Important: Any samples you download should be used with caution - remember some of the files here are malicious. Once you have downloaded the files you can unzip them and use the password infected when prompted.
Additionally, when a sample PCAP is used we will provide a link to its respective sample.
Once you have downloaded and installed Wireshark, we will open up a linked sample from https://www.malware-traffic-analysis.net. When opening a sample PCAP file you can filter by HTTP requests by entering the following as the filter input in the Wireshark filter toolbar:
http.request
| A screenshot of Wireshark and the Hancitor Infection with Cobalt Strike sample filtered by http.request |
Let’s begin.
General Headers
In any HTTP request, there are general headers that are utilized within the request which gives the requestor (and the subsequent response) more control over the communication. These headers tell the other party within a communication if they are going to cache data, keep a connection alive or not, and/or the data format being used when transferring data.
We call these general headers as in they can be used for any request and response between a client and server.
In this section, we will go through a few of the common general headers in an HTTP request. These are Cache-Control, Connection, and Transfer-Encoding.
Cache-Control
The Cache-Control header allows the user to specify whether data provided by a response to an HTTP request should be cached on the local system along with how that response is stored for future requests. There are several options available based on RFC7234, but many libraries will set this to either private or a max-age of 0 by default. This default works in most cases but you can control this behavior in a more granular way.
Below is a table outlining the (common) different Cache-Control values and a brief definition:
| Value | Description |
|---|---|
| Public | This means that the response may be cached by any server within the HTTP request being made |
| Private | This means that the response is intended for a single user and should be cached for other (processes) to access |
| no-cache | The means the response will not be used for any subsequent HTTP request (even for redirects) |
| no-store | This means that no part of the request or response should be stored. This is used if information is sensitive in nature. |
| no-transform | This means that any part of the request will not be transformed. Example, if you send an image and a proxy/cache service tries to convert an image to another type. With no-transform this will not happen. |
| max-age={value in seconds} | This is the max-age that any cache should be considered valued before being re-evaluated by the client or server. |
Understanding how Cache-Control works may not give you lots of information during an investigation unless you are investigating a web proxy. If that is the case then Cache-Control can give you lots of information from cached website pages to authentication information and more.
With cache-control, an ETag can be used to validate that the cached item matches what was expected. This is a hash generated by the server and can be used for comparison purposes. If the ETag is different then the request will retrieve a newly cached version of the entity.
An ETag is used in many situations but most commonly used when retrieving and updating a resource. As mentioned before, an ETag is a hash of a resource and can be used to verify a request is updating the correct resource or if the resource itself has been modified by another process.
Connection
The Connection header allows the sender to tell the server what is going to happen after this request/response is completed. There are a few options like keep-alive and close.
Keep-alive is telling the server that this connection will continue and to prepare for that but this does not apply to proxies. When specifying Connection headers, proxies should not be relaying this information to further communications. This means that in turn proxies should be closing every connection.
The second Connection option is close. Close means I am done with this connection. Of course, other connections will and likely occur. Close simply means that for this request and response we are closing the connection.
Long running processes or transferring of large amounts of data (usually chunked) like files will often use the Connection: Keep-Alive header to indicate to the server that the connection is going to continue until we are done uploading/transferring said data.
Some malware will send an HTTP request to download additional files (tools) from a Command and Control server (C&C). As an example, you can see this being used by the Lazarus group as reported by the JPCERT.
You can also see the use of Connection: Keep-Alive in below example of a Bazarloader using Cobalt Strike:
| The initial request which returns code that downloads additional tools. This is an example of BazarLoader using Cobalt Strike: https://www.malware-traffic-analysis.net/2021/08/12/index.html |
Additionally, Keep-Alive may be used when exfiltrating data as well since likely they are transferring large amounts of data which means their typical connection must be kept alive for a longer period of time.
| Example of a Hancitor infection with Cobalt Strike showing the Connection and Cache-Control headers in the request |
An example of these general headers can be seen in this sample of a Hancitor infection with Cobalt Strike PCAP from malware-traffic-analysis.net.
Transfer-Encoding
Transfer-Encoding is a hop-by-hop HTTP request header that explains what, if any, transformation of the request was done on that hop. Each type of transform must be added in the order of precedence. For example, it is very common to see that a transform was done using “chunked”. Chunked is used to split large amounts of dynamic content into multiple packets since the full size will not be known until the end of the transfer. If other transformations were done then you will also see the transfer-extension property. Unless absolutely necessary you probably will never mess with transfer-encoding headers but they are common to see.
When investigating HTTP requests remember that this header (as well as some others) can be obfuscated by modifying the format of the header itself.
| An example of some ways the Transfer-Encoding header can be obfuscated. Thanks to https://book.hacktricks.xyz/pentesting-web/http-request-smuggling#te-te-vulnerabilities |
You will often see Transfer-Encoding as chunked but one good indicator is the combination of Content-Length (we will talk more about this later) being different then the actual length plus having Transfer-Encoding as chunked.
Please note that Content-Length is in bytes and that the length of the actual content is defined as the beginning of the body to the end. The end is defined as 2 bytes of data which are /r/n.
Request Headers
In this section we will talk about request headers. These headers within an HTTP request allow the client to specify other details with the request being made. These details include encoding, authorization (authentication), proxy, referrer and more. By understanding the nuances of these headers, you will be able to create robust detection rules as well as troubleshoot problems easier.
Common Request Headers
The most common values in request headers are Accept-Encoding, Authorization, and User-Agent. There are several other common values as seen in the table below, but we will only go into detail about the three most common values mentioned above.
Commonality Scale
- LOW - This equates to not seen very often in traditional requests
- MED - This equates to not being obscure but is not extremely common to see in the wild.
- HIGH - This equates to being commonly seen in requests.
| Value | Description | Commonality |
|---|---|---|
| Accept | The Accept header and Accept-Encoding header are similar. Both are used to specify the media type in the request and response. | HIGH |
| Accept-Encoding | The Accept header and Accept-Encoding header are similar. Both are used to specify the media type in the request and response. | HIGH |
| Accept-Language | The Accept-Language header defines the accepted language for a response. This is not obscure by any means but it’s not very common to see. | MED |
| Authorization | This header is the most common and is used for authentication. Examples that are common are Basic, Digest, and Bearer (some value). | HIGH |
| Host | This value will contain the host and port number of the resource being requested, which is usually derived from the original request URL by client libraries. | HIGH |
| Max-Forwards | This value limits how many times a request can be forwarded through proxies, gateways, or other services. | MED to LOW |
| Proxy-Authorization | As the field suggests, you can provide this value to authenticate through a proxy. Similar to the Authorization header but it can have a set of different credentials for proxy authentication. | MED |
| Referer (yes it’s misspelled) | This header value allows the client to specify the URI of the resource being requested. This is mostly to benefit the server when making a request. | HIGH |
| User-Agent | This is probably the most common one to see. This is a string that represents what client you are making this request as. | HIGH |
Here is an example, using the same sample request from the Hancitor PCAP above. You can see that Accept, Accept-Encoding, Accept-Language, Host, Referrer and User-Agent are all defined.
| Example of a Hancitor with Cobalt Strike PCAP and its response headers. Notice the Accept-Language header is set. This is not obscure, but it is also not extremely common either. https://www.malware-traffic-analysis.net/2020/11/23/index.html |
Accept
The Accept header tells the server what type of content encoding is accepted in the response. Often you find this to be / but instead of strictly saying “any” encoding is accepted you should specify a specific type like application/json.
The Accept header is similar to the Accept-Encoding header (below) but the main difference is that the Accept header specifies the type as a MIME type.
If the Accept header is specified then the sender can also specify “accept-params” and “accept-extension”. You will often not see these but they can be specified. If the Accept header is not present then it is assumed that the sender will accept all media types.
If you see a q=0.5 or something similar in this field then it means that a certain quality (½) was specified if available. In other words, this q value is a weight provided by the requester in order of preference.
| Above is an example provided within RFC7232 |
Accept-Encoding
The Accept-Encoding header is used to restrict the content encoding of the response from the server. Many client libraries set this value to * but if you know that the response is a zipped/compressed file then you would likely set this to “compress, gzip”. This would look like the following:
Accept-Encoding: compress, gzip
The Accept-Encoding header typically specifies the algorithm that the client will accept. IANA maintains a list of “official” encodings here. There are additional encodings that are not part of the “official” list but are commonly used. You can find a list of these unofficial content encodings here.
Here is a list of all “official” and unofficial encodings borrowed from the links above for your convenience:
- Official
- aes128gcm
- br
- compress
- deflate
- exi
- gzip
- identity
- pack200-gzip
- x-compress
- x-gzip
- Zstd
- Unofficial
- bzip2
- izma
- peerdist
- rsync
- xpress
- xz
When investigating the transfer of malicious files you may come across a value for Accept-Encoding that is not on either of the lists above. This should be an indicator that something strange is going on and you should investigate further.
If you do see a value on this but it is repeated (twice) then you should also investigate. Note that there are legitimate reasons to do this but it is uncommon. An example of this is:
Accept-Encoding: deflate, deflate
Just like with the Accept header, you may also see a q (weight) value within this header. It may look similar to the following:
Accept-Encoding: gzip;q=0.2, *;q=0.5
Authorization
The Authorization header is used when you need to specify some sort of authentication to the server. There are many different types of authentication like Basic, Digest, Bearer, etc. but the basics of the Authorization header is that it is used to authenticate and verify you are authorized to request what you are wanting to request.
The Authorization header key is simply Authorization but the value will differ based on the type of authorization specified by the service provider (API). The value of this header will start with the type of authentication being used (e.g. Basic, Digest, Bearer, etc.). This is followed by a single space and the encoded value that the server will then decode the value to verify you can access the requested resource.
SOAP BOX: When using the Authorization header you should always choose the most secure method possible. The value, ideally, should be encrypted and then encoded (base64) which in turn gets decoded and then decrypted by the server.
Below are examples of this type of authorization:
Each of these different types of authorization headers calculate their values differently or are provided when making the original request. To sum it up, it all depends on the API you are working with but it should have good documentation on how to authenticate and use the API.
You can find a maintained list (IANA) of authentication schemas here but for convenience I will list them below:
- Basic
- Bearer
- Digest
- HOBA
- Mutual
- Negotiate
- OAuth
- SCRAM-SHA-1
- SCRAM-SHA-256
- vapid
When investigating an HTTP request which contains an Authorization header you should always first try and decode the value string (typically this is Base64). Within macOS terminal you can run the following to decode this value:
echo “your value here” | base64 --decode
# or
base64 --decode “/tmp/path/to/file/containing/string.txt”
After decoding this value you should be able to see if the value is encoded with another type of encoding or it is encrypted. If encrypted then you will have to find another way but it may just be plain text or encoded with something like ROT13.
User-Agent
A user-agent is sent along with the HTTP request and if you are using a client library (e.g. Python Requests) then it may have its own User-Agent. Some APIs will require that you have a specific user-agent, but most do not. There are many different user-agent strings you can use or you can specify your own. It depends on what the API allows. If you are requesting data from a known API then you will probably never need to change the user-agent. However, if you are scraping a bunch of websites you may want to use the user-agent to help prevent them from blocking you. This is not foolproof but just one of many things you can attempt, like using rotating proxies when scraping websites.
Below are some examples of common user-agent strings (albeit outdated on purpose). If you want to see a large list, check out this link (this list is also used in the Swimlane open-source project called soc-faker).
| A list of outdated user-agent strings from HTTP requests. |
A User-Agent string has a certain structure, which is defined in RFC7231. Taking this specification we can create the following format structure:
User-Agent: [PRODUCT1]/[VERSION1] [WHITESPACE] [(OPTIONAL_COMMENTS)] [WHITESPACE] [SUBPRODUCT]/[SUBPRODUCT_VERSION]
When investigating network based events or troubleshooting, understanding the User-Agent HTTP request header can be extremely useful. Many times you will be able to identify the browser (e.g. Chrome, Firefox, etc.), it’s version, as well as the operating system (Windows, Centos, etc.) and specific version used. Sometimes you may get even more information like context in which an application was run (e.g. WOW64 for an application running in a 64-bit process).
All of this information is extremely helpful and narrows down your scope of what to look for first.
Response Headers
After you have made a request, the server can provide additional information back to the client via response headers. These headers can be inspected when a response is received and be used for subsequent requests.
During an investigation these response headers may help you understand more about the server a client has communicated with. This information can help further your investigation as well as build detection rules across your other systems to ensure they are not communicating with a specific server.
Common Response Headers
Below are a list of the most common Response headers you will come across:
| Value | Description |
|---|---|
| Location | If the server wants the client to get the resource from a different URL or path they will add a Location header to the response. |
| Retry-After | This is an indicator used by a server that a service is unavailable and will let the client know when to try again. |
| Vary | This header tells the client what might have caused a specific response from the server. |
| Server | This header is used to tell the client what software is used by the server. |
| WWW-Authenticate | This response header must be included when you reach a 401 (Unauthorized) response. |
You can view the response headers for any http.request within Wireshark by selecting the request and right clicking. A menu will appear and then you select Follow -> HTTP Stream.
To view the response header of a GET request we will use the Hancitor with Cobalt Strike sample. Open the sample PCAP and filter by entering http.request in the filter bar.
Next, select the top most request that displays GET /scaffold.php HTTP/1.1 in the Info field.
| Highlighting the first GET request in the Hancitor with Cobalt Strike sample PCAP |
Right click that request and on the menu that appears select Follow -> HTTP Stream. You should now see a new windows that looks like this:
| HTTP Stream of the Hancitor with Cobalt Strike sample PCAP |
By default Wireshark presents the request from the client in RED and the response from the server in BLUE.
Location
The Location header is used by servers when a request needs to be redirected to a different location than what was requested originally. If your client library utilizes redirection you should have the ability to turn this feature off; the default is usually set to on. The client will automatically look for this header in the response and then make another request pointing at the new location provided by the server if this feature is on.
The value provided by the Location header may be either a relative path or a whole new URL. If the value is a relative path then we will append this path to the root host provided in the request. For example, if we are sending a HTTP request to http://google.com/some/endpoint and the server responds with a Location header with a value like the following:
Location: /this/other/endpoint
Then we will take the host value and add the location’s relative path which will end up being http://google.com/this/other/endpoint.
If the location of the resource is located somewhere else then the Location header may provide you with a whole other host and path like:
Location: https://swimlane.com
During an investigation if you see a Location header then follow it. Many times C&C (Command and Control) platforms will redirect you many times before landing on the intended location. Follow those packets until you know for sure that you have found the intended location.
Vary
The Vary header describes to the client what might have caused a specific response from the server. The value of this header can be a simple * value which indicates that anything in the request could have played a role when responding to the request.
But, a Vary header that contains one or more names (headers) means that those values might have played a role when making a decision about the request. This could be both that they were present or they were missing-it depends on the original request.
If you have access to the original request and response, from a PCAP or some other source, and you have received a Vary header you can easily compare the two to understand why a certain response was given (or not).
Server
The Server header is probably the most common and useful from an investigators point of view. This header can provide information about the software (and even operating system) that a server is using.
Using the Hancitor with Cobalt Strike sample we can look at the response from the HTTP Stream of the first GET request.
HTTP/1.1 200 OK
Date: Mon, 23 Nov 2020 17:05:03 GMT
Server: Apache/2.4.39
X-Powered-By: PHP/7.3.11
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 423
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
<EMAIL_ADDRESS>y'.H,.bnT[..OZ.J.a...JIM.C.g.Hi........
.^+.&...........A..+.....FSh.N...l1..D..^/.0.........O.S..yN.h*.K.Q.......c..I.|...,.n...M[.M/.....j.&..H2y#5Q......2..Z..s..Mn....X.?.Im.....%..Y'.. ce......[`1[~...b..GA.8c/.tq.Y.}.ck.,.M...$Z4]+.ur.../........RvB...Ku.3..2.pr..5.sg(...1.c..x..z.rh..!....e.P&B..{.+b>.?..|\.I....
By looking at the Server header we can see that this server is running Apache/2.4.39. We are also able to see that part of this server’s response is a X-Powered-By header (which is not common but allowed). That gives us more information about the software type and version which is PHP/7.3.11.
All of this information is great during an investigation. We can filter based on these values but we will need more information to create a good detection rule for this activity but this is a really good starting point.
WWW-Authenticate
Some servers may send a WWW-Authenticate header within their response but either way if a 401 (Unauthorized) is received the server must provide a WWW-Authenticate header back to the client. Also, this header may appear multiple times in the same response.
The WWW-Authenticate headers value will contain one or more reasons why authentication was not successful. If a response is provided and it is not a 401 then the server may send a response which can describe what would happen with other credentials or authentication attempts.
Metadata Headers
The following section talks about headers, which I have grouped under a general type called metadata, which help describe either requests or responses. These headers assist with understanding how to respond and process a request (or response) being made by either a server or client.
During an investigation these response headers help us understand more about the context of a request or response so we can determine if more action may be needed. In other words, these headers help us by describing behavior that has occurred.
Common Metadata Headers
These headers are used to define metadata about the request body and or the resource (API endpoint) the HTTP request is being made against. There are many different headers you can specify but the most common are listed below.
| Value | Description |
|---|---|
| Allow | The allow header specifies the type of HTTP request being made. Typical options include: HEAD, GET, POST, PUT, DELETE, UPDATE. |
| Content-Encoding | This header is used as a modifier to the content-encoding in the request header and appends additional encoding to the request itself. Content-Encoding is used end-to-end whereas the Transfer-Encoding mentioned above is hop-to-hop and only used for specific connections in an end-to-end transfer. |
| Content-Length | This header indicates the length of the body of the request being made. Many client libraries will figure this out based on the provided body size. |
| Content-Range | This header is used to tell the server that this request contains a certain range of bytes in the request. This is typically used when uploading large files. |
| Content-Type | This header is used quite often, especially if you are transferring images or other media. Additionally, if you are passing the body of a request as a JSON object you would specify application/json as the content-type. |
You may find metadata headers in GET, DELETE, and PATCH HTTP requests but they are most commonly found in POST methods.
Allow
The Allow header is used to tell the server what type of HTTP methods the resource being requested can use, but in reality this header doesn’t do much. The client making the request can use an alternative request method other than what is specified in this header value. The best use of this header is during the response from the server. It tells the client what methods are allowed for a specific resource (API endpoint).
If you receive a 405 (Method Not Allowed) response from a server then a Allow header must be returned specifying which methods are allowed. If no methods are returned then a client will understand that there are no methods allowed.
Most of the time you will see this if you have called an API endpoint that does not allow the used method (e.g. GET) but it may allow a POST and PUT method to be used. For example a Allow header response may look like this:
Allow: POST, PUT
Content-Encoding
Content-Encoding is used to describe the encoding of the content being sent so that the server knows how to understand the body of a request (if applicable). Many client libraries will use gzip by default. This is used primarily to compress the body content without losing any data when transferred. Often you will find that Content-Encoding does not need to be modified from the client library’s default behavior.
Let’s take a look at an example using our Hancitor with Cobalt Strike example PCAP. When we follow the HTTP Stream we can see that the response contains a Content-Encoding header and is set to chunked. This means the data is divided into chunks and sent in two or more packets.
| HTTP Stream from Hancitor with Cobalt Strike example: https://www.malware-traffic-analysis.net/2020/11/23/index.html |
Understanding this will help you when attempting to investigate malicious file transfers, especially during exfiltration but also during exploitation.
Content-Type
The Content-Type header is probably one of the most common headers. It will need to be modified depending on the data being sent. You would typically set the Content-Type to application/json
or application/octet-stream
or multipart/form-data
, etc. There are many different content types available and the API documentation will usually tell you that you must specify a specific content-type when interacting with a resource (API endpoint).
If we look at the example we can see that the HTTP request header of Content-Type is set to application/x-www-form-urlencoded. This is not necessarily an indicator but can be used as one in combination with other information like a POST request to a PHP page.
Looking at our Hancitor with Cobalt Strike example we can see the POST method to /8/forum.php. This means that the host is posting data to this endpoint. In this case, the information is posted using the content-type of application/x-www-form-urlencoded which means that it’s posting to a form object and not a traditional API endpoint.
| A http request to post data to a form Hancitor with Cobalt Strike |
We won’t go into too much detail about the body of the message but I wanted to share the keys and values from this sample PCAP because they are interesting and provide another layer to assist us in creating detection rules around these requests.
HTML Form URL Encoded: application/x-www-form-urlencoded
Form item: "GUID" = "5307281972349174503"
Key: GUID
Value:<PHONE_NUMBER>349174503
Form item: "BUILD" = "2311_hjeiudfjh"
Key: BUILD
Value: 2311_hjeiudfjh
Form item: "INFO" = "DESKTOP-USER1PC @ USER1NETWORK\william.diaz"
Key: INFO
Value: DESKTOP-USER1PC @ USER1NETWORK\william.diaz
Form item: "EXT" = "USER1NETWORK;user1network.com;"
Key: EXT
Value: USER1NETWORK;user1network.com;
Form item: "IP" = "<IP_ADDRESS>"
Key: IP
Value: <IP_ADDRESS>
Form item: "TYPE" = "1"
Key: TYPE
Value: 1
Form item: "WIN" = "10.0(x64)"
Key: WIN
Value: 10.0(x64)
Conclusion
When investigating events on your network, whether troubleshooting or performing analysis, you must be aware of all the nuances of HTTP requests headers.These headers can help us decipher what happened and help us build better detection capabilities and prevent other intrusions within our networks.
A few things to look for when investigating issues on your network from an HTTP request and response perspective.
- If you see lots GET requests with a payload then you should investigate these further.
- If you see requests with 3 or less headers in them you should investigate these further (these are not common in more organizations).
- If you see a POST request without a Referer header then you should investigate further.
- Most legitimate (products) requests will include Accept, Accept-Encoding, and Accept-Language headers but if you do not see these then you should investigate further.
When interacting with APIs, especially when you are wanting to automate or orchestrate a business or technical process, you will need to modify or update HTTP Headers in your API requests. There are many options and I hope this blog helps you understand the nuances of these headers and provides you with a reference as you continue to automate all the things!


@Poloniex @QtumOfficial Hey guys, you already received a couple of mails during past year that BTCD was transferred to KMD, and so after transferal period of 1 year BTCD is not in use at all. Please replace it on your exchange or at least delist BTCD for users sake.


> The dropdown directives requires `ng-model` to function properly. The model must be present in scope _(value can be `undefinded` or `null`)_ else **Angular** renders and empty `<option>` tag that confuses **Select2** and causes it to render an empty div
> Select2 requires an empty `` tag in order for the directive option `data-allow-clear=true` to work properly.
> For a complete listing of options supported Select2, please checkout the docs at [http://select2.github.io/select2/](http://select2.github.io/select2/)
Single
Multiple
Remote Data
> Using remote data requires a **hidden** input field, rather than a select element.
### Options
* `data-format-result` - specify how the data is viewed in the dropdown
* `data-format-selection` - specify how the data is viewed when selected
Value Selector
av-dropdown now supports the *select as* clause in `ng-options`: (e.g. `data-ng-options="state.id as state.name for state in states"`). In this example, the model is bound to a simple string, and two-way binding works if it is edited via the textbox.
Event Listeners
If you need to include listeners for events, including those fired by **Select2**, you can specify them in a map (keyed by the event ID) and set them to `event-listeners` in your template.


Power Board |
|
|---|---|
| Battery 1 Voltage |
V |
| Battery 2 Voltage |
V |
| Motor Currents |
A |
| System Current |
A |
| Internal Pressure |
Pa |
| External Pressure |
Pa |
| Temperature Ambient |
℃ |
| Relative Humidity |
% |
IMU |
|
|---|---|
| Stabilised Magnetic Field |
X: G Y: G Z: G |
| Stabilised Acceleration |
X: m⁄s2 Y: m⁄s2 Z: m⁄s2 |
| Compensated Angular Rate |
X: °⁄m Y: °⁄m Z: °⁄m |
| Magnetic Field |
X: G Y: G Z: G |
| Acceleration |
X: m⁄s2 Y: m⁄s2 Z: m⁄s2 |
| Angular Rate |
X: °⁄m Y: °⁄m Z: °⁄m |
| Velocity |
X: m⁄s Y: m⁄s Z: m⁄s |
| Euler Angles |
Roll: ° Pitch: ° Yaw: ° |
| Temperature |
℃ |
Attached Devices |
|
|---|---|
| Name | FD |
Nav Request |
|
|---|---|
| Depth |
m |
| Yaw Rate |
°⁄m |
| Forward Velocity |
m⁄s |
| Sideways Velocity |
m⁄s |
On Board System Info |
|
|---|---|
| Ram Usage |
|
| CPU 1 Usage |
|
| CPU 2 Usage |
|
| CPU 3 Usage |
|
| CPU 4 Usage |
|
| CPU 5 Usage |
|
| CPU 6 Usage |
|
| BCPU Temperature |
|
| MCPU Temperature |
|
| GPU Temperature |
|
| PLL Temperature |
|
| Tboard Temperature |
|
| Tboard Temperature |
|
| Tboard Temperature |
|
| PMIC Temperature |
|
| VDD IN |
|
| VDD CPU |
|
| VDD GPU |
|
| VDD SOC |
|
| VDD WIFI |
|
| VDD DDR |
|


There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined g to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator..
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined g to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator..
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters as opposed to using Content here content here making..
Copyright 2021 Cup Of Hope. All Rights Reserved. Yatieno


{% load static %} {% block 'styles' %}{% endblock %}
I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls.
© 2014-2018 Pingendo. All rights reserved


Home
About
Services
Contact
HOME
GALLERY
USERS
PHONE
Home
Products
Services
Contact
About
Gallery
sports_esports
Games
local_see
Images
movie
Movies
store_mall_directory
Store
Home
About
Services
Work
Team
Contact
Home
Products
Services
Contact


Caramel Macchiato
Caramel Macchiato
Brewed Coffee
Small 150 Large 250
Iced Coffee
Tattoo Lovers
Cinammon Rolls
Develope & Coding
Cafe au lait
Network Inspire
Fruit Tart with Berries
Develope & Coding
Coffe Jelly
Network Inspire
Espresso Americano
Network Inspire
Cafe Meil
Network Inspire
Bagel with Cheese
Develope & Coding
Croissants Muffin
Develope & Coding


I was prescribed Ambien in January 2003 for a genuine sleeping disorder, i.e. me not being able to sleep. Duh. I took the pill when I needed it, about once a week for a few months. Then one night I was all out of pot and my car was in the shop. Instead of sitting around sober all night with no way of going anywhere, I just decided to take one and fall asleep at 7:00 pm. I took it, and instead of trying to fall asleep like all the other times, I stayed up until the drug hit me. This is the first time I seriously noticed the stoning effect that Ambien can have. It is kind of like being drunk, my vertigo was all screwy, I had a hard time focusing on a task at hand, and I felt sedated, but not necissarily sleepy. I didn't feel much pain, and everything became interesting. Some of my friends have reported a hallucination effect, where 'things get all wavey,' but I've never gotten it. I decided then and there that this might be a drug I'd like to exploit.
Since then I have been changing my prescription papers from saying '1 refill' to '10 refill.' Soon after I started to enjoy them recreationally I started to snort them. I have snorted other pills before, and this is the harshest one I've ever done. It feels like snorting fire. However, the effects set on so quickly and so intensely, that I snort half a pill, and by the time the other half is crushed I can snort it without feeling any pain. If you haven't snorted anything before, it is best to just take them orally. The effects are still pretty good.
Usually I just do one, or for an extra kick I eat one and snort one. However, I have snorted/taken up to eight within an hour period, and mixed that with large amounts of alcohol without getting sick or ODing. Every month or so my friends and I have an 'Ambien Party,' where we all hang out and snort vast quantities of Ambien. It's a pretty good social drug, so long as you don't mind your company to see you totally trashed.
Probably the only downside to Ambien is that it wipes out a lot of your memory. I don't really do things that I end up regretting, but what I did is usually fuzzy at best. When we wake up from the Ambien parties in the morning, all we can really remember is that we had a great time. Sometimes we will walk aorund the house searching for clues of what we did, and find blood stains on the carpet when none of us had cut themselves, broken windows, spilled food, just grizzly remnants of an out of control party.
Ambien is great, I love it, and it certainly is not addicting for me. I can stop using for months and not feel any withdrawal or inclination to do any more. You wake up in the morning feeling like a million bucks, and best of all, it is 100% legal to use or carry (at least for me, it's my prescription). It doesn't show up on any normal drug tests, so guys with government jobs or on probation won't test positive. I wouldn't recommend driving on it, for the reasons mentioned above, but other than that, knock yourself out. In my opinion, Ambien is definitely worth a try.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


You may read announcements from within each worksite to which you
belong. To do so, enter a site, and from the menubar, click
Announcements
. To read an announcement, click its title.
Alternatively, from My Workspace, you can view a
consolidated list of announcements from all your sites. To do so,
enter My Workspace, and from the menubar click
Announcements
. To read an announcement, click its title.
To change the ordering of the announcements list, do the following:
Subject
. Click Subject
again to reverse the order.
From
. Click From
again to reverse the
order.
Site
. Click Site
again to reverse the
order.
Date
.
Click Date
again to reverse the order.
The title of any draft announcement will have the prefix "Draft" before the title. For more information, see Posting an announcement previously saved as a draft.


Get your Train Time Here!
Schedule
Train Name
Destination
Frequency (min)
Next Arrival
Minutes Away
Add Train
Train Name
Destination
First Train Time
Frequency (Min)
Submit


Name
Course
DoB
Father's Name
Mother's Name
Fees
Name
Course
DoB
Father's Name
Mother's Name
Fees
{{student.name}}
{{student.course | uppercase}}
{{student.dob}}
{{student.fatherName}}
{{student.motherName}}
{{student.fees |currency}}


These samples illustrate the use of the Visual Basic and the Amzi! Logic Server.
ExtPred - This example shows how to create Prolog predicates that are implemented by Visual Basic procedures using VB 5.0 or later.
Hello - Hello Prolog from Visual Basic.
Types - A VB program that exercises a number of features of the Logic Server API.
WGene - The Genealogy application implemented with a VB front-end. The people data and the rules are both stored in Prolog.
Copyright ©1987-2004 Amzi! inc. All Rights Reserved. Amzi! is a registered trademark and Logic Server and e-Prolog are trademarks of Amzi! inc.


Error Output
If an error occurs while the queries are processing, Caliper displays information on the Output page. For each query that fails, the following error information is displayed:
• name of the query that failed
• selected input the query failed on
• error that occurred during processing


The custom mass set will be available in subsequent calls of get_mass()
.
You may specify masses of selected elements only. In this case, however,
calculating the mass of a formula that contains an element whose mass was not
specified will return NA
.
new_mass_set(masses, inherits_from = NULL)
| masses | Named numeric vector of the form |
|---|---|
| inherits_from | Mass set from which masses should be inherited if they
are not specified in |
A named numeric vector containing supplied and inherited element masses.
get_mass()
for calculating molecular masses, atomic_masses
for
predefined mass sets "average"
and "monoisotopic"
my_masses <- new_mass_set(c(H = 10, C = 100, O = 1)) molecular_formula("C6 H8 O5") %>% get_mass(my_masses)#> [1] 685# returns NA since my_masses does not specify the mass of sulfur molecular_formula("H2 S O4") %>% get_mass(my_masses)#> [1] NA# inherit masses from another mass set to provide default values my_masses_complete <- new_mass_set( c(H = 10, C = 100, O = 1), inherits_from = "average" ) molecular_formula("H2 S O4") %>% get_mass(my_masses_complete)#> [1] 56.06


Data crawled from the two websites, Bikewale.com and BikeDekho.com
Website - Bikewale.com
Website - Bikedekho.com
Back
HTML Pages
CSV File
Table schema for website A (bikewale.com)
- id
- bike_name
- city_posted
- km_driven
- color
- fuel_type
- price
- model_year
- owner_type
- url
HTML Pages
CSV File
Table schema for website B (bikedekho.com)
- id
- bike_name
- city_posted
- km_driven
- color
- fuel_type
- price
- model_year
- owner_type
- url


Party
best in slot
looted items
users
Looted items
add
reload
remove
nick
job
piece
piece type
is free loot
date
add looted piece
player
piece
piece type
job
as free loot
nick
job
required
these pieces looted
total bis pieces looted
total pieces looted


--- layout: post title: Trees and Probes date: 2008-03-22 00:00:00 category: personal ---
I love this article about conquering the galaxy through self-replicating probes (via Mr Jones, I think). I reminds me of trees. In less lucid moments I've often wondered what it must be like to have to grow somewhere in order to go there.


The creator of this website is
Avijit Thawani, a PhD student at USC working on Artifical Intelligence. While recovering from Covid-19, he created this website in a desperate attempt to help fellow Americans relate to Indians during this crisis. Every Indian you know is likely losing 2-4 acquaintances to Covid-19
every day. Help us
Fight On.
Undercounting
For multiple reasons, official case and death counts in India have been massively underreported. News reports (
NYT,
CNN,
NPR) have found an underreporting factor of 25-30x, but we have accounted for only a factor of 10.
Data
We use the following sources to fetch data for our visualizations:


Honzi
/
Guides
/
EVE Online
/Harpy
Fittings:
ESCAPEBAY
Battleship Escape Bay
[Harpy, HARPY-ESCAPEBAY] Assault Damage Control II Mark I Compact Power Diagnostic System 'Halcyon' Core Equalizer I Medium Shield Extender II Medium Shield Extender II Small Shield Extender II Small Shield Extender II Prototype Cloaking Device I Small Core Defense Field Extender I Small Core Defense Field Extender I


VIRUSTOTALOP
Home
Blog
Email
Github
Tools
ASCII to Latin
Base64 Decode
Base64 Encode
Unfortunately you need Javascript enabled to use my website, please enable Javascript to view the website!


Meet DashCore
Powerful Responsive SaaS, Startup & Software Template
Boostrap 4
Powered with one of the most popular front-end CSS toolkits.
Webpack
Module Bundler for modern JavaScript applications.
jQuery
Flat HTML+jQuery old-fashion variations.

New
Payment Services
Ecommerce
Business Solutions
New
App Landing
New


Paper accepted at ASE 2023: "TEASER: Simulation-based CAN Bus Regression Testing for Self-driving Cars Software". International Conference on Automated Software Engineering - 2023.
J1 presentation at ICSE on "Single and Multi-objective Test Cases Prioritization for Self-driving Cars in Virtual Environments" - slides - 2023
The Google Open Source Security Team (GOSST) shared a blogpost highlighting the significance of the SBFT event I have led in 2023
Leading of the Intl. Workshop on Search-Based and Fuzz Testing (SBFT): here the slides and Video of the international event - 2023
Leading of the Intl. Workshop on NL-based Software Engineering workshops (NLBSE): here the slides and Video of the international event - 2023
Keynote presentation at ICST (AIST workshop) entitled "Testing and Development Challenges for Complex Cyber-Physical Systems: Insights from the COSMOS H2020 Project" - slides
J1 presentation at ICST on "An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical Systems" - slides - 2023
COSMOS H2020 project presentation at WASOS workshop, hosted with HiPEAC (slides) - 2023
Paper accepted at ICST 2023: "Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Neighborhood of Real Flights". International Conference on Software Testing, Verification and Validation. - 2023
Best PhD Thesis Award: Congratulations to Pooja Rani on receiving an award at the University of Bern for her Ph.D. thesis entitled "Assessing Comment Quality in Object-Oriented Languages" (image)
Paper accepted at EMSE Journal 2023: "Machine Learning-based Test Selection for Simulation-based Testing of Self-driving Cars Software". Empirical Software Engineering.
Paper accepted at STVR Journal 2023: "JUGE: An Infrastructure for Benchmarking Java Unit Test Generators". Software Testing, Verification and Reliability journal.
Paper accepted at JSS Journal 2023: "A Decade of Code Comment Quality Assessment: A Systematic Literature Review". Journal of Systems & Software
Paper accepted at SCP journal 2022: "Cost-effective Simulation-based Test Selection in Self-driving Cars Software". Science of Computer Programming journal.
Paper accepted at TOSEM journal 2022: "Automated Identification and Qualitative Characterization of Safety Concerns Reported in UAV Software Platforms". Transactions on Software Engineering and Methodology
Paper accepted at TOSEM journal 2022: "Continuous Integration and Delivery practices for Cyber-Physical systems: An interview-based study". Transactions on Software Engineering and Methodology
Paper accepted at JSS Journal 2022: "An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical Systems". Journal of Systems & Software
Supporting grant accepted Doctoral funding at the SoE ZHAW (2022-2025): The funding will support and complement the studies of a Ph.D. student working in the context of the COSMOS H2020 project (contract no. 957254). - link
Paper accepted at EMSE Journal 2022: "Test Smells 20 Years Later: Detectability, Validity, and Reliability". Empirical Software Engineering.
Award at MSR: "MSR 2022 Distinguished Reviewer Award" - link
Paper accepted at TOSEM journal 2022: "Single and Multi-objective Test Cases Prioritization for Self-driving Cars in Virtual Environments" - Preprint
Ph.D.: Pooja Ruhal (University of Bern) successfully defended her Ph.D. thesis entitled "Assessing Comment Quality in Object-Oriented Languages" in February 2022. - link
Reviewer/opponent of a Ph.D. Dissertation of Nitish Shriniwas at University of Bern, Institute of Computer Science (March 2022).
Impact: The paper "Investigating the criticality of user‐reported issues through their relations with app rating" published in the Journal of Software: Evolution and Process is among the top cited papers during 2021" - link
Lecturer at the Summer School on "Search- and Machine Learning Software Engineering" - link - slides
Editor of Special issue at Science of Computer Programming 2022: "SBST’22: Search-Based Software Engineering – Tools" - link
Editor of Special issue at Science of Computer Programming 2022: "NLP-based software engineering. 2022" - link
...
Leading of the Intl. Workshop on NL-based Software Engineering workshops (NLBSE): here the and slides and Video of the international event - 2022
Leading of the Intl. Workshop on Search-Based Software Testing (SBST): here the and slides and Video of the international event - 2022
Innosuisse project accepted for funding!! project entitled "ARIES: Exploiting User Journeys and Testing Automation for Supporting Efficient Energy Service Platforms"


CountryDestination PortLoading PortEquipmentFreight ByShip LineCWTs/FCLCurrencyValidityOcean FreightBAG tO BagBulk To BulkBulk To BagFreight with BL feeBAG tO BagBulk To BulkBulk To BagFreight/CWTBAG tO BagBulk To BulkBulk To BagFreight/MTBAG tO BagBulk To BulkBulk To BagFreight USD/MT(FOB)BAG tO BagBulk To BulkBulk To BagAction


{{ partial "header.html" . }} 404 That page doesn't exist! Back to Home? {{ partial "footer.html" . }}


"LITTER "(Hebrews tsab, as being lightly and gently borne), a sedan or palanquin for the conveyance of persons of rank (Isaiah 66:20). In Numbers 7:3, the words “covered wagons” are more literally “carts of the litter kind.” There they denote large and commodious vehicles drawn by oxen, and fitted for transporting the furniture of the temple.
"LITTER "(Hebrews tsab, as being lightly and gently borne), a sedan or palanquin for the conveyance of persons of rank (Isaiah 66:20). In Numbers 7:3, the words “covered wagons” are more literally “carts of the litter kind.” There they denote large and commodious vehicles drawn by oxen, and fitted for transporting the furniture of the temple.


Broiled Tilapia Parmesan
From: AllRecipes.com
Prep Time: 5 min |
Cook Time: 10 min |
Servings: 8 |
Ingredients:
- 2 pounds tilapia filets
- 1/2 cup Parmesan cheese
- 1/8 cup butter, softened
- 3 tablespoons light mayonnaise
- 2 tablespoons fresh lemon juice
- 1/4 teaspoon dried basil
- 1/4 teaspoon ground black pepper
- 1/8 teaspoon onion powder
- 1/8 teaspoon celery salt
Estimated Weight: 2.6 lbs
Directions:
- Preheat oven broiler. Grease broiling pan or line with aluminum foil.
- Mix Parmesan cheese, butter, mayonnaise, and lemon juice together in a small bowl. Season with dried basil, pepper, onion powder, and celery salt. Mix well and set aside.
- Arrange filets in a single layer on prepared pan. Broil a few inches from the heat for 2 to 3 minutes. Flip filets over and broil for 2 or 3 minutes more. Remove filets from oven and cover with Parmesan mixture on top side. Broil until fish flakes easily with a fork, about 2 minutes.