Taksonomija sistemov meta-programiranja.

V meta-programskem sistemu meta-programi manipulirajo z objektnimi programi. Meta programi lahko konstruirajo objektne programe, kombinirajo fragmente predmeta programa v večje objekte, opazujejo strukturo in druge lastnosti predmetnih programov ter izvajajo predmetne programe za pridobivanje njihovih vrednosti.

Obstajajo dve pomembni vrsti scenarijev meta-programiranja: generatorji programov in analize programov. Vsak od teh scenarijev ima številne značilnosti

  1. Generator
    1. Zastopanje: Strings vs. Algebraic datatype vs. Quasi-quote
    2. Samodejno in Ročno označevanje
    3. Statični Generator vs. Runtime Generator
    4. Homogena in heterogena
    5. Izpisano v primerjavi z neizpisano
    1. Statično izpisano in dinamično uničeno
    6. Dve stopnji v primerjavi z N-stopnjo
  2. Analiza
    1. Homogena in heterogena
    2. Povzetek sintakse višjega reda proti sintaksi prvega reda
    3. Izpisano v primerjavi z neizpisano

Generatorji proti analizam

Generator programa (meta-program) rešuje posebno težavo z izgradnjo drugega programa (predmetnega programa), ki rešuje problem pri roki. Običajno je ustvarjeni (predmetni) program “specializiran” za določen problem in uporablja manj virov kot splošni namen, ki ni generatorja.
Programska analiza (meta-program) upošteva strukturo in okolje predmetnega programa in izračuna nekaj vrednosti kot rezultat. Rezultati so lahko grafični prikazi podatkov ali kontrolni tok ali celo drugi objektni program s svojimi lastnostmi, ki temeljijo na lastnostih izvornega objekta. Primeri teh vrst meta-sistemov so: programski transformatorji, optimizatorji in delni sistemi vrednotenja.

Zastopanje: Strings vs. Algebraic datatype vs. Quasi-quote

Sistem meta-programiranja uporablja pripombe programa (imenovane opombe zapisov), da bi razlikovali med metaprogramom iz predmetnega programa. Objektni program mora biti prvovrstna vrednost. O tem bi morali razmišljati kot datastrukturo, ki jo je mogoče manipulirati kot katerakoli druga. Številni meta-sistemi predstavljajo objektne programe z uporabo nizov, grafov ali algebrskih podatkovnih struktur.
Z kodiranjem nizov kodo fragment f (x, y) predstavljamo preprosto kot “f (x, y)”. Medtem ko je gradnja in združevanje fragmentov, ki jih predstavljajo strune, lahko zgoščeno, njihovo dekonstruiranje je precej verbalno. Bolj resno, ni samodejno preverljivega jamstva, da so tako zgrajeni programi sintaktično pravilni. Na primer: “f (, y)” ima statični niz vrstic, vendar to očitno ne pomeni, da ta niz predstavlja sintaktično pravilen program.

Z kodiranjem podatkovnega tipa lahko odpravimo težavo sintaktične korektnosti. Kodiranje podatkovnega tipa je v bistvu enako, kot se imenuje abstraktna sintaksa ali razčleniti drevesa. Kodiranje fragmenta “f (x, y)” v podatkovnem tipu SML je lahko: Uporabi (spremenljivka “f”, tuple [spremenljivka “x”, spremenljivka “y”]) z uporabo podatkovnega tipa, ki se deklarira na naslednji način:

datatype exp = Spremenljiv niz
| Uporabi (exp * exp)
| Tuple exp list

Uporaba kodiranja podatkovnega tipa ima takojšnjo korist: pravilen tipkanje za meta-program zagotavlja pravilno sintakso za vse objektne programe. Ker SML podpira ujemanje vzorcev nad tipi datotestov, dekonstruiranje programov postane lažje kot z nizom predstavitev. Vendar je gradnja programov bolj poglobljena, ker moramo uporabiti okorne konstruktorje, kot sta Variable, Apply in Tuple.

Predstavitev Quasi-quote je poskus, da se ta omejitev zgodi. Tu je dejanska predstavitev objektne kode skrita od uporabnika s pomočjo mehanizma kotacije. Objektna koda je sestavljena tako, da dajo oznake »citat« okoli običajnih kodnih fragmentov.

V preostalem delu tega dokumenta bomo uporabili kvazitacijsko notacijo sistema meta-programiranja MetaML. V kvazi citati MetaML je le ena od večih opomb o zaporedju. V MetaML-u so zapisi zapisov Brackets <>, Escape ~, dviganje in zagon. Izraz <e> gradi kodno predstavitev e; črta kodo, ki jo dobimo z vrednotenjem e v telo bližnjega izraza Bracketed; in zaženite e, ocenjuje e, da pridobi kos kode, nato pa oceni ta del kode. Pomembno je omeniti, da je ~ e le zakonito v oklepajih z lexico.

Kot pri predstavitvi programov v datotečnem prikazu, z uporabo označevalnih zapisov zagotavlja sintaktično pravilnost predmetnih programov z uporabo pravilnosti meta-programov, vendar ohranja enostavnost gradnje objektnih programov. S postopnim sistemom tipa (glej spodaj) lahko pravilnost meta-programov prav tako zagotavlja pravilnost (in sintaktično pravilnost) predmetnih programov.

Samodejno vs. Ročno

Kličemo sistem meta-programiranja, pri katerem programer postavlja pripombe v zaporedje neposredno v sistem ročnega nastavljanja. Če so opombe za zaporedje postavljene s samodejnim procesom, je sistem za meta-programiranje samodejni strežniški sistem.
Off-line delno ovrednotenje je meta-sistem za samodejno uprizoritev. Razmislite o preprosti delni funkciji vrednotenja PE s tipom <s -> d -> a> -> (s -> <d -> a>)

PE predstavlja predstavitev programa z enim statičnim parametrom in enim dinamičnim parametrom ter vrne odgovor. Analizira ta program in samodejno izdela priglašeni program, ki pri dodeljevanju statičnega parametra kot vhod producira predstavitev funkcije iz dinamičnega parametra za odgovor. Na primer:

PE <fn s => fn d => d + (s + 3)>

vrednoti

fn s => <fn d => d + ~ (dvigalo (s + 3))>

Samodejni sistemi meta-programiranja shranjujejo uporabnika, da se trudi postavljati opombe, toda uporabnik samodejnega sistema izgubi nadzor nad strukturo proizvodnje.

Trdilo se je, da je programe, ki se izvajajo ročno, težko pisati in so precej večji od njihovih neizpostavljenih kolegov, ki bi jih lahko vnesli v sistem PE, kar bi prihranilo uporabniku veliko dela. S prihodom sodobnih meta-programskih sistemov s pripisi navajanja kvazitomov je še vedno videti, ali ta argument še vedno velja. Naše izkušnje so bile, da so ročno pripisani programi (v nekaj odstotkih) enake velikosti kot njihovi nepredvideni kolegi.

Statični Generator vs. Runtime Generator

Programski generatorji so na voljo v dveh okvirih: statični generatorji, ki ustvarjajo kodo, ki je nato “zapisana na disk”, obdelana z običajnimi prevajalniki itd. In generatorji kode, ki so programi, ki napišeta ali izdelujejo druge programe, nato pa takoj izvedejo programe so jih ustvarili. Primeri programskih generatorjev so sistemi za generiranje kode, kot sta sintezno jedro, in statični programski generatorji, kot je Yacc.

Homogena in heterogena

Obstajata dve vrsti meta-programskih sistemov: homogeni sistemi, kjer sta meta-jezik in predmetni jezik enaka, in heterogeni sistemi, kjer se meta-jezik razlikuje od predmetnega jezika.

Obe vrsti sistemov sta uporabni za predstavitev programov za avtomatizirano programsko analizo in manipulacijo. Vendar pa obstajajo pomembne prednosti za homogene sisteme. Samo homogeni sistemi so lahko večplastni, pri čemer je lahko predmetni program sam metapodatkov, ki manipulira z objektno programsko opremo druge stopnje. Samo v homogenem meta-sistemu lahko enotni tip tipa vnaša tako meta-jezik kot tudi predmetni jezik. Samo homogeni meta-sistemi lahko podpirajo refleksijo (kjer je meta-jezik dovolj bogat, da se lahko vsak primitiv na objektnih programih izrazi kot meta-program). Samo homogeni meta-sistemi lahko enotno podpirajo operacijo “run” ali “eval”. To je tisto, zaradi česar je možna generacija kode. Homogeni sistemi imajo tudi pomembno pedagoško in uporabnostno lastnost, ki jo uporabnik potrebuje le za učenje enega samega jezika.

Izpisano v primerjavi z neizpisano

Za avtomatiziranje procesa meta-programiranja in zmanjšanje napak je treba omogočiti, da nekatere lastnosti predmetnih programov statično sklepamo iz meta-programov, ki jih manipulirajo. Pomemben napredek, ki ga zagotavlja sistem meta-programiranja MetaML, je sistem, ki je vgrajen v sistem. Sistem s postopnim tipom združuje pomembne informacije o meta-programiranju postavljanja in tipov v en sistem.
Sistem s postopnim tipom natančno določa nastavitvene omejitve sistema, kot tudi zahteve za tipizacijo posamezne stopnje. Ena prednost sistema s postopnim tipom je, da so meta-programi, ki manipulirajo z zlorabljenimi predmeti, sami vneseni. To daje odlične povratne informacije pisateljem meta-programov.

Sistemi zaporednih tipov so še posebej primerni za homogene sisteme, saj je potreben samo en sistem tipa. Takšni sistemi zajemajo statično in dinamično ločevanje parametrov delne ocene. Tako program f s tipom: f :: a -> <d> -> <b -> <c>> nam pove kar precej o programu.

Piše, da je f funkcija z dvema parametroma. prvi je statični (poznan zdaj) parameter vrste “a”, drugi pa je dinamičen (ni znan do druge stopnje) parameter tipa “d”. Ta program ustvari predmetni program, ki je tudi meta-program (drugostopenjski), z enim (drugostopenjskim) statičnim parametrom tipa “b”, ki proizvaja (tretji korak) predmetski program tipa “c” .

Pomembni so tudi tipični heterogeni meta-sistemi. Tukaj vrsta meta-programa nekako vključuje vrste predmetnega jezika. To omogoča, da meta-programi šifrirajo samo vrste, ki so skladne (na ravni objekta) transformacije predmetne kode, ali pa vnašajo prevode iz enega predmeta v drugega. V tem primeru obstajata trije tipski sistemi, ki morajo delovati usklajeno (sistem meta-ravni in dva sistema objektnega nivoja).

Statično izpisano in dinamično uničeno

Dve stopnji v primerjavi z N-stopnjo

Dvostopenjski meta-programski sistem omogoča samo eno meta-stopnjo in eno samo fazo objekta. V metapodirnem sistemu N-stopenj je lahko vsak predmetni program tudi meta-program.

Vmesnik človek-stroj

Poleg teh operativnih lastnosti mora meta-sistem imeti tudi dober vmesnik med človekom in sistemom. Naše izkušnje s sistemi meta-programiranja so nas pripeljale do oblikovanja naslednjega meta-programiranja vmesnika humanega sistema desiderata:

  1. Gradnja. Ustvariti bi bilo treba kodo z uporabo nekakšnih vzorčnih predlog objektnih kod. Predloge morajo “izgledati” kot jezik predmeta, ki ga predstavljajo.
  2. Splicing. Programske fragmente bi bilo treba enostavno združiti v večje programske fragmente, kar najbolje doseže parameterizabilni mehanizem spajanja, kot je “predloge z luknjami”.
  3. Tipkanje. V homogenem sistemu ima objektna koda parametrično vrsto, to je koda s tipom Int, kodo s tipom Float itd. Pravilnost tipov meta-programa mora zagotavljati pravilnost objektnih programov, ki jih gradi.
  4. Higiena. Obvezne spremenljivke v predlogah je treba obravnavati na prefinjen način, ki ne zagotavlja nobenega imena in se drži pravil statičnega obsevanja. Proste spremenljivke v programskih predlogah se morajo nanašati na vrednost spremenljivke na statični lokaciji, kjer je predloga definirana, ne pa na kraju, kjer je bila izvedena.
  5. Run. Objektne programe je mogoče zagnati. Ustvarjena koda se lahko “testira” znotraj meta-sistema.
  6. Tiskanje. Objektne programe lahko natisnete. To je bistveno za razhroščevanje meta-programov. Objektni programi morajo biti precej natisnjeni na način, ki ga običajno napiše programer. Ne smejo jih predstavljati nekatere abstraktne predstavitve, ki niso znane programerju.
  7. Opazovanje. Objektni programi imajo strukturo. Treba bi bilo omogočiti analizo predmetnih programov, jih ločiti, itd.

Vir: http://web.cecs.pdx.edu/~sheard/staged.html

 

Razno Odprtokodno Programska oprema od Randall O’Reilly

Randall C. O’Reilly

Programska oprema:


Različna koda obdelave BibTeX: samodejno ustvari prenos datotek iz vnosov .bib!

Ta programska oprema, napisana v CSS (skriptni program C ++, ki je del programske opreme PDP ++), naredi napačno obdelavo referenčnih datotek bibtexa.

bibtex_lib.css To je osnovna knjižnica za predstavitev vpisa bibtexa in nekaj osnovnih I / O: bibtex_lib.css

bibtex_to_www.css Ta program bo vpisal seznam vnosov bibtex v določeni datoteki in ustvaril spletno stran (html) za prenos dokumentov, navedenih v datoteki bibtex. Ima samo en slog, vendar lahko preprosto spremenite kodo, da naredite, kar želite. Vnos bibtex-ov url označuje povezavo do papirja, v vnosu ključnih besed pa je naveden kateri od nizov (teme s kodami v skripti), v katere želite organizirati prenos. Abstraktni vnos se uporablja za ustvarjanje dodatne strani, ki vsebuje abstrakcije. bibtex_to_www.css

ingenta_to_bibtex.css Na tej strani se prikažejo reference iz storitve incentive email table of contents (ingenta web page) in vam omogočajo, da izberete tiste, ki jih želite shraniti v eno od vaših datotek bibtex. ingenta_to_bibtex.css


xdvik za powerpoint-style predstavitve pod LaTeX

