text:
Wikibooks:Requests for import/Archives/2020/September

Unicode import
Hi. I'm Barkeep49 an administrator at English Wikipedia. These articles were recently at a deletion discussion where the consensus was that these do not meet our guidelines but could be usefully transwikified. After some discussion at Wikisource it was felt that this project might be a better home to them. I don't know enough about your conventions to suggest where or how to import this list. Thanks and best, Barkeep49 (discuss • contribs) 15:36, 15 July 2020 (UTC)
 * Transwiki:Code page 875
 * Transwiki:Code page 930
 * Transwiki:EBCDIC 001
 * Transwiki:EBCDIC 002
 * Transwiki:EBCDIC 003
 * Transwiki:EBCDIC 004
 * Transwiki:EBCDIC 005
 * Transwiki:EBCDIC 006
 * Transwiki:EBCDIC 007
 * Transwiki:EBCDIC 008
 * Transwiki:EBCDIC 009
 * Transwiki:EBCDIC 010
 * Transwiki:EBCDIC 011
 * Transwiki:EBCDIC 012
 * Transwiki:EBCDIC 013
 * Transwiki:EBCDIC 015
 * Transwiki:EBCDIC 016
 * Transwiki:EBCDIC 017
 * Transwiki:EBCDIC 018
 * Transwiki:EBCDIC 019
 * Transwiki:EBCDIC 020
 * Transwiki:EBCDIC 021
 * Transwiki:EBCDIC 022
 * Transwiki:EBCDIC 023
 * Transwiki:EBCDIC 024
 * Transwiki:EBCDIC 025
 * Transwiki:EBCDIC 026
 * Transwiki:EBCDIC 027
 * Transwiki:EBCDIC 029
 * Transwiki:EBCDIC 030
 * Transwiki:EBCDIC 031
 * Transwiki:EBCDIC 032
 * Transwiki:EBCDIC 033
 * Transwiki:EBCDIC 034
 * Transwiki:EBCDIC 035
 * Transwiki:EBCDIC 036
 * Transwiki:EBCDIC 037
 * Transwiki:EBCDIC 037-2
 * Transwiki:EBCDIC 038
 * Transwiki:EBCDIC 039
 * Transwiki:EBCDIC 040
 * Transwiki:EBCDIC 251
 * Transwiki:EBCDIC 252
 * Transwiki:EBCDIC 254
 * Transwiki:EBCDIC 256
 * Transwiki:EBCDIC 257
 * Transwiki:EBCDIC 258
 * Transwiki:Code page 259
 * Transwiki:EBCDIC 260
 * Transwiki:EBCDIC 264
 * Transwiki:EBCDIC 273
 * Transwiki:EBCDIC 274
 * Transwiki:EBCDIC 275
 * Transwiki:EBCDIC 276
 * Transwiki:EBCDIC 277
 * Transwiki:EBCDIC 278
 * Transwiki:EBCDIC 279
 * Transwiki:EBCDIC 280
 * Transwiki:EBCDIC 281
 * Transwiki:EBCDIC 282
 * Transwiki:EBCDIC 283
 * Transwiki:EBCDIC 284
 * Transwiki:EBCDIC 285
 * Transwiki:EBCDIC 286
 * Transwiki:EBCDIC 287
 * Transwiki:EBCDIC 288
 * Transwiki:EBCDIC 289
 * Transwiki:EBCDIC 290
 * Transwiki:EBCDIC 297
 * Transwiki:EBCDIC 298
 * Transwiki:EBCDIC 320
 * Transwiki:EBCDIC 321
 * Transwiki:EBCDIC 322
 * Transwiki:EBCDIC 330
 * Transwiki:EBCDIC 352
 * Transwiki:EBCDIC 361
 * Transwiki:EBCDIC 363
 * Transwiki:EBCDIC 382
 * Transwiki:EBCDIC 383
 * Transwiki:EBCDIC 384
 * Transwiki:EBCDIC 385
 * Transwiki:EBCDIC 386
 * Transwiki:EBCDIC 387
 * Transwiki:EBCDIC 388
 * Transwiki:EBCDIC 389
 * Transwiki:EBCDIC 410
 * Transwiki:EBCDIC 420
 * Transwiki:EBCDIC 421
 * Transwiki:EBCDIC 423
 * Transwiki:EBCDIC 424
 * Transwiki:EBCDIC 425
 * Transwiki:EBCDIC 500
 * Transwiki:EBCDIC 803
 * Transwiki:EBCDIC 833
 * Transwiki:EBCDIC 836
 * Transwiki:EBCDIC 838
 * Transwiki:EBCDIC 870
 * Transwiki:EBCDIC 871
 * Transwiki:EBCDIC 880
 * Transwiki:EBCDIC 892
 * Transwiki:EBCDIC 893
 * Transwiki:EBCDIC 905
 * Transwiki:EBCDIC 918
 * Transwiki:EBCDIC 1002
 * Transwiki:EBCDIC 1025
 * Transwiki:EBCDIC 1026
 * Transwiki:EBCDIC 1027
 * Transwiki:EBCDIC 1047
 * Transwiki:EBCDIC 1069
 * Transwiki:EBCDIC 1070
 * Transwiki:EBCDIC 1079
 * Transwiki:EBCDIC 1081
 * Transwiki:EBCDIC 1084
 * Transwiki:EBCDIC 1097
 * Transwiki:EBCDIC 1112
 * Transwiki:EBCDIC 1113
 * Transwiki:EBCDIC 1122
 * Transwiki:EBCDIC 1123
 * Transwiki:EBCDIC 1130
 * Transwiki:EBCDIC 1132
 * Transwiki:EBCDIC 1137
 * Transwiki:EBCDIC 1159
 * Transwiki:EBCDIC 1165
 * Transwiki:EBCDIC 1166
 * Transwiki:JEF codepage
 * Transwiki:KEIS
 * Pinging who mentioned that they could help with this at WikiSource. Best, Barkeep49 (discuss • contribs) 15:37, 16 July 2020 (UTC)
 * I can do this. It's probably easier for me as I can import them all from a file rather than one at a time. QuiteUnusual (discuss • contribs) 16:18, 16 July 2020 (UTC)
 * . They've all been imported, links updated above. They will also need the templates importing but I suspect that these aren't up for deletion at WP so there's no urgency. Of course, whether any of it will get adopted into a book here is another question... Anyway, the content is safely imported so can be deleted at WP - thanks. QuiteUnusual (discuss • contribs) 16:29, 16 July 2020 (UTC)
 * thank you. You are correct that the templates it's using are not up for deletion and are used by other articles so I don't anticipate they would be deleted. Best, Barkeep49 (discuss • contribs) 16:46, 16 July 2020 (UTC)
 * I obviously have zero experience of WikiBooks and Transwiki'ing however I did offer to @ I might try to do this as a person of last resort. However I am only comfortable doing so if I can see the original pages on WikiPedia to compare with any resultant WikiBook here.  I would suggest the call on deletion is made on the person forming the Wikibook, not by the importer.  Obviously if the person creating the Wikibook is taking too much time that may be a different matter.  Obviously a more experienced may be prepared a different way, but that is their call.  Thankyou.Djm-leighpark (discuss • contribs) 06:17, 26 July 2020 (UTC)
 * I'm struggling a bit to understand the point you are making. The pages from Wikipedia are safely stored in the Transwiki namespace of Wikibooks having been imported last week. They will sit in the Transwiki namespace forever until someone adopts them into a book. There is no need to delay the deletion on Wikipedia, and no rush to put them into a book. However, the best place to put them eventually is probably into the existing book on this subject (Unicode), rather than a new book. QuiteUnusual (discuss • contribs) 10:15, 27 July 2020 (UTC)

Thankyou for your suggestion of the book Unicode however EDCDIC is not Unicode; both are subsets of 8-byte codes which in itself is a subset of computer word codes? There was 6-bit stuff on ICT/NCR-Elliot/PDP8 and others and I think some other sizes on some DEC/CDC/Sperry but I am guessing on those. It is probably possible to kludge the EDCBIC stuff into a UNICODE book but there are advantages and disadvantages to that. I see this as a migration. I done migrations before and I generally cross check source and target if at all possible. And I am in my comfort zone. So I am doing the migration that is the way I wish to work if I end up being the transwiki'er of last resort. And if you are prepare to adopt these in a book yourself, and any other code pages that come across, then you are most welcome (and this is likely not the most difficult use case). However to make it blunt if people are not prepared to do that then I will regard this project as an unsuitable place for me. I (or more likely by alter will also possibly being using scripts/tools that will off WikiPedia and I may even pre-process there prior to transwiki.  I note the The primary discussion for this is currently on the AfD on Wikipedia.  There is also notes by me on WikiProject Computing there.  I now need to resume the search for my family member lower false teeth and pray they have not gone down the great white phone to God.  Thankyou.Djm-leighpark (discuss • contribs) 06:25, 28 July 2020 (UTC)
 * I would agree it doesn't belong in the Unicode book. It seems likely they should eventually be integrated into an EBCDIC book.  Note that some materials imported to Wikibooks have waited for years before eventually being integrated into a book here. --Pi zero (discuss • contribs) 12:04, 28 July 2020 (UTC)
 * Note that should the AfD for EBCDIC be determined as Transwiki to WikiBooks there are several other codepage sets that would follow the same route. I am generally minded these and EBCDIC (and possibly even Unicode) would be volumes within such a book.  But these are thoughts currently.Djm-leighpark (discuss • contribs) 13:59, 28 July 2020 (UTC)
 * For perspective, what sort of other codepage sets might be involved? --Pi zero (discuss • contribs) 14:38, 28 July 2020 (UTC)
 * @ w:en:Template:Character encodings perhaps? Djm-leighpark (discuss • contribs) 22:31, 28 July 2020 (UTC)

 * Just addressing one point above. I think it is very unlikely that you will find a collaborator or a mini-project here. Very few books ever have more than one author. You might have more luck finding current contributors to the subject area on Wikipedia and suggesting they come here rather than looking for existing Wikibooks editors. QuiteUnusual (discuss • contribs) 21:28, 28 July 2020 (UTC)
 * I am really looking for an alternative, I have as a collaborator who will do heavy shift.  I have put feelers out to the transwiki some of whom are vaguewave or dubious !voters at the AfD, but some would be supportive at present.  I have also left a subsection at WikiProject Computing talk.  Of course I may be talking bluster and bluff, and I may have to drop out for RL, or I may simply be incapable of doing it.  My !vote is not to come here, should the !vote be to send it here then my requirement to form a Wikibook is to retain the source for limited period while a chance to form a Wikibook is made; if I am the only one prepare to try to stand up a WikiBook and no-one else is that surely carries some weight? Djm-leighpark (discuss • contribs) 22:31, 28 July 2020 (UTC)

I may be incorrect but I'm not seeing the attribution history I'd expect in the above transwiki'd pages. I'm too tired to look into that further at present but I think it's a problem. Thankyou.Bigdelboy (discuss • contribs) 22:07, 5 August 2020 (UTC)

