Jametis Personi of Whittington and his cat. Hugh Fitzwarren, Mercer, Redby. Kim Stish. Alice Fitzwarren, his daughter, Redby. JC Guarn. Dick Whittington. Redby Philippa. Cat. Sandra Meows and Pears. Redby Andy Minter. Dorothy The Cook, Redby Tom. The Fairy Bluebell, Redby. Cory Samuel. Captain of the Ship. Redby David Lawrence. Sovereign of Zanzibar, Redby. Phil Chenevere. First Apprentice. Redby Anne Chang. Second Apprentice, Redby. Ren Eisling. First Girl. Redby Anna Roberts. Second Girl. Redby Trisha G. Third Girl. Redby Lucy Perry. Helmsman. Redby MB. Narrator and Stage Directions, read by Ruth Golding. End of Dramatis Personi. Scene one of Whittington and his cat. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information, or to find out how you can volunteer to, please visit LibriVox.org. Whittington and his cat, or Harley Quinn, Lord Mayor of London. Grand Comic Christmas Annual by E. L. Blanchard. Scene one, Old Cheapside near Bow Church with City Condit. On Thasher of Shop, Hugh Fitzwarren, Mercer. May Day Morning. Merry Peels of Bells from Church Belfrees as Curtain Rises blended with strains of Old English air to which enter the city prentices and their lasses, bearing huge branches of May and ranging along stage on each side. Change of air now is the month for Maying, and troop of milkmaids enter with garlands and baskets of daisies, buttercups, primroses, violets and caslips. Air changes to twos in the merry month of May and mummers enter. Apprentices from each side appear from shops. Welcome, my lads, who up at early morn, these glorious bowels of May have hither borne. Fair greeting to a pretty lass's crown with dainty garlands from the woods around. Daisy's and buttercups from Village Green.  And violets, sweeter than anything. We're losing good old customs, more's the pity. Little there's green about us in the city. Out of our banks quite different branches grow. And cent per cent all odours that we know. About cheap side we'll implant our stocks. While round our shipping only grow our docks. Look, down Corn Hill, the maple now they fix. Up like ourselves a little after six. We have May Day while the sun shines. Let us share the cakes and cream in Milk Street they prepare. Let's join the sports and merry May to all. Prentice lads and lassies wreath shop fronts with flowers, garlands hung. Then Morris dance, taking characters off at back. Master Hugh Fitzwarren enters from shop in nightcap and dressing-gown. Come lads and lassies, time for business quite. You have had your May, now work with all your might. I deal in everything the world produces. Wonderful world! Here come, violets, no excuses. Apprentices get to work. Shops open down cheap side and business of the day begins. Porters enter with packages for Fitzwarren. Variously labelled silks from France. Velvet from Genoa. Broadcloth from Yorkshire. Glass from Venice. Into this Fitzwarren falls with smash. Hogshead rolled in labelled wine from Spain. Clarks try to taste and are approved. Carrier with egg chest labelled eggs from Essex. Fitzwarren detects the eggs as not being fresh and instead of paying carrier knocks him into the egg chest with crash. There's a punishment for delay on the road. Business continued till bales of goods all taken off and stage clear. Breakfast we must dispatch with expedition so great just now is city competition. A savory chime and round of beef provide no bad investment when transferred inside. I'll breakfast here. Then all my ledgers look, doubling the interest both in beef and book. Apprentices bring out table, chair and large book labelled ledger. They then arrange breakfast, ham, beef, bread, jug of ale. Fitzwarren eats breakfast and examines ledger. I bought of various goods of few much wanted I have heard but also purchased many things which seem to me absurd. Yet still the worst I try to think will go off well along. Hello, what's this to me? I say there's another good man gone wrong. Another good man gone wrong. He has been in my books for long. It's this year and others queer would make a good man go wrong. Would make a good man go wrong. As Fitzwarren does a short dance of desperation he detects the clerks with long pens behind their ears joining in and they are rebuked accordingly during which Fitzwarren's nightcap gets crooked. Gone is my appetite. I feel today I'm breaking fast in quite a different way. Table, et cetera, removed and exit apprentices. Where is my Alice? Here, Pa, see me fly. Enter Alice from house. Your precious nightcap has gone all awry. That nightcap child is emblem of my fate for things just now go anything but straight. Largely I've purchased silks which must be paid for but in my till no preparation made for. Bad debts are on my books some turks I've bought which don't turn out precisely what they ought. Traffic of street going on during this period illustrating old London characteristics. Oh, Father, don't go in this way. Don't. Your father don't intend it, child. He won't. Would you seek cool fate to ruin carry him? Find some rich fellow out and go and marry him. Marry? I marry. Business he might learn and share as partner all my great concern. What, Father? Sell your child to keep your shop? Going with all the fixtures. Going? Yes, stop. Of course I don't mean that, exactly. Stay, we must reduce expenses anyway. We must retrench. Our apprentices will thin then. They eat their heads off so there's nothing in them. Cut down the cook.  I doubt me whether we should cut off in this way all together. We are not bankrupt quite, but it seems comical to see Fitzwarren do the economical. A boy to run of errands, clean the boots better than serving men. Your purpose suits something in this style. It is a sad disaster. Here's a chalk drawing done by an old master. Fitzwarren has chalked on board large inscription, a lad wanted inquire within. An ancient joke suggested by this dodging. Here he at once may find his board and lodging. Madeleass is returned to greet Alice with floral crown as the result of election of the May Queen. Queen of the May, may I that station fill? You, darling, are all spring. Do what you will. You look so charming that today, who knows, some rich old alderman will perhaps propose. Is out so bright love charming every eye? Blossoms pink and white love meet us passing by. All the little songs do sing a merry tune, Telling us they welcome summer time of tune. Leafy powers twining under sunny sky, All appearing happy, happy to am I. Here I come to meet you on this merry day, To tell you how I greet you as the Queen of May. Short trip takes Alice and may girls off, and Fitzwarren returns to shop. Enter Dick Whittington with stick and bundle over his shoulder. He looks weary and fatigued, gazes round at shops, and comes to front. So this is London. Dick, you once were told that every London street was paved with gold. Nothing but stones I see for all my walk. What precious nonsense country people talk. Fifty long miles since yesterday I've trudged, even a penny for a ride begrudged. Foot sore and famished, weary, worn and weak. Fortune indeed seems much too far to seek. The city conduit, I will call here first. Its grateful stream at least will slake my thirst. Goes to conduit and rests. Joyous recognition of Whittington and his cat. Why, Tom, my faithful Tom. Hello? I say. What have you followed me, and all this way? Was ever cat so faithful, fond and true? What brought you up from Gloucestershire? Erm. You came to me, but then the cause, Puss, how? Did Molly treat you cruelly? You dear old thing. So far from our abode you, trusty Tom, have traced me all the road. Me, how you did it, bothers. But, Tom, now mine, you nair shall be another's. We'll never part. I see you gladly stare. What ere our fortunes will those fortunes share? Free to go anywhere about this spot. We have both the freedom of the city got. As one of the family, Thomas, I shall treat you. My spirit's quite revive again to meet you. A famous ratter I'm quite aware I'm sure to find in you. And all confess that more or less no better cat did mule. Should old maids fall in love with him, I should not much complain. But should some pretty girl look sweet, I might observe again. Tommy make room for your uncle, there's a little dear. Tommy make room for your uncle, you'd better disappear. Here, you know that cats must keep their place, I'll take the place of you. When maidens get to want a pet, make room for your uncle too. Cats draws attention to board outside shop. What's this? Lad wanted, and a ply within. Good master Thomas, here we will begin. You hide behind the doorpost, just like that. They mustn't see that I have got a cat. Cat conceals himself, witting to knots at door. Fitzwarren comes forth, now attired in full dress as tradesman of the period. During dialogue the cat plays sundry comical tricks with the Mercer. Please master Mercer, as I look upon, you want a lad? Well, I'm the lad you want.  That's it sir, that's my case. I mean a lad who has come about the place, not an apprentice. No sir, country boy, who's come to town in search of some employ. You are dressed according to the period. I'm not wishing to be thought out of my time. Your name? Dick Whittington. Name well began, I hope you'll show your wit in town, young man. That's good for me. With H it spells. We always drop our H's round bow bells. How much a week? Five shillings. Three, and stop. I see that H's are not all you drop. Well, I agree, you'll find me all desired. I'll raise your wages after you are hired. Come, that's not bad for me, I'm not a stickler. Is it a bargain? Signed and sealed particular. As errant boy, you'll find me handy one ever to your wishes true. This youth is not a jack-a-dandy. I really think that he will do. I'll never stick but all attend to and shortly learn the rule of free. For when a boy a shop you send to the best of schools it ought to be. Wait and measure shall be pleasures nothing puts me in of fuss. Though not seven up till eleven no sort of what comes amiss to us. Prentice lads and lasses return with mummers etc. Alice as queen of the may born in on throne. Large banner scroll born over her head and merry may to all. An exchange of kind looks between Alice and Whittington. Cat has climbed up to a balcony to enjoy the fun, and when Fitzwarren leads stick into the shop, the cat slyly gets into the house by window, and scene closes on animated group. End of Scene One Scene Two of Whittington and His Cat by E. L. Blanchard. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer please visit LibriVox.org The Kitchen in Fitzwarren's House Large fireside of the period, cupboard practicable with shelves, window practicable. Enter rapidly the Prentices, one bearing huge joint of uncooked beef on tray, and the others loaves of bread on trencher, followed by Mistress Dorothy the cook with large basting ladle. May sports indeed. I'll sport you. You folks never give your insides holiday, however.  Fetch the table. Quick!  So you take pleasure while to work. I stick. Prentices return with large kitchen table in centre. Queen of the May are pretty doing this is. If you want May queens, you want me not Mrs. Place on the table beef and bread correctly. You'll put them down a different way directly. Prentices arrange beef and loaves accordingly. You have set down one and carried one, you know. Now add yourselves to what remains and go. Prentices belaboured off with ladle. Always about some precious dinner flurried. Was ever cook so wonderfully worried? Bother the dinner. Drat the kitchen shelves. Why shouldn't dinners go and cook themselves? Prepares joint for roasting at fireplace. The blessed fire is half of it poked out. Now the whole log I'll have to go no doubt. Brings log to hearth which now brightens up. Expect it to wake early and work late. We are up and stirring long before the great. Stirring wood, etc. Enter Whittington followed by Fitz Warren with his ledger. After your duties you had better look. This is our kitchen and that is our cook. Whittington makes a profound bow, disdainfully responded to by cook. Good Mistress Dorothy, this is the boy I took this morning into my employ. Yes, Mum, please try me. I'll clean cups and cans, wash up the dishes, polish pots and pans, run messages. Oh, won't I quickly run? Do errands. Oh, how well they shall be done. A sort of odd boy, he'll most useful be. An old boy, very odd I plainly see. Answer me now, no nonsense but be quick. Your name is? Whittington. Your short name? Dick. Then Dick, sit down and give that joint a turn. I'll cut your ears off if you let it burn, while I some good hard dumplings make with suet. Beats Dick with ladle.  I'll do it. Dick on three-legged stool at fireplace turning joint. Cook rolls out tub-labelled flower tub, and gets materials for dumplings from larder, chopping suet, etc. etc. Fitzwarren busies himself with his ledger. So little to receive, so much to pay. Things in the city don't look well today. May 1, year 1393. Yeah, there should be an entry. Let me see. Cat slyly enters at window, unobserved by all but Dick, who exchanges salutations. Cat finds a place of concealment under the flower tub. Comic business. Cat and Fitzwarren. Enter Alice rapidly with hose. Oh, Pa, you're wanted in the shop. Pa, please. A gentleman requires some things like these. Unfolds role showing very large stockings of the period. That charming form. And what a face to match it. Come, turn Dick Whittington, or else you'll catch it. That's a large order, girl. We must attend to it. Go take down his address and say we'll send to it. Love making of Whittington and Alice. Cook with rolling pin. My love, I must dissemble. I mustn't speak a word. Just look on this and tremble. My warnings, you have heard. This customer who wants me ought many things to buy. I hope he won't be putting on a dozen pairs to try. Not before Pa, dear. Not before Pa. Show that you love me, but not before Pa. Not before Pa, dear. Not before Pa. I don't mind your winking, but not before. Below Pa, dear. Shares below Pa. Long I'm afraid love will stay as they ought. Before Pa, dear. Not before Pa. Will they be worth anything particular? Bewitching maid, I on those looks could feast day after day, week after week at least. But now you have gone some hungry pangs begin. I feel an awful emptiness within. A crust of bread, Mum, would you be so good? It's many hours since I tasted food. Not bit nor sup until your work be done. My pots and pans want scrubbing every one. Come curfew time, I'll see about your wishes. Now you must scrape the trenches, wash their dishes. There, draught the dumplings. What a time they take. But underneath the meat they'll nicely bake. During this, Cat has gone to cupboard and selected eatables from larder, pie, ham, beef, etc. and put them into flower tub, rolled by Cat towards Whittington, turning the spit while Whittington eats the repast so provided. Cat, having got a loaf for Whittington, conceals himself while Cook places dumplings in embers beneath joint, Whittington being just in time to resume his old position at the hearth. Now, dinner to prepare. I mean to have my share. But you, you lady vagabond, will not get any there. Upon a good large plate, the dumplings bring me straight. Two meals a day for errant boys and those at six and eight. Six and eight, six and eight, six and eight. That's quite enough, that's any rate. So I will have some time to wait when Bobo's time for six and eight. I've had enough at any rate to last me if I have to wait till Bobo's time for six and eight. To close of air fits Warren and Alice return. Business improving, useless naves discharged. My hopes of profit now become enlarged. If fate will have me, Mayor of London, let it. Turns impatiently to large hourglass. How long will dinner be before we get it? Mary, come up and go mercy if eggs. You get fresh hands and work them off their legs. Yes, Pa, to do much more Cook is on table. You'll want a nice young man to wait at table. You have asked some city friends, you know, to dine. How nicely he will hand the cakes and wine. Pointing at Whittington. Well, about dinner. There, it's nearly done. Finds Whittington, thanking Alice. Drat, you young violet. There, take that for one. Gives blow. I won't bear this ill usage every day. Even from one I love, I'll run away. So you must leave the place, sir. Where you sat? Cat, seen on stools, spinning joint round. Blessed of those in here, a great Tomcat. Chase after Cat, who demolishes crockery in exit. Which prefer the fields where the air is pure and sweet. The city I had better wonder from. Little cocks and hens with the cattle in the place for me and Tom. Exit Whittington. As Dick goes off, Cat returns and carries off joint, doing more mischief to plates and dishes and running off after his master. Prentices rush in. Making a splash, causing a crash. Off with a dash, all gone to smash. Well I could see here how it would be. The Cat with the dinner departed. General despair and all excellent after Cat, variously armed. End of scene two. Scene three of Whittington and his Cat by E. L. Blanchard. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Holloway with distant view of London by sunset. Bank of Bluebells. Milestone inscribed three miles from standard in Corn Hill. Enter hurriedly from back, Dick Whittington. He looks on the city in the distance, indicating the absence of pursuit and then looks at inscription on Milestone, resting on the stone as he speaks.  I am out of breath with running. To catch me a pursuer would be cunning. Pursuer, ah puss, who are you with now? Poor Tom, in fancy I can hear thee meow. If you, like me, a tourist's ticket took, we've made quick journeys, managed by a cook, of London's buildings, standing somewhat higher, on this steep hill behold the lofty spire. Why take this three miles run? For answer this is his. Three miles are quite as good as three such misses is. Rises and comes to front. Not in sooth an ill-behaved youth, in fact I'm a squire's son, but never did one feel blow severe as poor Dick Whittington. For cacostern and never would on me kind as Vista. I had to run, but she served me so. But why, low spirits, better I should try get, for isn't Holloway the way to hide it? The twilight deepens and the sun has sank, suggestive hour of Holloway to the bank. Upon this bank of bluebells I'll repose. My favourites make them up while here I doze. Whittington rests on bank and the fairy bluebell appears. Lights down. Behold the fairy bluebell! Bells, you know, are always sounded when attached to bow. In field and garden, hedgerow bank and bower, listeners would find a voice in every flower. Dream on, good youth, of honours great in store. Chosen Lord Mayor of London three times hour. List to the bells that call thee back to town, where fame, Sir Richard Whittington, shall crown. Bluebell Elves appear, evolutions of the elves, the corals strain, turn again Whittington, thrice Lord Mayor of London, group and picture formed.  Whittington awakes, fairy bluebell and elves disappear. Whittington advances to front. Thrice Mayor of London, did I hear a right? Though bells I thank thee, I return to night. Friends of our childhood, the voices with no meaning up the hill, and rings Tom Proof's faithful still. At rushes in with meat placed at Whittington's disposal with great demonstrations of delight. Very kind with this to treat me. You thought me hungry, so you came to meet me. Yet much I fear, ah, puss, you can't deny it. You didn't, Thomas, honestly come by it. Cat owns the soft impeachment. Here's sound of footsteps, becomes alarmed. They have traced you to this place as I've suspected. Well, stand by me, and you shall be protected. Enter Fitzwarren with grotesque hat, thick mantle and large lantern upon staff, followed by cook out of breath, armed with large toasting fork, and equipped for night expedition according to the period with city prentices for an escort. I've found you, have I. Oh, let me get at him. There, that's the cat who stole the vitals, get at him. Who ran off with my dinner, eh? And this is all remaining of it now. I was going to be so saving, too. Thus brought, your joint sir has gone further than you thought. Ha, ha, I like thy jest, but curse the cat. I don't like meat gone quite so far as that. Enter Alice with hood and mantle on. I have a great mind. You have indeed, I'll know it. So having such a great mind, Pa, please show it. Make withington the foreman in your shop, and let the cat return with him and stop. Give me a trial, sir. For that sweet look, I'd bear the worst of usage from the cook. It aren't my fault. Rows isn't my desire, but cooks get hot in temper through their fire. All then is settled. I've a ship to load, and you shall help to see my goods bestowed. Off in the morning goes that ship to sea.  We represent the members of the golden ancient vans To make a sea of precious light. Talk about your old man's walk. We quickly move on summer night To dance about the streets. The left foot first, the right foot follow The hill down mighty hard. Up and down to London town, Dance as the land and guard. Counting house near the Thames. Shipping in the river seen through window. Apprentices bring on large office desk and high office stool. Enter Fitzwarren and Whittington. Come, muscle lads, there's plenty to be done. Send off the bales. We'll take them one by one. All must assist.  Here, Whittington, my lad, you won't upon that office stool look bad. Purch yourself there. You write a good round hand. Make out the invoice, Dick, you understand. Whittington seats himself at desk in centre. Begin. Fitzwarren to all places trading here signs and seals this as his bill of lading to all concerned. Mind, put that down in toto. I'm not quite certain where we're going to go to. To all? Concerned. I have that down quite plain. What, all? All. All. Well, put down all again. All includes everybody there, you see. You can't in business to particularly be. Two hundred dozen of best English hats. Six hundred gross of boxes of cravat. Six thousand night caps best we can produce. A million shirts for ordinary use. Twelve million stockings warranted to last. Stop, I say, Governor, you get on so fast. Writing. Six thousand night caps. But why send all there? My goods are warranted for anywhere. Does he suspect I'm selling off my shop in case stern creditor should on me drop? He don't suspect, or if he did, I think he wouldn't be so careful of the ink. Twelve million stockings. What a lot to don. Oh, aren't you, Governor, putting of them on? Well, now that's done. Twelve million orts, orts, orts. With sixteen thousand bales of various sorts. Whittington jumps down and rolls up large bill of lading. All done. And so some other folks will be when they find out my stock is all at sea. Enter captain of ship. Goals must be put on board, sir, very soon. We are trim for sailing. Tide will serve at noon. Right, skipper. Sharps the word and quick the movement. There seems to be in business an improvement. Fitzwarren gives captain instructions. Packages born across stage by apprentices and porters. Bales variously labelled light goods, heavy goods, per ship Alice, from Fitzwarren, London. Captain directs them off and follows. Enter cat carrying small leaven case labelled shaving tackle. Why, puss, the folks will say to see this stored.  Enter Alice. Why all the shop you have emptied, father?  I've named the ship dear Alice after you, and wanted all the freight I had to spare to make it worthy of the name you bear. I'm even going to send the cat to sea. If Tom goes, then another goes. That's me. If he goes, I go.  If you go, I go. There's an end of that. Enter cook. If they go, I go. Won't be left behind. And now I hope we all know our own mind. Whatever befall it seems, then all in the city won't stay behind. Resolved to gold be said, have given us labor in vain. We are having, we are scarred, and by everyone worried, we don't want such cheap bit again. There's a box on the chair, and a hamper on the stair, and we shan't want the street door key. Select prison little rabbits, when you will let my habits, we'll all go with the maid to sea. Each obtains a little band box, or carpet bag for the voyage, and all dance off successively. End of Scene 4 Scene 5 of Whittington and His Cat by E. L. Blanchard This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information, or to volunteer, please visit LibriVox.org The Ship at Sea Sailors discovered on deck, all busy stowing away ship's lumber, some mending a sail, some at carpenter's work, bustling the scene of animation. Old English air in quick time, when the stormy winds do blow. The Alice inscribed on ship's boats, etc. Captain advances. A breeze springs up, the water's getting rough. Keeper before the wind lads, luff boys, luff! Steady boys steady, don't you see that thrizer? East and by east, not east, dear hearer. Without. Aye aye sir! The trade wind soon upon our course will tell, oh here's the cat, don't look uncommon well. Captain retires up. The cat enters, visibly disturbed by the motion of the vessel, and expresses his discomforture, their act to the amusement of the sailors. Cat goes to side of vessel. Whittington, Alice, Cook and Fitzwarren, all in seafaring costume, now ascend on deck by hatchway. Fitzwarren being uncomfortably affected by the movement of the ship. Ah, this is jolly. Affecting gaiety. Jolly, right, that's it. Why don't the ship stand still a little bit? Going along like this is quite delightful. I call such goings-on-miss something frightful. Back to cheap side I'd go, if I'd my will. Cheap side, it's inside where I would be still. Cat returns from side. Hello, Tom, what's the matter with my pet? Haven't you got your sea legs, Thomas, yet? Music expressive. Cat vainly endeavours to be cheerful and tries to chase his tail, but finally he and Fitzwarren link themselves arm in arm and steady themselves towards Porthole. Dear Alice, you make smooth the roughest way. Love's glorious sunshine brightens every day. You see, Dick, my cheek, what colour rushes. I do, dear. Kisses her. Oh, how nice. Excuse my blushes. If this is the effect of going to sea, some gentleman will soon get kissing me. Puts herself in the way of temptation among sailors. Cat and Fitzwarren return to centre, feeling better. Folks are ill when first a ship they visit. It's nothing when you're used to it, Thomas, is it? Try unfantly. Meaning, as we give it, right as a- what's it cook, you know? A trivet. Right as a trivet, that's the sort of thing. I shall expect you both to dance and sing. Oh, Mr. Whittington, that was a disheartener. But when we get safe home, mind, you're my partner. Of goods no more you'll want to be retailer. Of course, I really feel now a whole sailor. What cheer, my hearty. Hello, Catohoi, a vest. Billy the Binnacle, my boy, splice the main brace. Unfurl your four-top spanker and bring your figurehead astound to anchor. A lurch brings both Cat and Fitzwarren into a sitting position on deck.  Ah, bless your oldly scuppers. Let's have grog. Rises with Cat as eight bells strike. Eight bells, the starboard watch is set for night. That's suppertime. Your watch is set quite right. Here, pipe all hands to grog. Dear eyes, the sight of it. Missons and marling spikes will make a night of it. Grog brought, captain and sailors. Hall in your precious slack, clear decks below. Now pull away, my hearties, you heave-ho. All ready to drink. Stay, there's a toast. Let good old customs be. Sweethearts and wives. It's Saturday night at sea. Sweethearts and wives. Now merry at eight bells. Cat will oblige. A dance in walnut shells. Hornpipe by Cat in walnut shells. Fitzwarren with fiddle. The rest follow in dances. At first, severally, then altogether. At end, captain advances. There's a stiff breeze above the starboard beam. Keep a lookout for squalls. Schools, that would seem your proper duty, Puss.  Cat goes up rigging. He does this sort of thing in best of styles. He's got a custom to it on the tiles. The cat has reached the top. It's my belief he's furling something. Taking in a reef. Wonderful cat. He runs about so fast. Shiver my timbers. Now he's up the mast. How small he lurks. He's great, though, for a speck. Now he slides down and leaps upon the deck. Cat slings himself down and leaps upon deck. He says there's land in sight. They make all taunt and tremorads for the night. Animated business of sailors running up the rigging to see the land, etc. Fitzwarren, Whittington, Alice, Cook and the Cat, who puts on red nightcap, prepare to turn in for the night and descend hatchway. Lights hung on ship, stage dark. Bells are always going on. All things done by bells. Bells proclaim whatever's done. Useful things are bells. When it's dinner time, we know. Always by the bells. When it's time to go below, then we hear the bells. Appearance of the Fairy Bluebell So far in safety is the youth conveyed. Here I must call on other powers for aid. Bright blossoms of the sea. Receive my thanks. Rise from your emerald beds and coral banks. Ye nymphs and mermaids, singing as ye pass. Trimming fair tresses with your comb and glass. Round Whittington, your kind protection fling. Ye bells of ocean by a magic ring. Chance formation of the vessel and grand ballet of marine nymphs. On Tableau scene closes. End of scene five. Scene six of Whittington and His Cat by E. L. Blanchard. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. The Coast of Zanzibar. Enter Whittington, Alice Cook, Fitzwarren and Cat. Cargo and shipping port. And here we are, after our voyage safe at Zanzibar. And now I have come here with all the lot. Nobody wants a single thing I've got. They will, Pa. Buy and buy. That's very well. If they will buy and buy, I'll sell and sell. I smell some dinner cooking. We may call this place a civilized country after all. Business with Cat. Observe my cat. I do what you're requesting. His tail, I think, is very interesting. He means that somebody approaches, watch him. He looks as if he saw a mouse. He'd… Caught him? Let's go behind the counter. Yeah, I mean tree. Hope they don't deal in articles like me. Let us be retreating. Don't go very far. Each can be repeating. Words of Zanzibar. Find it very easy. Oh, you sound like R. Keep your lips like me. See so and there you are. Oriental music in distance. Cat signifies the approach of the natives and indicates the advance of king and court. Whittington and the rest conceal themselves at side. Music becomes louder and enters sovereign of Zanzibar, preceded by body of Zanzibar guards and ladies of his court. Here will we dine. You have wrought the feast along with you. If not, I should exclaim guards that was wrong of you. You see, I am the mildest monarch out. I have to smile and twist my head about and all my subjects do just what they are bid. If they did not, they'd every one be chid. Chid, that's the custom to which I'm addicted. Chid's the severest punishment inflicted. My pretty puppets who have come so far to feast with him who rules over Zanzibar guessed you the reason why I brought you or some twenty miles to dine by the sea shore. I'll tell you, then you'll know why we've come because my royal palace swarms with... If once they hurt us, no more cosy chats. Because my royal palace swarms with rats! Cat rushes out at the word and Whittington pulls him back by the tail. Rats in my city, rats the country round. Rats in my palace everywhere abound. Rat tails always seem to be in fashion.  Bring forth the scroll, my minister suggest. May rid my nation of this dreadful pest. Guards unroll very large illuminated scroll, thus inscribed. Ten sacks of gold for a good rat destroyer. Whittington advances. There's the reward. And here's one to claim it. I hope I'm not intruding. Pray don't name it. Some friends of mine who may be here of use allow me mighty king to introduce. Whittington brings on Alice Cook and Fitzwarren. The greatest pleasure really feel quite proud. Whittington introduces Cat who has been peeping at wing. I hope my cat may also be allowed. Presents Cat. A cat according to an ancient book is always privileged at a king to look. What a strange animal. Really feel quite sure a sort of thing I never saw before. Cat introduced all round to Salfrin. I am a merchant come to Zanzibar with. Unrolls pattern book engrossed with Cat. Not today, sir, thank you. Self repair. Why don't they hire a good plain cook at least. Illustrious strangers. Will you share our feast. You're heartily welcome to Zanzibar. Give me a grip of your hand. You may out of a bother help a friend with not another. And give him a helping hand. Such a monarch we're proud of saluting. And along pretty well we have got. For this fact there can be no disputing. Here's not what you call a bad lot. Such a monarch they're proud of saluting. And along pretty well they have got. You will see there can be no disputing. I am not what you call a bad lot. Now to our royal banquet, pray don't spare it. Most freely I invite you all to share it. All are seated and the feast is commenced when suddenly the king discovers a rat at his side and other rats appear on table among dishes. These great rats. These great rats. These great rats. See how they run. They see how they run.    These great rats. These great rats. Rats appear running about everywhere to alarm of everybody but cat who watches his opportunity. Cat now all over the place rats disappear. Cat forms picture in front with guards all round. Banquet table got rid of. Hail to great Thomas, king of English cats. All hail your great deliverer from rats. General, congratulations and guards present arms. Let every honor to the cat be done. Sound the drum and trumpet. Fire off every gun. Upon his gracious person each attends. Guards bow. With gorgeous robes provide his noble friends. In grand procession and with royal array we'll celebrate this great, this glorious day. Flourish of trumpets, guard of honor and ladies of court take off Whittington, Alice, Cook and Fitzwarren to be invested with rich garments. Henceforth when boys see anything the matter, be freedoms, war cry, hi, hi, who's your ratter? My guards to such a genius orbit, boobies, invest it with the ardor of the rubies. The cat, already supplied with a rich mantle, kneels and the sovereign of Zanzibar clasps a ruby collar round the neck of Puss. Guards form in line. Ten sacks each labeled gold born across stage. Cat produces large receipt for cat and company. Ten sacks of gold received Whittington. I've a very good mind unto London to go. It's a city most worthy of a whole. And a place that we Africans all ought to know as we all have been long ago told. So should I be wrong in supposing along I could go with you all, I've no doubt. You would kindly take me all the wonders to see that I long have been hearing about. For this I don't think I'm too stout. Of course it is open to doubt.  Whittington fits Warren, Alice and Cook returns splendidly attired. To London, and as ancient legend tells, we meet within the bell free of bow bells. Excellent. End of scene six. Scene seven of Whittington and His Cat by E. L. Blanchard. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. The Bell Free of Bow Bells. Enter in grand procession after the style of the Lord Mayor's show. Zanzibar guards to clear the way. African prints with barrow painted emerald green, white and gold, labeled meat for the cat. Six milk maids, two and two, bearing milk pails. Each milk pail labeled milk for the cat. Bearers with white wands, marshalling handsomely dressed page, bearing on crimson cushion, handsome collar, inscription on banner above, collar for the cat. A Chinese bearing a large china cream jar on silver salver, labeled cream for the cat. Two cooks bearing large tray, tablecloth on tray and rich tureen, steam from tureen. Attendance with lighted candles on each side and banners inscribed, lights for the cat. Four bearers with handsome basket with blue and white sat in cover lid, banner cradle for the cat. When in centre of stage, one pull of bearer's sends up the head and shoulders of half a dozen kittens. Second pull brings down from bottom of basket richly ornamented pincushion inscribed, welcome little strangers. Great flourish and cat enters magnificently decorated, followed by servants with rat shaped heads, small powdered wigs and cocked hats, and their tails trailing on the ground. Sovereign of Zanzibar, Wittington, Alice, Fitzwarren and Cook now enter, followed by grand palanquin curtains to draw banner comfort for the cat. Curtains drawn, discovery of white cat in bridal dress. Two white cat bridesmaids with wedding favours, a little bit of wedding march. White cat advances affectionately towards Tom, who is overpowered with admiring awe. Dick encourages cat and leads him back to centre, Alice paying the same attention to white cat and procession go off with bridal peel.  Lord Mayor of London, now he is proclaimed, and citizens are proud to hear him named. Bless you, my children. May your present joys give great encouragement to girls and boys. The Cook and Sovereign United, Fitzwarren joins hands of Alice and Wittington. Here's success to Wittington. All the money. May he long attract the town, bringing a company. See some jokes, come and jump with me. See that you think all our spokes, no bad company. So remember me, for one old- All this all a pleasant sight, good for you, left to write, goes on most pleasantly. Belfrey, you behold, the song is ended and our story told, that Bells have clappers most of you will know. If hands but move, we Bells have power to live. I show you where my sister flowers grow, and waving palms can winter shelter give. Sets clapper in motion. For all things settled quite, we wish you a good night. May Wittington with Londoners forever hear the bell. May happiness abound in the Mayor's nest he has found. And the cat, who is a mouser, prove a muser as well. Transformation, Harlequin Ard, Commences End of Wittington and His Cat, or Harlequin Lord Mayor of London. Grand Comic Christmas Annual, by E. L. Blanchard