Jaz uporabljam xdvi (dejansko xdvik), da naredim vse moje predstavitve v slogu Powerpoint, pri čemer uporabim LaTeX za generiranje diapozitivov. Allin Cottrell ima lepo stran, ki opisuje, kako je to mogoče storiti. Nedavne različice teh programov zdaj podpirajo barvne posebnosti, ki delno delujejo na mojih popravkih, opisanih spodaj.

Na eni točki xdvi ni podprla barvnih posebnosti pod LaTeXom, ki jih ponuja barvni paket pod 2e, kar bi xdvi omogočilo skoraj popolno predstavitev. Torej, sem spremenil nekaj prejšnjih kodo, ki ga Fred Hucht za podporo barvne posebnosti pod xdvik. Dodal sem tudi nekaj novih posebnosti, ki podpirajo spreminjanje barve ospredja in ozadja za proces ghostscript (gs), ki prikazuje slike postscripta pod xdvi (vključeni so v novejše programe xdvi? Nisem jih še preizkusil).

Navodila za uporabo: uporabite barvne ukaze za barvne pisave, tako kot je dokumentirano v paketu color.sty v grafični zbirki paketov LaTeX2e. Uporabiti morate možnost [dvips] za graphicx: \ usepackage [dvips] {graphicx}, da se prikažejo ustrezne barvne posebnosti. Za specifikacije ghostscript-ja sem napisal ukaze \ gsforecolor {color} in \ gsbackcolor {color} za nastavitev teh posebnih datotek in so vključeni v spodnjo datoteko sshow.sty.

John Smith john.smith@arrows.demon.co.uk je prispeval spremembe, ki so barvne pisave protizdelovale! Obrnjena stran te spremembe je, da se za osnovne znake lahko uporabijo samo primarne barve (vsaka barva se lahko uporablja v ozadju pagecolor). Pri primarnih barvah mislim bodisi 1 ali 0 v vsako od komponent r, g, b. Vse, kar je manj kot 1, se zaokroži navzdol do 0 in bo tako prikazano kot črno.

Prikaz slike v JPEG-u: Hacked xdvik sem prikazal tudi za prikaz slik jpeg bitmap. Moja motivacija za to je bila, da je prikaz ghostscript slik bitma na mojem sistemu grozljivo slab (izgledal je, kot da je izhod tiskalnika povečal, tako da si lahko ogledate vse pike in dithering in sranje, namesto da bi prikazali preklete rgb vrednosti.). Vendar sem pravkar prenesel ghostscript 6.50 in ugotovil, da v resnici prikaže bitmap slike precej lepo zdaj! Oh, dobro, jpeg zaslon je hitrejši, kaj je vredno, in bi lahko bil kdo kdo zanima nekje. Obstajata dva vmesnika za prikazovanje jpeg:

  • Vključite posebno z imenom datoteke (v narekovajih), ki ji sledi parameter višine ali širine opcije. V texu je to doseženo z naslednjo funkcijo: \ def \ jpegimage # 1 {\ special {jpegimage “# 1”} \ ignorespaces}.
  • Koda, ki prikazuje podatke o PS-ju, zdaj preverja, ali obstaja datoteka z enakim imenom kot datoteka .eps (OPOMBA: razširitev * MUST * je .eps), vendar z razširitvijo .jpg, če je tako, potem to prikaže Namesto datoteke .jpg! Torej, lahko začnete z .jpg, uporabite jpeg2ps za pretvorbo .jpg v datoteko .sps level 2. posts, ki je zelo kompaktna (vendar zahteva tiskalnike, združljive z drugo stopnjo, itd.) In nato uporabite grafik pod LaTeXom za \ includegraphics .eps, tako da bo dvips itd. ustvaril ustrezen izhod tiskalnika, medtem ko bo xdvi prikazal sliko v svoji prvotni sliki rgb.

Tukaj so različne datoteke za to delo:

  • Popravek za xdvik (izdelan iz različice 22.15): xdvik-22.15color.patch.
  • Zbirna binarna datoteka za Red Hat Linux 6.2 (morda dela z drugimi različicami – dinamično povezana s knjižnicami XF86 4.0.2 X) – to kopirajte v /usr/bin/xdvi.bin (naredite varnostno kopijo obstoječe, da je varna ): xdvi-22.15color.bin. Če dinamično povezana različica ne deluje, poskusite to statično povezano binarno datoteko: xdvi-22.15color.bin.static.
  • Lupinski skript za klicanje xdvi z ustreznimi argumenti za izvedbo diaprojekcije: sshowxdvi (za ločljivost 1024×768, ločljivost XGA) ali: sshowxdvi800 (za 800 x 600, SVGA ločljivost).
  • A .sty datoteka, da nastavite kup stvari za diapozitive (predpostavlja uporabo color.sty in slides.cls): sshow.sty.
  • Demo datoteka .tex, ki prikazuje, kako deluje vse: sshow_demo.tex, prav tako potrebujete to številko, da prikažete, kako delovne številke zaslona delujejo: sshow_demo_fig.ps in za eps / jpg trik: sshow_demo_mona.eps. sshow_demo_mona.jpg.
  • Nekatere skriptne datoteke za ustvarjanje datotek PDF iz pogovorov:

rormail: nekaj izboljšav v rmailu za emacs

Sem napisal nekaj kod pod emacs, da bralec rmail pošte dela bolj kot mislim, da bi morala. Predvsem to pomeni, da je povzetek vedno prikazan v odbojniku s splitskim oknom, tako da delate predvsem na povzetku, vendar si lahko vedno ogledate izbrano pošto v drugem oknu. Obstajajo številne druge manjše popravke, vključno z revizijo kode mime-compose.el, ki se zdi, da deluje bolje za sestavljanje mime e-poštnih sporočil, in poseben kramp za samodejno pretvorbo informacij o vsebini iz Uncover-Reveal v vnos BibTeX.


rmtcmd, rmtcp, rmtget: skripte za zagon istega ukaza na več sistemih

Za upravljanje številnih podobno konfiguriranih sistemov je zelo koristno, da lahko iste ukaze izvajate v istem imeniku na teh različnih sistemih. Ti skripti lupine naredijo to, poleg kopiranja datotek v oddaljeni sistem in iz njega z uporabo neverjetnega ukaza, rsync (znova, v / iz istega imenika kot na trenutnem gostitelju). Verjetno Beowulf in drugi takšni sistemi imajo takšno funkcionalnost, vendar so ti skripti hitro in umazani in naredijo trik. Vsi so zasnovani na ssh. Upoštevajte, da vsebujejo posebno prevajalsko kodo za situacijo, v kateri imate različne domače imenike na različnih napravah – to so imena mojih gostiteljev v njem in jih je treba spremeniti za vašo namestitev ali pa jih samo odstraniti, če jih ne uporabljate.

Uporaba: 1. arg je en izraz za ukaz, ki ga želite zagnati, ali seznam datotek, ki jih želite kopirati. Preostali argumenti so stroji za delovanje. Tako je uporabno za uporabo ukazne vrstice za ustvarjanje vzdevkov za sisteme, kot v:

alias rmtcu “rmtcmd” \! * “tekoči neo eon šepet eho zod neuro bey santa”

ki mi dovoljuje stvari, kot so:

rmtcu ls -ltr / etc / *

in to deluje na vseh mojih sistemih.

Tukaj so datoteke:

  • Za zagon ukaza v drugih sistemih: rmtcmd.
  • Kopiranje datotek v druge sisteme: rmtcp.
  • Datoteke dobite iz drugega sistema: rmtget.

Orodja za pretvorbo LaTeX datotek v formatu APA v MSWord

Žal večina revij želi prejemati elektronske prispevke v obliki zapisa M $ Word. Obstajajo številni pretvorniki za odhod iz LaTeX v format RTF, ki jih lahko nato preberete v Wordu (glej Pretvorniki iz LaTeX v PC Textprocessors). Vendar nobeden od njih nima pravilnih referenc in drugih oblik oblikovanja (npr. Podnaslovov slik na koncu) (glej prejšnji razdelek za kodo, ki te stvari lepo izvaja v LaTeXu). Napisal sem program, imenovan ltxapa2rtf, da predobdelam datoteko LaTeX, preden sem ga predal enemu od teh LaTeX-jev v RTF-pretvornike (za najboljše delo sem našel latex2rtf), da bi se obrnili na te omejitve. Za razliko od mojega prejšnjega poskusa, je zdaj popolnoma samodejen proces! (čeprav lahko pozabljeni zadnji zidovi še vedno prikažejo svojo datoteko – o tem ne morem storiti ničesar). Obstaja tudi program, ki bo po svoji vrstici (z uporabo simbolnih povezav) samodejno poimenoval datoteke s slikami, da jih bo preprosto kopirati na disketo ali karkoli. Ti utilties so bili napisani s programom CSS, ki je del Programski paket PDP ++, za platforme, ki niso Linux, je to potrebno (za linux je na voljo statično povezana binarna enota).

Tukaj je obvestilo o pomoči iz programa:

ltxapa2rtf [debug] file.tex: pretvori datoteko lateksa s pomočjo referenčnih slogov APA in številk, oblikovanih za oddajo (na koncu, s sporočilom, kjer naj se pojavijo), v ustrezno rtf datoteko, pri čemer uporabite ltx2rtf kot pretvornik datoteke lateksa, ki ga proizvaja ta program.

Natančneje, ta program nadomešča vse primere \ cite, \ incite itd. Iz apa.bst, apa.sty lateks formatov z njihovim ustreznim citiranim besedilom. Datoteka lateksa mora biti vse v eni datoteki (ne \ input, \ include) in datoteka .bbl iz BibTex’ing dokumenta (imenovana file.bbl) mora biti prisotna – prebrala je. Zamenja tudi številke in tabele s »Vstavi sliko X o tem tukaj« in na koncu natisne podnaslove in tabele slike, skladne s slogom psypub.sty, ki ga pretvorniki ne obdelujejo pravilno.

Nastala datoteka je imenovana file_cvt.tex, kjer je datoteka.tex izvirni vir. Ta .tex datoteka se nato prenese na latex2rtf (ki jo je treba namestiti, pridobiti od zgornje povezave) za izdelavo file_cvt.rtf, ki se nato lahko uvozi v Word ali karkoli. Ker latex2rtf včasih težko obravnava enačbe in različne druge konstrukte, boste morda morali urediti datoteko _cvt.tex in ročno poklicati pozno 2xx2 na sebi. Bodite pozorni na zadnjo vrstico postopka konverzije: če piše “Program preklican”, se dobljena datoteka file_cvt.rtf ne bo naložila pravilno. Moral bi dobiti nekaj takega: »Končni iEnvCount = 0« ali »konverzija končana«, če gre skozi vse.

Dva dva argumenta s prvim argumentom (z imenom datoteke kot drugi argument) se lotita veliko grdih sporočil za razhroščevanje.

  • Izvorna koda za ltxapa2rtf (datoteko .css, ki bo, če boste odjavili prvo vrstico, samodejno pokliče css kot skripta lupine): ltxapa2rtf.css.
  • Zbirana različica kode za linux (statično povezana): ltxapa2rtf.linux (kopirajte to v / usr / local / bin ali karkoli kot ltxapa2rtf).
  • Ukaz, ki ustvarja simbolne povezave z imeni, kot je fig_xx.eps, ki temeljijo na ukazih \ includegraphics v datoteki: number_figs.css.
  • Datoteka predlog, ki se uporablja v programu Word (2000) za nastavitev ustreznega oblikovanja APA datoteke RTF: apa.dot. Kopirajte to v okna \ Application Data \ Microsoft \ Templates \. Nato, ko naložite datoteko RTF, pojdite v meni Orodja / Predloge in dodatki .. in kliknite na Pripni in nato izberite apa.dot, nato izberite »Samodejno posodabljanje slogov dokumentov«, nato pa OK in vaša datoteka naj bo videti precej dobro! Lahko greste in označite besedilo »Vstavi sliko ..« in storite Alt-I in jih nastavite na slog Vstavi, ki izgleda nekoliko boljši in jih preprečuje, da bi šli po straneh. Izberete lahko tudi bibliografijo in jo nastavite na slog Bibliografije.
  • Predloga datoteke za uporabo v OpenOffice za nastavitev ustreznega oblikovanja APA datoteke RTF: apa_paper.stw. Odprite ta dokument, izrežite celotno besedilo in nato kopirajte / prilepite vaše .rtf besedilo (odprte v ločenem oknu) v to datoteko. Nato povlecite format / stilist in v spodnjem meniju izberite »Slogi po meri« (privzeto je »samodejno«).
    Pojdite skozi doc in izberite dele, ki se ne zdijo pravilno formatirani in dvokliknete ustrezen slog v slogu (npr. InsertFigure, reference, itd.).
    Zdi se, da naslovna stran povzroči crash pri izvozu v .doc. To lahko povzroči nevidna doodad na samem vrhu strani; izbrišite to. Preden poskušate shraniti .doc, shranite svoje delo kot datoteko Oowriter. Upoštevajte, da format .rtf morda ne podpira veliko simbolov iz enačb.

Različna elisp koda za emacs

Odvzet od : http://psych.colorado.edu/~oreilly/misc_software.html

Modcomp mini računalniki

Douglas W. Jones
UNIVERZA V IOWA Oddelek za računalništvo

Reklamni plakat Modcomp iz leta 1980 (avtorjeva zbirka). Zelo majhno besedilo na dnu plakata daje poslovne naslove podjetja Modcomp in ne vsebuje obvestila o avtorskih pravicah.


 [photo of Simpler terminal]

Modcomp, Fort Lauderdale Florida, je v začetku sedemdesetih let začel izdelovati 16-bitne mini računalnike, namenjene tekmovanju s stroji, kot sta DEC PDP-11 in HP 2115. Leta 1974 so prišli z mini-računalnikom Modcomp IV, vključuje podporo za 32-bitna cela števila, 64-bitno enoto s plavajočo vejico in enoto za upravljanje pomnilnika. Modcomp IV je prišel na trg rahlo pred Dec Vax 11-780 in je bil na nek način dostojen konkurent. Modcomp IV je sledil okoli leta 1980 z Modcomp Classic, ki je dodal podporo za 32-bitno naslavljanje arhitekture.