@: Thankyou for transwiking the above pages. However if any attempt is made to use them I think I see a problem as only one version for each has been used and there is a loss of attribution which I believe gives a license problem, with only you and being mentioned on the history, but not the original content providers. One solution would be histmerge, another a re-transwiki. The issue only really emerges when the the originals are deleted. Or am I missing something (quire possible)? Thankyou. Bigdelboy (discuss • contribs) 10:06, 15 August 2020 (UTC)
 * hello, it shouldn't a problem. The Mediawiki software did not allow the full revision history to be transwikied as the collective size was too large. However, it is possible to reverse to the attribution via the import log, which contains the timestamp, back to the original. You can re-import them if you want with the full history, but there's no way of doing it in bulk so you'd have to do them one at a time. Alternatively, you can add a null edit with a permalink to the original source, or do the same on the Talk page. All are valid ways of maintaining the attribution even if the original is deleted. QuiteUnusual (discuss • contribs) 08:38, 17 August 2020 (UTC)
 * : Thankyou for your response. I remain very concerned attribution will be broken hen the originals are delete.  I see the equivalent on English Wikipedia of the need to leave a merge-to template indicating a redirect should not be deleted to maintain attribution history.  While a histmerge or loading the old page as a subpage to the article history is possible if the original contributors are not publicly acknowledge I believe there is a problem ... but I need to seek independent advice.  A further problem with not having the history is investigations of copy violations versus imaging wiki's which can require admins.  This arises for me once every 6 months.  So for that reason alone I'd pragmatically probably plump for the re-transwiki (when the time is right) but its a right pain in the butt.  It would help if I drank but I dont. Thanks.  And thankyou for the single version tranwiki as I have at least been able to see the effects of the support templates.23:30, 17 August 2020 (UTC)
 * I am also concerned that the original attribution history has not yet been imported. I should not be the "original" author for these pages. is there something you need to happen on the enwiki side to get the attribution history? If so I would be happy to do it (or prod someone who can). If not, would it be possible to get that done? While there is no rush to get the wikibooks published, having so many pages which have been determined to be out of scope lingering around on enwiki is not great. Best, Barkeep49 (discuss • contribs) 15:53, 29 August 2020 (UTC)
 * @: Thankyou for understanding my concerns on attribution. Correct attribution principle of WikiPedia and the rights of people contributing to English Wikipedia need to be to the standards developed there.  There are I believe techniques for adding the attributions via comments, talk pages and talk subpages that meet attribution requirements (and histmerge or equivalent).  But I'd always prefer a full history because of possible copyvio disputes of who wrote what first.  If I'm on board with the project I'll import them one by one when I'm ready if I have to; which is after I have the automation procedure set up. Thankyou. Djm-leighpark (discuss • contribs) 16:30, 29 August 2020 (UTC)
 * @: The transwikied code pages have now been deleted from the English WikiPedia so to my best understanding the content pages as it stands are no longer properly publicly visually properly attributed whatsover. Thankyou. Bigdelboy (discuss • contribs) 18:22, 1 September 2020 (UTC)

i think i need these pages imported...
I think I need these pages imported. Is this where I ask for that? I am working on a book Culinary Arts and specifically on a page Knives to try to figure out how to do things. I expect 50% to 75% of the finished will be paragraphs taken from Wikipedia and edited to fit into the book. No complete articles will be used. Here are the wikipedia articles I have used/abused already:

 * Wikipedia article:Kitchen knife
 * Wikipedia article:Honing steel
 * Wikipedia article:Chef's knife
 * Wikipedia article:Julienning
 * Wikipedia article:List of culinary knife cuts

I have added a link to wikipedia at the bottom of the page to refeference. Is that sufficient or do these pages need to be imported to wikibooks and I reference them here. I obviously do not want the entire article in the book. What would the appropriate reference look like. I have read lots of the help documents and do not find explicit instructions on this or at least anything that looks to me like instructions. I am a retired programmer so I understand that most docs are written with a certain amount of knowledge on the part of the reader. I apologize for my inadequacy. Can someone import these if necessary and point me to the right place to find the help info for this? Eddiem0710 (discuss • contribs) 19:34, 23 August 2020 (UTC)

Hi @, I'm kind of new to this import stuff and I'm really ultra busy but if no one else helps or has concerns objects within 24/48h I might be willing to try help. Feel free to ping me after 3 or 4 days if nothing has happened and I see how my bandwidth is (might not be good). Actually re-reading this I am only able to specifically help if you have a very definitive list of pages to be imported. On re-reading this I think your asking to copy/paste content from wikipedia and how the required attribution needs to be given on the wikibook and possibly also on the Wikipedia article to note the copy has taken place. I think it is likely best to ask at Reading room/Assistance. This is my best suggestion, but I am very new here myself. Best Regards. Bigdelboy (discuss • contribs) 21:25, 28 August 2020 (UTC)

 * @ Thanks, but now that I’ve started doing a few pages I’m not so sure that was a good approach anyway. So much from Wikipedia would need to be edited it would be about as easy to do the research I need then write it myself.  I would still give attribution where needed. I haven’t tried to learn how to do attributions yet but I suppose it is documented somewhere. Wikibooks documentation doesn’t seem to be conducive to browsing and searching is not obvious to me. I’m thinking for now I don’t actually need anything imported. Just the research and writing effort awaits me. —Eddiem0710 (discuss • contribs) 02:56, 29 August 2020 (UTC)
 * Do you still want them to be imported? Leaderboard (discuss • contribs) 14:10, 2 September 2020 (UTC)

 * @ No. Thanks. You can close this request. --Eddiem0710 (discuss • contribs) 16:55, 2 September 2020 (UTC)

Import

 * Rwandan cuisine ✅ Transwiki:Rwandan cuisine
 * Somali cuisine ✅ Transwiki:Somali cuisine
 * Sudanese cuisine ✅ Transwiki:Sudanese cuisine
 * Botswana cuisine ✅ Transwiki:Botswana cuisine
 * Zimbabwe
 * Malagasy cuisine ✅ Transwiki:Malagasy cuisine
 * Cuisine of Mauritius ✅ Transwiki:Cuisine of Mauritius

Requesting the importatiin of these pages to their subsequent Transwiki namespace. I still have more requests but they are too many to type. I will bring in more. --Synoman Barris (discuss • contribs) 16:18, 10 September 2020 (UTC)
 * I will do these for you now, but note that you can't import part of a page, so you will get all of Zimbabwe. Regarding the message on my talk page, you'll need to make the request at WB:RFP please - thanks. QuiteUnusual (discuss • contribs) 14:09, 11 September 2020 (UTC)
 * The imports appear to have timed out. I'll need to look later (after work). QuiteUnusual (discuss • contribs) 14:15, 11 September 2020 (UTC)
 * I have made the request at RFP. Thanks --Synoman Barris (discuss • contribs) 14:53, 11 September 2020 (UTC)
 * I have gotten several of these work, just now, with a fair amount of patience. Most of the attempts took a long time; two of them produced error messages claiming they'd failed but apparently had actually succeeded; some really did fail, and I haven't gotten Zimbabwe to work (though QU or I might try later).  Importing is like that, in my experience; takes a lot of patience, and depends on who-knows-what.  Sometimes trying again at a different time of day is useful. --Pi zero (discuss • contribs) 15:44, 11 September 2020 (UTC)
 * Thanks, let me Wikify these and add other requests. Best regards --Synoman Barris (discuss • contribs) 15:53, 11 September 2020 (UTC)
 * Tried again with Zimbabwe; no joy. --Pi zero (discuss • contribs) 20:01, 15 September 2020 (UTC)
 * Thanks for trying, i guess I’ll have to go with the old style and give attribution. I am also able to import pages now, but i’m still learning more on the interface.Best regards --Synoman Barris (discuss • contribs) 20:05, 15 September 2020 (UTC)
 * One of the most basic principles of importing, as I recall, is never touch the "include all templates" option; it's a disaster waiting to happen. --Pi zero (discuss • contribs) 20:12, 15 September 2020 (UTC)

What happens?--Synoman Barris (discuss • contribs) 20:24, 15 September 2020 (UTC)
 * I think it tries to import vast mountains of stuff. --Pi zero (discuss • contribs) 20:36, 15 September 2020 (UTC)
 * : it is described further in m:Help:Import ... I personally read it as almost inevitably it will have some bad side effects except in specialized situations when used by subject matter expert admins who are fully aware of its effects. If I used it I would expect my import privilege to be revoked by the admin clearing up the likely mess. Bigdelboy (discuss • contribs) 09:14, 20 September 2020 (UTC)

Character encodings support templates

 * Transwiki:Chset-color-ctrl-var
 * Transwiki:Chset-ctrl3
 * Transwiki:Chset-ctrl4
 * Transwiki:Chset-color-digit
 * Transwiki:Chset-color-digit-box
 * Transwiki:Chset-color-digit-var
 * Transwiki:Chset-color-esc
 * Transwiki:Chset-color-esc-box
 * Transwiki:Chset-color-esc-var
 * Transwiki:Chset-color-ext-punct
 * Transwiki:Chset-color-ext-punct-box
 * Transwiki:Chset-color-ext-punct-var
 * Transwiki:Chset-color-graph
 * Transwiki:Chset-color-graph-box
 * Transwiki:Chset-color-graph-var
 * Transwiki:Chset-left
 * Transwiki:Chset-legend
 * Transwiki:Chset-color-letter
 * Transwiki:Chset-color-letter-box
 * Transwiki:Chset-color-letter-var
 * Transwiki:Chset-color-punct
 * Transwiki:Chset-color-punct-box
 * Transwiki:Chset-color-punct-var
 * Transwiki:Chset-table-footer
 * Transwiki:Chset-tableformat
 * Transwiki:Chset-table-header
 * Transwiki:Chset-color-undef
 * Transwiki:Chset-color-undef-box
 * Transwiki:Chset-color-undef-var

Be pleased import character encodings support templates, list derived from w:Category:Character set table templates. Thankyou. Bigdelboy (discuss • contribs) 21:56, 31 July 2020 (UTC)
 * Please note I have now been granted the importer privilege so should be able to do this myself, though there may be a slight delay as I am a tad RL busy currrently and can't automate this currently, but the speed I proceed at is under my own control. Thankyou.Bigdelboy (discuss • contribs) 17:04, 5 August 2020 (UTC)
 * I've (hopefully) transwiki'd Transwiki:Chset-color-ctrl-var successfully, the history attribution looks good. The success compared my transwiki failure of EBCDIC in the section below is I suspect is likely due to small page and history (and perhaps because the Americans are mostly tucked up in bed with quieter app servers).  (Thought? Reminder to self, what about the /doc subpage?).  This needs more of its compatriots.  I need to review this and perhaps bring a few more over one by one.  There will be a gap as I am maxed most of working day at least; maybe I longer gap as I think slowiy.  Thankyou.Bigdelboy (discuss • contribs) 07:38, 6 August 2020 (UTC)
 * As well as the Template page I note there is also a /DOC page to deal with as well as exceptionally the possibility of a non-null talk/discussion page. The order I plan to follow for each template is: (1) Import Template to transwiki: (2) Import /DOC to transwiki; (3) Move Template then /DOC from Transwiki: to Template: (4) move talk page. I'm likely to do all (1) before doing all but a pilot number of (2). I'm currently expecting this to be done "manually" one by one through the import screen.  Thankyou. 13:09, 7 August 2020 (UTC)
 * I've imported all the templates above, I got interuptted near the end and there's a couple to re-check and I lost the comments on a couple. I will be looking at the /doc next before standing these up in Template: space; but I will be taking a breather first and running one or two through as pilots.  Thankyou. Bigdelboy (discuss • contribs) 16:28, 7 August 2020 (UTC)