Here's a cool idea about what to do with your leftover mac and cheese. Check it out.  That's the cheesening. And we're gonna make a little hole in it. Grab some of your mozzarella, put it right there. More mac and cheese, right on top. And we're gonna ball that up, just like that. Now we're just gonna coat them in some flour. Get them rolling around, just like that. Now you're gonna need some eggs and some panko. And you know we gotta add some of that danos. Oh gee, that's the green top to the panko. Give it a mix and give it a stir. Give it a roll. And now lastly, into the panko. Let's go. All right, after about four minutes, maybe five. They're done. So now it's time to get a bite. That's amazing. You guys, share the love, share this video with someone that you love. Put a little danos on there. Yum, yum, get you some. We'll see you next time. Keep sprinkling, my friends.


So, as I said, we will quickly look at the queries which were raised in previous sessions about unions and jagdarrays and about the execution time of turbosy programs and then we will proceed to the discussion of files. Although we are supposed to have discussed text files yesterday, so what we discussed in terms of basic IO will be extended by properly defining the files. We will look at possible file operations and more specifically we will look at binary files and random access files. Then we will look at two examples, one which I will be covering explicitly on binary search, the multiplication arithmetic example will be relate to you through a sample set of slides and programs later. But we will discuss the workshop projects for which we will take some examples and we will talk about the contributions to be made to the question bank. I understand a lot of participants have questions on this workshop projects. So, we will discuss those in details today. First, queries from the previous sessions. So, thanks for the person who pointed out that unions apparently require less storage than structs. So, why is it that we prefer structs and not unions? So, I studied union in fairly great detail and found out that union actually does not accommodate all the components that are defined in the union simultaneously. So, it is a spatial structure actually which permits the programmer to keep different types of data values in the same location. Obviously, this cannot happen at the same time and therefore at one instance there will be one set of values. At other instance, there could be another set of values and it is not just the values of the same type but values of another type. In short, the program is able to interpret the data stored in a common location differently depending upon the context or depending upon what values are kept inside the memory allocate. So, union and structs are not comparable at all. This is the point that I would like to make. It is wrong to compare union and structs. The purpose is entirely different. When I define a struct and when I define a variable of the type struct or an array of the type struct, explicit memory is allocated and actual values, real values of the appropriate type can reside in those memory locations as long as we wish them to. Unions on the other hand do not allocate memory to different types of components which are defined as part of the union. But rather union is a mechanism to permit different interpretation of data stored in the same location obviously at different times. So, here is an example of use of union. Suppose we wish to prepare a text data file containing names and details of our remote centers and for each center the names and details of the participants. As you all know, we have differing number of participants in different places. So for example, Ahmedabad we have 30 people and let's say then we will have a record describing Ahmedabad as the center, 30 as the number of participants and let's say Anita, Chirag and such others, 30 of them, these are the participants records. I'm sorry, I did not have the actual enrollment number accessible last night at about three o'clock. So I have given these numbers as artificial enrollment numbers. However, the names are real. Similarly, if we have 32 participants in Amaravati, there will be 32 records of the participants with enrollment numbers and name let's say this is simplified version. But I will have one record naming the center Amaravati and naming that there are 32 participants here. Now notice that total number of records that I will have will be equal to the total number of participants that we have in the workshop plus the total number of centers that we have in the workshop. However, the data that is seen in this particular record, Ahmedabad 30 or this record Amaravati 32 is different from all other records which contain an enrollment number and name of a participant. Now if I were to read this data each record into a memory location inside my computer, then I will have to interpret this record differently and I will have to interpret this record differently. Obviously, both of them will never coexist in that memory location. I will be either reading this or I'll be reading this. Unfortunately, before I read, I cannot make out whether that record describes the center or whether that record describes the participant at the center. To distinguish, I have included one more column or one more data field in each record which I briefly call the data type or record type. So here for example, one is the record type for records which describe centers. So consequently, Ahmedabad 30 has record type one, Amaravati 32 has record type one, but all other records which pertain to the participants' information have record type two. So this record will read as one blank, Ahmedabad, blank 30. This one will read as two blank, 174 blank, Anita, two blank, 392 blank, Chirag, etc., etc. If I were to describe these, obviously I could describe two different structures, one which contains this, another which contains this. However, since I do not know whether to read the record in one type of structure or another, it is possible to use union here effectively. For example, to define struct, center-reg, care-reg type which has a value one, care-c name 40, and int-cnum participant which is the number of participants. It is one type of record. The other type of structure is participant-reg where care-reg type which has, by the way the same name I have deliberately given like here, but this time it will have value two. And int-serial-no which is the serial number of the participant and care-p name 40. Observe that both the structures incidentally have the same size, although that is not required either for my data processing requirements or from the point of view of union. But it is very obvious that if I define the union of these two together, then the question which our friend raised the other day becomes pertinent. Individually, these structures seem to require 40 plus 1, 41 plus 4 for int-cnum participants which means 45 bytes. This one will also require 45 bytes. It may appear that when I define it as union of this and this structure, then only 45 bytes totally are required. So he is right in terms of the memory allocation. However, he is wrong in that both these structures cannot simultaneously hold different data. At any point in time, I will be able to read 45 bytes and store these 45 bytes in the memory that is allocated to the union. But I am restricted to use either this particular record structure or the other particular records. So in short then to conclude, union is actually a way to permit us to interpret the same memory locations in a different context depending upon what is being stored there at any one point in time. And while I might have union of multiple records or multiple structures or multiple types, I cannot assure that in fact it is not possible to have all of these data items to be stuffed with values at the same time. There's also a question about jagged array. I read more about the jagged array and found out that it is essentially an array of arrays. But it differs from the normal multi-dimensional array in which the number of columns or elements in each row are same. So in jagged arrays, one can define each row to have different number of elements. And the row will have elements as arrays themselves. So this is a special data structure defined in most object-oriented programming languages. What could be the objective of using jagged array? Why would I require a two-dimensional array, for example, to have different number of columns for the same row? Well, one example could be extending the same particular illustration that we took for let us say centers and the number of participants or information about participants. So let us say information about each participant is contained in a structure. Now, for each center, there will be as many participants as they are there. And therefore, an array of participants. There would be a different array, let us say, for each center, each remote center. Ordinarily, to accommodate in the conventional two-dimensional array structure, I would have 22 rows in my two-dimensional array corresponding to 22 remote centers. And in each row, I will have as many number of columns as will collect the maximum number of participants in any center. So let us say, online city Chennai has some 80 participants. Then each array element of the centers will be another array of 80 elements, each of which will contain information about one participant. However, if I have a jagged array, then while I have 22 elements representing the 22 centers in the, let's say, first column of the array or the first dimension of the array, but the second dimension, namely row for each center, need not exactly be 80 elements long. It could be 35 for one center, 12 for another, 48 for another. And this permits us further to economize on the storage and also have exactly as many elements as are required. Jagged array, unfortunately, as a data type does not exist in conventional programming languages. As a matter of fact, it does not exist as a special data type or a native data type, natural data type in other programming languages also. However, in most programming languages such as C++, C sharp or Java, jagged arrays are permitted as abstract data type. This was one particular issue that was raised. This was in relation to the demonstration that I had given of the execution time and where we had briefly discussed the notion of algorithmic complexity. The question was, in Unix, I can use the time command to find out how long it takes for a program to execute. And also find out how much time spent by the instructions of my program, how much overhead by operating system, and how much real time, etc. What do I do if I am using turbo C environment? My first observation is, turbo C, GCC or any other C compiler cannot and does not have any mechanism to tell us about the execution time of the program, written and compiled using that compiler. Because the execution time depends on the computer system on which the program is run and the operating system is alone capable of giving us the time information. So how do we find this time information? Just like the time command that we have under Unix or Ubuntu, there are commands under Microsoft Windows through which any executable generated by turbo C can be run and its execution time measured. There are actually tools which permit us to do that. However, for the less initiated where you are not very sure of what command and what structure should be used to find out execution time, I would suggest a simple mechanism. Open a command window in your Microsoft environment. In that command window, just give a command time slash t or simply time. Time slash t will give you more details. It will give you the current talk time. Then run your program and then again give time slash t as a command. So the difference between the two times roughly will tell you the clock time that has sort of elapsed between the two commands and therefore the time totally taken to run your program. This is not as accurate as the time command for which you can either use an instrumentation provided by not only Microsoft Windows, but by Unix or something which incidentally can be incorporated in your program itself. For example, you can make a system call and get the current system time and you can actually measure the execution time not only for the entire program, but for the execution of any segment of the program at the beginning of which you make a time call and after executing which you make another time call. In this context I would also like to mention an extremely important tool called profiler. As we know our program has many iterations, if statements, conditioners and heavy computations and so on. So if you take a 500 line program, it is not that every line of the program takes the same amount of execution time. Obviously if there is an iteration that iteration will take much longer. If there is a nested iteration as we saw in our example, that would take still much longer. If there are multiple iterations at different places and they are executing different amounts of time, I would not really know which part of my program is taking maximum time. For this purpose, there is a tooling available. Tooling by that tooling I mean software available, which is actually part of the compilation process. So whether it is in a Microsoft environment or Unix environment, there is a utility tool called profiler. So when you compile your program, if you enable profiler, what the profiler does is the analysis that the compiler does of your program, it actually forms data flow graphs and so on. And for different segments, the profiler inserts some counts. And when your program is executed, these counts are updated. And at the end, these counts are output. So you know which portions of your program executed longer or took more number of counts, that is they executed more number of instructions. And that way you can find out what we performance people typically call hot spots in your program. It is a common thumb rule that for more complex software, 20% of your program, not one program, but this program system, takes about 80% of the execution time. But you do not know which 20%. Profiler will help you identify this 20%, after which you can concentrate your personal attention on that portion of the code and optimize it by rewriting it or writing it properly or writing it differently. I would also like to mention the power of web. Many of you would be aware of it, but I'm not sure how much of this power you use. I would strongly submit that you can and should use as simple a thing as Google search to find answers to technical queries. I have constructed an example based on the last night's experience that I had. When I was discussing the workshop slides, I was discussing it with my colleagues, Tushar Kamli and Nagesh Karmali. And a query was raised about a structure within a structure. So the first question was, is it permitted? I answered yes, of course it is permitted. And while I wanted to give an example to illustrate such usage, I wanted to know what the way has to say about it. So I put in a query on Google, which simply said struct within a struct. So when I made this query, I got thousands of responses. One of which is typically it was like this. This response came from this particular site. I have put the site address here. So those of you who are curious can actually paste this into a web browser and get it. A person asking the question has given an example problem. He has a struct called a structure containing three float fields. So he of course artificially constructed example. He wanted to show the problem that here. So he has struct a structure, float a, float b, float c. Now he says he wants to use this entire structure as part of another structure. Going back to the previous page, this was the query that he had. He has defined a structure called a structure which has float a, float b, float c. And now he wants to incorporate this entire structure as part of another structure in a header file, test.h. So he wrote up in his program in the test.h file, he wrote struct b structure. And inside it, he wrote a structure location. So location is a variable or a structure of the type a structure he wanted. And then float d and something else. Now he says this was a problem line. And when the program was compiled, he gets the following error. The error says syntax error before a structure. And he couldn't figure out what is the syntax error. Is the opening brass wrong? Is this syntax wrong? Etc. The correct answer, as many of you would have guessed, is the wrong way of specifying a structure location. In fact, this was pointed out by two people immediately. The first response said that in C, you either have to use struct a structure whenever you reference that type. Notice that unlike int or float, that type is not a structure, although you have defined the type to be a structure. The whole name of that type is struct a structure, not just a structure. If you want a structure to be the name of that type that you are newly defining, then you have to use a special statement called type def, which will look like this. He gives that answer, which I thought I will share with you. Most of you would know this, but those who don't, there is another way of defining the data type a structure. So here you say type def struct, and then you give the structure definition, and at the end you say a structure. Notice that if you had said struct a structure, done this and written any name here, that name would have become a variable name of type a structure. But when you say type def, then a structure itself becomes a type like int or float. Compiler recognizes this, and therefore subsequently, you can simply use a structure wherever you want to refer to a variable. So if you had done this, then in the previous page, saying a structure location would have been right. However, since you have defined the a structure simply in this fashion, struct a structure, float a, float b, float c, it is wrong to say this, and therefore, you have to use struct a structure. This is exactly what is pointed out by the second person. This response says either you have to add struct before a in definition of b. So he gives the code, struct b structure, struct a structure location, and then struct whatever, whatever float b, or use type def. You see how people very quickly write shortly and succinctly pointing out the errors. Web is an extremely powerful collaborative medium. It is not just a one way answer giving machine. There are collaborative platforms such as this.  This is what enriches every human being who undertakes that kind of activity in this particular case program. In fact, the portal which I mentioned, the subject portal, which we hope to launch sometime in March, April for effective computer programming, teaching and learning will be an example where all of us can continue to collaborate and extend this collaboration to still larger number of teachers and students. So with this, the need for struct in a struct was to be indicated. This is the example which I have constructed. The previous example about which the question was asked on the web was actually an artificial example. I have tried to construct a realistic example. So consider here, suppose there are people who are working in some factory or business or something, we call them employees, their addresses need to be recorded. Consider the address of one employee. Now typically it will be represented as a collection of pieces of information. So an employee's address will have house number, it will have street name, city, pin code, whatever, whatever. So I might use the following definition of a structure to say define M address. So I can say struct M address, int house number, int street, care street 40, care city 40, int pin code. So this completes the employee address. If I want to refer to an individual component, I can say, I will of course define of this structure type a variable. So suppose I define a variable called e, then I can say e.hno or e.street, which will be an array of 40 characters describing the street name and so on, or e.pin code for example. Now imagine that the company in which this employee works needs to maintain data about the employee other than the address. So there will be an employee code for example, the name of the employee, there will be salary paid to employee, date of joining, whatever, whatever. Different pieces of information. Consequently it is possible that to define such a record, I will use another structure called structure m.info. This struct m.info will have e code, e name, etc. But now I also want to write the address. But I want to maintain the totality of the address as I have defined in the other structure and therefore I incorporate the entire structure here. This is the way to do so. I can say int e code care in a 40 struct m.adress e address. So e address is the address of the employee and struct m.adress is the type. Float e salary and so on. If I define m.1 to be a variable of the type structure m.info, then its employee code will be known by writing m.1.e code. His name will be known as m.1.ename. The salary will be known as m.1.e salary. The entire e address structure could be referred to by saying m.1.e address. But if I want to refer to the city in which the employee lives, or the pin code of that employee, then I can simply say m.1.e address.pin code. Because m.1 is a struct, its element is e address as shown here, and its element in turn is pin code. So this is a very neat way of organizing complex pieces of data in a organized fashion as a structure or as a record. In fact, when we discuss data structures in our course, the typical data structures which are discussed are stacks, queues, link list, graphs and so on. These data structures are extremely important in very specific applications. For example, if you want to implement sorting and searching, you cannot do without the understanding the notion of trees. Binary trees, for example, within the in-memory searches or B-trees or other multi-node trees in case of these file searches. What is important to understand is that in a large majority of application fields, the most often required data structure is actually an organized structure like this. So multidimensional arrays and organized structures like this are structs. Usually account for more than 90% of the usage of data structures in applications. So what is a file? A file is regarded as a large collection of bytes stored outside the main memory, typically on a desk. That is the as simplistic a definition of file as can be given. As a matter of fact, C programs or C programming language recognizes file in this simplistic fashion only. Namely, it's a collection of bytes. Now, more important thing is that file is ordinarily residing outside the memory and it is on a disk. We have not discussed, let's say, organizational of files on a disk at all in this subject so far. When you teach programming to your students, in most syllabi you will be required to explain to the students not only hardware organization of the basic computer, but something about the disk file system operating system and so on. In that context, you will be telling them some preliminary notions of the files. But when we are discussing files under C programming language, we are talking about how to manipulate these files inside the data contained in these files inside the computer's memory. Clearly then, there must be a movement of data between files and memory. How exactly is that movement done? It describes how file input output is handled in that programming language. Once the data comes from the files inside computer's memory, to handle it, my normal knowledge of C programming constructs is adequate. I can have my execution of expression evaluation, while loops, for loops, whatever, whatever, and I can manipulate the data. Once I have calculated the desired results to put it back to the outside world, I will again require file IO. In short, input output is an extremely important aspect. The very purpose of running a program is to get some data from outside world, process it, and give the results back. And therefore, we need to understand how input output is done. Yesterday we discussed input output in a generic sense, particularly in the context of formatted input output, which is what we usually deal with. Because we want to give input data in terms of character strings typed on a keyboard, and we want to collect output from our computer programs, and see that on a computer terminal. This is the most typical IO. However, generically, a file is defined as a collection of bytes stored outside the main memory, typically on a disk. Now, the files on the disk are managed by the operating system. There is a component called file manager, or file system manager, which manages the organization of files or the data on to magnetic media, such as this. And this provides for directories, sub directories or all other of them. Within the sub directories, you have the files. And files can be created, data bytes can be written to the files, data bytes can be read from the file, files can be deleted, files can be extended, et cetera, et cetera. Additionally, if you have an existing file, you will be able to insert data in that file practically at any arbitrary location. Or you can delete data from that file practically at any arbitrary location. When you use a word processor, for example, and you are editing a file, you have entered, let's say, a large amount of script in that word file. Let's say you are typing a chapter in a book that you are writing. And suddenly you decide that three pages should be deleted from that particular chapter because they don't make sense. When you delete the three pages on your screen by using a simple delete operation of your word processor, and when you save your document, the corresponding pages have to be deleted from the original file. The computer operating system incidentally does not keep creating a new version of a file every time you save a file. And the file that you save may be different in the original file. All of that is managed because these files on the desk can expand the string through insertion and deletion. But most importantly, files can be created, data can be written to them, and files can be opened and data can be retrieved from them for reading. So each file has properties, it has a name, it has path, it has permissions for reading, writing, and so on. And physical location and contents of any file are known to the operating system. In short, when I write a program in which I have to read or write data from or to a file, then I have to use operating system as an intermediary. Of course, I don't explicitly call operating system. But it is worth while remembering that any input output operation that is done is necessary than through internal calls, intrinsic calls to the features of the operating system which actually permit this kind of input output. The first peculiarity of the C language that we would like to understand. C language treats a file as a stream of bytes. That is why the word stream, if you notice in C++ you call it IF stream, IO stream, and so on. Because a stream of bytes, like a stream of river, where the river flows. River of course has a single directional flow and water keeps flowing in it. A stream of data is actually a stream of bytes. That is what a file is in C. A file can be opened for reading bytes from it, which we call an input operation, or it can be opened for writing bytes to it. In which case it is called an output operation. Or you can do both IO. The bytes are simply treated as characters. Now that is very interesting because a care in C is equivalent of int. And therefore when you read bytes from a stream, you actually get int values. Of course, they are in fact characters generally if you have a text file. But they can be treated as cares if you wish to. A file is defined through a special pointer called file star, which points to a file object, such as file star fp. So this is the way you define this. I would like to repeat again what I had mentioned earlier. C programming language per se does not have any direct constructs for input and output. So the input and output is all implemented through a set of library functions. The keyword file capital five and all functions which deal with input output are part of the standard C library. So when you say include stdio, stdlib for example, or stdio.h, you are actually including all of these things in your program. For this file, C is capable of positioning a pointer to any byte within the file from which or at which bytes can be read or written. This is an important concept to be known. So here is an illustration. First of all fp will star fp, that is fp will point to the file object. So let us say this is a file. I have shown it as a strip, a strip containing a series of bytes. One, two, three, four, five, six. How many bytes a file can have? Millions and billions. The total number of bytes in the file is called the size of a file. And when you open a file, the file will be opened usually at the beginning. So if you are reading, when you say get me a character, you will get this character. When you say get another character, you will get the next character and so on. Operating system and therefore C programs maintain a pointer to the location which is currently pointed to within the stream. Typically we use a name like pass or position. So each file in short has a file pointer which refers to the entire file. Any operation to be done on this file will require us to use the file pointer once we have associated with the file. Second is a position or pass which at any given point in time points to a specific byte on this entire strip. So when I say points to, the pointer is actually notional. For example, if your entire data is on disk and let us say you have 2 million bytes there and you set pass arbitrarily to 0.253 byte where there is nothing like 253 byte either in your memory where the pointer reside, the data is still on the disk. So this is actually an internal computation which calls positioning a pointer into a position on the disk. It is possible for you to go to the disk file system operating system and say please read me so many bytes starting from this position. And the operating system will use the value of pass, go to the disk file and read as many bytes as you prescribe. You can also write as many bytes as you want at that position. Of course this provision is available for what we call direct access files. Most of the files that we have seen so far are sequential files. That means you keep reading the data in sequence and you keep writing the data in sequence. When you do that you obviously do not require to know about the position pointer pass. And that is the reason why in formatted input output we never had to worry about anything called pass. We simply said scanf and the scanf read as consecutive bytes. Once so many bytes were read and we wanted to read something more when we said scanf it automatically read from that point onwards. True that we did not really explicitly use a file we were using scanf in the context of keyboard input. Similarly when we say printf the written output went to your terminal. So where is the disk file in this context? We shall shortly see that both of these are actually exactly equivalent of a disk file. There is no difference in the behavior except that they are sequential files and therefore position sort of pointer is very rarely used in such files. Very specifically just as a file can either be a sequential file or random access file. Random access file means I can make use of the position pointer to read or write at any arbitrary place, any arbitrary number of bytes. Similarly a file can be either a text file or a binary file. We are familiar with text file which contains text data. Binary file is one which can be used to store non-textual data such as digital images whatever whatever you. There are open statements not really statements but open function calls which permit you to open a file. Remember what I said on this every file has a name. Now there are modes for file opening. I have tried to just list here all the modes which will most frequently require will be R or RB mode for opening a file for reading W or WB mode for opening a file for writing. Notice that when I use the key character B it becomes a binary file. Without B it is a text file. So that is the simple difference R is for read W is for write and R plus or R plus B is for reading plus which means reading and writing.  If you want to be able to create and read and write then you have to use W plus. There is a subtle difference between R plus and W plus. R is primarily a reading file but you may also want to write. W is primarily a writing file which means you can create a file but you can also read from it. But otherwise practically you can do all IO operations in either of these modes. You also have a special mode of opening a file which is called an append mode. In an append mode data can only be written. Append is obviously an output mode. You cannot read data in append mode but you can write data only at the end of the file. So consequently no matter what value you associate with that pass variable pointer variable I mentioned you might try to position that pass somewhere in between but in append mode data will always be written at the end of the file in the last location. So this is about the various modes for file opening that you have. Very briefly let us discuss sequential files. Sequential files are able to read or write data only in sequence as I mentioned. So the position pointer is essentially managed automatically by read write functions. We do not have to do anything explicitly. Now most text files are treated as sequential files and formatted input and output can be done using these. However it is not impossible. In fact it is definitely permitted to have text files as random access files also but mostly they are sequential files. This is perhaps the most important observation that I would like you to emphatically tell all your students that whenever a compiled C program starts executing the operating system automatically gives it three files to work on. One of them is called stdin or standard input file. Another is called stdout or standard output file. And the third one is called stderr or standard error file. Every C program can need not open or close these files. These are opened by the operating system and are made available to you. When your program stops executing operating system automatically closes these files. So you do not have to use open or close statements but you can use all input output statements associated. Since these are standard files and the files are meant for specific purposes such as input and output is the purpose for stdin and stdout respectively. As a matter of fact the sequential file stdin is implicitly connected to your keyboard. Remember what I said file is a stream of bytes. So a stream of bytes emanating from your keyboard constitutes stdin. Consequently when you say scanf for example you do not have to give any file name. It implicitly assumes stdin as the file name. Similarly when you say printf the printf command goes always to stdout which means it goes to your monitor. stderr is an output file like an stderout and therefore you have to mention that you are outputting to stderr but that is also by default connected to the monitor. Operating system provides features to disconnect these three files from their default connections and to connect them to these files instead. That is called redirection. So whenever you execute a program let us say myprog.c you compile it and you say dot slash a.out ordinarily all input will have to be given from a keyboard but if you want to read all input from a file exactly as if you have typed it you can simply say dot slash a.out less less my file where my file is a disk file. What operating system does is it disconnects stdin from keyboard and temporarily connects it to my file so that all data is read from my file. But the behavior otherwise of the stream of bytes remains same whether it is stdin as connected to keyboard or connected to any other file. These are some of the library functions. Can we go back to the query that was raised here? Can we go over to Nagpur briefly? Yes, Nagpur. Sir, I want to ask about the JAG array. Could you please elaborate on that point? How to use that JAG array in C? Can you give an example? I think I missed out to state that there is no there is no notion of using JAG array in C at all. You cannot because it does not exist and you cannot define a JAG array in C. JAG array is an artificial data type or an abstract data type which has been defined in C++ C sharp and Java. It is possible because object oriented languages permit not only definition of abstract data types but also permit through operator overloading definition of new operators interpretation of new operations etc. Such extensibility does not exist in C. The limited extensibility is through type def whereby you can merely define structures as new types and so on. So therefore I am afraid JAG arrays have no place in C programming. So you cannot use anything like JAG arrays or any such esoteric data structures naturally. You will have to do that artificially in a completely different way and there is no convenient way of doing so in C. So as far as C program is concerned just tell your students that JAG arrays do not exist in C. We must take a 5 minute break. Thank you so much.