Ironično, na sliki, ki je prikazana tukaj, ni izdelkov Modcomp. Inteligentni terminal Plato V je iz CDC-ja (to je IST-II) in izhod, prikazan na tem terminalu, je iz sistema Simpler, kmalu po tem, ko je Univerza v Illinoisu odprla tehnologijo Global Information Systems za trženje te programske opreme. Poenostavljeno je bilo izvajanje programskega jezika Tutor iz sistema Platon IV v Illinoisu. Modcomp se je zanimal za trženje Simpler, ker je tekel na Modcomp IV ali Minicompompu Modcomp Classic. Kasneje se bo Simpler preimenoval v ACCORD.


Programski referenčni material

Programska žepna referenčna kartica za Modcomp IV avtorsko pravo 1976 na Univerzi v Kaliforniji v San Franciscu. To je skeniranje fotokopije izvirnika. Kopije te kartice so bile pogosto uporabljene, saj ni bilo nobene uradne jedrnate referenčne kartice za stroj.


Strojna oprema

Lyle Bickley je na spletu objavil lepo zbirko fotografij, ki prikazuje sistem Modcomp II. Kot je razvidno iz teh fotografij, so bili mincomputerji podjetja Modcomp iz leta 1970 izdelani iz žičnih vlaken, ki so bili povezani s tečaji vzdolž enega roba in urejeni tako, da so odprli kot strani knjige. Medsebojno povezavo med ploščami so potekali s trakovi kablov vzdolž roba hrbtenice knjige, tako da se je lahko odprla katera koli plošča med delovanjem stroja. Minimalni računalnik Modcomp II je zahteval 4 plošče, dva za CPU in eno 32-kanalno pomnilniško jedro. Stroj, prikazan v tej zbirki fotografij, ima 64K besed pomnilnika, zato ima 2 jedra.

Medtem ko so bili manjši računalniki Modcomp pakirani s hrbtenico knjige vodoravno in odpiranje navzgor, so računalniki, ki so zahtevali več plošč, pakirani z navpično hrbtenico, tako da so se stranice odprle navzven od sprednje strani releja. To je mogoče videti v zbirki fotografij pri DVQ; se pomaknite navzdol do dna strani, da si ogledate fotografije Modcomp II. Ta stroj je večji zaradi dveh razlogov: ima enoto s plavajočo vejico in glavni pomnilnik je zgrajen iz 4 16K pomnilniških modulov namesto dveh 32K modulov. To pomeni, da je starejši, vendar na fotografijah ni nobenega datuma izdelave.


Koristna spletna stran: http://homepage.divms.uiowa.edu/~jones/modcomp/

Nekatera vprašanja in odgovori o uporabi programa Java v računalniških znanjih

Doug Lea

[Večinoma napisana zima 1996 in v zadnjem času ni posodobljena.]

Mi smo v oddelku za računalništvo na Državni univerzi v New Yorku pri Oswego od septembra 1995 uporabljali Java v osnovnem uvajalskem programskem tečaju (“ CS1 ”), in drugem (programski tečaj za novinarstvo / drugo leto) (“ CS2 ”) od januarja 1996.

V zadnjem času me je veliko ljudi iz drugih računalniških oddelkov vprašalo, kako se dogaja. Nikoli ne vem, kaj naj rečem “do sedaj, tako dobro”. Namesto tega zbira nekaj posebnih vprašanj in odgovorov tukaj. Posodabljam in dodam predmete, ko dobim priložnost.

Prvič, tukaj je nekaj hitro ozadje: to so 13-tedenski semester-dolgi 3-kreditni tečaji predavanj z programskimi laboratoriji. CS1 (in nekateri CS2) laboratoriji vključujejo strukturirane, nadzorovane vaje. Craig Graci poučuje CS1. Sem učitelj CS2 tega semestra študentom, ki (z nekaj izjemami) naučijo Java v CS1. Prav tako smo uporabili Java v nekaj drugih tečajih CS, mnogi naši mladi / višji študenti pa se odločijo za uporabo Java za projekte na naprednih tečajih. Toda CS1 in CS2 (in do neke mere obseg CS3 in sorodnih tečajev) predstavljata naša glavna trenutna prizadevanja pri razvijanju našega večinoma ACM-jevega programa BA / BS Computer Science s podiplomskim programom s splošnim poudarkom na sistemih in programskem inženiringu. CS1 in CS2 prav tako prevzamejo glavarji informacijskih znanosti, mladoletniki CS, nekateri matematiki in znanstveniki ter drugi zainteresirani dijaki. Poleg programskega zaporedja CS1 / 2/3 zahtevamo tudi, da se predavatelji izvajajo tečaje v (1) računalniški arhitekturi in programiranju na nižjih nivojih, (2) uvod v formalne metode, (3) primerjalni programski jezik, kjer študenti (4) uvod v programsko inženirstvo, ki temelji na PSP-u Wattsa Humphreyja (ki se je pred kratkim naučil z uporabo Java). Pred uporabo Java v CS1 / 2/3 smo uporabili (najnovejši prvi vrstni red) C ++, Modula2, Pascal in Fortran za osnovne tečaje. Standardiziramo na jezikih samo za sekvenco CS1 / 2/3. Poleg tega učitelji zahtevajo ali predlagajo uporabo katerega koli jezika, ki je smiseln za njihove tečaje, ali pa ga pustite na voljo študentom. Še nikoli ne uporabljamo Java na noben od naših tečajev za »storitve« za nemedicinske delavce.

  1. Ali naj uporabljamo Javo v našem programu CS?
  • Resnično ne morem misliti na noben dober pedagoški razlog, da ne. Nekatere očitne prednosti so:

    • Je majhen, objektno usmerjen in ga je lažje naučiti kot večina drugih verjetnih uvodnih programskih jezikov.
    • Večina študentov meni, da je prijetno; včasih celo zabavno.
    • Študenti (skoraj gotovo upravičeno) verjamejo, da je učenje dragoceno resnično znanje sama po sebi.
    • Ker je enostavno naučiti osnov, lahko predstavite več o programiranju, oblikovanju in reševanju problemov, kot pa pri uporabi jezikov, kot je C + +.
    • Če nič drugega, je študentje znatno preprostejše, da se seznanijo z nekaterimi konvencijami jezikov v sintaktični tradiciji C (C + +, Obj-C, CORBA-IDL itd.).

Obstaja seveda nekaj različnih mnenj tam zunaj. Ni težko najti člankov, spletnih strani in pošte, da bi morala biti Java bolj kot Ada ali Eiffel ali Smalltalk ali ML ali … verjetno tudi Cobol.

2. Ali to ni samo očarljiv odziv na priljubljene trende?

Ne mislimo tako. Na primer, ne poskušamo naučiti Visual Basic, čeprav je to verjetno najbolj razširjen programski jezik na svetu.

Ampak Java je drugačna. Java podpira minimalen niz konstruktov, ki skupaj odražajo večino tehničnega napredka v metodologiji programiranja, ki se je zgodila v zadnjih petnajstih letih. Njegov status je v mnogih pogledih podoben kot pri Pascalu in Unixu v zgodnjih sedemdesetih letih. Pascal, Unix in Java so nastali kot preprostejše, razumljivejše in bolj praktične alternative obstoječim tehnologijam (Algol68, itd, itd.). Poleg tega je vsak prispeval nove ideje in na koncu služil kot tehnični substrat za nadaljnji teoretični in tehnični napredek.

Tako ni toliko jezik Java, temveč programski koncepti in veščine, ki so neločljivo povezani z jezikom, ki vpliva na kurikulume CS. (V tem smislu je dejstvo, da je Java sorazmerno enostaven za učenje in da postaja izjemno priljubljen v komercialni in drugi vsakodnevni rabi, večinoma samo dodali spodbude za ponovni premislek o kurikulumih.) Te vključujejo:

Izdelava kompozicijske programske opreme
Skoraj vsi programi so izdelani iz delov, od katerih jih večina avtor ne zapisuje. Iskanje, razumevanje in uporaba zunanjih komponent sta dragocena in zahtevna tehnična znanja, v katerih študentje CS potrebujejo usposabljanje in izkušnje. Java poudarja pomen takšnih veščin, saj se programatorji zdaj morajo spoprijeti z komponentami, ki jih je mogoče enkrat uporabiti (Java “ .class ” datoteke), ki jih lahko najdete na celotnem spletu.

Object-Oriented Design in programiranje
Večina programov CS je v zadnjih desetih letih vse bolj integrirala koncept OO v svoj kurikulum. Toda jezikovna vprašanja so bila delno krivda za težko zagovarjano težnjo, da bi poučevali programiranje OO po tradicionalnem procesnem načrtovanju, namesto prej – pojav, ki je podoben učenju strukturiranih zank šele po poučevanju surovih skokov. Vidiki OO v Javi so tesno povezani in dovolj enostavni, da se naučijo, da ni razloga, da jih ne bi najprej naučili. Hkrati je za razliko od drugih temeljito predmetno usmerjenih jezikov Java (vsaj sintaktično) dovolj podobna surove C, da bi učenci imeli manj težav kasneje, ko se učijo C v tečajih za programiranje na nizki ravni in sistemih.

Reaktivno programiranje
Na vseh ravneh obsega je večina programske opreme, ki jo ljudje uporabljajo, reaktivno – programi, ki se odzivajo na dogodke UI, dohodne telefonske klice, zunanje dražljaje vseh vrst. Študenti, ki se učijo samo za načrtovanje in izvajanje samostojnih enopredmetnih programov, niso pripravljeni graditi celih kategorij uporabne programske opreme. Java zagotavlja preprosto in zabavno vstopno točko v reaktivno programiranje preko programov Applets – UI, ki se lahko izvajajo iz strani HTML. Nadalje, ker Java neposredno integrira vzporedne konstrukte v sam jezik, se lahko večnacionalne večnitne reaktivne tehnike programiranja uvedejo sorazmerno zgodaj in seveda brez potrebe po preklopu na druge jezike ali orodja.

Širša vloga programiranja in programerjev
Nemogoče je napovedati, kako široko ali kako dolgo bo Java uporabljen v aplikacijah WWW, multimedia in aplikacijskih naprav ter podobno. Vendar pa je varno stava, da se bo vrsta integracije programiranja v vsakdanje življenje, ki jo vidimo z Javo, kmalu umirila. Programiranje apetov, ki je dostopen WWW, ki ga vodijo ljudje na pol poti po vsem svetu, daje nežen uvod v nekatere standardne inženirske probleme: vpliv programske opreme na družbo, potrebo po sodelovanju z drugimi strokovnjaki (če le kolega študent, ki pozna bitno o grafičnem oblikovanju) pri izdelavi artefakatov ter odgovornosti in etike v inženirstvu.

Ena podobnost med temi pojmi je, da se “običajno” programiranje poleg tistih, ki obkrožajo algoritmike in računanje, vse bolj zanašajo na načela načrtovanja in inženiringa. Potreba po razumevanju klasičnih podatkovnih struktur, algoritmov, formalizmov in analitičnih tehnik sploh ni izginila. Vendar takšnih tem ni mogoče obravnavati ločeno ali izključiti druge. Morda je bilo nekoč res, da je bila izvedba dobre podatkovne strukture enaka izvedbi koristnega programa. Ker pa se je aplikacija, obseg in razširjenost programske opreme povečala, je treba tudi zajeti, strukturirati in uskladiti takšne implementacije kot komponente večjih sistemov.

Skratka, verjamemo, da bi bilo nerodno, da bi te programe uvedli že prej kot razumni, koncepti in spretnosti, ki se v Java dobro podpirajo. Uvedba Jave zagotavlja pravočasno sredstvo za ponovno preučevanje teh vidikov standardnega učnega načrta, podobnega ACM.

3. Ali ni težava, da ni nobenih dobrih učbenikov CS1 / 2/3 na osnovi Java?

To ni bilo velik problem; samo manjša neprijetnost. (Navedite Jim Waldo, ki citira nekoga drugega: Jezik prav tako ni tako težak!) Trenutno v besedilu CS1 trenutno ne uporabljamo besedila. V CS2 uporabljam jezikovno neodvisno strukturo podatkovnih struktur, predvsem kot referenco, ne da bi se predolgo uskladili s predavanji. Od tega pisanja ni mogoče priporočiti nobenih knjig iz Jave, ki sem jih videl (kar nikakor ni vse), kot besedilo tečaja. Vendar pa lahko knjige, kot sta Arnold in Goslingov jezikovni program Java, služita kot koristna pomožna besedila.

4. Imate študentke, ki v celoti uporabljajo program Applets?

Ne za CS1; da za CS2. V CS1 uporabljamo Java v standardnem besedilnem okolju, ki ureja prevajalnik, in piše programe s samostojnim omrežjem. V CS2 so vse naloge napisane kot Applets. To je bilo prvotno storjeno predvsem zaradi logističnih razlogov – v našem kampusu ni dovolj SparcStations ali Windows95 osebnih računalnikov, da bi zagotovili zadosten dostop za 70-100 CS1 študentov na semester.

Vendar pa se zdi, da se je izkazalo za zelo dober dogovor. Zelo težko je opisati gradbene mehanike Applet za dokončanje novic, dokler niso imeli nekaj izkušenj z izrazi Java, spremenljivkami, metodami, razredi in tako naprej. Toda, ko vedo te stvari, je enostavno in zabavno uvesti Applets. (Vse to bo zagotovo spremenilo, ko bodo na voljo boljša orodja za razvoj orodij in okolje. Tudi če bodo ti na voljo, bi lahko še vedno zagotavljali boljšo podlago za odložitev njihovega uvajanja, dokler učenci ne bodo imeli boljše ideje o tem, kaj se dogaja pod njim ali morda ne. Ker ustreznih orodij ni na voljo, nimam mnenja.)

5. CS1: Ali začnete pokrivati razrede?

Precej. Pravzaprav začnemo govoriti o reševanju problemov na splošno in računati na splošno. Toda predmeti in razredi so uvedeni skoraj istočasno z izrazi in izjavami.

6. CS2: ne zajema stvari, kot je Applets, oddaljiti od razrednega časa, ki bi se lahko bolje porabili za podatkovne strukture in druge standardne CS2 materiale?

  • Da, potreben je čas. Ne, mislim, da ni zapravljen čas. Pravzaprav se zelo dobro prilega načinu, na katerega (na podlagi mojega modela) je izdelana vsaj moja OOish različica) CS2:
    • Applet in AWT mehanika sta nujni deli uvajanja pojma modelov stvari z vizualnim videzom.
    • Študentom nudi izkušnje z razvojem na podlagi komponent. Študenti morajo vedeti, kako najti in razumeti vnaprej zgrajene razrede, ki so dovolj dobri, da jih uporabljajo z lastnimi razredi.