I have imported documentation for Transwiki:Chset-color-ctrl-var to Transwiki:Chset-color-ctrl-var/doc (by importing the wikipedia /doc file as a subpage). I will pause and review the results and have the intention to at some point proceed by moving Chset-color-ctrl-var and its documentation to template space or by importing documentation for further templates to transwiki space, or perhaps both. Thankyou. Bigdelboy (discuss • contribs) 11:31, 8 August 2020 (UTC)
 * I've just imported /doc for all the templates above to Transwiki: subpages noting a possible issue on Transwiki:Chset-legend not have a /doc (to be checked); possible error on Transwiki:Chset-tableformat (/doc) and additionally importing to Transwiki:Chset-table-header/family-doc (/family-doc). I also thought I noted a missing "???-unified" template at some point but I need to check all this out with a clear mind and in a separate section).  Thankyou. Bigdelboy (discuss • contribs) 22:48, 8 August 2020 (UTC)

 * Transwiki:Legend inline and its /doc has also been imported. Other checks above remain to be done. Bigdelboy (discuss • contribs) 03:37, 9 August 2020 (UTC)

 * Transwiki:Chset-color-misc
 * Transwiki:Chset-color-misc-box
 * Transwiki:Chset-color-misc-var
 * The above 3 and their /doc seem to have been missed from the set and I've now transwikied them. (It's a little quicker as I'm more familiar with the Special:Import page and how I can reuse it with care to sequentially import similar imports watching the result as I go). I next expect to move these templates and /doc etc to Template: space in batches; Chset-table* likely first and rest in order apart possible from the *misc* and the "Legend inline" out of sequence; with subpages being moved immediately after parent.  That's my current plan. Bigdelboy (discuss • contribs) 10:18, 9 August 2020 (UTC)

 * Transwiki:Chset-cell-unified was found to be missing and I transwikied that and moved it to Template: space. I also now note I have yet more support templates to transwiki so I'm taking a breather to look at that and before resuming moves from Transwiki to Template space; I've done the first three on the main list so far.  Thankyou. Bigdelboy (discuss • contribs) 11:16, 9 August 2020 (UTC)

I've identified the above as missed and I'll transwiki with /doc and move to Template: space one by one next over some period ... they'll go red to blue as they happen. Hopefully thats it (and I've not erred) ... touch wood. Thankyou. Bigdelboy (discuss • contribs)
 * Transwiki:Chset-color-ctrl
 * Transwiki:Chset-color-ctrl-box
 * Transwiki:Chset-cell
 * Transwiki:Chset-cell1
 * Transwiki:Chset-cell2 (No /doc - may or may not move to Temaplate: space)
 * Transwiki:Chset-cell3
 * Transwiki:Chset-cell4
 * Transwiki:Chset-ctrl
 * Transwiki:Chset-ctrl1
 * Transwiki:Sc2  ( Warning - REDIRECT - do not move to Template - create a redirect .. no /doc )
 * Transwiki:Smallcaps2 (Has issues with a Styles.css)

I really don't like w:Template:Smallcaps/styles.css which is referenced by Template:Smallcaps2 (and its /doc) but not Template:Smallcaps. I have been very very tempted to locate it under Smallcaps2 with associated edits to suit but in the end I'm going to place under Smallcaps per WP. Will transfer it here as styles.css: Bigdelboy (discuss • contribs) 18:36, 9 August 2020 (UTC)

To confirm this has been placed at Template:Smallcaps:styles.css and as far as I can tell required Code table support templates are now functional, at least for Code page 875. So these templates are possibly ✅ though there's possibly things to come out of the woodwork. There's a deal of checking to be done yet though .... Bigdelboy (discuss • contribs) 19:02, 9 August 2020 (UTC)

Missing Character encodings support templates
Per W:User talk:Djm-leighpark: Bigdelboy (discuss • contribs) 21:07, 2 September 2020 (UTC)
 * Transwiki:Control code link
 * Specifically requested template has been installed to template space including /doc & styles.css but there are possibly pigs ear of dependencies. See for example: Transwiki:EBCDIC 037. Bigdelboy (discuss • contribs) 21:27, 2 September 2020 (UTC)

One question about the Character encodings import
Why are the Unicode hexadecimal (and decimal on pages that have it) values not displaying on the pages? Everything else is displaying. Alexlatham96 (discuss • contribs) 23:08, 11 September 2020 (UTC)
 * @: The problem is there are addition templates that need to be provided, usually bu transwiki'ing from WikiPedia and installing to template space including any required subpages. It is first necessary to identify the missing templates, though sometimes these there will be recursive.  On my previous efforts I simply took a brute-force to resolving this, though there may be a more prescriptive approach via page information/page properties, that may even run the pig's ear rather than a level one, actually it can't run the pig's ear it can one do a level lone.  There may also be issues relating to de-wikification.  If you identify specific templates for import here on Wikibooks:Requests for import an admin/account with importer will likely help with the transwiki import but someone will also need to install the templates to template space. going direct import to Template space may be possible but could be awkward if something went wrong.  Thankyou. Bigdelboy (discuss • contribs) 21:39, 14 September 2020 (UTC)

 * Template:Control code link/alias
 * Part of the issue is I had previously failed to transwiki and install the Control code link/alias subpage, I have now down this and it has resulted in some improvement in my opinion. The Last Word Template including relevant subpages certainly remains to be done - there may be more .... Bigdelboy (discuss • contribs) 14:47, 15 September 2020 (UTC)

 * Template:Last word ✅ Bigdelboy (discuss • contribs) 17:04, 15 September 2020 (UTC)

 * Template:First word remains to be done, possibly more...Alexlatham96 (discuss • contribs) 21:13, 20 September 2020 (UTC)
 * @: Template:Pipe done. Template:First word in progress (screwed up the /doc on first attempt).  (Hmmm ... I might need Template:match as well) Thankyou.  Bigdelboy (discuss • contribs) 02:32, 25 September 2020 (UTC)


text:
Oberon/ETH Oberon/faqlang

Frequently Asked Questions on the Oberon Language

Note: Questions not specifically related with the Oberon language or the compiler are dealt with in the FAQ on the ETH Oberon system.

General
 * 1) What advantage do you see in using Oberon rather than other widespread programming languages?

Style
 * 1) What is the etymology of Reader, Scanner and Writer?
 * 2) What naming conventions can be recommended?

Types
 * 1) What is the size of the record?
 * 2) Why can't I assign a variable to another one of the same type?
 * 3) How does the compiler treat whole number constants?

Programming hints
 * 1) What is the longest identifier that can be used in Oberon sources?
 * 2) How can I handle 16-bit unsigned numbers in Oberon?
 * 3) How do I cast a variable?
 * 4) How do I cast REAL variables to INTEGER very fast? ( quasi-realtime)
 * 5) Is there a way to improve the speed of computation for a realtime application?
 * 6) How do I spread random numbers as uniformly as possible?
 * 7) Are there any bitwise operators available in Oberon?
 * 8) How do I write a constant value directly to an memory?
 * 9) Variable initialization can be at fault
 * 10) Is there a portable way to identify the caller of a procedure?

Compiler
 * 1) How do I locate an error in the source text?
 * 2) Why does the \z option cause the creation of a larger code?
 * 3) Is there a test set for Oberon compilers?

Built-in assembler
 * 1) Where do I find assembler documentation?
 * 2) What is the order of fields in a record?
 * 3) The compiler's behavior is unusual when casting anything to BOOLEAN.
 * 4) What is the correct syntax for operating on SYSTEM.BYTE?
 * 5) How to call a procedure from an assembler routine?
 * 6) How do I cast a large number of variables very fast?
 * 7) How to use in-line procedures