Hey guys she ever 1,000 here with a new toy. Let's check it over together Okay, guys. That's what I got. I had an old Nissan two-cylinder eight horsepower Outboard engine At the boat motor I didn't really have it for sale, but a guy stopped and asked me about our boat over here and of course, I told him it wasn't for sale and We got to talking and he said he was looking for a boat motor That's why I got one if you're interested in it, you know needs a little work but I guarantee it'll run hanging right over here and He liked it and he was talking some money. I said, well, you know, I'm up for a trade on it because it really wasn't for sale, so Asked him what he had and he told me named off a couple things and so I was like Yeah, I'd be kind of interested in that little 50 It's a little 50 cc 49 cc, whatever. I think it's a 50 But uh, he said yeah, I saw go get he went and got it and now I've got it so We need to check it over first thing you got to do. I Was taught a long time ago before you start something make sure it stops. You got to stop it So let's check the brakes first and yeah okay, so It's in neutral. It's a little three-speed And all the gears are down on it on this one You go all down no up when you're in third gear you go down again and I guess you're a neutral you can shift up, but So like if you keep pushing down it'll it'll finally go into neutral So that's kind of cool But once you're in third gear, I think you can pull up on it and put it in second I'm not sure about this one. I don't even know what year it is but Let's get a battery set up and I got one sitting here from the video. I did earlier So I'm just going to give it a shot and let's see Bruno you don't know how to work on that. Let's see if we can See if this thing will fire up for us. All right So let me get you in a stand Okay guys we know For a fact that the That the brakes work So let's hook this Up to this battery and see if we can get it to crank over And if we can They won't do something different Let's see. It doesn't have a key switch. So I Don't think the button is going to work, but let's try the button out so About that key switch.  Must have some fuel still in the Still in the bowl of the carburetor All right. Well, let's do something here. Let me zoom me in a little bit. I got some mixed fuel right here What we're going to do, so we're gonna We're gonna put some gas down in here Holy shit, I Love it when stuff like that happen that carburetor looks good guys Get this fuel mix here try to get something to get down into the bowl Put some down in there. Let's see what happens He said it run And I suppose long as it's not locked up. Well, it doesn't have a Kickstarter or a pool start It's just electric start. He gave me the battery With it, but of course, it's no good. It needs a battery and key switch and He says I can guarantee you it'll run That's well, you know, you didn't hear the the boat motor run That's well as long as it ain't locked up. I'm good with it.  That's where the fuel line goes But I'm gonna see if I can't rig up a tank or something on here small tank You know maybe out of something a little weed either tank or something and let's see if from Let's see if we can get it to run longer than that So Yeah, let's let's see what we can do Okay, guys, so what I did I poured some gas in the fuel line and Started running out the overflow hose. So I'm thinking the The float is stuck in the carburetor. So let's pull this carburetor off of here I'll zoom you in a little bit so you can kind of see what's going on. There's the carburetor and There's the bowl right there Let's pull this carburetor off. All right, let's take it over on the bench and we'll pull the ball off of it And see what it looks like inside there.  I'll be careful because I don't have a Another gasket to put on this by break it. So I got to be careful rubber gasket there You got to be Real careful with that. There was something in there Yeah, it's a little while was it so blurry. It's got some gook down in the bottom of that See that's kind of sticky right there And right there so I think that was holding it down so I'm going to spray this out clean that off the bottom of that and And We'll go from there. Okay guys. So what I did I got my carburetor cleaner out. I took the hose off this it's just some Just some gook in there It turns into like a Almost like a lacquer like a paint thinner type thing. So we're going to set it in this bucket I'm not going to do the whole carburetor because I don't think it needs it We're going to leave this set in here for about half an hour In the meantime, I'm going to clean this off the off of the float and make sure there's nothing in it In fact, I think I'll just take the float out.  Let's go ahead and pull that off of there Plus that that'll let us know if it's leaking or not. So It's just a little pin. You just push this through and pull the pin out this side Now your needle valve in there. You don't want to lose it. There's the little needle valve Now we're going to set this in here and see if it floats and it's floating see that So kind of dip it down in and make sure it comes back up And it does so there's no holes in it. Usually these plastic ones are pretty good See that that stuff's coming right off. So let's leave that stuff sit in there for about 20 minutes to half an hour and we'll see We'll see how good it how good it turns out I need to give me an ultrasonic cleaner that way I can do a whole carburetor if I have to but all right, let's leave it set and We'll be back in we'll throw this back together throw it back on the bike and Feel the boa. See if it'll run Okay, guys This out came out. I blew it all out with compressed air. I also Took the jets out that jet in that jet. I took them out clean them as well So Get this back in here It shouldn't have any issues now it's in there Now when we turn it up like this, we should be able to blow through it and we can turn it like that We shouldn't be able to and we can't There's that. Let's get this back on here. It's like that. I wasn't able to come up with a I wasn't able to come up with a tank But I figure once we fill this bowl up With fuel it should run I'm gonna go over and I'm gonna throw this back on it's just the Just everything's backwards.  So guys, there's the new toy Should be able to make a couple bucks on it. I'm going to get a tank hooked up and Let it run for a little bit needs run I checked the oil the oil was fine So run it through the gears and see what's going on and make sure transmission is good And we should be good to go so more on this later. Thanks for watching guys. Shea bear the myth man legend I'm gone for now. Take care