Poudarjanje teh stvari pred in med napadom na klasične podatkovne strukture in algoritme je zelo dobro delovalo.

Po drugi strani pa obstaja nekaj režijskih stroškov, ki se ne ujemajo tako dobro. Preveč časa v zvezi s logistiko je povezano z uporabo Netscape, Solaris in Win95 in tako naprej. Plus, poučevanje dovolj HTML in povezanih WWW mehanike za preživetje.

7. Ali pokrivate celoten jezik v CS1? CS2?

Ne; to ni niti cilj. Naučimo koncepte in spretnosti, primerne za tečaj, in kako jih izrazimo v Java, ne obratno.

8. Ali od študentov zahtevate, da delajo skozi Sun Java Tutorials?

Št Sun (in drugi WWW) vaje niso vse, kar je koristno za učence, ki se učijo Java v kontekstu učenja računalništva.

9. Kakšen je vpliv na opremo in naprave?

Boste želeli več računalniške moči in boljše povezanosti. Ampak potem, vedno delaš. Prav tako boste morali živeti z namestitvijo rednih posodobitev JDK, HotJava itd.

10. Kakšna je največja napaka, ki ste jo naredili?

V prvem letu smo verjetno preveč izkoristili, kako enostavno se je naučiti osnov; včasih pozablja, da še vedno potrebuje čas, da pridobi minimalno “programsko zrelost” v katerem koli jeziku.

11. Kaj je najbolj presenetljivo?

Zame se način, na katerega se študentje CS2 tako hitro prilagajajo pojmu izgradnje reaktivnih, porazdeljenih programov na internetu in kako to, toliko ali bolj kot objektno usmerjeni vidiki programiranja Java, tako temeljito ureja njihov odnos do tega, kaj programiranje je vse okoli.

12. Ali pokrivate istočasno (Java niti itd.) Ali porazdeljeno programiranje (na primer z uporabo Java RMI) v CS1? CS2?

Ne, predvsem zato, ker še nismo ugotovili, kako ravnati v zvezi s temi vidiki programiranja v okviru teh tečajev. Ampak glej Lynn Andrea Stein’s Rethinking CS101 projekt (MIT), ki poskuša to storiti.

13. Imate načrt dolgoročnega kurikula?

Nič uradnega. (Čeprav se nekateri moji kolegi iz oddelkov močno ne strinjajo, menim, da je kontraproduktivno narediti kakršno koli dolgoročno načrtovanje računalniških učnih načrtov, ne da bi zagotovili dovolj strukturne svobode, da bi se lahko prilagajali, razvijali in eksperimentirali s tečaji. Glavna nezaželena posledica je da imajo učenci na naprednih predmetih neenakomerno ozadje. Torej, kaj.)

14. Imate kakšno gradivo za tečaj?

Večina zapiskov, obrisov, primerov, laboratorijskih vaj, podporne kode itd. Se piše, ko gremo skupaj. Nekatera gradbena gradiva so na voljo na moji domači strani, domači strani Craig Graci in domači strani Rameen Mohammadi.

15. Ali lahko podate kvantitativne rezultate o razlikah med tečaji na osnovi Java ali C ++ / Modula /…?

Nič več, kot smo že videli, da smo do sedaj videli manjšo izgubo kot pri uporabi C + +.

16. Katere druge šole, univerze ali srednje šole uporabljajo Java v CS tečajih?

Sonce je na spletu vzdrževalo seznam, vendar se je zdelo, da je izginilo. Spletna stran ACM SIGCSE vsebuje tudi nekatere povezane povezave.

Prav tako si oglejte nekaj izmenjav o uporabi Java v ETS AP CS izpitu.

Dodatna vprašanja in pripombe so dobrodošli! Pošljite jih na dl@cs.oswego.edu.

Vir: http://gee.oswego.edu/dl/html/javaInCS.html

 

 

 

 

Modul PODs

Dokumentacija za module Perl je napisana v preprostem označevalnem jeziku, ki se imenuje POD (Plain Old Documentation).
Na tej strani je prikazano, kako napisati POD za modul Perl. Če se držite tega sloga, bodo drugim lažje prebrali in razumeli vašo dokumentacijo.

h2xs postavlja skelet POD na koncu datoteke .pm, ki jo piše. Za dodatne primere preberite PODs v obstoječih modulih.

= glavo1 NAME

Geometrija :: Krog - upravlja krog


V razdelku NAME se navede ime modula v opisni liniji.
Ime in opis sta ločena s pomišljajem. Pomembno je, da držite te oblike, tako da lahko POD spremenite na ustrezno stran človeka.
= glava 1 SYNOPSIS

   uporabite Geometry :: Krog

   $ circle = nova geometrija :: krog $ x, $ y, $ r

   ($ x, $ y) = $ circle-> središče;
   $ radius = $ circle-> polmer;
   $ area = $ circle-> območje

   $ pi = $ Geometrija :: Krog :: PI;
V oddelku SYNOPSIS so prikazani bistveni koraki pri uporabi modula: uporabniška izjava, vsa podprograma, metode razreda ali spremenljivke in vse metode objektov. Klici metode morajo navajati njihove parametre in povratne vrednosti.

Vsaka vrstica v povzetku se odstrani. Zaradi tega je dobesedni odstavek in zagotavlja, da bo vaša uskladitev ohranjena.

= glava1 ZAHTEVA

Perl5.8.8, Izvoznik, Geometrija :: Točka
Oddelek REQUIRES pove uporabniku, kaj bodo potrebovali za uporabo modula.
= head1 IZVOZ

Nič
Razdelek EXPORTS pove uporabniku, kaj bo modul naredil v svojem imenskem prostoru, če ga bo uporabil.
= head1 OPIS

Geometrija :: Krog upravlja krogi.
Za ustvarjanje so predvidene metode
kroge in računanje njihovih območij.

To je opis modula.

Treba je napisati v izrazih, ki so pomembni za uporabnika, ne pa za programerja.

  • Kaj to naredi za uporabnika?
  • Kako jo uporabite?
  • Katere predmete podpira?
  • Katere metode zagotavlja?

 

 

= glave1 METODE

= glava2 ustvarjanje

= več kot 4

= element nova geometrija :: krog $ x, $ y, $ radij

Ustvari in vrne a
novi Geometry :: Krog predmet
s središčem ($ x, $ y) in polmerom radia $.

= nazaj

= head2 Access

= več kot 4

= element $ circle-> center

Vrne seznam koordinat x, y
središča kroga.

V skalarnem kontekstu,
vrne referenčno polje matrike.

= element $ circle-> polmer

Vrne polmer kroga.

= element $ circle-> območje

Vrne območje kroga.

= nazaj

Oddelek METHODS navaja in opisuje vsako metodo v razredu.

Nadalje lahko organizirate metode pod postavkami ravni 2, kot so ustvarjanje, dostop in uporabnost.

= head1 RAZLIČNE SPREMENLJIVKE

= več kot 4

= element $ Geometrija :: krog :: PI

Razmerje oboda
kroga premera.

= nazaj

V razdelku RAZRED VARIABLES so naštete vse spremenljivke paketa v API-ju.
= glava1 DIAGNOSTIKA

= več kot 4

= element Negativni polmer

(F) Krog se ne sme ustvariti z negativnim polmerom.

= nazaj

Oddelek DIAGNOSTICS daje besedilo vsakega sporočila o napaki, ki ga modul lahko generira, in razloži njegov pomen.

Sporočila o napakah so razvrščena na naslednji način:

(W)

Opozorilo (neobvezno)

(D)

Opustitev (neobvezno)

(S)

Resno opozorilo (obvezno)

(F)

Fatalna napaka (trappable)

(X)

Zelo fatalna napaka (neuporabna)

= glava1 AUTHOR

A. U. Thor, a.u.thor@a.galaxy.far.far.away

Vključiti morate svoje ime in e-poštni naslov, če vas bo kdo moral kontaktirati glede modula.
= glava1 GLEJ TUDI

perl (1), Geometrija :: Trg
To je običajen seznam povezanih programov in modulov.
= razrez
Linija = rezka označuje konec POD-besedila.

Nekateri ljudje distribuirajo POD-razdelke po njihovi izvorni kodi. Perl prepozna dele POD in jih ignorira.

Odvzet od : http://world.std.com/~swmcd/steven/perl/module_pod.html

Industrija skrilavca v Severnem in Mid-Walesu

Dave Sallery


Dinorwic Quarry, stolp z žičnicami in galerijami.


Vsebina te spletne strani

Uvod v Welsh Slate industrijo

Kratka zgodovina industrije skrilavca

Tehnike geologije in kamnin

Glavni proizvajalci skrilavca

Kamnolomi železnice in tramvaje

Delovni tramvaji in lokomotive v šestdesetih in sedemdesetih letih

Ozkotirni in kamnolomski železniški vozni park

Primeri sledenja tramvajskega kamnoloma skrilavca

Danes so parne lokomotive skrilavcev

Vzpenja, žičnice in blondine

Izbor nekaterih ostankov in relikvij

posodobljeniVidiki industrije skrilavca – 16 obravnavanih tem

posodobljeniDanes skrilavca

Glosar nekaterih izrazov industrije izrazov 

Tradicionalna imena in velikosti skrilavcev

posodobljeniFoto galerija – 17 strani slikovne industrije

Nekatere arhivske fotografije industrije

Fotografije iz revije “Caban”

Povezave do različnih povezanih spletnih mest

Prosimo, vzemite si čas, da si ogledate moje druge Welsh spletne strani industrije skrilavca:

Rhosydd – kamnolomski skrilavec Ffestiniog
Rhiwbach Quarry in njegov tramvaj
The Slate Quarry collection on Flickr

Naša domača stran: Penmorfa.com


Moel y Faen kamnolom na vrhu potkov Horseshoe v Denbighshire. Nasveti v tem kamnolomu se trenutno reciklirajo kot agregati.


Uvod v Welsh Slate

Ta spletna stran je namenjena splošnemu uvodu v industrijo skrilavcev v Severnem in Mid-Walesu. Poskušal sem dati celoten vtis industrije in sprememb, ki jih je prinesel. Ni namenjena pokrivanju vsakega kamnoloma, od tega je bilo nekaj sto. Kliknite tukaj za seznam vseh zabeleženih Walesovih skrilavcev. Upoštevajte, da so številna navedena dela predstavljala majhne ali preproste špekulativne praske. Prav tako nisem poskušal podrobno opisati načinov pridobivanja, dela, geologije, ohranjenih železnic itd. Kamnolomi škrata so lahko nevarna mesta: skala je lahko spolzka, odpadki so nestabilni. stene zgradb so pogosto na mestu porušitve, vreme se lahko hitro spreminja, morda so skrite gredi ali jame in najbližja pomoč v primeru nesreče je lahko nekaj kilometrov stran. Nisem se skliceval na podzemna dela, ki so lahko dostopna, saj so vsi nevarni. Vsako raziskovanje pod zemljo bi bilo treba narediti le s pristojnim vodnikom in z uporabo profesionalne opreme. Vsi skrilasti kamnolomi so zasebna lastnina in dovoljenje je potrebno iskati pred vstopom na spletno stran. Še vedno je še veliko mojstrov in artefaktov, pogosto v divjini in lepi okolici, vendar prosim ne odstranite nobenega brez dovoljenja. Upam, da bo ta stran pripomogla k uvajanju več ljudi v tehnike, uporabljene v nekdanji veliki in ponosni industriji, in jim pomagali ceniti, kaj ostaja danes. Vseh sodobnih fotografij sem posnel v zadnjih dvajsetih letih, vendar je taka sprememba, da mnogi pogledi niso več možni.

Prosim, pomagajte mi, da še naprej izboljšujem to spletno mesto s svojimi komentarji ali predlogi.


POMEMBNO OBVESTILO
Podatki (ne fotografije), ki se nahajajo na tej spletni strani, se lahko reproducirajo brez dovoljenja, če je spletnemu mestu zagotovljeno posredovanje informacij. Vse fotografije na tej spletni strani ostanejo v lasti lastnikov in jih ni dovoljeno reproducirati brez predhodnega dovoljenja.


Nagibna bobna, ljubitelj nasvetov in vasi zunaj. Cwm Penmachno, Gwynedd.


Naslednja stran: Kratka zgodovina industrije
Nazaj na kazalo

Koristna spletna stran: http://www.penmorfa.com/Slate/

Lisp Prekletstvo

Rudolf Winestock

Posodobitev 6. oktobra 2017. N.B .: Prosim, ne prenašajte tega v Hacker News! Oglejte si rezultate iskanja Hacker News za ta esej. Oglejte si opombo za prvi vnos: Pridi, vsi! Končajmo mrtvega konja še enkrat! Če želite pridobiti e-pošto Hacker News, namesto tega poskusite oddati Eternal Mainframe.

Ta esej je še en poskus združevanja moči programskega jezika Lisp z nezmožnostjo skupnosti Lisp, da reproducira svoje pred- AI Zimski dosežki. Brez dvoma je Lisp vpliven vir idej celo v času njegovega umika. To dejstvo, poleg briljantnosti različnih Lisp strojnih arhitektur in trenutne renesanse Lisp po več kot desetletju v puščavi, dokazujejo, da morajo partizani iz Lispa imeti nekaj utemeljitve za svojo smugnost. Kljub temu niso mogli prevesti moči Lispa v gibanje z močnejšim zagonom.

V tem eseju trdim, da je Lispova ekspresivna moč dejansko vzrok za pomanjkanje zagona.

Moč Lisp je njen najhujši sovražnik.

Tukaj je miselni eksperiment, ki ga dokaže: vzemite dva programska jezika, od katerih nobeden ni predmetno usmerjen. Tvoje poslanstvo, če se odločite, da ga sprejmete, je, da postanejo objektno usmerjene, tako da so lahko nazaj v skladu z izvirnimi jeziki, modulo nekaj primerov robov. Vstavljanje katerega koli para programskih jezikov v ta miselni eksperiment bo pokazalo, da je to z nekaterimi jeziki lažje kot z drugimi. To je točka miselnega eksperimenta. Tukaj je trivialen primer: Intercal in Pascal.