General A''': The following was reported by Antonio Cisternino:
 * 1) '''What advantage do you see in using Oberon rather than other widespread programming languages?
 * 1) '''What advantage do you see in using Oberon rather than other widespread programming languages?

Reading the old book "Godel, Echer, Bach: an eternal golden braid", Hofstadter, 1980, I have found the following in chapter X:

"Programming in different languages is like composing pieces in different keys, particularly if you work at the keyboard. If you have learned or written pieces in many keys, each key will have its own special emotional aura. Also, certain kinds of figurations "lie in the hand" in one key but are awkward in another. So you are channeled by your choice of key. In some ways, even enharmonic keys, such as C-sharp and D-flat, are quite distinct in feeling. This shows how a notational system can play a significant role in shaping the final product." I think it's a nice way to say that multiple languages may help solving complex problems if each language is used to exploit its strength. It is related with CLR and the music context is appropriate to the name C#.

Style A''': Reader, Scanner and Writer are nouns, not verbs so, extrapolating from the naming guidelines in "Programming in Oberon" by Reiser and Wirth, they are appropriate for type names. '''What naming conventions can be recommended? A''': Extracted from "Object-Oriented Programming in Oberon-2" by Hanspeter Mössenböck:  Name of    Begin with         1st letter   Examples - Constants  Noun or Adjective  Small        version, wordSize Variables  Noun or Adjective  Small        full Types      Noun               Capital      File, TextFrame Procedures Verb               Capital      WriteString Functions  Noun or            Capital      Position Adjective         Capital      Empty, Equal Module     Noun               Capital      Files, TextFrames
 * 1) '''What is the etymology of Reader, Scanner and Writer? The "er" suffix suggests they are procedures but in fact they are records.

When declaring a pointer type X, the record pointed to should be called XDesc, as in this example.  TYPE List = POINTER TO ListDesc; ListDesc = RECORD ... END;

Types  The following two definitions yield two apparently different sizes:  TYPE RecA = RECORD Elements : ARRAY 25 OF SYSTEM.BYTE; END; TYPE RecB = ARRAY 25 OF SYSTEM.BYTE; '''When I look at the SIZE of RecA, I see 28, when I look at the SIZE of RecB, I see 25 (!). Thus, if I form a packet to ship with UDP, and I depend on the structure set up using RecA to have a size of 25, I am in trouble. What is being done here? This will come up again as I take a data file built using, say, Delphi or M2, and attempt to read in the same file using Oberon. A1''': The size of a record is always padded at the end to a multiple of 4 bytes.

A2: The most portable way to read files is byte by byte, converting the fields explicitly using *, DIV and MOD. Only if you need high performance with large files, should you use memory-mapped records.

The Files module provides procedures for reading little-endian ordered values (ReadInt, ReadLInt).

'''I cannot assign two variables that have the same type (err 113). Why? A''': Two variables are compatible only if they have the same type, not the same type structure.

Take this example of two similar but different types:  TYPE StudentGroup = RECORD count: LONGINT  END; PotatoBag = RECORD count: LONGINT  END;

VAR s: StudentGroup; p: PotatoBag; ...     s := p;     (* err 113 here! *) Just because they have the same structure, doesn't mean that they are compatible. Would you compare students and potatos? The problem is however less obvious when anonymous types are involved, declared on the fly. In this case types are always incompatible:  VAR a: RECORD  count: LONGINT  END; b: RECORD count: LONGINT  END; Although these two types look the same, they are incompatible because they have different declarations. To make a and b compatible you must declare the types either with:  VAR a, b: RECORD count: LONGINT  END; or with:  TYPE MyType = RECORD count: LONGINT  END; ... VAR a: MyType; b: MyType; In this common case of a procedure paramenter:  PROCEDURE P(a: ARRAY 32 OF CHAR); no type will ever have the same declaration as a, thus no variable will ever be compatible to a!

There is only one exception to this rule: open arrays. In this case, the base type of both variables must be compatible. This allows to use anonymous open arrays in procedure parameters.

'''It appears that the compiler treats whole number constants as type INTEGER. I do not know how it treats a large whole value, say 40000. I suspect it treats it as a LONGINT. It does not appear to treat values like 125 as a byte. A''': An integer constant has the smallest integer type that will accomodate it. So -128, 0 and 127 would be SHORTINT, -32768, 128 and 32767 INTEGER, and -32769 and 32768 LONGINT.

In low-level code, to be sure of the size, use SYSTEM.VAL to cast it. SYSTEM.VAL should be used in the 2nd argument of the SYSTEM procedures GET/PUT, PORTIN/PORTOUT, GETREG/PUTREG. Alternatively, you could also write:
 SYSTEM.PUT(Adr, CHR(255)) SYSTEM.PUT(Adr, 0FFX) SYSTEM.PUT(Adr, SYSTEM.VAL(INTEGER, myconst))

Programming hints
 '''What is the longest identifier that can be used in Oberon sources? How many characters of the identifier are considered unique? A''': 32. 32.

'''How can I handle 16-bit unsigned numbers in Oberon? A''': Convert the number to a 32-bit LONGINT value. For example:
 VAR x: LONGINT; y: INTEGER; ...    x := LONG(y) MOD 10000H The MOD is compiled efficiently as a logical AND operation, because the divisor is a constant power of 2.

'''How do I cast a variable? I am looking for an equivalent of p = (Process) c; in C. A''': Use a type guard - cfr. Chapter 11.2 in Programming in Oberon. Casting with SYSTEM.VAL is not a good idea, because it can break the garbage collector.

'''How do I cast REAL variables to INTEGER very fast? A''': Use the built-in assembler as explained.

'''Is there a way to improve the speed of computation for a realtime application? A''': A collection of CORDIC algorithms is under development.

'''How do I spread random numbers as uniformly as possible? I need to fill a 13*13*13 matrix with random numbers. A''': RandomNumbers.Uniform is a first approximation. Unless you are just playing games, you should avoid it. Random numbers are full of tricks. If you like reading, have a look at the new edition of Knuth or the papers of George Marsaglia. For a general reference, see Wikipedia.

Some common generators are found in a contribution.

'''Are there any bitwise operators available in Oberon? A''': Use the SET type and its operators. Here are the operators and their bitwise equivalents.
 +    union                 bitwise or -     difference /    symmetric difference  bitwise xor IN   element test          bit test INCL element insert        bit set EXCL element remove        bit clear You can use SYSTEM.VAL(SET, intexpr) to convert an expression to a set and SYSTEM.VAL(LONGINT, setexpr) to convert an expression from a set.
 * intersection         bitwise and

It is however preferable to declare straightaway SET variables which are then conveniently used in-line. That is better than declaring LONGINT variables and then to use SYSTEM.GET/PUT to convert them from or to SET type variables. SYSTEM.VAL should also be avoided.

'''How do I write a constant value directly to memory? A''':
 PROCEDURE P; CODE {SYSTEM.i386} MOV DWORD PTR @1234H, 15 END P;

000AH: C7 05 34 12 00 00 0F 00 00 00      MOV     [4660],15 This is equivalent what is done, using MS Tools, with:
 mov dword ptr ds:[adr], imm   giving the code: C7 05 adr imm

'''Variable initialization can be at fault. A''': Take a look at this short procedure:
 PROCEDURE demo( VAR a: ARRAY OF INTEGER ); VAR i: INTEGER; BEGIN (* i := 0; *) WHILE i < LEN(a) DO a[i] := 0; INC(i) END END demo; Although the initialization of "i" is missing, this procedure works on PC Oberon. On Mac Oberon it fails most times because "i" has a random value, but not because of a compiler fault.

On PC Oberon the whole stack frame gets cleared at procedure entry. Thus missing initializations (to zero) do not attract attention.

'''Is there a portable way to identify the caller of a procedure? A''': Since ETH Oberon does not have full-featured metaprogramming facilities in all versions, there exists no portable way. However, the following works on Native Oberon and Windows Oberon.
 MODULE Temp; IMPORT SYSTEM, Kernel, Out; PROCEDURE Identify(VAR modname: ARRAY OF CHAR; VAR pc: LONGINT); VAR ebp, eip: LONGINT; m: Kernel.Module; BEGIN SYSTEM.GETREG(SYSTEM.EBP, ebp); SYSTEM.GET(ebp, ebp); (* stack frame of caller *) SYSTEM.GET(ebp+4, eip); (* return address from caller *) m := Kernel.GetMod(eip); IF m # NIL THEN COPY(m.name, modname); pc := eip - SYSTEM.ADR(m.code[0]) ELSE modname[0] := 0X; pc := MAX(LONGINT) END END Identify; PROCEDURE Test*; VAR name: ARRAY 32 OF CHAR; pc: LONGINT; BEGIN Identify(name, pc); Out.String(name); Out.String(" PC="); Out.Int(pc, 1); Out.Ln  END Test; END Temp. This gives you the calling module name and PC offset, which can be used with Compiler.Compile \f to find the calling location.

If you just want this for debugging, consider writing a HALT statement, which also gives a stack traceback. On Native Oberon you can use the hack HALT(MAX(INTEGER)) for a halt that produces a trap and then continues running.

Bluebottle: the following editing is required to adapt the text to Bluebottle: replace Kernel by AosModules replace Kernel.Module by AosModules.Module replace Kernel.GetMod by AosModules.ThisModuleByAdr

Compiler
 '''How do I locate an error in the source text? A''':
 * 1) Select the error report line in the System.Log with MR+MR clicks
 * 2) Press F1 to mark (*) the source text viewer
 * 3) Activate the [Locate] Button in the System.Log menu bar

'''Why does the \z option cause the creation of a larger code? A''': It is simpler to initialize the whole local-var block: this is done by a loop writing zero to the stack. Initializing only the pointers is more complex, because only the pointers must be (individually) initialized.

A worst case example:
 VAR x: ARRAY 64 OF RECORD ..... z: PTR .... END; Initialize all:
 LOAD size WHILE size > 0 PUSH 0 DEC size END Initialize pointers only:
 MOV EAX, 0 MOV offs0[EBP], EAX MOV offs1[EBP], EAX ... MOV offs63[EBP], EAX On the other hand, it is faster to initialize only the pointers.

'''Is there a test set for Oberon compilers? A''':The building of a test suite is progressing. Some tests are already available. Cfr. Project Hostess Homepage.

Built-in assembler
 '''Where do I find assembler documentation? A''': Start at PC Native Oberon - Compiler. Then, get some inspiration from the nicely written and informative documentation on the assembler used to teach a course in low-level programming by Jacques Eloff.

Given a type declaration:
 TYPE RecDesc = RECORD ch: CHAR; val: LONGINT END; If a procedure takes a VAR parameter, say r: RecDesc, the record fields are accessed in the following manner:
 MOV EBX, 8[EBP] MOV BYTE 0[EBX], 65           ;r.ch := 'A'; MOV DWORD 4[EBX], 0           ;r.val := 0; But, when a variable of the record type is declared locally inside a procedure, the fields are reversed:
 PROCEDURE A;    VAR r: RecType; CODE {SYSTEM.i386} MOV -8[EBP], 65      ;r.ch := 'A'; MOV -4[EBP], 0       ;r.val := 0; END A; '''Is there a specific reason for this? A''': The fields are not reversed! Offset -8 is smaller address than -4. You may look at it under another perspective:
 LEA EAX, -8[EBP]     ;load record base address MOV BYTE 0[EAX], 65  ;r.ch := 'A'; MOV DWORD 4[EAX], 0  ;r.val := 0;

'''The compiler's behavior is unusual when casting anything to BOOLEAN. For example, I will often input data from an I/O port, which is masked with a control word and the result is checked to see if TRUE or FALSE. On other compilers I am familiar with, if any bit is set in the low byte of the incoming word, when cast to type boolean, will result in TRUE. That is, any set bit yields a TRUE. I found that this does not seem to hold for the Oberon compiler. What I do now is, compare the byte to zero. This is not a problem, but I must watch for this. A''': This behavior is consistent with Pascal, where boolean was defined as enumerated type BOOLEAN = (FALSE, TRUE), i.e. ORD(FALSE) = 0 and ORD(TRUE) = 1.

 VAR b: SYSTEM.BYTE; BEGIN b:= 2; IF b = 0 THEN END; '''I will get a compiler error at the IF line, with a message indicative of invalid operands. It works fine if I either cast b to an integer or 0 to a byte. A''': Only assignment is defined on SYSTEM.BYTE, not comparison. For 8-bit values, it is better to use a CHAR variable, so:
 VAR b: CHAR; BEGIN b := 2X; (* or CHR(2) *) IF b = 0X THEN END To convert back to INTEGER, use ORD(b).

'''How to call a procedure from an assembler routine? The difficulty is that the assembler allows only the use of variables and not of procedures external to the routine. A''': Use a procedure variable as in this example:
 MODULE MyModule; IMPORT SYSTEM, Out; VAR P: PROCEDURE (n: LONGINT); PROCEDURE WriteRegister32(n: LONGINT); BEGIN Out.Int(n, 0); Out.Ln END WriteRegister32;

PROCEDURE AsmCode; CODE {SYSTEM.i386} PUSH 12345678 CALL P END AsmCode;

PROCEDURE Test*; BEGIN AsmCode END Test;

BEGIN P := WriteRegister32 END MyModule.

'''How do I cast a large number of variables very fast? I have to process large picture data in quasi-realtime, converting REAL values to INTEGER. Using ENTIER for that purpose is too slow. A''': Use this model procedure.

'''How to use in-line procedures. A''': An in-line procedure is a procedure that is not called, but textually inserted into the caller procedure. A detailed documentation on how to use them is included in Jacques Eloff's assembler description.

[Top] ''22 Aug 2002 - Copyright © 2002 ETH Zürich. All rights reserved.''

E-Mail: oberon-web at inf.ethz.ch

Homepage: http://www.ethoberon.ethz.ch/

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Oberon/ETH Oberon/faqlang


text:
Oberon/ETH Oberon/Cast

PROCEDURE Cast(VAR in:ARRAY OF REAL; VAR out: ARRAY OF INTEGER); CODE {SYSTEM.i386, SYSTEM.FPU}     MOV  EDI, 8[EBP]         ; dest   = ADR(out)     MOV  ECX, 12[EBP]        ; count  = LEN(out)     MOV  ESI, 16[EBP]        ; source = ADR(in)     CMP  ECX, 20[EBP]     JGE  Ok     PUSH  99                  ; LEN(in) > LEN(out)  then TRAP(99)     INT  3 Ok:     SUB  ESP, 8              ; change FPU rounding to "chop"     FSTCW 0[ESP]     WAIT     MOV  EBX, 0[ESP]     OR   EBX, 0400H          ; clear bit 10,11 (chop/truncate toward zero)     MOV  4[ESP], EBX     FLDCW 4[ESP]          JMP  Check Loop:     DEC  ECX     FLD  DWORD [ESI][ECX*4]  ; in: REAL     FISTP WORD [EDI][ECX*2]  ; out: INTEGER     WAIT Check:     CMP  ECX, 0     JG   Loop     FLDCW 0[ESP]              ; restore original FPU configuration     ADD  ESP, 8 END Cast; If in: ARRAY OF LONGREAL then use     FLD  QWORD [ESI][ECX*8]  ; in: LONGREAL If out: ARRAY OF LONGINT then use     FISTP DWORD [ESI][ECX*4] ; out: LONGINT

title: Oberon/ETH Oberon/Cast