While serving in Vietnam a grenade took my ability to see today. I'm a sculptor creating new visions Now my fingers are my eyes as a veteran I know the challenges of life can be great in my art turning a lump of clay into something beautiful That means a lot to me life is like that we each must use what we can to make things better DAV helps veterans like Michael get the benefits they've earned They help more than a million veterans every year in life-changing ways now I show others how they can create something with their own hands With support from DAV more veterans can shape their lives into a thing of beauty My victory is bringing beauty into the world Michael Neuronho may your victories inspire many more Support more victories for veterans go to DAV.org


What are these, bro? 21 Savage, there's three pairs of these. You see the 21 on the back of the steam match? There's the shroud, you can replace these and change them out, so there's like four different ones that I could put on there. Bro, I've never seen it. Yeah, they're pretty dope. What would you say they're fucking... What are those, worth? Yeah. I don't know, bro. Maybe like a thousand bucks or something. And what did they retail for? They didn't. It was just made for him. There's only three pairs, yeah. Yeah, it might be more than a thousand, I don't know. But they're not for sale, so I don't care.  Appreciate it, bro.


To do any deal, there has to be finance involved, the club has to be in a situation to do the deals. We had to work very hard, Kev certainly had to work hard to construct deals that we worked into the way the club were in the summer, managed to do that as we said, managed to rebalance the squad the best we could, we had to lose some players as well. The situation is similar but different. You never know the twists and turns of football, all our deals present themselves but at this moment in time it's very likely to be quiet. Did the takeover go in through make any discernible difference to the ability to do it? Yeah again we'll see because they've been very casual with their information to us because it's not a done deal yet so therefore they said look we're not going to get involved in things because you know all the due diligence with checks and everything so they vary up front with us. I did say we had a very casual chat about life at Everton, what it was they were picking our brains about learning about it and becoming more informed but that was it.