Zdaj naredite ta miselni eksperiment zanimiv: zamislite dodajanje objektne orientacije na programski jeziki C in Scheme. Izdelava sheme je objektivno usmerjena naloga naloge druge učence. Po drugi strani pa dodajanje ciljne usmerjenosti na C zahteva programiranje odrezkov Bjarne Stroustrupa.

Posledice te razlike v potrebnih talentih in naporu povzročajo Lisp Curse:

Lisp je tako močan, da so problemi, ki so tehnična vprašanja v drugih programskih jezikih, družbena vprašanja v Lispu.

———————————-

Še enkrat razmislite o primeru sheme. Ker je shema objektno usmerjena, je tako enostavno, veliko hekerjev Scheme je to storilo. Še več, mnogi posamezni hekerji Scheme so to storili. V devetdesetih letih je to pripeljalo do resničnega inventarja seznama objektno orientiranih paketov za jezik. Paradoks izbire sam, zagotovil, da nobena od njih ne bi postala standardna. Zdaj, ko imajo nekatere izvedbe Sheme lastne objektne usmeritve, to ni tako slabo. Kljub temu je dejstvo, da so bili mnogi od teh paketov delo posameznih posameznikov, privedli do težav, o katerih je Olin Shivers pisal o dokumentiranju Sheme Shell, scsh.

Programi, ki so jih napisali posamezni hekerji, ponavadi sledijo modelu praske in anomalije. Ti programi bodo rešili težavo, ki jo ima sam hacker, ne da bi nujno obravnaval povezane dele problema, zaradi česar bi bil program bolj uporaben za druge. Poleg tega bo program zagotovo deloval na lastnem setupu samega samega sebe, vendar morda ni prenosljiv na druge izvedbe Sheme ali na isto izvedbo sheme na drugih platformah. Dokumentacija je morda pomanjkljiva. Ker je v bistvu projekt, izveden v prostem času hackerja, lahko program trpi, če se odgovornost za hčerko nanaša na resnično odgovornost. Kot je zapisal Olin Shivers, to pomeni, da ti projekti z enim samim človekom skušajo rešiti osemdeset odstotkov problema.

Esej dr. Marka Tarvera, The Bipolar Lisp Programmer, ima ustrezen opis tega pojava. Piše o teh hekerjih Lispovega lika in njihovega

… nezmožnost končanja stvari pravilno. Izraz “odmetavanje” je popolnoma izdelan za BBM in izvira iz skupnosti Lisp. Lisp vam omogoča, da preprosto preklete stvari, tako enostavno, in to je enostavno, da to samoumevno. To sem videl pred 10 leti, ko sem iskal GUI za moj Lisp. Ni problema, bilo je 9 različnih ponudb. Težava je bila, da nobeden od devetih ni pravilno dokumentiran in noben ni bil brez napak. V bistvu je vsaka oseba izvedla svojo rešitev in delala zanj, tako da je bilo v redu. To je odnos BBM; deluje zame in razumem. Prav tako je izdelek, ki ne potrebuje ali ne želi, da bi kdo drug pomagal narediti nekaj.

————————————-

Še enkrat razmislite o programskem jeziku C v tem miselnem eksperimentu. Zaradi težav pri usmerjanju predmeta C so samo dva resna poskusa problema povzročila poljuben oprijem: C + + in Objective-C. Objective-C je najbolj priljubljen na Macintoshu, medtem ko pravila C + + veljajo povsod drugje. To pomeni, da je za določeno platformo vprašanje, katera objektno usmerjena razširitev C za uporabo je že bila dokončno odgovorjena. To pomeni, da so objektno usmerjene zmogljivosti za te jezike dokumentirane, da se jih integrirano razvojno okolje zaveda, da so knjižnice kode združljive z njimi ipd.

Esej dr. Marka Tarverja o bipolarnem Lispersu poudarja:

Nasprotno pa je pristop C / C ++ precej drugačen. Tako je prekleto težko narediti karkoli s pinceto in lepilom, da bo vse kar je pomembno, resničen dosežek. Bi ga dokumentirali. Tudi vi lahko potrebujete pomoč pri katerem koli projektu C velikih velikosti; zato ste lahko socialni in sodelujte z drugimi. Moraš, samo da bi prišel nekam.

In vse to, z vidika delodajalca, je privlačno. Deset ljudi, ki komunicirajo, dokumentirajo stvari in delajo skupaj, so boljši od BBM-ja, ki se lahko pojavi z Lispom, ki ga lahko zamenja samo še en BBM (če ga najdete) v malo verjetnem primeru, ponovno zagnati.

Torej, tisti, ki že poznajo C, ne sprašujejo “Kateri sistem objektov bi se moral naučiti?” Namesto tega uporabljajo C + + ali Objective C, odvisno od tega, kaj njihovi sodelavci uporabljajo, nato pa se premaknite na “Kako uporabim objektno orientirano funkcijo X? “Odgovor:” Goog in ga boste našli. “

———————————-

Real Hackers, seveda, že dolgo vedo, da objektno usmerjeno programiranje ni rešitev, za katero so trdili njegovi partizani. Real Hackers so se preselili v bolj napredne koncepte, kot so nespremenljive podatkovne strukture, vrste inferenc, lena ocena, monads, puščice, ujemanje vzorcev, programiranje na podlagi omejitev in tako naprej. Real Hackers so že dolgo vedeli, da C in C + + niso primerni za večino programov, ki ne potrebujejo samodejnega prevajanja. Kljub temu Lisp Curse še vedno drži.

Nekateri lahkotni ljubitelji Lisp so pregledali sedanje posevke akademskih jezikov (Haskell, Ocaml, itd.) In ugotovili, da želijo, da so njihove lastnosti bodisi že prisotne v Lispu ali jih je mogoče enostavno izvajati in izboljšati z Lispom makri. Verjetno so prav.

Škoda Lisp hekerji.

——————————————–

Dr. Mark Tarver – dvakrat citiran, zgoraj – napisal narečje Lisp-a, imenovane Qi. Manj manj kot deset tisoč linij makrov na vrhu Clisp. Izvaja večino edinstvenih funkcij Haskell in OCaml. V nekaterih pogledih jih Qi presega. Na primer, motor Qi-jevega inferenčnega motorja je Turing končan. V svetu, v katerem so bili potrebni člani nadarjenih akademikov, da bi napisali Haskella, je en človek, dr. Tarver napisal Qi vse do svoje samotne.

Ponovno preberite ta odstavek in ekstrapolirajte.

—————————————–

Vaja za bralca: Predstavljajte si, da se med Haskellom in Common Lispom razvije močna tekmovalnost. Kaj se zgodi potem?

Odgovor: Lisp Curse udari. Vsak drugi ali tretji resni Lisperjev hacker bo sam po sebi uresničil leno vrednotenje, funkcionalno čistost, puščice, ujemanje vzorcev, vrste inferenc in ostalo. Večina teh projektov bo operacija samotarjev. Tako bodo imeli osemdeset odstotkov lastnosti, ki jih potrebujejo večina ljudi (v vsakem primeru je osemdeset odstotkov). Ti bodo slabo dokumentirani. Ne bodo prenosljivi preko sistemov Lisp. Nekateri bodo pokazali veliko obljubo, preden bodo opustili, medtem ko bo vzdrževalec projekta začel plačevati račune. Nekateri bodo premagali Haskellja po tej ali drugi dimenziji (spet drugič v vsakem primeru), vendar bo njihovo sprejetje oviralo plamensko vojno v skupini comp.lang.lisp Usenet.

Endgame: Naključna zbirka makrov Lispovega hackerja iz starega časa bo dodala nedokumentirano, nepopravljivo in napačno implementirano 80% Haskell-a, ker je Lisp močnejši od Haskell-a.

——————————————-

Moralo te zgodbe je, da so sekundarni in terciarni učinki pomembni. Tehnologija ne vpliva samo na to, kar lahko storimo v zvezi s tehnološkimi vprašanji, temveč vpliva tudi na naše družbeno vedenje. To socialno vedenje lahko zanese nazaj in vpliva na izvirna tehnološka vprašanja, ki se obravnavajo.

Lisp je boleča zgovorna vzorec te lekcije. Lisp je tako močan, da spodbuja individualno neodvisnost do točke krvavosti. Ta neodvisnost je prinesla osupljivo dobre inovacije kot v dnevih Lisp Machine. Ta ista neodvisnost ovira tudi prizadevanja za oživitev sistemov starih “Lisp vse do konca”; noben projekt “Lisp OS” je zbral kritično maso od zamude Symbolics in LMI.

Eden od rezultatov teh sekundarnih in terciarnih učinkov je, da tudi če Lisp je najbolj ekspresiven jezik doslej, tako da je teoretično nemogoče ustvariti izraznejši jezik, bo Lispers še vedno imel stvari za učenje iz drugih programskih jezikov. Fantje Smalltalk so učili vse – vključno z Lisp hekerji – stvar ali dve o objektno usmerjenem programiranju. Čisti programski jezik in kombinacija Mozart / Oz imajo lahko nekaj svojih presenečenj.

—————————————-

Lisp Curse ne nasprotuje najvišji stopnji Stanislava Datskovskega: delodajalci raje želijo, da so delavci zamenljivi in ne maksimalno produktivni. Preveč res. Z velikimi težavami se kdorkoli potopi v vodstvo razreda. Vendar pa so zadnje črte njegovega eseja problematične. Če želite:

Kar se tiče “sveta svobodne programske opreme”, nestrpno nasprotuje industrijskim dogmam v retoriki, vendar v praksi sploh ni. Noben koncept, ki ga je preprecil kukec kmetijskih pekelov, je kdaj dobil resni vlek med amaterskimi marsi.

V opombi podaja Linux kot primer te nepripravljenosti za iskanje različnih idej.
Seveda ima smisel ko gre za operacijske sisteme (najvišji komentar je še posebej nenavadno tept). Nima smisla, ko govorimo o programskih jezikih. Na Python in Ruby je vplival Lisp. Mnogi njihovi oboževalci izražajo spoštovanje do Lispa in nekateri njihovi interesi so povečali renesanso Lisp. Z nekaj pravičnosti je bil JavaScript opisan kot “Shema v oblačilih C”, kljub temu, da je v njih prišlo kukovi kmetov.

Kljub temu pa kljub temu vplivu v podjetjih in v odprtih virih sveta Lisp še vedno ima le majhen del deleža v razvijalskem računu, ki ga je pritegnila sedanja kultura naprednih skriptnih jezikov. Zaprto gledanje MBA-jev ne more biti edina razlaga za to. Lisp Curse ima več pojasnjevalnih moči.

——————————————

Osnove brezplačnega razvoja, ki so na voljo za Lisp, dodatno ponazarjajo Lisp Curse.

To je nerodno, da to poudarimo, vendar je treba storiti. Pozabite na Lispov računalnik; nimamo niti razvojnih sistemov, ki bi se ujemali s tem povprečen Smalltalk heker je samoumeven (“Vedno sem mislil, da je Lisp vrhunski jezik in Smalltalk je vrhunsko okolje” – Ramon Leon). Če ne plačajo na tisoče dolarjev, so Lispovi hekerji še vedno zaljubljeni v Emacs.

James Gosling, avtor prvih Emacov, ki je tekel na Unixu, pravilno poudaril, da Emacs v več kot dvajsetih letih ni bistveno spremenil. To je zato, ker so Emacs vzdrževalci še vedno kodirni sloj na vrhu zasnove, ki je bila poravnana nazaj, ko je bil Emacs projekt Mestnega študentskega programa MIT AI, t.j., ko je bil razvoj Emacsa še vedno posredno financiran iz državnega dolga. Slashdotter lahko ugovarja, da je Emacs že precej sposoben in lahko naredi vse, kar lahko naredi katero koli drugo razvojno okolje, le bolje. Tisti, ki so uporabljali Lisp Machines, pravijo drugače.

Torej, zakaj Lispovi hekerji ne postavljajo malih malčkov na njihovo pravo mesto? Zakaj ne naredijo brezplačnega razvojnega sistema, ki spominja na nekatere izgubljene slave LispM, čeprav ne morejo reproducirati drugega LispM?

Razlog, zakaj se to ne zgodi, je Lisp Curse. Veliko število lisp hekerjev bi moralo sodelovati med seboj. Bodite pozorni: veliko število ljudi, ki postanejo Lisp hekerji, bi morali sodelovati med seboj. In bi morali sodelovati med seboj na dizajnu, ki od začetka ni bil že dan. In ne bi bilo nobene zunanje discipline, kot je tvegani kapitalist ali drugi gospodarski mojster, da bi jih ohranili na pravi poti.

Vsak projekt ima trenje med člani, nesoglasji, konflikti glede sloga in filozofije. Te socialne probleme nasprotuje dejstvo, da ni mogoče doseči nobenega velikega projekta drugače. “Vsi moramo obesiti skupaj ali pa se bomo vsi obesili ločeno.” Toda ekspresivnost Lispa naredi to izravnalno silo veliko šibkejšo; lahko vedno začnete lasten projekt. Tako posamezni hekerji odločijo, da težave ne bodo vredne. Torej bodisi zapustijo projekt ali se ne pridružijo projektu. To je Lisp Curse.

Eden bi lahko celo kramp Emacs dobili nekaj, kar je dovolj dobro. Tako je Lisp Curse zaveznik Worse je boljši.

————————————————

Izrazbena moč Lisp ima pomanjkljivosti. Brezplačno kosilo ni.

Vir: http://www.winestockwebdesign.com/Essays/Lisp_Curse.html

 

 

 

Humor


Programski inženir, inženir strojne opreme in vodja oddelka sta potekala na sestanku v Švici. Vozili so po strmi planinski cesti, ko so nenadoma zavore na svojem avtomobilu neuspešne. Avtomobil je bil skoraj brez nadzora nad cesto, odskakal se je iz crash barij, dokler se čudežno ne ustavi strmoglavljenje vzdolž hriba.

Stanovalci avtomobila, ki so bili pretreseni, a ne poškodovani, so zdaj imeli težavo: zaustavili so se na polovici gora v avtomobilu brez zaviranja. Kaj so storili?

“Vem,” je dejal vodja oddelka “Naj se sestanemo, predlagamo vizijo, oblikujemo izjavo o poslanstvu, opredelimo nekaj ciljev in s postopkom stalnega izboljšanja poiščemo rešitev ključnih problemov in lahko bomo na poti . ”