text:
Oberon/ASigner

Development of an Oberon System 3 for the DNARD Network Computer

Andreas Signer Diploma Thesis Winter 1998/99

Supervisors: Pieter Muller, Prof. J. Gutknecht

Institute for Computer Systems, ETH Zürich

Objectives

The goal of this diploma thesis was the development of a basic Oberon System 3 for the DNARD Network Computer. The system should boot over the network using standard Internet protocols and include development tools as well as basic Internet tools. A RAM-disk should be used for local storage. Optionally, floating point support and an adaption of the system to a 2-button-mouse should be implemented.

Results

A running Oberon System 3 is available for the DNARD NC. The system is based on Native Oberon V2.3.2 and the Oberon-1-Compiler for the Ceres. It boots over the network using TFTP. Floating point support and the adaption to a 2-button-mouse have been implemented. An assembler has been added to the compiler in order to support low level programming. Important applications and network tools have been ported (including FTP, Telnet, Mail, Columbus, TextDocs, EditTools, Script, Desktops, etc.)

The author can be reached at [mailto:asigner@acm.org asigner@acm.org]

Report (in German).

[ Department | Institute | Projects ]

ETH Zürich: Institut für Computer Systeme, ETH Zentrum, CH-8092 Zürich

Comments to Pieter Muller

March 2, 1999

title: Oberon/ASigner


text:
User:Uclqjh0/sandbox/Approaches to Knowledge/2020-21/Seminar group 6/Juliette Hart

1. I've broken 4 bones 2. I've swam with reef sharks 3. I don't know how to ride a bike


text:
World Cultures/Culture in Africa/Culture of Morocco

Introduction
The culture of Morocco refers to the culture or cultures — behaviors, customs, knowledge, beliefs, arts, laws, etc. — of Moroccan society. Moroccan culture is primarily influenced by Islamic, and to a much lesser degree by Jewish or Christian]] cultures, and it represents a confluence of other influences: Amazigh, Arab, Sahrawi, Sub-Saharan African, Mediterranean, Andalusi, European, and more.

The majority of Morocco's population identifies as Berber or Arab. While the two official languages of Morocco are Standard Arabic and Standard Moroccan Berber, most Moroccans speak Darija (Moroccan vernacular Arabic) as a native language. At least a third of the population speaks an Amazigh language, especially Tarifit, Tamazight, or Tashelhit. French, and, to a much lesser degree, Spanish, have also been widely used since the colonial period.

Arabic
Classical Arabic, a formal rather than natural language, is used primarily in formal, academic, and religious settings. Darija, or Moroccan vernacular Arabic, in its various regional and contextual forms, is used more often in casual situations, at home, and on the street.Hassaniya is a distinct dialect of Arabic spoken in the south of Morocco.

Tamazight
Tashelhit (also known locally as Soussia) is spoken in southwest Morocco, in an area between Sidi Ifni in the south, Agadir in the north, and Marrakesh and the Draa and Sous valleys in the east. Central Atlas Tamazight is spoken in the Middle Atlas, between Taza, Khemisset, Azilal, and Errachidia. Tarifit is spoken in the Rif area of northern Morocco in towns like Nador, Al Hoceima, Ajdir, Tétouan, Taourirt, and Taza.

Most Amazigh embraced Islam quickly, though their non-Arab ethnic and linguistic distinction has resisted the Arab-Islamic influence. Hundreds of Amazigh (Berber) associations have been created to defend their culture and identity in the last few decades in Morocco and Algeria. Newsstands and bookstores in all the major cities are filled with new Berber publications that provide articles and essays about the Amazigh culture and art. In 1994, the state-owned TV station RTM (now TVM) started broadcasting a daily, 10-minute-long news bulletin in the 3 Berber dialects. Berber activists are demanding a fifty percent share of broadcasting time in standardized Berber (Tamazight) on all state-owned TV channels. There is also a national Tamazight channel in Morocco, called Tamazight TV. It opened in 2010, and broadcasts for over 13 hours a day, with an extended broadcast on weekends.

Literature
As Amazigh societies primarily practiced oral tradition, the history of Moroccan literature started in the early Middle Ages. In the era of the Berber dynasties, coinciding with the flowering of Al-Andalus, there were several important Moroccan writers, especially in the fields of religion and poetry.

Music
Moroccan music is characterized by its great diversity from one region to another. It includes Arabic music genres, such as chaâbi and aita in the Atlantic plains (Doukkala-Abda, Chaouia-Ouardigha, Rehamna), melhoun in the Andalusi cities (Meknes, Fes, Salé, Tetouan, Oujda...), and Hassani in the Moroccan Sahara. There is also Amazigh music such as the Rif reggada, the ahidus of the Middle Atlas and the Souss ahwash. In the South there is also deqqa Marrakshia and gnawa. In addition, young people synthesize the Moroccan spirit with influences from around the world (blues, rock, metal, reggae, Moroccan rap, etc.).

Andalusi music is popular in Morocco. It probably evolved under the Moors in Cordoba, and the Persian-born musician Ziryab is usually credited with its invention. Traditional songs such as "Shams al-'Ashiya" are still played at celebrations and formal events. Dar ul-Aala in Casablanca is a museum and conservatory dedicated to this musical heritage. A genre known as Contemporary Andalusian Music and art is the brainchild of Morisco visual artist/composer/oudist Tarik Banzi, founder of the Al-Andalus Ensemble.

Chaabi ("popular") is a music consisting of numerous varieties which are descended from the multifarious forms of Moroccan folk music. Chaabi was originally performed in markets, but is now found at any celebration or meeting.

Popular Western forms of music are becoming increasingly popular in Morocco, such as fusion, rock, country, metal and, in particular, hip hop.

Morocco participated in the 1980 Eurovision Song Contest, where it finished in the penultimate position.

Visual arts
The decorative arts have a long and important history in Morocco. One of the traditional elements of artistic expression in Morocco is Maghrebi-Andalusian art and architecture. Carved plaster Arabesques, zellige tilework, carved wood, and other expressions of Islamic geometric patterns are typical features of this style.

Maghrebi Arabic script is an important feature of the history of visual art in Morocco.While some aspects of Maghrebi script are codified and prescribed, there have also been innovations, such as those by the 19th century calligrapher Muhammad al-Qandusi.

Muhammad Ben Ali Rabati was one of the first Moroccans to paint in a European style.

Chaïbia Talal was another celebrated naive painter from Morocco.

Contemporary art
Contemporary art in Morocco is still developing. with considerable potential for growth. Since the 1990s-2000s Moroccan cities have welcomed institutions that contribute to the diffusion of contemporary art and the visual arts: L'appartement 22 and Radio Apartment 22 in Rabat, the Cinémathèque de Tanger in Tangier, La Source du Lion in Casablanca, Dar Al-Ma'mûn residency and center, the Marrakech Art Fair, and the Marrakech Biennale, all in Marrakech.

Local art galleries such as Galerie Villa Delaporte, Atelier 21, Galerie Matisse and Galerie FJ are also platforms showing contemporary artwork and contributing to its development.

The global art market also influences the development and visibility of contemporary art in Morocco; international exhibitions such as "Africa Remix" (2004) and "Uneven Geographies" (2010) featured contemporary artists from North Africa, including Moroccan ones. Regional events such as the Dakar Biennale (or Dak'Art – Biennale de l'Art Africain Contemporain), a major contemporary African art exhibition, gives greater visibility to artists from the African continent.

Moroccan artists and their initiatives
Artists born in Morocco or with Moroccan origins include Mounir Fatmi, Latifa Echackhch, Mohamed El Baz, Bouchra Khalili, Majida Khattari, Mehdi-Georges Lahlou, and Younes Baba-Ali.