What's up everybody? Jason here for JaspysCaseBase.com. Jaspys 11 box NFL warm-up football mixture just sold out random teams Where we're giving away also at the end of the break guys $3,000 in giveaways So first we'll do the break of course third two spots all-card ship everybody gets around team NFL We got 11 boxes here from optic each to 2021 down in crown Royale retail 2014 and then at the end we're gonna take all the customer names and randomize them number one on the list gets the Jerry Judy rookie NFL shield one-of-one Which is right here to display beautiful that's from NT football 2020 and That is an estimated value between 15 to $2,000 Jaspys estimated value that is And then of course number two gets a shantator flawless diamond, which is a thousand dollar Jaspys estimated value Which we have right here beautiful and Number three on the list is gonna get the Herbert Rivers fouts triple autograph from impeccable football, which is a $650 value And there you go right there. I'll probably take this off and put a new one on there But seven of 15 and there's a trip autographs of the all-charger quarterbacks there So we'll do that at the end guys Now first let's do the break so we sold I think I believe 20 total spots straight up these customers here And then from Joshua Jones down to Aaron Miller got those from mosaic solo pack number five and six and Then there are the teams there. Let's click dice roll It is a six and a one seven times. Let's go one two three four five six seven Niko down to Aaron Miller. All right, there you go 32 seven times one two three four five six seven seven times seven times Minnesota at the top down at the Tampa Bay Buccaneers at the bottom So Niko you got the Minnesota Vikings Jeff Henn with the bangles Connor with the Cardinals Andrew with the Cowboys Taylor with the Browns Joshua with the Chiefs Nicholas with the Jaguars Jimmy with the Jets Aaron with the Colts Jeff Henn with the Giants Carl with the Rams Falcons Bennett with the Packers Mike with the Titans Aaron with the Texans Joshua with the Raiders Barry with the Bears Carl with the Broncos and Patriots Travis with the Bills Carl with the Lions Aaron with the Dolphins Shay with the Chargers excuse me Richard Hastings with the Chargers Nicholas with the Commanders Todd with the Ravens Carl with the Panthers Aaron with the Saints Karen with the 49ers Carl with the Eagles Seahawks and then Aaron with the Tampa Bay Buccaneers So if anybody does want to trade guys, I'll give you guys a quick minute I'll probably start ripping a couple of these boxes in the meantime though I'll turn on the second camera so you guys can see that But yeah, if anybody wants to trade perfect time right now All right, so Taylor says anybody want the Browns Jeff Henn says want Giants to seal it for trade All right, turn on the top camera guys. I'm gonna just start ripping some of these retail boxes open Never I'm not gonna go through the packs. I'm just gonna rip the packs open Please let me know if you guys end up doing a confirmed trade just saying confirmed And both agreeing so that way I know Just confirm both of you guys or anybody that does a trade. Okay, so we got one confirmed trade perfect Browns for Giants Anybody else guys? I'm gonna rip one more box Sorry, I think we might have already taken it out Thomas, but um It's a 2013 certified hobby box 2014 crown Royale Retail 2016 absolute retail and then everything else is pretty much 2021 minus Donner's elite 2020 Everything else is 2021. So for you at least for your sake if you have the Steelers You have a chance at Najee Harris all over the place Because everything is pretty much 2021 and then there's one box of 2022. So technically I guess Can you pick it in legacy? And then of course the hip parade it can be anything obviously hip parade is all multi sport So trade one to close in guys and then we'll do I guess Browns for Giants All right, so this is absolute. That's crown Royale and that is certified. I'm going with like the three oldest products Getting those out of the way And then we'll go to legacy then we'll go to the team all boxes and then we'll go to the hip parades and all that good stuff After that More it's Wagner or more. It's both a bull ringer. Sorry. Oh, is that Joey Boso autograph? Oh, no, just a rookie camp. All right. So these are just base cards here And the autograph is a Kivari Russell here we go crown Royale now CJ Spiller and Marcus Smith to 99 For my Eagles. He was one of the few busts. Unfortunately for my Eagles And uh, that'll go to Carl though And he got Sam Bradford Or sorry, that's not Sam Bradford. I should start That's uh, Garrett Gilbert I thought that was Bradford for a second. I thought I seen an eight Oh, how about a Derek Carr red rookie? Radis This is Sam Bradford though Tom Brady Mike Evans relic. That's a rookie royalty Knight to the squares Bentate number to 99. Actually, I think this one's numbered actually. Maybe not that it was Michael Floyd number to 199 Tory Smith E.J. Manu to 49 that would have been a pretty big card back in the day Kenyon Barnard Panthers New generation chris harper Jordan reef Pierre Garçon Cornelius Cardane To 999. We got a little Wes Walker. All right, there you go There's the third box. Let's go to legacy now guys We have a Drake London for the Atlanta Falcons to 199 We got a Garrett Wilson to 149 Little Minio T. J. Hawkinson number to 250 Or 125 I should say David Montgomery Jaylin Tolbert to 149. That's for the Cowboys We got a champ Ailey They got a dominance to 125 And Isaiah likely for the Ravens who actually played really well this preseason Great player Ravens. That's going to Todd Desmond Ruder Daniel Jones And cave on to though. All right, so let's go with the elite teamals and one of them is 2021 of them is 2021 Let's see what we can get out of here guys Then after that it's pretty much optic Clearly Don Russ a little sitting in the wind off with the hip raid products And then obviously the big prize the big giveaways Will be after Aaron Donald to 399 Whoa Patrick Mahomes Tito whiffs We got Tyler Johnson to 199 John Hightower To 399 Playmakers Patrick Mahomes Donald to 86 Next box Trey McKinney That's an autograph there for the Chargers James Robinson Can they sue well B. Dawks to 99 To 41 Allen Camaro We got a Tom Brady. That's a B to 149 or 349. Let's go with these three and then we'll end it off with The hip hurray Justin Jefferson to 99 We got a Donner Steve Young 2001 Zach Wilson Look at that. That's a pretty nice one there It's a little shorter print one there too as well And a Cadarius Tony autograph to 49 Nice Giants with that Taylor Clark little trade mojo And then that Zach Wilson jets to Jimmy. That's actually a really nice Zach Wilson JJ Wong Alvin Kamara Ben Dineci Javon Kinlaw And the obsidian red is not going to be a rookie But it's DK Mechav Number seven to 26 All right, here we go optic time this optic box actually like a four or five hundred dollar box You get those exclusive Reds and then you still have a chance of course at downtowns in here. All right, here we go Marcus Stevenson Asante Samuel Jr White hot rookies We got a black Pandora. That's a Vincy Young That's a nice one. They're numbered to 25 True silver tray McKinney a little optic hollow silver Chad Johnson Nice Javonte Williams Josh Palmer and a little rising sun Nick Bolsa All right, here we go last two boxes here guys. Good luck here into the hall series two And we got a Marcus Allen 86 at a 99 pro football hall of famer For the Raiders Joshua Jones. All right last one at least guys. Good luck. Here we go Oh, what a Peyton Manning Nice, it looks like it's on card as well NFL legends This was back in 2001 Peyton Manning And that's for the Indianapolis Colts going to Aaron Miller Very nice two hall of famers there And there you go guys A little mixture there All the main hits right here Got a ton of numbered cards here as course as well too And then of course the main give away of this right here number three is going to get this triple autograph to 15 Number two gets the Sean Taylor and number one gets the shield NFL one-on-one of Jerry Judy. So here we go guys Switch scenes and let's do that randomizer giveaway guys. Here we go Here we go roll it Five and a one six times guys. Good luck. And actually really quickly before I do that. Let me Put the giveaways in here Let's have a mess up their sheets All right, here we go guys. So five one six times One two three four five And six then final time guys Boom six times five and a one Here we go. Here we go So I know there's going to be pretty much 29 sad people and three happy people One super super happy person with a $2,000 hit Missing out as nicolas s at number four Sorry about that, buddy all the way down to Jeff. All right, here we go Jimmy k you are at number three. You're gonna get the triple autograph Aaron Miller at number two from a cello pack. You're gonna get the one-on-one Sean Taylor And at number one Nico Martin Congratulations, buddy. There you go. You're gonna get the NFL shield Jerry Judy one-of-one rookie There you go. So congratulations guys. So Nico, like I said NFL rookie one-on-one shield of Jerry Judy We got an Aaron Miller Sean Taylor or Aaron Miller gets Sean Taylor one-on-one flaws diamond Which is about a thousand plus Jaspie estimated value and then jimmy with the Herbert reverse fouts triple immaculate autograph $650 plus value So appreciate it guys. Jaspie's case breaks.com


Give me a good point, Tom, I'm waiting. Give me a good point that backs up that free will, love, meaning, and life, rationality can come from the non-rational. He was explaining emergent properties, which I know believers want to pretend that everything happens from an administrator down, but actually emergent patterns rise from the bottom up. Interesting, now Tom, what is your point? Cliff, you said rationality cannot come from non-rationality, but we can demonstrably prove that rationality can come from non-rationality, and to say it cannot is a composition of division velocity just like saying, walls cannot come from non-walls. You cannot have rationality coming out of non-rationality. Yes, you can. Well, then show it to me. How do you get rationality from the non-rational? Just explain that there are emergent properties, that patterns of emergence that come from micro-components, which do not possess those attributes as the individual component, but only attain them as a collective.