“Ne, ne,” je dejal inženir strojne opreme, “to bo trajalo preveč časa, poleg tega pa ta metoda še nikoli ni delovala. Z njo imam svoj švicarski nožni nož in v nobenem trenutku se lahko odložim zavorni sistem avtomobila, izolirati napako, popraviti in mi lahko na poti. ”

“No,” je dejal inženir programske opreme, “Preden naredimo kaj, mislim, da bi morali potisniti avto nazaj po cesti in preveriti, ali se to zgodi še enkrat.”

 


Ustvarjalci priznavajo zlorabo Unixa in C

 

V obvestilu, ki je omalovaževalo računalniško industrijo, so Ken Thompson, Dennis Ritchie in Brian Kernighan priznali, da sta programski jezik Unixa in C, ki sta jih ustvarila njihova programska oprema, pripravila April Fools potegavščino, ki je ostala živa že več kot 30 let. Ko je na nedavnem UnixWorld forumu za razvoj programske opreme Thompson pokazal naslednje:

“Leta 1969 je AT & T pravkar končal delo s projektom GE / Honeywell / AT & T Multics. Z Brianom sva se začela ukvarjati s predčasnim izpustom Pascala iz ETH laboratorijev profesorja Nichlaus Wirth v Švici in bili smo navdušeni nad njeno elegantno preprostostjo in Dennis je pravkar končal z branjem “Dolgčas prstanov”, ki je bila vroča nacionalna lamunska parodija velikanske trilogije Tolkien “Lord of the Rings”. Kot hudič se je odločil delati parodije okolja Multics in Pascal. so bili odgovorni za operativno okolje. Pregledali smo Multics in zasnovali nov sistem, da je čim bolj zapleten in kriptičen, da bi čim bolj povečali frustracijo obcutnih uporabnikov, jo imenujemo Unix kot parodijo multiksa, pa tudi druge bolj tvegane aluzije. Dennis in Brian sta delala na resnično zmešnato različico Pascala, imenovano “A.” Ko smo ugotovili, da drugi dejansko poskušajo ustvariti prave programe z A, smo hitro dodali dodatne kriptične funkcije in razvili v B, BCPL in plavuti zaveznik C.

Zaustavili smo se, ko smo dobili čisto zbirko na naslednji sintaksi:

za P ("\ n"), R -; P ("|")) za (e = C; e -; P ("_" + (* u ++ / 8)% 2) "|" + (* u / 4)% 2);

Če mislite, da bi sodobni programerji poskušali uporabiti jezik, ki dovoljuje takšno izjavo, je presegel naše razumevanje! Pravzaprav smo razmišljali, da bi to prodali Sovjetskim zvezam, da bi napredovali v računalniški znanosti nazaj 20 ali več let. Predstavljajte si naše presenečenje, ko sta AT & T in druge ameriške korporacije dejansko začeli poskušati uporabljati Unix in C! Potrebno jim je bilo 20 let, da so razvile dovolj strokovnega znanja, da bi s pomočjo te tehnološke parodije leta 1960 ustvarile tudi zelo malo koristne aplikacije, vendar smo navdušeni nad trdnostjo (če ni niti zdravo) splošnega programerja Unixa in C. V vsakem primeru Brian, Dennis in jaz delamo izključno v Adi na Apple Macintoshu zadnjih nekaj let in se počutimo resnično krivi zaradi kaosa, zmede in resnično slabega programiranja, ki je nastal zaradi naše neumne šale pred časom. “

Večji ponudniki in uporabniki Unixa in C, vključno z AT & T, Microsoft, Hewlett-Packard, GTE, NCR in DEC, so v tem trenutku zavrnili pripombe. Borland International, vodilni proizvajalec orodij Pascal in C, vključno s priljubljenimi Turbo Pascal, Turbo C in Turbo C ++, je izjavil, da so to že več let sumili in še naprej izboljševali svoje izdelke Pascal in ustavili nadaljnja prizadevanja za razvoj C. Predstavnik IBM-a se je zlomil v nenadzorovan smeh in je moral preložiti nagovorjeno novinarsko konferenco o usodi RS-6000, ki navaja, da bo “VM kmalu na voljo”. Profesor Wirth iz ETH inštituta in oče strukturiranih jezikov Pascal, Modula 2 in Oberon je v skrivni izjavi le navedel, da je P. T. Barnum bil pravilen.


Nekega dne je nekdo prečkal cesto, ko mu je žaba poklicala in rekla: »Če me poljubiš, se bom obrnila v lepo princeso.« Nadal se je, pobral žabico in ga položil v žep.

Žaba je spet zagovarjala in rekla: »Če me poljubiš in me vrneš v lepo princeso, bom ostal teden z vami.« Fant je vzel žabo iz žepa, se nasmehnil in vrnil v žep.

Žaba je nato vpila: »Če me poljubiš in me vrneš v princeso, bom ostala s tabo in naredila vse, kar hočeš.« Spet je tip vzel žabo, se ga nasmehnil in ga vrnil v žep.

Na koncu je žaba vprašala: “Kaj je narobe? Rekel sem ti, da sem lepa princesa, da bom ostala s tabo teden dni in naredila karkoli hočeš. Zakaj me ne poljubiš?” Fant je rekel: “Poslušaj, jaz sem programski inženir. Nimam časa za dekle, ampak govorica žaba je kul.”

Na nedavni konferenci Java v realnem času so udeleženci dobili neudobno vprašanje:

“Če ste se pravkar vkrcali na letalsko letališče in ugotovili, da je vaša ekipa programerjev odgovorna za programsko opremo za krmarjenje leta, koliko vas bo takoj izkrcalo?”

Med gozdom dvignjenih roka je bil samo en človek nepremičen. Na vprašanje, kaj bi storil, je odgovoril, da bi bil zelo zadovoljen, da bi ostal na krovu. S programsko opremo svoje ekipe, je dejal, letalo ni bilo verjetno, da bi se spustilo do vzletno-pristajalne steze, kaj šele vzleteti.


NEW YORK – Ljudje za etično ravnanje s programsko opremo (PETS) so danes objavili, da je več skupinam za programsko opremo dodanih skupin skupin za spremljanje podjetij, ki redno izvajajo testiranje programske opreme.

“Na tak način ni potrebe po zlorabi programske opreme, da bi takšna podjetja lahko tržila nove izdelke”, je dejal Ken Granola, predstavnik družbe PETS. “Na voljo so alternativne metode preskušanja teh izdelkov.”

Po mnenju podjetja PETS ta podjetja prisilijo programsko opremo, da opravlja dolgotrajen in naporen preizkus – pogosto brez počitka – za uro ali nekaj dni naenkrat. Zaposleni so dodeljeni, da “programsko opremo” zlomijo na kakršenkoli način, ki je potreben, in notranji viri poročajo, da pogosto šale o “mučenju” programske opreme.

“To ni šala,” je rekla Granola. “Nedolžni programi, od dneva, ko so zbrani, so v majhnih prostorih zaprti in” uničeni “več ur na koncu. Celotno življenje preživijo na umazanih, slabo vzdrževalnih računalnikih in so brezceremično izbrisani, kadar jih ni potrebno več. ”

Granola je dejala, da je programska oprema shranjena v nehunitarnih pogojih in je napadena z napakami.

“Vemo, da obstajajo alternative te grozode,” je dejal, pri čemer je navedel industrijski velikan Microsoft Corp. kot podjetje, ki je postalo uspešno brez uporabe testiranja programske opreme.


Sonce Microsystems Sue Otok Java

 

Gorski razgled, CA – Sun Microsystems danes vložila kršitev blagovne znamke proti otoku Java glede uporabe Sun’s
Blagovna znamka Java.

Odgovor na kritike, da se otok že stoletja imenuje Java, je dejal: “Ja in ves čas niso nikoli vložili nobene blagovne znamke, si zaslužijo izgubiti ime.”

Otok namesto plačila pristojbine za izdajo licenc je sklenil spremeniti svoje ime. Prvotno so glasovali za spremembo na Visu Albasić, vendar
jezen telegram iz Redmonda, Washington jih je drugače prepričal. Država se je končno naselila na simbol za ime – lepo obarvano skodelico kave, ki še vedno prikliče idejo jave. Ker večina časopisov in revij ne bo mogla natisniti imena otoka, bo v nadaljnjem besedilu označena kot “Otok prej znan kot Java”.

Otok prej znan kot se Java zaračunava kot križni otok, vendar se je doslej le v proizvodnji izvajal na Malajskem arhipelagu. Govori se, da jo Afrika izvaja na Madagaskarju, vendar je še vedno v alfah testiranju.

Odvetniki iz Suna bi želeli poiskati tudi lastnike ogromne ognjene krogle v središču sončnega sistema. Za njih imajo nekaj pravnih dokumentov …

 


Programator in programski inženir sedita med seboj na dolgem poletu iz San Joseja v Bangalore. Programator se naslanja na inženirja programske opreme in vpraša, ali bi rad igral zabavno igro. Programski inženir samo želi, da se napolni, tako da se vljudno zavrača in preklopi na okno, da ulovi nekaj pomirjeval.

Programator vztraja in pojasnjuje, da je igra prava lahka in zabavna. Pojasnjuje: “Postavljam vas vprašanje, in če ne poznate odgovora, mi plačate 10 dolarjev. Potem me vprašate in če ne vem odgovora, vam bom plačal 10 evrov.” Še enkrat, programski inženir vljudno zavrača in poskuša zaspati. Programator, zdaj nekaj, kar je vznemirjeno, pravi: “V redu, če ne veste odgovora, ki ste mi plačali $ 10, in če ne vem odgovora, vam bom plačal 100 dolarjev!” To ujame pozornost inženirja programske opreme in on ne vidi konca tega mučenja, če ne igra, zato se strinja z igro. Programator vpraša prvo vprašanje. “Kakšna je razdalja od Zemlje do lune?” Programski inženir ne izgovarja nobene besede, ampak doseže v svojo denarnico, izvleče račun za deset dolarjev in ga preda programerju. Zdaj je programski inženir na vrsti. On prosi programerja “Kaj gre gor s hribom s tremi nogami in se spusti na štiri?”

Programator ga pogleda z zmedenim videzom. Iztegne svoj prenosni računalnik in išče vse svoje reference. Z modemom se dotakne v letalski telefon in išče mrežo in knjižnico kongresa. Razočaran, vse svoje sodelavce pošlje brezplačno e-pošto. Po približno eni uri se bliži programskemu inženirju in mu preda 100 dolarjev. Inženir programske opreme vljudno vzame 100 $ in se obrne stran, da bi se spet spravil nazaj. Programator, ki je več kot malo zamegljen, potresa inženirja programske opreme in vpraša: “No, torej kakšen je odgovor?”

Brez besed, inženir programske opreme doseže v svojo denarnico, roka programer $ 10, in se obrne proč za spanje.


Kirurg, gradbeni inženir in programski inženir sta se spraševala, kdo je bil najstarejši poklic.

Kirurg je opazil: No, v Bibliji piše, da je Bog ustvaril Eve od rebera, vzetega od Adamovega. To je očitno zahtevalo operacijo, tako da lahko upravičeno trdim, da je moj najstarejši od naših poklicev.

Gradbeni inženir je prekinil in rekel: Toda še prej v knjigi Geneze navaja, da je Bog ustvaril ukaz iz nebes in zemlje iz kaosa. To je bila prva in zagotovo najbolj spektakularna uporaba gradbenega inženirstva. Zato se motite. Moj je najstarejši poklic.

Inženir programske opreme se je naslonil nazaj na svoj stol, se nasmehnil in samozavestil, Ah, a kdo misliš, da je ustvaril kaos?


Programator hodi po plaži in najde svetilko. On trsa svetilko, in se pojavlja duh. Jaz sem najmočnejši duh na svetu. Lahko vam dajem poljubno željo, vendar samo eno željo.

Programator potegne zemljevid, opozarja na to in reče: Hočem mir na Bližnjem vzhodu.

Duh odgovarja, Gee, ne vem. Ti ljudje so se borili že tisočletja. Lahko storim skoraj vse, vendar to verjetno presega moje meje.

Programator nato pravi: No, jaz sem programer, in moji programi imajo veliko uporabnikov. Prosim, da so vsi moji uporabniki zadovoljni z mojo programsko opremo in jim dovolite, da zahtevajo razumne spremembe.

Na kateri točki se odziva džin, Um, naj še enkrat vidim zemljevid.


Humorozne citate

 

Prvih 90% kode predstavlja prvih 90% časa razvoja. Preostalih 10% kode predstavlja druge 90% časa razvoja. (Tom Cargill)

Danes programiranje je tekma med programskimi inženirji, ki si prizadevajo ustvariti večje in boljše idiotske programe, vesolje pa poskuša zgraditi večje in boljše idiote. Doslej vesolje zmaga. (Rick Cook)

C + +: če imajo prijatelji dostop do vaših zasebnih članov. (Gavin Baker)

Ste kdaj preživeli nekaj časa, ko berete comp.lang.c ++? To je res najboljše mesto za spoznavanje števila uporabnikov C ++, ki iščejo boljši jezik. (William Beckwith)

Če je razhroščevanje proces odstranjevanja programskih hroščev, mora biti načrtovanje njihovega procesiranja. (Edsger Dijkstra)

C + + bi naredil spodoben učni jezik, če bi lahko učili del ++ brez C-dela. (Michael Feldman)

Java je na več načinov C ++ – (Michael Feldman)

C + + je v zgodovini programskih jezikov. Tako kot ima Caligula svoje mesto v zgodovini rimskega cesarstva. (Robert Firth)

C ++ v kantonščini se izgovarja “C ga ga”. Potrebujem več? (Mark Glewwe)

Pisanje v C ali C + + je podobno kot pri vožnji verižne žage z odstranjenimi varnostnimi varovali. (Bob Grey)

Ko je kladivo C + +, se vse začne videti kot palec. (Steve Haflich)

Na voljo sta dva načina oblikovanja programske opreme. Eden od načinov je, da bi bilo tako enostavno, da očitno ni pomanjkljivosti. Druga pot je, da bo tako zapleteno, da ni očitnih pomanjkljivosti. Prva metoda je veliko težja. (C.A.R. Hoare)

Petdeset let programskih jezikovnih raziskav, na koncu pa zaključimo s C ++ ??? (Richard O’Keefe)