Moroccan artists have devised several initiatives to help develop a contemporary art market in the country. For example, Hassan Darsi created La Source du Lion in 1995, an art studio that welcomes artists-in-residence, and Bouchra Khalili and Yto Barrada founded the Cinémathèque de Tanger in 2003, which is dedicated to promoting Moroccan cinematographic culture. A group of seven Moroccan artists, among them Amina Benbouchta, Hassan Echair, Jamila Lamrani, Safâa Erruas and Younès Rahmoun, formed "Collectif 212" to exhibit their work at Le Cube, an independent art room. Their first major show was in 2006 at the exhibition Un Siècle de peinture au Maroc [A century of painting in Morocco] when the new premises of the French Institute of Rabat (L'Institut Français de Rabat) were officially opened. They committed to creating artistic experiences in the context of Moroccan culture, as well as collaborating with other artists such as Hicham Benohoud.

The young local artists Batoul Shim and Karim Rafi participated in the "Working for Change" project, which aims to create art expressive of Moroccan culture, during the 2011 Venice Biennale.

Art Market
There is a burgeoning market for modern & contemporary art. The art movement began over 50 years ago at the center of Marrakech, in the bustling market place of Jemaa el-Fna, when a group of abstract artists got together and exhibited their work. The exhibit lasted for 10 days and is considered the beginning of a movement in modern and contemporary art. It has been gaining recognition throughout the African continent and globally ever since.

Marrakech has emerged as the "art capital" of Morocco. It houses numerous art museums including the Farid Belkahia Museum, named after one of the leading Jemaa el-Fna artists who died in 2014. Marrakech is home to the Yves Saint Laurent Museum and hosts the annual Marrakech International Film Festival.

Tangier is another center for art, producing renowned artists like Ahmed Yacoubi and Abdellatif Zine and Mohamed Hamri whose works are displayed around the world.

Tattooing
Tattooing was once a popular tradition in the Maghreb, particularly among rural Amazigh populations.

Cuisine

Moroccan cuisine is generally a mix of Berber, Arab, Andalusi, and Mediterranean cuisines with slight European and sub-Saharan influences. It is known for dishes such as couscous, tajine, and pastilla. Moroccan cuisine uses many herbs, including cilantro, parsley, and mint; spices such as cinnamon, turmeric, ginger, cumin, and saffron; and produce such as tomatoes, onions, garlic, zucchini, bell peppers, and eggplant. One of the defining features of Moroccan cuisine is the interplay between sweet and savory flavors, as exemplified by tfaya, a mix of caramelized onions, butter, cinnamon, sugar, and raisins often served with meat.

Historically, couscous has been the staple of the Moroccan diet. On special occasions, more complex meals like the traditional Moroccan pastilla and some special pastries such as gazelle ankles and briwates are served for guests. Mint tea, called atay in Morocco, is commonly regarded as the national beverage.

Islamic holidays
Morocco' official religion is Islam. The rhythm of life for Moroccans is dictated by religious celebrations throughout the year, such as Ramadan and Eid Al Adha. During these celebrations, most of them being public holidays, Moroccans focus on praying and spending time with their family. Moroccans also celebrate al-Mawlid al-Nabawi, the birthday of the Prophet Muhammad, and the Islamic New Year.

Other religious celebrations include the Friday weekly prayer where most Moroccans go to the mosque for the Friday mid-day prayer.

Jewish holidays
Morocco has long had a significant Jewish population, distinguished by traditions particular to Moroccan Jews. For example, Mimouna is a characteristically Maghrebi holiday celebrated the day after Passover.Mahia is traditionally associated with Moroccan Purim celebrations.

Folk celebrations
Yennayer, the Amazigh new year, has been celebrated from January 12 to January 13, the beginning of the Julian calendar, since antiquity.

Other celebrations include Ashura, the tenth day of the Islamic year, and Bujlood, a folk carnival celebrated after Eid al-Adha.

Festivals
Taburida, or mawsam or fantasia, is a traditional exhibition of horsemanship in the Maghreb performed during cultural festivals and for Maghrebi wedding celebrations. There are also several annual festivals that take place in Morocco, such as the Betrothal Festival in Imilshil, the rose festival in Qalaat Megouna, or the saffron festival in Taliween.

Carpet weaving
Carpet weaving is a traditional craft in Morocco. Styles vary dramatically from region to region and from tribe to tribe. Among the more popular varieties there are:

 * Azilal, High Atlas
 * Bujad, near Khenifra
 * Beni Warain, Middle Atlas
 * Beni M'guild, Middle Atlas
 * Bousherwiit
 * Kilim
 * Marmusha
 * Zanafi
 * Zemmour

Some Atlas tribes, such as the Beni Ouarain, also weave hendiras, which are ornate woven cloaks for use in the winter. When it is snowing, they can be overturned and the loose loops of wool help snow fall off to keep the cloak dry.

Traditional clothing
The traditional dress for men and women is called djellaba (جلابة); a long, loose, hooded garment with full sleeves. The djellaba has a hood that comes to a point called a qob. The qob protects the wearer from the sun or in colder climates, like the mountains, the qob keeps in body heat and protects the face from falling snow. For special occasions, men also wear a red cap called a bernousse, more commonly referred to as a Fez. Women wear kaftans (قفطان) decorated with ornaments. Nearly all men, and most women, wear balgha (بلغة) —- soft leather slippers with no heel, often dyed yellow. Women also wear high-heeled sandals, often with silver or gold tinsel.

The distinction between a djellaba and a kaftan is the hood on the djellaba, which a kaftan lacks. Most women's djellabas are brightly colored and have ornate patterns, stitching, or beading, while men's djellabas are usually plainer and colored neutrally.

Cinema
The 1942 American film Casablanca is supposedly set in Casablanca and has had a lasting impact on the city's image, though it was filmed entirely in California and doesn't feature a single Moroccan character with a speaking role. Salut Casa! was a propaganda film brandishing France's purported colonial triumph in its civilizing mission in the city.

Love in Casablanca (1991), starring Abdelkarim Derqaoui and Muna Fettou, was one of the first Moroccan films to deal with Morocco's complex realities and depict life in Casablanca with verisimilitude. Nour-Eddine Lakhmari's Casanegra (2008) depicts the harsh realities of Casablanca's working classes. The films Ali Zaoua (2000), Horses of God (2012), and Ghazzia (2017) of Nabil Ayouch—a French director of Moroccan heritage—deal with street crime, terrorism, and social issues in Casablanca, respectively. The events in Meryem Benm'Barek-Aloïsi's 2018 film Sofia revolve around an illegitimate pregnancy in Casablanca. Hicham Lasri and Said Naciri also from Casablanca.

Atlas Studios in Warzazat is a large movie studio.

Movies in Morocco
Some directors have set films in Morocco. In 1952 Orson Welles chose Essaouira as the setting for several scenes in his adaptation of Shakespeare's "Othello", which had won the Grand Prix du Festival International du Film at that year's Cannes Film Festival. In 1955, Alfred Hitchcock directed The Man Who Knew Too Much and in 1962, David Lean shot the Tafas Massacre scene of Lawrence of Arabia in the city of "Ouarzazate", which houses Atlas Studios. Aït Benhaddou has been the setting of many films. The film Hideous Kinky was filmed in Marrakech.
 * 1944: Establishment of the "Moroccan Cinematographic Center" (CCM/the governing body). Studios were open in Rabat.
 * 1958: Mohammed Ousfour creates the first Moroccan movie "Le fils maudit"
 * 1982: The first national festival of cinema – Rabat.
 * 1968: The first Mediterranean Film Festival was held in Tangier. The Mediterranean Film Festival in its new version is held in Tetouan.
 * 2001: The first International Film Festival of Marrakech was held in Marrakech.

Qsour
A qsar (p. qsur) or an ighrem is a North African fortified village, especially an Amazigh one. There are over 300 qsur]]|undefined and the Draa Valley, particularly in the area between Agdz and Zagora.

Agadirs
An agadir, not to be confused with the city Agadir, is a communal granary traditionally found in Amazigh communities in southern Morocco.

Gardens
Andalusi gardens, inherited from Morisco refugees who settled in Morocco, are a prominent feature of Moroccan architecture. These have been used in building palaces such as the Bahia Palace in Marrakesh. The Andalusi garden, which usually features a burbling fountain, has an important role in cooling riads: the evaporation of water is an endothermic chemical reaction, which absorbs heat from the area garden and surrounding rooms.

Morocco has many beautiful gardens, including the Majorelle Garden in Marrakech and the Andalusian Garden in the Kasbah of the Udayas in Rabat.

Domestic architecture
Dar, the name given to one of the most common types of domestic structures in Morocco, is a home found in a medina, or walled urban area of a city. Most Moroccan homes traditionally adhere to the Dar al-Islam, a series of tenets on Islamic domestic life. Dar exteriors are typically devoid of ornamentation and windows, except occasional small openings in secondary quarters, such as stairways and service areas. These piercings provide light and ventilation. Dars are typically composed of thick, high walls that protect inhabitants from thievery, animals, and other such hazards; however, they have a much more symbolic value from an Arabic perspective. In this culture the exterior represents a place of work, while the interior represents a place of refuge. Thus, Moroccan interiors are often very lavish in decoration and craft.

Consistent with most Islamic architecture, dars are based around small open-air patios, surrounded by very tall thick walls, to block direct light and minimize heat.Intermediary triple-arched porticos lead to usually two to four symmetrically located rooms. These rooms have to be long and narrow, creating very vertical spaces, because the regional resources and construction technology typically only allow for joists that are usually less than thirteen feet.

Upon entering a dar, guests move through a zigzagging passageway that hides the central courtyard. The passageway opens to a staircase leading to an upstairs reception area called a dormiria, which often is the most lavish room in the home adorned with decorative tilework, painted furniture, and piles of embroidered pillows and Moroccan rugs. More affluent families also have greenhouses and a second dormiria, accessible from a street-level staircase. Service quarters and stairways were always at the corners of the structures.

Ziliij
Ziliij, colorful geometric mosaic tile work, is a decorative art and architectural element commonly found in Moroccan mosques, mausolea, homes, and palaces. These probably evolved from Greco-Roman mosaics, which have been found in cities such as Volubilis and Lixus.

Modernist architecuture
In the mid to late 20th century, architects such as Elie Azagury, Jean-François Zevaco, Abdeslam Faraoui, Patrice de Mazières, and Mourad Ben Embarek marked the architecture of Casablanca and other parts of Morocco with significant works of modernist and brutalist architecture.


text: User talk:172.58.59.77

title: User talk:172.58.59.77


text:
Free Knowledge Culture Calendar/February 21

Today in 1978 the influential “Nora-Minc report”, titled L'Informatisation de la société (The Computerization of Society), was submitted to the president of France. It laid out the vision on which the successful early online system Minitel was built.


text:
Oberon/ETH Oberon/bootstrap

Bootstrapping an OS on an x86-based PC, with application to ETH Oberon

Overview The purpose of this document is to explain how an operating system is started starting from nothing (i.e. the bootstrap mechanism) in a systematic and progressive manner, from the simplest case of a single operating system setup, to a more complex and more demanding multi-boot manager setup including the cascading of boot loaders. Each operating system has its own boot sector on the installation medium and several of them will be reviewed here, but the generic aspect will be emphasized to facilitate the understanding of the details of the mechanism used for starting an OS.

The alternative ways to start an operating system will be reviewed in the order:
 * 1) boot directly from diskette: a diskette is a single partition storage medium (described in this document)
 * 2) boot a partition indirectly via the MBR of a (potentially multiple partition) mass storage medium
 * 3) boot via boot manager, commonly used in a multiple operating systems environment
 * 4) boot indirectly via another operating system, e.g. via DOS with noboot.exe (Oberon), or loadlin.exe (Linux)
 * 5) boot a virtual operating system hosted in a file (in FatFS or in Linux FS)

The recipe is generally applicable to most OSes but the focus is placed on ETH Oberon, the OS we are interested in.

BIOS activity during the boot sequence This part is common to all x86-based machines, but some differences will be observed depending on the BIOS provided by different manufacturers and the BIOS set-up can differ from machine to machine too.

At the completion of a system's Power On Self Test (POST), the BIOS bootstrap routine generates an INT 19. Usually, INT 19 tries to read a boot sector from the first floppy drive (see next section "Boot directly from diskette"). If a boot sector is found on the floppy diskette, that boot sector is read into memory at location 0000:7C00 and the BIOS checks that the last two bytes of the sector are "55 AA". If that is correct, the routine jumps to memory location 0000:7C00 to execute the boot loader program in charge of loading and starting the operating system (it starts with the kernel).

If the last two bytes do not contain the "55 AA" signature, a BIOS-dependant message such as "Non-bootable disk" or "Non-System" is issued and the machine will halt.

However, if no boot sector is found on the first floppy drive, INT 19 tries to read the MBR from the first hard drive. If an MBR is found it is read into memory at location 0000:7C00 and INT 19 jumps to memory location 0000:7C00. The small program in the MBR will attempt to locate an active (bootable) partition in its partition table in a simple case. Alternatively, it can be the starting part of a boot manager program.

INT 19 is also called when the Ctrl-Alt-Del keys are pressed. On most systems, Ctrl-Alt-Del causes a short version of the POST to be executed before INT 19 is called.

Boot directly from diskette A simple and stable manner of starting an operating system, with the inconvenience of being comparatively slow. Most manufacturers recommend creating rescue floppy diskette(s) for use in case of difficulty starting the operating system of concern.

The prerequisites are:

 * 1) the machine must be equipped with a diskette drive. This cannot be the case for newer non-legacy machines.
 * 2) the BIOS set-up must give precedence to the floppy drive. In case two floppy drives are installed, it is possible to switch the A and B drives via the BIOS setup or by switching the cables in older machines whose BIOS does not support software switching.
 * 3) a bootable diskette must be available. For ETH Oberon cf. Diskette support.

Advantage: The possible difficulties encountered with the installation of an MBR or a boot manager are eliminated.

ETH Oberon boot loader The complete ETH Oberon boot loader (OBL) assembly code is found in OBL.Asm and its compiled form in OBL.Bin.

An OBL is written in the first 4 sectors in an Oberon partition (type 76) when a Partitions.Format command is executed. A partition occupies an entire floppy diskette. The same applies to a partition on a mass storage device. The difference is that in the latter case OBL becomes the second stage loader after the first stage loader placed in the MBR.

The structure of the boot sector is:  Offset Value       Assembler      Description in hex. instruction First 3 bytes 0000  EB29         JMP    START 0002  90           NOP BIOS parameter block (BPB) (* the values in the fields depend on the media *) 0003  4F4245524F4E00             ;OEM ID - 'OBERON',0 000A  1F                         ;mask for shift status byte 000B  0000                       ;bytes per sector 000D  00                         ;sectors per cluster 000E  0800                       ;reserved sectors 0010  04                         ;table sectors 0011  0000                       ;root directory size 0013  0000                       ;total sectors on disk 0015  00                         ;media descriptor 0016  0000                       ;sectors per FAT 0018  3F00                       ;sectors per track 001A  0000                       ;number of heads 001C  00000000                   ;hidden sectors 0020  00000000                   ;total sectors of partition 0024  00                         ;drive number 0025  00                         ;current head ; used for checksum 0026  00                         ;signature 0027  0300                       ;offset of 'OBERON' 0029  00                         ; 002A   00                         ; Boot program 002B  FA            CLI          ;disable interrupts 002C  EA            JMP          ;jump 002D  3100          ... ....      Message 01E4  492F4F206572726F7221       ;'I/O error!' 01EF 01F0  08040000                   ;file system ofs in blocks 01F4  E7000000                   ;file system size in sectors 01F8  414F5321                   ;'AOS!' 01FC  01                         ;version 01FD  0C                         ;sector size log2 01FE  55AA                       ;signature

When Oberon is running, the boot sector is displayed by executing: Partitions.ShowBlocks dev#part 0 1 ~. The same information can be obtained using the facilities of your preferred operating system or third-party software (commercial, shareware, ...).

DOS Boot Sector Read "How it works: DOS Floppy Disk Boot Sector" by Hale Landis.

Linux boot sector Read "Example Boot Sector"

[Top] ''19 Mar 2008 - Copyright © 2002 ETH Zürich. All rights reserved.''

E-Mail: oberon-web at inf.ethz.ch [expired]

Homepage: http://www.ethoberon.ethz.ch/ [expired]

title: Oberon/ETH Oberon/bootstrap


text:
User:Djungelskog1/sandbox

Welcome to my sandbox.

title: User:Djungelskog1/sandbox


text:
User talk:2A02:C7F:C02F:BA00:D916:7EAA:1826:71DC

--Synoman Barris (discuss • contribs) 14:16, 4 October 2020 (UTC)


text:
Oberon/ETH Oberon/bootmbr

Master Boot Record, with application to ETH Oberon

Summary The next level of boot complexity is that of booting from hard disk via its MBR. Every hard disk contains an MBR but the BIOS is usually able to access only the MBR of the first hard disk (the disk with device number 80H), whilst access to the further MBRs can eventually be controlled with the machine System Setup, depending on its capabilities.

Whichever operating system is used, the MBR which comes with it is a central information repository. The Boot Loader code it contains differs with each operating system and therefore its functionality varies accordingly. The order in which multiple operating systems are installed also influences the MBR content. The Boot Loader code is also replaced by a functionally different one when a boot manager is installed. Hence, an Oberon user will in any case have to deal with and have to master all the matter around the MBR, a vast subject outside of the ETH Oberon concern. A small amount of basic information is provided here, only just enough to establish a bridge to the relevant Oberon material. More information on the subject can be found, for example, in the Wikipedia article about booting.

BIOS activity during the boot sequence - follow-up part The initial part of the description found in x86-based PC bootstrapping still applies. However, if
 * no boot sector is found on the first floppy drive or
 * the BIOS setup is conditioned to boot from a mass storage device, attached to an IDE, SCSI or USB controller,

INT 19 tries to read the MBR from the first sector on the first hard disk. If an MBR is found it is read into memory at location 0000:7C00 and the BIOS checks that the last two bytes of the sector are "AA 55". If that is correct, the routine jumps to memory location 0000:7C00. The small program in the MBR will attempt to locate a primary, active and bootable partition in its partition table from which an operating system can be started. If an Oberon partition is active, Oberon is started with the ETH Oberon boot loader in a manner similar to what happens with a boot diskette. As another example, when DOS is installed, the first record in the partition contains a DOS boot sector. If the DOS partition is active, the start code will load IO.SYS, which in turn loads DOS, and so on ...

When a boot manager is installed, the genuine MBR of a particular OS is replaced and the notion of "active" partition becomes irrelevant. Instead, any partition, primary partition or logical drive in an extended partition can be booted. Some boot managers can also be cascaded.

ETH Oberon and the MBR ETH Oberon does not supply an MBR. It expects that the MBR, provided by third-party software, exists prior to the installation of Oberon. Attempting to install Oberon on an empty/blank first hard disk will unavoidably call for the error message "No boot sector on hard disk". Because the MBR plays such an important role, it is necessary to understand the boot mechanism part which precedes the start of Oberon in a partition on a mass storage device.

MS-DOS MBR A DOS MBR stores the partition table and 446 bytes of Boot Loader code playing a central role when a machine is started/booted.

An MBR is located in the first sector (Cylinder 0, Head 0, Sector 1) of a hard disk and it has the structure:  Offset Bytes Meaning in hex. 0000   446   Boot Loader code 01BE    16   1. partition entry 01CE    16   2. partition entry 01DE    16   3. partition entry 01EE    16   4. partition entry 01FE     2   Signature (55H AAH) The structure of a partition entry is:  Offset Bytes Meaning in hex. 00       1   80H = active partition / 00H = not active 01       1   begin of partition (head number) 02       1   begin of partition (sector number) 03       1   begin of partition (cylinder number) 04       1   partition type - 76 = 4CH for AosFS and NatFS 05       1   end of partition (head number) 06       1   end of partition (sector number) 07       1   end of partition (cylinder number) 08       4   rel. sectors (# of sectors to partition beginning) 0C       4   number of sectors in partition A good description of the boot loader mechanism is found in the Wikipedia article about booting.

Replacing an MBR Replacing an MBR is a considerable system modification which can lead to less considerable damages to all the OSes installed. Make sure beforehand that the OSes can still be started using boot diskettes prepared in advance and put aside for this eventuality. Keep also in mind that, whenever a partition is added, removed or resized on the disk, the partition table is modified and any earlier backup MBR becomes totally invalid and is a potential threat!

How to write or replace an MBR Caution is recommended: replacing an MBR is a dangerous operation which can lead to a massive loss of data.

The MBR is created in many ways:

 * it may be present on a newly purchased hard disk - it was then placed by the manufacturer
 * when an operating system is installed. DOS: FDISK used to format a partition; Windows; Linux; BeOS; ...
 * when another operating system is installed. The installation order plays a major role.
 * when a boot manager is installed.
 * when a boot manager is uninstalled. The original MBR, displaced by the installation is restored.
 * when fdisk /mbr is executed.
 * when a disk inspection utility is used.
 * etc.

The list is not exhaustive and the reader is invited to consult the documentation supplied with the operating system, commercial or shareware software used.

ETH Oberon offers the facilities required to manipulate or inspect an MBR by way of a number of commands described in Introduction to ETH Oberon / PC Native alpha and beta release:

 * Partitions.WriteMBR dev#0 filename ~
 * Partitions.PartitionToFile dev#part filename [block blocks] ~
 * Partitions.FileToPartition dev#part filename [block blocks] ~
 * Partitions.ShowBlocks dev#part block [blocks] ~

An interesting side effect is that ETH Oberon can be used to repair any MBR, including an MBR of a foreign OS, without the need to purchase further utility software.

Disaster recovery If your machine does not boot anymore as it used to, it could be that the MBR has been damaged or overwritten. It is extremely unlikely that the data in the partitions has been affected. Bypassing the boot loader is a way to recover from the situation. Use a boot diskette, created during the installation, to get get you back into Oberon. If none is available, use the Oberon-0 diskette as universal rescue diskette.

[Top]

''21 Nov 2002 - Copyright © 2002 ETH Zürich. All rights reserved.''

E-Mail: oberon-web at inf.ethz.ch [expired]

Homepage: http://www.ethoberon.ethz.ch/ [expired]

title: Oberon/ETH Oberon/bootmbr


text:
User talk:Black Walnut

My only User page is in the English Wikipedia. I maintain a separate User_Talk page per Wikimedia project. In each project, my signature links to my corresponding talk page.

Want to discuss something with me? Add a new entry at the bottom of this page. The first entry, below, is an example.

Remember to treat others as you would have them treat you.

Have a wonderful day!

— Black Walnut talk 17:51, 4 October 2020 (UTC)

Example entry with wiki markup
Hey Black_Walnut,

Regarding [https://en.wikibooks.org/w/index.php?title=High_School_Mathematics_Extensions/Primes/text&oldid=3744643 your recent change] to the [[High School Mathematics Extensions/Primes/text]] page.

I disagree with this change because ... I propose instead ...

What do you think?

~~~~

title: User talk:Black Walnut


text:
User talk:Dare2Leap

Welcome, Akmaie Ajam!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰 (𝗍𝗮𝘭𝙠) 18:19, 4 October 2020 (UTC)

title: User talk:Dare2Leap


text:
User:Blacklipstick/sandbox/Approaches to Knowledge/2020-21/Seminar group 6/Yvette Homerlein

 * I had braces for 2 years, had them removed, then had to get them again for another 1.5 years
 * I have extended family in 5 of the 7 continents
 * I've been a dancer for 10 years but my worst injury has only been a sprain


text:
Talk:X86 Assembly/Introduction

Sections
Hi, Under the heading "How is This Book Organized?" sections are mentioned. "The first section ... The second section ..." and etc. Shouldn't the sections appear in the contents on the title page? Thx, ... PeterEasthope (discuss • contribs) 03:20, 5 October 2020 (UTC)

title: Talk:X86 Assembly/Introduction


text:
Cookbook:Chicken Soup I

| Meat | Soup

No specific quantities or measurements are described here in any detail—just ingredients and method.

Ingredients

 * Chicken thighs, boneless (easiest)
 * Carrots, chopped into bite-sized chunks
 * Celery, cross-cut into 5–10 mm slices
 * Liquid chicken stock, or 2–3 vegetable stock cubes
 * Dill (either dried dill leaf tips, or 1 bunch finely-chopped fresh dill)
 * Water
 * Salt

Procedure

 * 1) Put chicken into cold or room-temperature water in a pot on the stove and set heat to bring it to a boil. As it heats up, a surface foam develops prior to the boil. We want a clear soup broth, so use a big spoon or small strainer to skim the foam and other "debris" away into a container. Discard the foam.
 * 2) Remove chicken thighs from the pot and chop them into roughly bite-size pieces on a chopping board. The chicken may tend to fall apart anyway as you handle it. While chicken is out of the pot, it's a good time to clear the broth further if desired.
 * 3) Add the chicken pieces back into the pot.
 * 4) Add carrots, celery, dill, and stock to the pot. Adjust heat to bring back to a simmer.
 * 5) Simmer for at least 30 minutes (an hour is better, hours even better) to cook the chicken and mix the flavors.
 * 6) Lightly salt to taste; individual diners can add more salt to their bowls if desired.

Notes, tips, and variations

 * Serve with noodles of choice that have been cooked separately and drained, and added to individual bowls of soup. Add rice vermicelli noodles, which cook in two minutes, to bowls when serving. Barley can also be used in place of noodles.
 * For a thicker broth, somewhat like a stew: take a cup of the finished soup, stir in some flour, and then stir the mixture back into the soup.
 * You can use legs, or thighs with bones, process on a cutting board by removing bones, gristle, etc., and cut meat into small chunks.

title: Cookbook:Chicken Soup I


text:
User:Mathildem16/sandbox

ff

title: User:Mathildem16/sandbox


title: User:Wkee4ager/sandbox


text:
User:Uclqevy/sandbox

Welcome to my sandbox.

3 facts about myself (2 are true and 1 is a lie):

1) I met a population practically cut off from the world in Indonesia.

2) I am very interested in Modern Art.

3) I have already met the brother of Merlin the wizard.

title: User:Uclqevy/sandbox


text:
User:Poccy3/sandbox

 * 1) I have lived in both France and Germany.
 * 2) My favorite music genre is techno music.
 * 3) I have had the chance to visit every continent.

title: User:Poccy3/sandbox