Programska oprema in katedrale sta popolnoma enaki. Najprej jih gradimo, potem pa molimo. (Samuel Redwine)

Razvoj jezikov: FORTRAN je nedotočen jezik. C je šibko tipiziran jezik. Ada je močno tipkani jezik. C + + je močno preveden jezik. (Ron Sercely)

V C + + se težje ustreli v nogo, toda ko to naredite, si izpuščaš celotno nogo. (Bjarne Stroustrup)

Vedno sem si želel, da bi bil moj računalnik enostaven za uporabo kot moj telefon. Moja želja se je uresničila, ker ne morem več ugotoviti, kako uporabljati svoj telefon. (Bjarne Stroustrup)

C ++ je samo-pisni, visokokakovostni zbirni jezik. (Stefan Van Baelen)


Odvzet od : http://www.cs.uni.edu/~mccormic/humor.html

Danova Spletni nasveti:

Brskalniki »Brand-X« – nizi uporabnikovega strežnika

[<== Prejšnja] | [Up] | [Naprej ==>]

Opomba o identifikatorjih uporabnikovega agenta in statistiki brskalnika

Kadarkoli kdor daje statistične podatke, ki nameravajo ugotoviti, kateri odstotek uporabnikov uporablja katere brskalnike, je to (če to ni samo nenavaden pogum), ki je verjetno vzet iz analize identifikatorjev uporabnikovega spletnega mesta na spletno mesto. Ta identifikator je del protokola HTTP in je niz, ki navadno daje ime in različico brskalnika, ki se uporablja. Žal v formatu tega niza ni resnične doslednosti, zaradi česar analiza zelo otežuje in statistika sumi.

Netscape (nazaj, ko je dejansko obstajal kot poseben brskalnik) vedno uporabljal »Mozillo« kot svoje ime v teh nizih, vendar mnogi / večini drugih brskalnikov »ležijo« in se tudi identificirajo kot »Mozilla«, nekaj, kar se je vzpostavilo že kar nekaj let (v 90-ih letih “vojne brskalnikov”), ker so drugi proizvajalci brskalnikov želeli poiskati identifikatorje brskalnikov na spletnih mestih, ki so onemogočile Netscape-specifične izboljšave, ko je bil uporabljen kateri koli drug brskalnik. Zato so se identificirali kot Mozilla / 2.0 (združljiv; RealBrowserName) – čeprav niso bili vedno resnično združljivi z Netscape. Eden od brskalnikov, ki to počne, je bil MSIE, ki je uporabil nizov, kot je Mozilla / 2.0 (združljiv; MSIE 2.0). Ko je MSIE dobil dovolj tržnega deleža, da bi bil “brskalnik, ki ga posnemajo” številne znamke X, ste začeli gledati nizov, kot je Mozilla / 3.0 (združljiv; MSIE 3.0; RealBrowserName), ki se pretvarja, da je MSIE pretvarjala, da je Netscape. Razvijalci in preizkuševalci Mozille v zgodnjih dneh so veliko razpravljali o tem, kaj storiti glede niza uporabniškega posrednika (ki se začne z “Mozilla / 5.0”, čeprav to ni ustrezalo dejanskemu številu različic katerega koli Mozilla brskalnika do mnogo let kasneje, ko je prišel Firefox 5.0, je s svojo trenutno strategijo hitrega sprostitve hitro dosegel 6,0), nekateri pa so želeli “čisti začetek” s spreminjanjem svoje začetne besede na nekaj drugega (čeprav je stari pre-Firefox Mozilla Suite, vodilni projekt organizacije Mozilla je bil pravzaprav edini brskalnik, ki bi se lahko iskreno imenoval »Mozilla«), medtem ko so se drugi smrtno bojali, da bi najmanjšo spremembo (tudi če bi spremenili številko različice z vsako izdajo, kot je to storila Netscape), da ne bi diskombobulate “brskalnik sniffers” in zakleniti Mozilla uporabnike izven spletnih mest. Zato se zdi, da smo za nedoločen čas zaljubljeni z nizi uporabniških agentov, ki se še bolj in bolj oddaljujejo od iskrenega opisa imena brskalnika in različice, ki jo predstavljajo, in vsebujejo večje količine fosiliziranega mrtvega lesa, ki ga ni mogoče odstraniti, nekje, domnevno odvisna od njene prisotnosti.

Mislim, da brskalniki, ki “prevarajo” druge, kot je ta, počnejo razlog za neodvisne brskalnike slabo storitev. V kratkem času taki izogibanja uporabnikom pomagajo priti do odkrivanja brskalnikov brskalnika na spletnih mestih, vendar na dolgi rok povzročijo tistim istim neutrudljivim skrbnikom, da vidijo statistične podatke, ki potrjujejo njihovo prepričanje, da “vsi uporabljajo [izpolnijo trenutno priljubljen brskalnik]”, celo če velik kos teh uporabnikov res uporablja nekaj drugega, vendar se pretvarja, da uporablja priljubljeni brskalnik. (Eno spletno mesto trdi, da je z uporabo preizkusne strani, ki je prijavila navzočnost “MSIE” v nizih uporabniških posrednikov in uporabila lastni “Microsoftism” »pogojne-komentarje«, da bi določen list stila obremenil samo v resničnih brskalnikih MSIE, v celoti 18% brskalniki, ki trdijo, da so »MSIE« dejansko niso.) Tako imam vse brskalnike, ki jih uporabljam, konfiguriran za uporabo povsem poštenega nizov uporabniških sredstev, kjer koli je to na voljo (npr. moja kopija Opera je uporabila niz »Opera« z brez omembe Mozilla ali MSIE, tudi preden so to privzeto postavili), in želijo, da je to privzeto za vse brskalnike (z nizom “prevar”, če so sploh na voljo, obstajajo le kot nastavljiva možnost za poseben namen na spletno stran, ki sicer ne deluje).

Ko smo že govorili o operi, po dolgem času privzete nastavitve na “prevara”, so končno postali pošteni in začeli uporabljati logični niz uporabniških agentov z “Opera / x.xx”. Toda po dolgem času so našli novo idiocijo, da bi storili: ko so prišli na različico 10.0, prvi večji brskalnik, ki je prejel dvomestno številko različice, so ugotovili, da nekateri moronični brskalniki ne morejo ravnati s takim številko in pogledal samo eno številko, jo obravnava kot različico 1 ali različico 0 Opera in zahteva, da uporabniki nadgradijo, preden uporabijo svoje spletno mesto. Torej so opera morali znova začeti ležati, tokrat začnejo strune z “Opera / 9.80” in dodati “Version / 10.00” kasneje v nizu z dejansko različico. Ali je to začasno reševanje, ki ga bodo sčasoma lahko spustili ali pa se to stalno zagozdijo? Ali bodo drugi brskalniki, ki bodo dosegli 10,0, morali narediti podobne stvari v prihodnosti? Koliko različnih različic bo Firefox končalo? (Ima že več, vključno z brez pomena “Mozilla / 5.0”, številko različice Gecko, ki je v parametru “rv:” in ne žetonom Gecko, ki ga lahko naivno pričakujete, da ga ima – do Firefox 5.0, ko ga je zamenjal še en nespremenljiv fosilizirani element “20100101” – in dejansko številko različice Firefox, ki sledi “Firefoxu”. Vendar pa so iz verige uporabnikov uporabniškega vmesnika Firefox izrezali veliko količino maščobe, čeprav še vedno puščajo nekaj preteklih neumnosti za “združljivost” z drugimi brskalniki. Po drugi strani pa, ko so dokončno dosegli različico 10.0, so uspeli priti tja brez posebnega mucking-okvira z nizom uporabnikovega agenta, da bi lahko prilagodili dvomestne različice.)

Zdi se, da se ne konča stopnja neumnosti, ki postane storjena v imenu identifikacije brskalnika. Google Chrome na primer uporablja Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit / 525.13 (KHTML, kot Gecko) Chrome / 0.2.149.27 Safari / 525.13 (nekatere od teh številk se razlikujejo za različne različice) . Deli tega objavljajo brskalnik Mozilla, AppleWebKit (orodje, ki se uporablja kot del nizke ravni kodiranja), KHTML (stroj za konverzijo Konqueror, ki ga je odjavil AppleWebKit), “kot Gecko” (Mozilla rendering motor, ki se v tem brskalniku ne uporablja), Safari (brskalnik Apple, ki prav tako uporablja AppleWebKit in ga je mogoče obravnavati kot “sestro” tega) in (pokopan v naslednjo slot) Chrome (dejansko ime brskalnika ). Podobno tudi številni brskalniki brez Gecko, ki niso Firefox, še vedno vsebujejo žeton Firefox v njihovih nizih uporabniških posrednikov, saj je Firefox priljubljen in ga je zato bolj verjetno sprejela sniffers kot nekateri manj znani brskalnik, kot je SeaMonkey. In, kot MSIE 11, Microsoft sam zdaj posnemajo Gecko v nizu uporabnikov-agentov … in glede tega zapusti vsako omembo MSIE sama!

Še en košček idiocije je v odseku za platformo uporabniških nizov uporabnikov programa Windows, to pa je Microsoftova napaka: različice operacijskega sistema Windows se identificirajo kot »Windows NT [nekaj različice različice]«, čeprav je NT sam zastarel vsaj desetletje . Novejše različice operacijskega sistema Windows, kot so XP in Vista ter Windows 7, so bile narejene, da se imenujejo kasnejše različice NT, tako da bi programska oprema, oblikovana za to staro sorto Windows, še naprej delovala in to se je nadaljevalo za nedoločen čas. Da bi dosegli vrhunec smešnosti, je njihov oddelek za trženje izbral ime »Windows 7«, ker je bila ta številka, na kateri je bila številka različice (čeprav so bile številke različic Windows zelo lepo skrite od končnih uporabnikov, saj so resnično stari Windows 3.1) … vendar potem, ko se je Win7 dejansko sprostil, so tehnike M $ zasukale svoj nos na tržnih tipih, tako da je tej različici dejansko dala interno številčenje (vidno v nizih uporabnikovega strežnika in podobno) »Windows NT 6.1«, 7 “napačno ime (napačno številko?). Ko pridejo z operacijskim sistemom Windows 8, kakšno število bo to dejansko? (6.2, očitno.)

Vse to zelo težko ugotovi, kateri brskalniki se dejansko uporabljajo. Da bi bilo še težje, je nekaj brskalnikov, ki dejansko dovoljujejo uporabniku, da spremeni niz uporabniškega posrednika, nekateri uporabniki pa v polje Nič od vašega podjetja, ime šale, kot je Nutscrape, ali naključne znake smeti. Za uporabo lastne analize spletnega dnevnika uporabljam Perl rutino. Razvil sem, da sem poskusil, kako najbolje lahko, za razčlenitev dejanskega brskalnika, ki ga uporabljam (spremenjen je vsakič, ko naletim na drug brskalnik, ki to počne drugače), vendar je to ni popolna. Torej, ne zaupajte v nobeno statistiko uporabe brskalnika. (In to sploh ne razmišlja o različnih sistemih spletnega predpomnilnika, s katerimi se sumi vsa zadetka zadetkov spletnega mesta, in dejstvo, da kakršna koli statistika, ki temelji na zadetkih za risarske slike, kot so števci ali oglasni pasici, izključi brskalnike v besedilnem načinu, brskalniki z nalaganjem slike so izklopljeni in uporabnikom dostop do programov filtriranja, ki preskočijo nalaganje spletnih oglasov itd.)

Poskusite z odkrivanjem brskalnika CGI zdaj!

Upoštevajte tudi, da »uporabniški agenti« niso popolnoma sinonim za brskalnike. Brskalniki so uporabniški agenti, vendar so tudi nekatere druge stvari, kot so indeksiranje robotov. Torej nekatera čudna imena, kot je »Scooter«, ki jih morda vidite v vaših dnevnikih, niso brskalniki »blagovne znamke X«, temveč indekserji iz iskalnika. Bodite gostoljubni z njimi ali ne boste dobili indeksirane ali pa boste indeksirani pod nekaj neprimernega (nekaj časa poskusite z iskanjem Googlovega iskanja za »Nepodprti brskalnik« in si oglejte, koliko spletnih mest, ki so bile nesramne do Googlebota, so bile indeksirane pod njihovim ” Pridobite boljši brskalnik, poražujoča stran s čopičem in ne njihova dejanska vsebina). Na žalost imajo tudi pošiljatelji neželene elektronske pošte roboti, ki gredo preko spletnih strani, ki zbirajo e-poštne naslove.

Drugi uporabniški agenti vključujejo programe za prenos spletnega mesta za brskanje brez povezave ali ustvarjanje zemljevida ali obrisa spletnega mesta. Drugi so “upravljalci prenosov”, kot so Go! Zilla in SmartDownload, ki prevzamejo, ko uporabnik začne zagnati izvedljivo datoteko iz spleta, upravlja postopek prenosa in omogoča nadaljevanje prekinjenega prenosa. Ogledate si lahko, da se katera koli od teh pojavlja v svojih dnevnikih skupaj z brskalniki.

Dvorana Sramu

Naredite svojo spletno stran bolje, če si ogledate druga spletna mesta, ki na primer kažejo, kaj storiti!

OPOMBA: Vključitev spletnega mesta v moje povezave “Dvorana sramu” se ne sme razumeti kot kakršen koli osebni napad na ustvarjalca spletnega mesta, ki je lahko resnično velika oseba ali celo napad na povezano spletno mesto kot celoto , ki je lahko vir resničnih informacij in / ali zabave. Namesto tega je preprosto poudariti posebne značilnosti (namerno ali naključno) povezanih mest, ki povzročajo težave, ki bi se jim lahko izognile z boljšim oblikovanjem. Če ugotovite, da je eno od vaših spletnih mest tukaj povezano, ne bodite užaljeni; izboljšajte svojo spletno stran, tako da bom moral odstraniti povezavo!

(Glej tudi nekoga drugega Odkrivanje uporabnikovih agentov dvorana sramu ki ima podobno idejo v tem blogu!)