text:
User:Basc0024/sandbox

bold test Issues in Interdisciplinarity 2019-20 last year

title: User:Basc0024/sandbox


text:
User talk:Iasbrazil

Benefits of ISO 27001 Certification

ISO 27001 Certification is suitable for all the organizations, regardless of its, size, type, and nature. But this certification is especially important for the organization that addresses the customers’ data and information such as software companies, banks, insurance companies, etc. It ensures the safety of data and information.

ISO 27001 Standard

It is an international standard of ISO that specifies requirements to establish, monitor, maintain, and continually improve an Information Security Management System within the organization. It provides a set of guidelines to identify, control, and reduce information security risks and threats.

Powerful ISMS, protect your reputation The effective implementation of the Information Security Management System promotes the organization’s reputation and brings new business opportunities. The ISO 27001 Certification is great to achieve a place in the global market. It prevents/reduces the unauthorized/third-party access and as well as protects the confidential data and information assists.

Moreover, the ISO 27001 Certification establishes an organization’s involvement in securing the confidential data of the employees/customers/clients/stakeholders.

title: User talk:Iasbrazil


text:
User:Undercoverfrench/sandbox

1. I got lost at night in the mountain in a ski resort and was forced to sleep in a cable car.

2. Once, I dressed up like a grape and danced in front of 500 people.

3. I can juggle with a gym ball on my feet for hours.

title: User:Undercoverfrench/sandbox


text:
Free Knowledge Culture Calendar/July 31

Today in 1978 the National Commission on New Technological Uses of Copyrighted Works (CONTU) published its final report, in which it recommended extending copyright protection to software. Its drafts were implemented in 1980 with minor changes.

title: Free Knowledge Culture Calendar/July 31


text:
Free Knowledge Culture Calendar/January 17

Today in 1969 the U.S. government filed an antitrust lawsuit against the anticompetitive bundling of software with hardware sales by IBM. Although the case was eventually withdrawn in 1982, IBM unbundled software in June.


text:
Talk:End-user Computer Security/Appendix/New security inventions requiring a non-trivial investment in new technology

Design feature for enabling the detection of malware in BIOS firmware
Not sure whether such invention has already been discovered.

Given a set of operators O, a fixed-size memory S1 (BIOS firmware), a second fixed-size memory S2 that is blank when the computer starts (RAM), and a legitimate BIOS program stored in S1, find a maximal compression of values that fit neatly and tightly into S1 that also include the legitimate BIOS program, such that it is impossible for any program stored in S1 to display the total contents of S1 without simply doing a memory dump to screen of S1. Then build into the computer system a security verification sub-system that simply does a memory dump to screen of S1. The user has a copy of what S1 should be (perhaps from downloading it from the internet on another computer), and then compares the memory dump with the copy of what S1 should be. If there is a mismatch, security fails. If there is no mismatch, user knows that there is no malware in S1 so long as the hardware has not undergone any hardware tampering.

This mechanism relies roughly upon filling-up the BIOS firmware capacity "to the brim" with values, that cannot be compressed down any further (cannot be reduced to code that takes up less memory space). Physically disconnecting other components, such as the system disk, might be required. If there is changeable firmware in other components, could be possible for malware to utilise unpredictable data in other components to trick user into believing there is no malware. Not so sure how you would get round that. Perhaps being able to physically disable the other components would solve such issues.

Leveraging option ROMs and more generally the shadowing of firmware to RAM, for better security?
Firmware stored in ROM, can be a security risk due to physical hardware tampering. For example, EEPROM chips can be de-soldered and replaced with bugged chips that communicate data in a wireless way to nearby snooping devices. Also, auditing for correctness is generally difficult for the average computer owner, as it appears that it is generally required to create a specialised hardware set-up in order to dump the contents of the firmware in some manner where the contents can be verified (devices such as USB programmers are perhaps always needed).

With the foregoing in mind, option ROMs can perhaps provide better security, because the associated firmware is dumped to RAM and run from RAM. The contents being in RAM, means that no specialised hardware set-up is required to audit the firmware for correctness. It also means that hardware bugs in the hardware used for permanent storage of the firmware, can be overcome, because after the firmware is loaded to RAM, that hardware is no longer used (can even be unplugged if a ROM socket is being used)—the firmware is simply run from RAM. A counter argument to this latter justification, might present itself as "what about if the RAM is bugged?" For some reason, I'm inclined to believe RAM is more "trustable" perhaps because of it being such a common component to computing systems. Users can swap out RAM, but the same is not so easy with EEPROM chips that are pre-soldered to the mainboard. Being able to buy the RAM separately, and because of RAM likely being readily available in physical shops, the "User randomly selecting unit from off physical shelves" principle can be used to thwart targeted MITM attacks between the supplier and the end-user. Additionally, whereas without option ROMs, security-attentive eyes need to be kept both on the specialised storage used for firmware and the RAM together (in respect of clandestine hardware bugs, such as espionage hardware), with the above implemented, eyes only need to be kept on the RAM—the attack surface is effectively reduced.

Extending the above-described potential advantages regarding option ROMs, to all firmware in general, the BIOS firmware itself can also be driven in the same way—copied to RAM and then run from RAM. Incidentally, doing such, perhaps would make security patching of the firmware easier, as the firmware loaded to RAM could then just be patched through the OS during the OS boot. Researching on the internet just now, it does look like some form of BIOS shadowing does take place for speed performance considerations, but unfortunately, such shadowing is likely implemented by the BIOS code itself. If true, this would mean that malware present in the BIOS code would then be able to interfere with the shadowing process (which is undesirable). Instead, the shadowing process should be controlled purely by hardware, or by hardware plus code where the code is very highly secured and unchangeable (not part of the changeable BIOS firmware that potentially contains bugs and backdoors).


text:
User:BeckySpecky

Relate Communication theory to Performing art. Communication can be defined as the act of impacting or exchanging information between two or more people.There are four types of Communication. a.intra-personal communication:This land of Communication deals with oneself b.inter-personal Communication:This land of Communication makes use of dialogue c.Group Communication:This is an interactional process involving a group of three or above persons. d.Mass Communication:This involves reaching out to a large audience. Process of Communication. Sender,decode, encode,receiver,message,feedback,noise. Sender:He/she initiates the message. Encode:The act of putting an idea/though into codes Decode:Assigning meaning into that idea or thought. Receiver:The intended target of the message. Message:The idea,feelings,emotions, information been transmitted. Feedback:The initial response from the receiver-the sender Noise:Any noise that disrupt the message been passed. Methods of Communication Verbal communication:This is the exchange of words face to face Non-verbal Communication:This is done mostly through the use of appropriate body gestures. Written Communication:involves any type of interaction that make use of written words. Communication by visualization:This is done through the use of graphics used to communicate to larger populate. Performing arts makes use of all this on stage cause sometimes the actor or actress soliloquy on stage(intra-personal Communication has been used)also on stage the actor also has dialogue on stage with his fellow performer(inter-personal communication has taken place also),sometyms they may have family issues and the family might want to settle it(Group Communication has taken place also),they perform in front of the audience(Mass Communication has taken place). We also make use of process of Communication on stage.The play wright intiates the message,The director receives the message by directing the performer on stage,the performer performs on stage and the audience receives the message and gives the performer a feedback by clapping.In our everyday life we in performing art make use of Communication on stage and in our everyday life.

title: User:BeckySpecky


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/William Philip Bechervaise

William Philip Bechervaise
William Philip Bechervaise joined the Victorian Posts and Telegraphs Department in the mid 1850s and in February 1858 was appointed station master at the Ballarat telegraph station. He remained in the position for 34 years, finally retiring in 1892 on a well-deserved government pension. In the mid 1870s he was promoted to Postmaster master for Ballarat but also retained responsibility for the telegraph station. The period of this role was one of rapid and major expansion of the Victorian telegraph network, and newly connected stations were being announced every month during the 1860s. He was heavily involved in community activities including the rowing club and cricket club. Much of his spare time was spent as a lecturer in electricity and related subjects at the Ballarat School of Mines, also taking classes teaching the art of telegraphy to large classes. Many of his students went on to take positions with the Victorian public service. In the mid 1870s he participated in several early experiments and demonstrations of telephones and telephony. He was associated with the well-known Ballarat and Melbourne based inventor Henry Sutton and the lesser known telephone experimenter John Palmer. After issues arose in the running of Melbourne telegraph office (and the Victorian Posts and Telegraphs Department generally), Bechervaise was temporarily appointed to manager. He stayed in Melbourne for two years 1878 to 1880 and departed only when the office was again on a sound footing. He had been a corresponding member (country) of the Melbourne-based Telegraph Electrical Society since its inception, but while in Melbourne took a major role in the promotion and operation of the Society. He presented various learned papers on Telegraphy. During this time he worked closely with many of the departmental luminaries: Henry Walter Jenvey (later an early wireless experimenter and arguably our first amateur radio operator), Duncan James Macfarlane McGauran (developer if not inventor of the quadraplex telegraphy system, sadly passed in his prime), Peter Robert Challen (early telephone experimenter), George Smibert (later Chief Electrician) and Louis Septimus Daniel (early experimenter in "Etheric Force"). Having returned to Ballarat, in the late 1880s he was beset with ill-health and took extended leave, taking the opportunity to travel to try to restore his health. In 1892 he took a redundancy from the Department, and his farewell function was strongly attended. He continued in teaching roles at the School of Mines, finally passing in 1905 at South Yarra where he had retired a few years earlier to be closer to family.

A comprehensive biography of William Philip Bechervaise has not yet been prepared, however the following resources have been assembled in preparation:

 * Transcriptions and Notes - William Philip Bechervaise - More than 747 transcriptions and notes

 * Photos, QSL cards and other graphics - William Philip Bechervaise - Nothing uploaded as yet

 * Frank Randell Bradley's 1934 article on the History of the Electric Telegraph in Australia - Essentially complete excepting formatting

 * B. McMahon's 1939 article on "The Early History of the Telegraph Electrical Society, Melbourne"

 * Work-in-progress of Wikipedia Article on William Philip Bechervaise - Not yet started

In the National Library of Australia's Trove website, more than 800 articles (Newspapers & Gazettes) have been tagged as "William Philip Bechervaise" (search publictag:William Philip Bechervaise)

A search in Trove on "W. P. Bechervaise", "Bechervaise Victoria", "Bechervaise Telegraphy" identifies more than 2000 articles, the majority of which refer to William Philip Bechervaise. Those tagged to date are a quick review to identify the most important for this Wikibook. Articles transcribed for Notes are tagged: "!Wikibooks - Bechervaise". Articles reviewed and considered either duplicates of other articles or not of sufficient importance for inclusion are tagged: "!Wikibooks - Bechervaise Not"


text:
Type-oriented programming/Types and properties

Types can be viewed of bundles of properties and functions operating on them. Such functions are conventionally called methods. Here’s an example of a simple type:

type Person { property name String property age Int }

This type declaration states that the  type has two properties. An instance of this type can be created using a  statement:

var p = new Person { name = "Jane", age = 18 }

The properties of a type’s instance can be accessed via the dot operator, for example:

return p.name

NB: The pseudocode can be tried out using the Funcy app, which can be downloaded for free from Apple’s App Store (iOS/macOS), Google Play (Android) or Amazon Appstore. The code to be executed must be placed in a  block. The example above can be tried out by running the following code:

type Person { property name String property age Int }

main { var p = new Person { name = "Jane", age = 18 } return p.name }