No, vsaj nobeno od spodnjih strani uporabnike v zaporu za uporabo “napačnega” brskalnika!

  • Spletna stran o zdravstvenem zavarovanju Oregon v letu 2013 pravi, da je zasnovana samo za Internet Explorer in se ne bi smela uporabljati z drugimi brskalniki.
  • Čeprav očitno dejansko ne uporablja nobenega neumnega uporabniškega posrednika, ki bi odvrnil “napačen” brskalnik, očitno je spletna stran britanske vlade za vložitev zahtevkov za ugodnosti deluje le na arhaičnih različicah Internet Explorerja in tudi ne na trenutnih različicah tega brskalnika, kaj šele v drugih brskalnikih in operacijskih sistemih. In to je v letu 2013.
  • Podjetje na Slovaškem je bil kaznovan zaradi zavrnitve uporabe vladnega elektronskega spletnega sistema za vlaganje svojih davčnih dokumentov, ker družba nima sistemov, ki temeljijo na sistemu Windows, in slabo implementirana aplikacija deluje samo v M $ IE v okolju Windows.
  • Postaja New York Post namerno blokiran dostop iz brskalnika Safari iPad da bi ljudje uporabili svojo plačano aplikacijo, da bi prebrali papir, vendar jo je nenavadno pustil prebrati v drugih brskalnikih, kot so Skyfire in Opera Mini, ki se lahko izvajajo na tej napravi.
  • Spletna stran, ki jo dobite dovoljenje za potovanje v Washingtonu DC, za potovalne avtobuse in podobno, je dejal: “Stranke morajo pri uporabi Internet Explorerja poskušati dostopati do spletnega mesta za dovoljenja za potovanja.” (Zdi se, da to ni več.)
  • Na spletnem mestu FedEx so javili ljudje, ki uporabljajo »napačen« operacijski sistem, na primer uporabnike Linuxa, in jim povedal, da uporabljajo brskalnik, ki ni podprt, in naj preklopi na IE ali Firefox (tudi če uporabljate različico Firefoxa v Firefoxu) .
  • Ta stran mi je povedala: “Žal nam je, da ta stran trenutno ni združljiva z Netscapeom”, čeprav takrat nisem uporabljal Netscape.
  • Dvorana Sramu Dishonor Roll Champion: Aplikacija FEMA za pomoč pri nesrečah je zahtevala MSIE 6.0 v času orkana Katrina in vas je odvrnila, če ste uporabili kaj drugega. V pravičnem svetu bi bila odgovorna oseba za to obsojena na teden življenja v tistih, ki ostanejo v New Orleans Superdome med kupi iztrebkov, ki so jih pustili evakuirani begunci. Spoznajte, da veliko uslužbencev FEMA zasluži to usodo. Vendar se zdi, da so zdaj uredili svojo spletno stran, da ne bodo zavrnili uporabnikov brskalnika. Še vedno si zaslužijo “sramoto” opombo za vedno oblikovanje mesta s tako neumno omejitev.
  • Varno spletno mesto Hilton preusmeri vsakogar, katerega niz uporabniškega posrednika se ne začne z “Mozillo” na to tako imenovano Spletno Stran s standardi; Mislim, da sem zamudil del specifikacij W3C, ki so ga naredili kot »spletni standard«, ki se mora uporabljati za uporabniške nize uporabnikov z »Mozillo«. (Opera v svojem načinu odkritja ne uspe ta test.)
  • Big Noise Music pošlje vsakomur, ki ne uporablja IE za Windows, na stran, ki pravi, da potrebujete “Internet Explorer 5 (ali bolje)”. Mozilla je veliko boljša, vendar še vedno ne bo dovolila.
  • MovieLink blokira vsak brskalnik, vendar MSIE, vsako platformo, vendar Windows, in tudi vam zavrača, če so piškotki ali skripti onemogočeni, se zdi, da je vaša hitrost povezave prepočasna ali pa se zdi, da ste izven Združenih držav. Poročila so, da je celo nova izdaja beta Internet Explorerja blokirana, saj se zdi, da razvijalci te strani držijo odnosa “Prepoved vsakogar in vsega, razen če je to posebej dovoljeno.”
  • Druga spletna stran, ki ščiti opero, vendar omogoča Mozilli, je PhotoDisc (Getty Images). Stran “Get Lost” vam pove, da dobite IE ali Netscape, če ne omenjate Mozille ali Safarija. Ker je njihova ponudba še posebej zanimiva za grafične strokovnjake, od katerih mnogi uporabljajo Mac, ki prihajajo s Safari kot njihovim standardnim brskalnikom, ni smiselno, da ti ljudje gredo na način, da bi jih tako označili.
  • Proffs.nu je uporabil za preusmeritev vseh brskalnikov, ki niso MSIE, na resnično neumno spletno stran, ki predava izdelovalce brskalnikov o tem, kako jih je treba z napako združiti z MSIE, ker to uporablja tujina, in uporabnikom povem, da »nadgradijo« v MSIE ali vsaj preoblikovati svoje brskalnike, da bi se pretvarjali, da so MSIE, da bi prišli do preusmeritve. (Ta zadnji nasvet je lahko preveden: “Prosimo, da vaš brskalnik laže o tem, kaj je, da bi prešli nenavadnost idiotskih webmastrov, kot smo mi.”) Vendar so ga kasneje spremenili in začeli dajati vse brskalnike v (in celo imela ikono »Prenos Mozilla Firefox« in ikono W3C, ki označuje veljaven HTML). Kljub temu so še vedno rekli, da imajo nekatere strani, ki so blokirane od uporabnikov, ki niso MSIE, ker “teh strani ne prikazujejo tako, kot bi želeli, da se jih prikaže”, in “ne more ravnati z nekaterimi spletnimi tehnologijami podjetja Microsoft” – z drugimi besedami, avtor spletnega mesta še vedno ni mogel preprečiti uporabe zaščitenih stvari in odvisno od težav z brskalnikom. Ne verjamem, da je ta del spletnega mesta še vedno tam po naknadnih preoblikovanjih, čeprav.
  • Ta stran kreditne unije pove veliko uporabnikov (vključno s tistimi iz Mozilla Suite), da je njihov brskalnik “nestandardni”, nato pa jim daje povezavo za vstop na spletno stran v vsakem primeru; vendar v nekaterih primerih ta povezava ne deluje (menim, da je odvisno od omogočenega piškotka).
  • NatWest podpira Mozillo, vendar če poskusite vnesti svojo spletno stran z novim rebrandiranim SeaMonkeyom (kar je popolnoma enako kot Mozilla z drugim imenom), se zavrnete.
  • Modri ščit v Kaliforniji meni, da je treba preusmeriti nekaj strani, ko so nekateri “napačni” brskalniki dostopali do te strani “You Need To Upgrade”. Ne vem natančno, kateri pregledovalci so tam poslani; Zdi se, da deluje v redu v Mozilli. Na spletnem mestu ne vidim ničesar, kar ni bilo mogoče storiti v redu s kodo, ki je nevtralna za brskalnik.
  • Oddelek za ugodnosti Fidelity Investment poroča, da odvrne “napačne” vrste brskalnikov, vendar se zdi, da delajo zame v Mozilli. Torej, mislim, da Mozilla ni “napačen” brskalnik, ampak poroča, da je Opera, vsaj ko se želi odkriti iskreno.
  • NetZero uporablja to stran, da pove Netscape 6.x uporabnikom, da morajo preusmeriti na Netscape 4.x, da bi dobili njihovo storitev za delo. (Poročali smo, da ta stran nekatere brskalnike v neskončni zanki s prazno stranjo, ki se stalno nalaga, morda v primerih, ko so piškotki onemogočeni.)
  • Facebook preusmerja nekatere brskalnike (vključno z Lynx-om in povezavami) na stran, ki pravi, da nismo dovolj kul, da podpiramo vaš brskalnik.
  • Google Zemljevidi ponujajo večje število podprtih brskalnikov, kot večina »množice, ki prevažajo brskalnik«, če pa uporabljate nekaj drugega kot IE, Mozilla, Firefox ali Netscape ali starejšo različico katere koli od njih, še vedno Odpravite se.
  • TotalJobs trdi, da v svojem »Pravilnik o brskalniku« eksplicitno blokira različne brskalnike, vključno z Mozili in Firefoxom. Vendar njihovi razvijalci ne morejo narediti niti neumnega brskalnika blokirati; se zdi, da ni nobenih težav dostopa do njihove spletne strani s temi brskalniki.
  • Je obrnjena poštena igra? Ben Goodgerjev blog, grenak podpornik Mozilla-jevega brskalnika Firefox, je uporabil, da vse uporabnike MSIE obrne in jih pošilja na stran, ki pravi: »Brskalnik, ki ga uporabljate (Microsoft Internet Explorer), trenutno ni podprt zaradi nepopolne podpore za spletne standarde.« Nekateri drugi uporabniki brskalnika, kot so uporabniki brskalnikov Mozilla Mozilla, so si lahko ogledali spletno mesto, vendar so si pri tem želeli nadgraditi Firefox. (Zdi se, da tega ne počnem več.) Menim, da je brskanje ljudi s spletnega mesta zaradi brskalnika, ki ga uporabljajo, nepravilno, ne glede na to, kateri brskalnik je diskriminiran, zato moram temu nasprotovati. (V zadnjem času v tem članku trdi, da je podjetje prihranilo veliko denarja, ker ni želelo podpirati IE, vendar je bil ta članek objavljen 1. aprila, zaradi česar se sprašujem, ali je to resno ali aprilska prevara.)
  • Ironično je, da je lastno spletno mesto Mozila krivo blokade na osnovi uporabnikovega posrednika; omejili so dostop do spletna stran Addons če uporabljate stare stare različice Firefoxa, kot je razloženo v teh nitih sporočil. To je zahtevalo varnostno vprašanje, v katerem so te različice lahko izvajale zlonamerno kodo z drugih spletnih mest, ki so zavlačevala brskalnik, da je mislila, da je bila z mesta spletnega mesta Mozilla, kar bi bilo mogoče ustaviti z blokiranjem dejanskega spletnega mesta.

Povezave

[<== Prejšnja] | [Up] | [Naprej ==>]

Vir: http://webtips.dantobias.com/brand-x/useragent.html

IGeoS – integrirana analiza podatkov GeoScience

IGeoS je visoko integriran programski paket, ki se uporablja za številne naloge za seizmično obdelavo v širokem spektru geofizičnih in končno geoscience analiz podatkov. Od sredine leta 1995 ga stalno razvija Igor Morozov, zdaj v sefologiji UofS, kot okvir za integracijo geofizikalne programske opreme.

Pred tem se je sistem imenoval SIA. Ime smo spremenili v IGeoS, da odražajo širšo (ni več strogo potresno) usmerjenost paketa.

V naši raziskavi uporabljamo številne vrste geofizikalnih podatkov, ki jih vse upravljamo in obdelujemo v IGeoS:

  • Odsevni in refrakcijski seizmični zapisi v kompleksnih 2-D in 3-D geometrijskih raziskovanjih,
  • Večkomponentni seizmični podatkovni nizi;
  • Lokalni do potresnih in jedrskih eksplozijskih seizmičnih zapisov,
  • Upravljanje podatkov v realnem času (internetno seizmično omrežje);
  • Zapisi na površini, ki prodrejo;
  • Simulacije 1-, 2- in 3-D seizmičnih talnih simulacij.
  • Krivulje, površine in mize za potovanje,
  • Različne vrste modelov hitrosti in gostote,
  • 2D in 3D podatkovni nizi potencialnega polja.

IGeoS lahko ogledamo tudi kot okvir za integracijo, razvoj in vzdrževanje geofizikalne programske opreme.

Splošna arhitektura sistema IGeoS

Primeri:

Tukaj je nekaj primerov aplikacij, ki uporabljajo interaktivno 3D vizualizacijo:

V trenutnem razvoju:

  • Paket za obdelavo, preoblikovanje in analizo logov;
  • Amplitude Variation with Offset (AVO) paket;
  • Paket za neposredno obdelavo seizmičnih podatkov 3D in 4D refleksije;
  • Popolnoma refrakcijski statični paket (samodejno in ročno pobiranje, nadzor kakovosti in inverzija);
  • Ekstrakcija atributa in razpad empiričnega načina na 2D potencialnih poljih;
  • 3D vzporedni viskoelastični končni simulator s poljubno površinsko topografijo;
  • 3D generalizirani cilindrični propagator zaslona;
  • Enotni vmesnik baze podatkov (notranji in zunanji baz podatkov SQL);
  • Pridobivanje in obdelava podatkov v realnem času;
  • Poenostavljene konfiguracije in demo sklopi za aplikacije raziskovalne industrije.

Vabim prispevke drugih o zgornjih in drugih temah.

Ključne funkcije:

  • Visoko zmogljivi vzporedni procesor za obdelavo podatkov,
  • Oblikovana za različne vrste nalog, od prednastavljanja podatkov na terenu do slikanja;
  • Polno serijsko delovanje v kombinaciji s sodobnim, popolnoma integriranim grafičnim uporabniškim vmesnikom
  • Interaktivna paralelna 3D / 2D vizualizacija
  • Avtomatizirana on-line in HTML uporabniška dokumentacija;
  • Vzdrževanje kode in pripomočki za upravljanje paketov;
  • Seizmični Unix (SU) vmesnik, ki omogoča uporabo celotnega paketa SU;
  • Vmesniki z drugimi brezplačnimi priljubljenimi paketi, kot je GMT;
  • Edinstvene spletne zmogljivosti:
  • Več podrobnosti o glavnih značilnostih sistema.

Spletne storitve:

Referenčni podatki:

Distribucija, namestitev in upravljanje:

  • Sistem se je v veliki meri uporabljal v Solarisu, SGI Irix (samo v serijah) in v zadnjem času na Fedora 6-11, Mandrake, Mandriva, Red Hat Enterprise in SUSE Linux, na več prenosnih računalnikih Intel in AMD, namiznih delovnih postajah in grozdih (32- in 64-bitne), Mac OS X ali Ubuntu 9.
  • Zagotavljajo se rešitve za vzdrževanje več binarnih datotek za različne arhitekture iz skupne izvorne kode.
  • Upoštevajte, da porazdelitev kode spodaj ponujajo dve živi IGeoS namestitvi na 32-bitnih in 64-bitnih Linux napravah, ki se prav tako uporabljajo pri obdelavi podatkov.
  • Navodila za namestitev in zemljevid
  • Spletna storitev za vzdrževanje kode
  • Sistemska administracija

Nedavne predstavitve o sistemu IGeoS:

Povezavo: http://seisweb.usask.ca/SIA/