Wybrane Posty

Co ciekawi mnie w muzyce? Zastanawialiście się kiedyś jakie czynniki powodują, że lubicie jakiś utwór? Dlaczego jest tak, że po pierwszym przesłuchaniu jakiejś piosenki jesteście w stanie zachwycić sie nią? W moim...

Czytaj dalej

Herbata - co i jak Herbata jest napojem, który towarzyszy nam na co dzień. Niewiele jest jednak osób, które przywiązują wagę do tego co i jak piją. Kupujemy ekspresówki, herbatki smakowe, czy też ziołowe. Kiedyś...

Czytaj dalej

Tortilla ziemniaczana z dodatkami Niedawno znalazłem przepis na tortillę ziemniaczaną i zainspirowało mnie to do poeksperymentowania. Jako, że samą tortillę robi się mniej więcej tak samo - ekperyment dotyczył tego, co na nią...

Czytaj dalej

Jestem jak Fin, czyli słowo o języku angielskim Języka angielskiego uczę się od wielu lat. W dzisiejszych czasach jego znajomość jest bezdyskusyjnie przydatna, a często wręcz wymagana. Większość młodych Polaków uczy lub uczyła się tego...

Czytaj dalej

Język (nie do końca) rozpoznawalny W poniedziałek, 15 września 2008 roku, zakończyłem oficjalnie pisanie pracy magisterskiej i złożyłem ją w dziekanacie. Jako, że nie wszyscy wiedzą o czym pisałem, postaram się przedstawić...

Czytaj dalej

Język (nie do końca) rozpoznawalny

Posted by EChO | Posted in Technologia | Posted on 18-09-2008

Tagi: , , ,

5

praca magisterskaW ponie­dzia­łek, 15 wrze­śnia 2008 roku, zakoń­czy­łem ofi­cjal­nie pisa­nie pracy magi­ster­skiej i zło­ży­łem ją w dzie­ka­na­cie. Jako, że nie wszy­scy wie­dzą o czym pisa­łem, posta­ram się przed­sta­wić krótko całą historię.

Gdy pół­tora roku temu zaczą­łem się zasta­na­wiać na poważ­nie nad tema­tem pracy, mia­łem kilka spre­cy­zo­wa­nych punk­tów, według któ­rych chcia­łem sobie dobrać temat. Moją spe­cjal­no­ścią jest inży­nie­ria opro­gra­mo­wa­nia, ale w tej dzie­dzi­nie dowolny temat pracy wyda­wał mi się mało inte­re­su­jący. Posta­no­wi­łem pracę pisać w innym insty­tu­cie, a mia­no­wi­cie w Insty­tu­cie Sztucz­nej Inte­li­gen­cji i Metod Mate­ma­tycz­nych. Mia­łem nawet kon­kret­nie wybra­nego pro­mo­tora, u któ­rego chcia­łem pisać. Pod­sze­dłem do wyboru tematu dość ambit­nie. Wybór cze­goś łatwego i odtwór­czego mnie zupeł­nie nie prze­ko­ny­wał. W końcu ma to być moja pierw­sza publi­ka­cja naukowa z praw­dzi­wego zda­rze­nia. Dla­czego więc nie połą­czyć kilku dzie­dzin, które mnie inte­re­sują? Z racji wybra­nej spe­cjal­no­ści, głów­nym zada­niem w pracy miało być stwo­rze­nie pro­gramu. Chcia­łem napi­sać pro­gram, dzięki któ­remu prze­pro­wa­dził­bym bada­nia, któ­rych wyniki mogą się real­nie przy­dać, a jed­no­cze­śnie sam pro­gram mógł być roz­wo­jowy. Wyko­rzy­sty­wałby sieci neu­ro­nowe do kla­sy­fi­ka­cji cze­goś zwią­za­nego z dźwię­kiem. Na początku myśla­łem o roz­po­zna­wa­niu stylu muzycz­nego bada­nego utworu. Jed­nak kla­sy­fi­ka­cja gatun­ków muzycz­nych jest na tyle trudna dla czło­wieka, że kom­pu­ter tym bar­dziej nie będzie w sta­nie sobie z tym pora­dzić. Popro­si­łem więc pro­mo­tora o pomoc w wymy­śle­niu tematu w sam raz dla mnie. I pro­mo­tor wymyślił:

„Zasto­so­wa­nie sztucz­nych sieci neu­ro­no­wych do roz­po­zna­wa­nia języka mówią­cej osoby”

Temat spodo­bał mi się od samego początku. Wow! Zajmę się roz­po­zna­wa­niem języ­ków :-) . Oprócz dzie­dzin zwią­za­nych z dźwię­kiem, sztuczną inte­li­gen­cją i pro­gra­mo­wa­niem, mogę się zająć też bar­dzo inte­re­su­jącą mnie dzie­dziną — języ­ko­znaw­stwem. Cho­ciaż w ogra­ni­czo­nym stop­niu. Do tematu nie mia­łem żadnych zastrze­żeń, więc taki wła­śnie został ofi­cjal­nie przyjęty.

Jako rasowy pro­kra­sty­na­tor, na poważ­nie zają­łem się pracą dopiero w ostat­nim seme­strze ;-) . Wcze­śniej bar­dzo powoli gro­ma­dzi­łem lite­ra­turę, na któ­rej mógł­bym się oprzeć. Jed­nak lite­ra­tury takiej nie ma. Musia­łem się oprzeć na kilku anglo­ję­zycz­nych arty­ku­łach nauko­wych, trak­tu­ją­cych kon­kret­nie o tema­cie roz­po­zna­wa­nia języka. Reszta lite­ra­tury to publi­ka­cje o ana­li­zie i syn­te­zie dźwięku czy ogólne o samych sie­ciach neu­ro­no­wych. W dodatku publi­ka­cji o iden­ty­fi­ka­cji języka, w języku pol­skim, nie zna­la­złem żadnych. Dobrze, że oprócz pro­mo­tora zna­ją­cego się na sie­ciach neu­ro­no­wych, mia­łem też do kogo się zwró­cić w tema­cie samej ana­lizy dźwięku. Pani Ania dużo mi pomo­gła — dzięki niej opra­co­wa­łem naj­waż­niej­szą część pracy, czyli metodę eks­trak­cji cech głosu, któ­rymi potem mia­łem uczyć sieć neuronową.

Sama metoda powstała i została prze­te­sto­wana w Matla­bie jesz­cze przed waka­cjami. Zdą­ży­łem jesz­cze tylko napi­sać roz­działy teo­re­tyczne i prze­su­nąć ter­min odda­nia pracy na wrze­sień. Waka­cje upły­nęły mi na pisa­niu całego pro­gramu w C++ (jakieś 20% czasu) i jego testo­wa­niu (80% czasu, bo prze­cież nic nie może dobrze dzia­łać za pierw­szym razem ;-) ). Gdy po bólach pro­gram już powstał, prze­pro­wa­dzi­łem za jego pomocą bada­nia. Wresz­cie mogłem spraw­dzić jak się spra­wuje moje dziecko :-) .

Bada­nia były prze­pro­wa­dzone na prób­kach zdań w 6 języ­kach: pol­skim, angiel­skim, nie­miec­kim, wło­skim, hisz­pań­skim i rosyj­skim. Przy­go­to­wa­łem po 21 zdań w każ­dym z tych języ­ków i zaprzę­głem syn­te­za­tory mowy, żeby wyge­ne­ro­wały mi zda­nia z poprawną wymową. Dodat­kowo, przy­go­to­wa­łem próbki mowy żywego czło­wieka dla języka pol­skiego, angiel­skiego i rosyj­skiego. Zapo­wia­dało się cie­ka­wie… ale wyniki badań mnie nieco roz­cza­ro­wały. Przy ucze­niu wszyst­kich 6 języ­ków na raz, jakość roz­po­zna­wa­nia była bar­dzo niska. Od 20 do 50%. Z czego naj­go­rzej sieć roz­po­zna­wała… język angiel­ski. Naj­le­piej za to wło­ski. Wło­ski prak­tycz­nie wygry­wał w każ­dej kon­fi­gu­ra­cji. Naj­le­piej był roz­po­zna­walny (i to w pra­wie 85%) przy zesta­wie 3 języ­ków — pol­skim, wło­skim i hisz­pań­skim. Nie zdzi­wiło mnie to. Jeśli zna­cie melo­dię języka wło­skiego (a mój pro­gram wła­śnie ana­li­zuje melo­dię wypo­wia­da­nych zdań), to wie­cie, że każde zda­nie koń­czy się sko­kiem into­na­cji od dźwięku wyż­szego do niż­szego. Co wię­cej –bada­nia na prób­kach żywej ludz­kiej mowy wypa­dły nieco gorzej niż na prób­kach syntetycznych.

Czy więc ponio­słem klę­skę? W żadnym wypadku! Wycią­gną­łem wnio­ski, które pozwolą mi na udo­sko­na­le­nie algo­rytmu i prze­pro­wa­dze­nie kolej­nych badań. Na pewno nie porzucę tego co zaczą­łem. A świa­do­mość tego, że moja publi­ka­cja jest chyba jedyną taką w języku pol­skim, moty­wuje mnie dodat­kowo. W końcu inter­fejsy gło­sowe za kilka lat staną się bar­dzo popu­larne, a ja two­rzę pewien ważny wyci­nek tego, co w tych inter­fej­sach będzie imple­men­to­wane. Napi­sa­łem przy­zwo­itą pracę, z któ­rej jestem zado­wo­lony i która rokuje na przy­szłość. Jesz­cze czeka mnie obrona na początku paź­dzier­nika i wtedy będę mógł ode­tchnąć :-) . I z pew­no­ścią po obro­nie opi­szę bar­dziej szcze­gó­łowo wyniki badań, a także opu­bli­kuję swoją pracę w internecie.

Mam nadzieję, że Was nie zanu­dzi­łem, i że kogoś innego oprócz mnie też to zain­te­re­so­wało. W razie czego — pytaj­cie w komen­ta­rzach. Chęt­nie odpo­wiem :-)

Uzimawianie pulpitu po mojemu

Posted by EChO | Posted in Technologia | Posted on 01-12-2007

Tagi: , , ,

3

Nade­szła zima. Jako, że w Szcze­ci­nie śniegu jak na lekar­stwo, nie mam zbyt cie­ka­wego widoku za oknem. Żeby nieco nastroić się bar­dziej zimowo i świą­tecz­nie, posta­no­wi­łem zro­bić coś z moim pul­pi­tem. Lep­sze to niż nic :-) Po kilku pró­bach udało mi się osią­gnąć wygląd, który jak na razie mnie zada­wala :-)

2077175697 21f7c0ac3a m
Na skri­nie widać pul­pit w pod­sta­wo­wym widoku, z uru­cho­mioną MirandąFooba­rem. Pul­pit uświet­niły też takie pro­gramy jak: Roc­ket­Dock (ten pasek, który widzi­cie po lewej stro­nie), Google Desk­top (z dwoma gadże­tami — Google Calen­dar i Pogoda) i nie­wi­doczny na skri­nie (z pew­nych powo­dów) Stic­kies, czyli pul­pi­towe kar­teczki. Dodat­kowo uży­wam cie­ka­wego zamien­nika menu start (w stylu Visty) o nazwie ViStart. Wszyst­kie te pro­gramy mogę z powo­dze­niem pole­cić — są zarówno ładne, jak i funkcjonalne.

Tro­chę o ski­nach. Wygląd okie­nek zmie­ni­łem za pomocą skina VistaVG Blue, do tego dopa­so­wa­łem skin ViStar­tVG Blue, czyli mamy kom­plet.
Vistart VG blue by fediaFedia
Miranda posiada ładną skórkę (do listy Con­tact List Modern) o rów­nie ładnej nazwie Cor­do­nata Blue, którą odro­binę zmo­dy­fi­ko­wa­łem.
Foobar został upięk­szony ski­nem Babzn foo (wymaga Panels UI), do któ­rego pod­ło­ży­łem wyci­nek tapety od Vla­dy­slawa :-) Także pod całym tym baj­zlem może­cie zoba­czyć jego tapetkę. Nowych świą­tecz­nych jest cał­kiem sporo tutaj: http://www.vladstudio.com/christmas/

Ulubione: Blogi o WWW

Posted by EChO | Posted in Technologia | Posted on 28-07-2007

Tagi: , , ,

0

Tym postem otwie­ram pewną serię, w któ­rej będę przed­sta­wiał moje ulu­bione ser­wisy — warte pole­ce­nia i czę­stego odwie­dza­nia. Dzi­siaj pokrótce przy­bliżę Wam strony, które trak­tują o wsze­la­kich aspek­tach ser­wi­sów WWW — od webma­ste­ringu i usa­bi­lity, przez newsy o nowych łebdwa­ze­ro­wych pro­jek­tach, aż po pry­watne blogi z pora­dami i ciekawostkami.

Pol­skie

Anty­Web [http://antyweb.pl/]
Blog Grze­go­rza Mar­czaka, trak­tu­jący głów­nie o por­ta­lach spo­łecz­no­ścio­wych — pol­skich i zagra­nicz­nych, a także o cie­ka­wost­kach na rynku nowych tech­no­lo­gii. Posty są zgrab­nie pisane, cza­sem z wła­snymi prze­my­śle­niami. Jest to cie­kawe źródło infor­ma­cji przede wszyst­kim o pol­skich zaso­bach web 2.0. Blog jest czę­sto aktu­ali­zo­wany, co jest spo­rym plusem.

Blog Pio­tra Koniecz­nego [http://blog.konieczny.be/]
Cie­kawe notki, pisane mniej regu­lar­nie, lecz zawsze na wyso­kim pozio­mie. Od hac­kingu i bez­pie­czeń­stwa, przez prze­glą­darki (głów­nie Opera), ser­wisy inter­ne­towe, aż po rów­nie cie­kawe oso­bi­ste spostrzeżenia.

Porad­nik webma­stera [http://poradnikwebmastera.blox.pl/html]
Blog Pawła Wim­mera — chyba nie spo­sób się nie zetknąć z tym nazwi­skiem :-) . Nazwa bloga może nie do końca odzwier­cie­dla tema­tykę, cho­ciaż także sporo jest tu postów o sze­roko poję­tym webma­ste­ringu, ser­wi­sach inter­ne­to­wych i nowych tech­no­lo­giach, pisa­nych w miarę regu­lar­nie. Autor pisze także cza­sem notki bar­dziej oso­bi­ste i poli­tyczne — przy obec­nej sytu­acji wcale się temu nie dzi­wię ;-)

Per­fec­tion or Vanity? [http://perfectionorvanity.com/]
Piotr Petrus (Rid­dle) też jest z pew­no­ścią znany inter­nau­tom inte­re­su­ją­cym się webma­ste­rin­giem. Tym razem posty są bar­dziej tech­niczne, opi­su­jące roz­wią­za­nia czę­sto poja­wia­ją­cych się pro­ble­mów przy two­rze­niu stron. Dosko­nałe (lub cza­sem mniej dosko­nałe) roz­wią­za­nia w Java­Scrip­cie, (x)htmlu i innych tech­no­lo­giach. Szkoda tylko, że tak rzadko ostat­nio pisze.

The­Tar­Pit [http://dezinformacja.org/tarpit/]
Tym razem spe­cja­li­sta od Seman­tic Web i inży­nie­rii opro­gra­mo­wa­nia. Autor — Michał Świąt­kie­wicz — podob­nie jak Rid­dle przed­sta­wia różne tech­niczne roz­wią­za­nia webma­ster­skie, cho­ciaż głów­nie w tema­cie SW. Rzadko pisane, lecz zawsze ciekawe.

Web 2.0 [http://web20.pl/]
Jak sama nazwa wska­zuje — blog o web 2.0, pro­wa­dzony przez Seba­stiana Kwiet­nia. Głów­nie o pol­skim web 2.0 i tren­dach w inter­ne­cie. Także nie­re­gu­larny, lecz czę­sto jest cie­ka­wym uzu­peł­nie­niem innych blo­gów w tej tematyce.

Webusability.pl [http://www.webusability.pl/]
Pro­fe­sjo­nalny (jak dla mnie) blog o uży­tecz­no­ści. Pro­wa­dzi go Tomek Kar­watka, z któ­rym kie­dyś przez pewien czas współ­pra­co­wa­łem przy maga­zy­nie NoName.

WebAu­dit [http://webaudit.pl/blog/]
Robert Drózd także pisze o uży­tecz­no­ści ser­wi­sów inter­ne­to­wych. Cie­kawe, pro­fe­sjo­nalne podej­ście do usa­bi­lity, mar­ke­tingu inter­ne­to­wego i nowych tech­no­lo­gii. Fajne uzu­peł­nie­nie dla webusability.pl.

Zagra­niczne

Masha­ble [http://mashable.com/] oraz Tech­Crunch [http://www.techcrunch.com/]
Dwa podobne do sie­bie ser­wisy z dużą ilo­ścią new­sów doty­czą­cych nowych ser­wi­sów inter­ne­to­wych. Masha­ble jed­nak głów­nie sku­pia się na wszel­kiego rodzaju spo­łecz­no­ściach, a Tech­Crunch także ogól­nie na nowych tech­no­lo­giach. Czę­sto jed­nak mają w tym samym cza­sie te same newsy. Pod­stawa dla mania­ków NT.

Life­hac­ker [http://lifehacker.com/]
Tro­chę innego typu ser­wis, gdyż nie sku­pia się tylko na inter­ne­cie. Prze­czy­tać w nim można wsze­la­kie porady dla użyt­kow­ni­ków kom­pu­te­rów. Opi­suje ser­wisy spo­łecz­no­ściowe i nie­spo­łecz­no­ściowe, nowe pro­gramy kom­pu­te­rowe, porady odno­śnie sys­te­mów ope­ra­cyj­nych, ale także życiowe (np. jak zro­bić łapkę na muchy ;-) ). Kilka(naście) postów dziennie.

To są naj­cie­kaw­sze ser­wisy, które prze­glą­dam regu­lar­nie (czyt. zapy­chają mi regu­lar­nie czyt­nik RSSów ;-) ). Zna­cie jakieś inne godne pole­ce­nia blogi? A może macie wła­sne prze­my­śle­nia co do tych opi­sy­wa­nych przeze mnie? Pisz­cie śmiało w komen­ta­rzach. Zapraszam!

Moje pomysły na udoskonalenie narzędzi CASE

Posted by EChO | Posted in Technologia | Posted on 16-07-2007

Tagi: ,

0

Więk­szość pro­gra­mi­stów pra­cuje wyko­rzy­su­jąc te narzę­dzia, inni ich nie uży­wają z róż­nych przy­czyn, ale wie­dzą o co cho­dzi. Tym, któ­rzy nie wie­dzą podaję krótką i strawną defi­ni­cję, żeby wie­dzieli o czym jest ten arty­kuł i ewen­tu­al­nie prze­stali go czy­tać :-)

Narzę­dzia CASE (czyli Com­pu­ter Aided Software Engi­ne­ering lub Com­pu­ter Aided Sys­tem Engi­ne­ering) to sys­temy kom­pu­te­rowe, prze­zna­czone do wspo­ma­ga­nia ruty­no­wych czyn­no­ści pro­cesu two­rze­nia opro­gra­mo­wa­nia. Dzięki nim pro­jekty two­rzy się dokład­niej, a praca nad dia­gra­mami, spraw­dza­nie ich popraw­no­ści oraz śledze­nie wyko­na­nych testów jest prost­sze i szybsze.

Pro­log
Wiele CASE’ów, szcze­gól­nie tych dar­mo­wych, ma słabą funk­cjo­nal­ność. Inne – zazwy­czaj te komer­cyjne – zbyt dużą jak na prze­cięt­nego pro­gra­mi­stę. Nie­które sys­temy ogra­ni­czają się do two­rze­nia dia­gra­mów UML, mode­lo­wa­nia baz danych, czy też pro­stego gene­ro­wa­nia sza­blonu kodu i sche­ma­tycz­nych doku­men­ta­cji. Reverse engi­ne­ering jest rzad­ko­ścią, cho­ciaż np. Sta­rUML sobie z tym radzi. W innych „sys­te­mach” widzimy prze­rost formy nad tre­ścią, cho­ciażby taki Visio, który z zało­że­nia miał być dla nas czymś w rodzaju CASE (cho­ciaż de facto nim nie jest). Czy można stwo­rzyć ide­alne roz­wią­za­nie dla wszyst­kich? Teo­re­tycz­nie nie, ale czemu nie spróbować?

Praw­dziwa modu­ło­wość
Sporą popu­lar­no­ścią wśród mło­dych infor­ma­ty­ków cie­szą się pro­gramy, które można dosto­so­wy­wać do swo­ich potrzeb. Dla infor­ma­tycz­nych laików jest to spory minus, gdyż czę­sto liczba opcji takiego pro­gramu prze­kra­cza moż­li­wo­ści opa­no­wa­nia przez takiego śmier­tel­nika. Jed­nak dla zapa­leńca, który chce dopie­ścić pro­gram do gra­nic, jest to roz­wią­za­nie ide­alne. Bar­dzo dobrym przy­kła­dem takiego podej­ścia jest komu­ni­ka­tor inter­ne­towy Miranda. Samo jądro Mirandy w głów­nej mie­rze służy do obsługi plug-inów oraz zapew­nia pod­sta­wowe metody do obsługi komu­ni­ka­tora, z któ­rych korzy­stają deve­lo­pe­rzy piszący wtyczki. Dzięki temu użyt­kow­nik ma do wyboru kil­ka­set wty­czek, które wzbo­ga­cają komu­ni­ka­tor o kon­kretne funk­cje. Z takiego roz­wią­za­nia korzy­sta się coraz czę­ściej, lecz zazwy­czaj w ogra­ni­czo­nym stop­niu. Wtyczki do zwy­kłych pro­gra­mów popra­wiają jego funk­cjo­nal­ność w nie­wiel­kim stop­niu. W tym przy­padku każda funk­cja jest oddziel­nym plug-inem. Oddziel­nie mamy okienko roz­mowy, oddziel­nie listę kon­tak­tów, oddziel­nie histo­rię. Każda z tych wty­czek ma zazwy­czaj sporo opcji do samo­dziel­nego usta­wie­nia i dosto­so­wa­nia. Na podob­nej zasa­dzie działa odtwa­rzacz muzyczny Foobar. I cho­ciaż wtyczki do niego są nieco bar­dziej ogra­ni­czone, to moż­li­wość wła­snej kon­fi­gu­ra­cji jest ogromna.

Dla­czego by nie zasto­so­wać podob­nego roz­wią­za­nia w przy­padku sys­te­mów CASE? Prze­cież nie każdy pro­gra­mi­sta musi korzy­stać ze wszel­kich modu­łów stan­dar­do­wego CASE’a. Poza tym pod­czas two­rze­nia pew­nego pro­jektu, różne osoby mają różne zada­nia do wyko­na­nia. Po co im więc ten sam zestaw funk­cji w CASE’ie? Można taki sys­tem roz­bić na duże, nie­za­leżne moduły, które obsłu­gują jedną poważną funk­cjo­nal­ność, a do każ­dego z tych modu­łów mogli­by­śmy doda­wać pomniej­sze udo­god­nie­nia. Przy­kła­dowo – jeden z naj­waż­niej­szych (w tym wypadku) modu­łów to Moduł Importu/Eksportu. Jest szcze­gól­nie ważny, gdyż dzięki niemu moż­liwa jest wymiana danych mię­dzy róż­nymi pro­gra­mami, a nawet mię­dzy oso­bami pra­cu­ją­cymi na naszym ide­al­nym CASE’ie, tylko róż­nie skon­fi­gu­ro­wa­nym. Do tego modułu możemy doda­wać obsługę kolej­nych for­ma­tów prze­sy­ła­nia danych, a także różną obsługę wymiany danych (np. za pomocą usta­lo­nego pro­to­kołu sie­cio­wego). Inny przy­kład – two­rze­nie dia­gra­mów w róż­nych stan­dar­dach. Jeśli osoba A potrze­buje do pracy tylko pew­nego nie­wiel­kiego zestawu dia­gra­mów – po co mu cała reszta? Skoro jest od wielu lat ten­den­cja do jak naj­węż­szej spe­cja­li­za­cji, to wiel­kie kom­bajny „do wszyst­kiego” są zbędne. W dodatku zaj­mują nie­ba­ga­telną ilość zaso­bów systemu.

Cechy i funk­cje ide­alne
Dla mnie, jako stu­denta infor­ma­tyki, ważną cechą doty­czącą jakie­go­kol­wiek pro­gramu jest jego dar­mo­wość i otwar­tość. Otwar­tość jest szcze­gól­nie ważna przy zało­że­niu, że każdy bar­dziej zaawan­so­wany pro­gra­mi­sta mógłby do takiego CASE’a napi­sać swój wła­sny moduł czy plug-in.

Z otwar­to­ścią wiąże się także wie­lo­plat­for­mo­wość takiego pro­gramu. Chciał­bym mieć moż­li­wość pracy na nim zarówno pod Win­dow­sem, jak i Linuk­sem (a może nawet MacOS’em?).

Intu­icyj­ność obsługi jest rów­nież ważna. Popra­wia z pew­no­ścią ergo­no­mię, a zatem także szyb­kość pracy. Wszel­kie menu, kla­wi­szo­lo­gia i inne paski narzę­dziowe powinny być w 100% kon­fi­gu­ro­walne przez użytkownika.

Wie­lo­stan­dar­do­wość. Jest to ważne, gdyż różni ludzie mają różne przy­zwy­cza­je­nia i wła­sne ozna­cze­nia w dia­gra­mach. Każdy użyt­kow­nik naszego CASE’a powi­nien mieć moż­li­wość dosto­so­wa­nia stan­dar­dów do sie­bie, a jed­no­cze­śnie powi­nien mieć moż­li­wość kon­wer­sji tych dia­gra­mów do postaci wygod­nej dla współ­pra­cow­ni­ków. Taka kon­wer­sja powinna prze­bie­gać auto­ma­tycz­nie pod­czas wymiany danych z innymi pra­cow­ni­kami przy danym projekcie.

Dla nowych użyt­kow­ni­ków CASE’a przy­dałby się roz­bu­do­wany i „inte­li­gentny” help. Z jed­nej strony coś na kształt pod­ręcz­nika użyt­kow­nika (jeśli ktoś lubi tego typu publi­ka­cje), a z dru­giej strony – pod­po­wie­dzi w cza­sie rze­czy­wi­stym. Oczy­wi­ście w pełni kon­fi­gu­ro­walne i zaim­ple­men­to­wane jako osobny plug-in do danego modułu. Zaawan­so­wany użyt­kow­nik może go więc wyłą­czyć i nie obcią­żać nie­po­trzeb­nie zaso­bów systemu.

Gene­ra­tor kodu i środo­wi­sko pro­gra­mi­styczne. Wiele środo­wisk pro­gra­mi­stycz­nych (np. Eclipse) ma moż­li­wość roz­bu­dowy o ele­menty obsługi UMLa czy też innych skład­ni­ków stan­dar­do­wego CASE’a. Można więc zro­bić odwrot­nie. Jed­nym z modu­łów naszego CASE’a byłoby wła­śnie środo­wi­sko pro­gra­mi­styczne (IDE) dla kon­kret­nego języka pro­gra­mo­wa­nia. Wtedy gene­ra­tor kodu byłby dopa­so­wany ide­al­nie do tego środo­wi­ska, a co za tym idzie – unik­nę­li­by­śmy dziw­nej nad­mia­ro­wo­ści kodu i pro­ble­mów zwią­za­nych z bra­kiem kon­kret­nych nagłów­ków czy innych wyma­ga­nych dekla­ra­cji w programie.

Epi­log
Są różni pro­gra­mi­ści, z róż­nymi pomy­słami i przy­zwy­cza­je­niami. Obecne narzę­dzia CASE w pew­nym stop­niu narzu­cają nam wła­sny spo­sób obsługi. Bar­dzo czę­sto wpływa to nega­tyw­nie na nasta­wie­nie pra­cow­nika, a co za tym idzie – na jakość i szyb­kość jego pracy. Two­rząc CASE’a zgod­nego z powyż­szymi pomy­słami, mamy moż­li­wość przy­naj­mniej czę­ścio­wego wyeli­mi­no­wa­nia tego problemu.

Polskie chatterboty — porównanie

Posted by EChO | Posted in Technologia | Posted on 25-06-2007

Tagi: ,

0

Boty, elek­tro­niczni asy­stenci, czy też wir­tu­alni doradcy – są od pew­nego czasu coraz bar­dziej popu­lar­nym roz­wią­za­niem, imple­men­to­wa­nym w ser­wi­sach inter­ne­to­wych róż­nych firm. Zba­da­łem trzy boty, trzech róż­nych firm.

Fido Inte­rac­tive (Fido)
www.fido.pl

Naj­star­szy znany mi pol­ski bot. Działa od 2002 roku i cał­kiem nie­źle sobie radzi. Jest doradcą, ma wiele infor­ma­cji o fir­mie, a dodat­kowo bar­dzo dobrze nawi­guje ser­wi­sem – naj­le­piej ze wszyst­kich bada­nych botów – otwie­ra­jąc pod­strony pomocne w tema­cie rozmowy.

Z Fidem roz­ma­wia się bar­dzo swo­bod­nie i przy­jem­nie. Nie narzuca tema­tów, stara się odpo­wia­dać dokład­nie na pyta­nia roz­mówcy. Potrafi jed­nak dobrze wybrnąć z bar­dzo ogól­ni­ko­wych pytań – np. „Co możesz powie­dzieć o fir­mie Fido?”.

Zasób rozu­mia­nego słow­nic­twa ma dosyć sze­roki, a jeśli cze­goś nie rozu­mie, to stara się wywnio­sko­wać z innych zro­zu­mia­łych wyra­zów w pyta­niu i opo­wiada o tym co zro­zu­miał – nie zawsze jed­nak jest to zgodne z zamie­rze­niem pyta­ją­cego. Gdy nic nie zro­zu­mie – tłu­ma­czy się i prosi o zapy­ta­nie w inny sposób.

Co do luź­nej roz­mowy – Fido zna mnó­stwo dow­ci­pów, są one jed­nak opo­wia­dane losowo. Nie są tylko bran­żowe albo infor­ma­tyczne. Gdy zapy­ta­łem jed­nak o to czy zna dow­cipy o infor­ma­ty­kach, zaczął mówić o wdro­że­niach lin­gu­bo­tów w fir­mach infor­ma­tycz­nych – tro­chę się pogu­bił. Fido zna się także na muzyce, fil­mach i spo­rcie. I co cie­kawe – ma w tych tema­tach sporą wie­dzę i zasób roz­po­zna­wa­nego słownictwa.

Ingu­aris (Ingu­aris)
www.inguaris.pl

Bar­dzo miła botka, cał­kiem inte­li­gentna i „mar­ke­tin­gowa”. Dla nie­zde­cy­do­wa­nych pro­po­nuje roz­mowę o sobie, o fir­mie. Po każ­dej wypo­wie­dzi grzecz­nie pyta, w czym może pomóc. Jej główną wadą (a może to tylko wada tej kon­kret­nej imple­men­ta­cji) jest brak inte­li­gent­nej nawi­ga­cji po stro­nie. Strona sama się nie zmie­nia, a kon­kretne infor­ma­cje poja­wiają się w roz­mo­wie lub botka zachęca do samo­dziel­nego klik­nię­cia w odpo­wied­nią zakładkę na stro­nie. Dobre i to.

Tematy roz­mowy nie są narzu­cane, chyba, że roz­mówca jest nie­zde­cy­do­wany. Nie jest to na pewno mar­ke­ting nachalny. Rze­czowo i przy­jaź­nie odpo­wiada na pyta­nia zwią­zane z firmą i pro­duk­tami. Ma sporą wie­dzę i prze­ka­zuje ją w pro­sty i zwię­zły spo­sób. Nie zarzuca roz­mówcy całą masą tek­stu w odpo­wie­dzi, ale po krót­kich frag­men­tach pyta, czy kontynuować.

Zakres jej słow­nic­twa jest wystar­cza­jący. Jeśli cze­goś nie zro­zu­mie – zazwy­czaj dru­gie podej­ście jest już trafne. Można z nią poroz­ma­wiać także na luźne tematy – np. o muzyce Kasi Nosow­skiej (któ­rej jest fanką). Jak każdy bot – umie opo­wia­dać dow­cipy. Są one zwy­kle bran­żowe, ale gdy zapy­ta­łem o dow­cip nie zwią­zany z biz­ne­sem – opo­wie­działa „zwy­kły” o Jasiu – to spory plus.

Z Cie­ka­wych odpo­wie­dzi:
Kamil: Jak mam na imię?
Ingu­aris: Masz na imię Kamilu. Co jesz­cze chcesz wie­dzieć?

Jak widać – jest to nie­do­pra­co­wany szcze­gół. Nie dys­kre­dy­tuje to bota, lecz cza­sem może drażnić.

E-asystent (HoRacy)
www.inguaris.pl

Zde­cy­do­wa­nie naj­mniej inte­li­gentny bot wśród trzech bada­nych. Jest chętny do mówie­nia o sobie, ale czeka na kon­kretne pyta­nia. Pod wzglę­dem mar­ke­tin­go­wym jest mało przy­datny – jest po pro­stu zbyt nie­śmiały. Roz­mowa z nim jest mało swo­bodna i brzmi naj­sztucz­niej ze wszyst­kich. Gubi się, bywa aro­gancki. Gdy pytamy go o kon­kretne infor­ma­cje o fir­mie – chęt­nie odpo­wiada. Za każ­dym razem pyta, czy ma kon­ty­nu­ować wypo­wiedź. Jed­nak na nic zda się odpo­wiedź „nie”, gdyż bot i tak ją igno­ruje i zanu­dza dalej. Czę­sto nie potrafi wyła­pać kon­tek­stu odpo­wie­dzi użyt­kow­nika na to, o co sam zapytał.

Z cie­ka­wych odpo­wie­dzi:
Kamil: Czy możesz otwo­rzyć stronę z cen­ni­kiem?
HoRacy: Prze­pra­szam, nie zro­bię tego, to zada­nie prze­glą­darki, nie moje.

Gdy zada­łem stan­dar­dowe pyta­nie o czas wdro­że­nia – podał mi w miarę ade­kwatną odpo­wiedź dopiero za czwar­tym podej­ściem, gdy kon­struk­cja pyta­nia była odpo­wied­nia. Wtedy dodał też: „cen­nik ele­men­tów skła­do­wych e-asystenta otwar­łem Ci w nowym oknie”. Widać, że jed­nak potrafi :-) Tylko czemu otwo­rzył w nowym oknie, skoro spora grupa użyt­kow­ni­ków nowo­cze­snych prze­glą­da­rek ma takowe okienka zablo­ko­wane? Inne boty jakoś potra­fią uży­tecz­nie zarzą­dzać ser­wi­sem swo­jej firmy.

W tema­tach luź­nych nie­chętny. Lubi muzykę fil­mową, lecz prak­tycz­nie nic o niej nie wie. Dow­cipy chce sły­szeć od użyt­kow­nika, a przy­party do muru opo­wiada zawsze jakiś informatyczny.

Epi­log
Trudno prze­pro­wa­dzić poważ­niej­sze testy na takich botach, szcze­gól­nie w dosyć ama­tor­ski spo­sób. Myślę jed­nak, że z powyż­szych badań można wysnuć kilka wnio­sków. Wszyst­kie boty speł­niają swoją pod­sta­wową funk­cję (lepiej lub gorzej, ale jednak) – informowanie o fir­mie i pro­duk­tach. Jedne są bar­dziej zaawan­so­wane – np. Fido oraz Ingu­aris, inne mniej – tak jak E-asystent. Obecny etap roz­woju botów, na pod­sta­wie tych badań, można okre­ślić jako śred­nio zaawan­so­wany, ale wystar­cza­jąco uży­teczny. A chyba to jest w tym wszyst­kim najważniejsze.

Komunikatorowe boje

Posted by EChO | Posted in Technologia | Posted on 10-01-2007

Tagi: , ,

3

Dzi­siej­szy dzień miał być prze­ło­mowy. Roz­draż­niony pew­nym błę­dem w moim ulu­bio­nym komu­ni­ka­to­rze — Miranda — posta­no­wi­łem prze­siąść się na jakiś inny. Ów błąd nie był jedy­nym argu­men­tem prze­ciw temu komu­ni­ka­to­rowi, był jed­nak pretekstem.

Jak pew­nie wie­cie, Miranda jest mul­ti­ko­mu­ni­ka­to­rem. Sama nie ma żadnego wła­snego pro­to­kołu, lecz obsłu­guje wszel­kie (no, pra­wie wszyst­kie) inne pro­to­koły. Prak­tycz­nie wszystko w niej jest plu­gi­nem, więc bar­dziej zaawan­so­wani użyt­kow­nicy mogą sobie ją skon­fi­gu­ro­wać tak jak chcą. Nie chcę mieć kon­kret­nej funk­cjo­nal­no­ści — wyrzu­cam plu­gina. Chcę inną — ścią­gam plu­gina. Wszystko jest teo­re­tycz­nie piękne i pro­ste. Wszystko do momentu, w któ­rym deve­lo­per uak­tu­al­nia na bie­żąco swoje wtyczki. Tak jest np. z plu­gi­nem do wysy­ła­nia SMSów — mSMS. Od dawna nie jest aktu­ali­zo­wany, a kody źródłowe nie są udo­stęp­nione. Nie mam zamiaru psio­czyć na autora tego plu­gina — to jest jego sprawa. Użyt­kow­nicy Mirandy po pro­stu stra­cili bar­dzo uży­teczną wtyczkę, przy­naj­mniej na jakiś czas.

Miranda w Pol­sce ma swoją spo­łecz­ność sku­pioną wokół ser­wisu www.miranda.kom.pl. Śledzę jej roz­wój od początku ist­nie­nia, prak­tycz­nie nie udzie­la­jąc się. Zwy­kle nie mam potrzeby zada­wa­nia pytań, czy też wypo­wia­da­nia się. Jeśli taka mnie naj­dzie — piszę. Fak­tem jed­nak jest, że admini tego ser­wisu (który głów­nie składa się z forum) robią z Mirandy pro­dukt dla elit. Ponie­kąd mają rację — zwy­kły użyt­kow­nik kom­pu­tera nie będzie się bawił z Mirandą, gdyż po pro­stu nie będzie w sta­nie prze­bić się przez wszel­kie opcje, które trzeba usta­wić, żeby mieć to, co inne komu­ni­ka­tory mają usta­wione domyśl­nie. Szcze­gól­nie, że Miranda nie potrze­buje insta­la­to­rów z zesta­wem wty­czek i tako­wych jest nie­wiele (co wię­cej — są two­rzone przez nie­za­leż­nych od sie­bie deve­lo­pe­rów lub użyt­kow­ni­ków). W pew­nym sen­sie jest to duży plus, ale dla mania­ków, także dla mnie.

Mirandy uży­wam już 4 i pół roku. Czę­sto wyprze­dzała swoją funk­cjo­nal­no­ścią inne komu­ni­ka­tory, ale z cza­sem kon­ku­ren­cja ją wyprze­dziła. Głów­nie dla­tego, że tylko jej sil­nik jest two­rzony przez grono zgra­nych deve­lo­pe­rów. Reszta plu­gi­nów — przez mniej lub bar­dziej zaawan­so­wa­nych pro­gra­mi­stów. Wielu z nich zna się na tym co robi i robi to dobrze. Jeśli jakiś błąd zostaje zgło­szony — reak­cja jest bły­ska­wiczna albo pra­wie bły­ska­wiczna. Drugą stroną medalu są wtyczki, któ­rych auto­rzy mają nie­wiele czasu na ich roz­wój. Są to czę­sto bar­dzo potrzebne i funk­cjo­nalne wtyczki. Wtedy poja­wiają się głosy nie­za­do­wo­lo­nych użyt­kow­ni­ków. Mogli­by­ście (i słusz­nie) pomy­śleć, że tak wła­śnie powinno być. Od tego są pro­gra­mi­ści i użyt­kow­nicy. Jedni nie mogą żyć bez dru­gich. Ale to tylko teo­ria. Środo­wi­sko pol­skiego forum Mirandy jest nega­tyw­nie nasta­wione do użyt­kow­ni­ków zgła­sza­ją­cych swoje uwagi. No chyba, że są to użyt­kow­nicy z foru­mo­wym doświad­cze­niem (lub kobiety). Jak się nie podoba — napisz lep­szego plu­gina. Odpo­wiedź godna Leppera.

Posta­no­wi­łem więc spró­bo­wać innego komu­ni­ka­tora. Na pierw­szy ogień poszedł tlen. Świetny komu­ni­ka­tor — sta­bilny, ze sporą ilo­ścią wty­czek — także sta­bil­nych. Nie jest tak ela­styczny jak Miranda, ale two­rząc wła­sne skiny można wiele osią­gnąć. Usta­wi­łem go sobie zgod­nie z potrze­bami w ciągu 2 godzin. Ma dzia­ła­jące wysy­ła­nie SMSów, ma Tle­no­fona. Nie ma jed­nak dzia­ła­ją­cej obsługi dwóch (z czte­rech) uży­wa­nych przeze mnie pro­to­ko­łów — ICQ i Jab­bera. Cho­ciaż z Jab­bera można (pra­wie) bez pro­ble­mów korzy­stać, to z ICQ już nie da się w ogóle (pomimo wtyczki). Plu­gin do ICQ poka­zuje błąd przy logo­wa­niu i dalej nic się z tym zro­bić nie da. A wra­ca­jąc do Jab­bera — nie ma w plu­gi­nie obsługi trans­por­tów, co uwa­żam za główny jego minus. Z Jab­bera i ICQ nie zamie­rzam prze­stać korzy­stać, więc jest to minus nie do zaakceptowania.

Innym mul­ti­ko­mu­ni­ka­to­rem jest Kon­nekt. Ma też sporo wty­czek i dobry (lep­szy niż w Miran­dzie) sys­tem aktu­ali­za­cji i pobie­ra­nia nowych plu­gi­nów. Zachę­cony tym i moż­li­wo­ścią dosto­so­wa­nia komu­ni­ka­tora do wła­snych potrzeb, zabra­łem się za wstępną kon­fi­gu­ra­cję i uru­cho­mie­nie wszyst­kich 4 pro­to­ko­łów. Wtyczki do ICQ nie zna­la­złem, ale przy­naj­mniej wtyczka jab­be­rowa miała obsługę trans­por­tów i udało mi się pod­łą­czyć do ICQ. Byłoby wszystko OK, gdy­bym po godzi­nie kon­fi­gu­ra­cji mógł cie­szyć się wyglą­dem dosto­so­wa­nym do moich potrzeb — cho­ciaż w czę­ści. Nie mogłem jed­nak — tool­bary na dole (i nie tylko) nie dają się okieł­znać… tracę ochotę na dal­szą kon­fi­gu­ra­cję. Może kie­dyś jesz­cze spró­buję powal­czyć z Kon­nek­tem. Co naj­waż­niej­sze — poczu­łem ochotę na upo­ra­nie się ze wspo­mnia­nym na początku miran­do­wym błę­dem. Po kilku minu­tach odde­chu udało mi się napra­wić błąd — wró­ci­łem star­szej bety sil­nika Mirandy.

Kwe­stia przy­zwy­cza­je­nia? Wier­ność? A może zdrowy roz­są­dek? Nie wiem co dokład­nie spo­wo­do­wało mój powrót do Miro­sławy. Moje dzi­siej­sze boje spo­wo­do­wały jed­nak, że bar­dziej doce­niam to, co ofe­ruje mi Miranda i posta­na­wiam być jej dalej wier­nym :-)

„Prawdziwi” programiści

Posted by EChO | Posted in Technologia | Posted on 15-11-2006

Tagi: ,

6

VIM naj­lep­szy! O tak! Po co nam zor­ga­ni­zo­wane środo­wi­sko pro­gra­mi­styczne „wszystko-w-jednym”, skoro możemy sobie go sami stwo­rzyć z poje­dyn­czych ele­men­tów? W końcu pro­gra­mi­sta to nie byle jaki czło­wiek — potrafi wszystko!

gdbPo co Praw­dzi­wemu Pro­gra­mi­ście jakieś środo­wi­sko IDE z wbu­do­wa­nym debug­ge­rem? Prze­cież naj­wy­god­niej­szym spo­so­bem jest skom­pi­lo­wa­nie pro­gramu z opcją –g i przej­ście do gdb. Tam ładnie krok po kroku widzimy jak pro­gram działa. Piszemy komendy, które bar­dzo łatwo zapa­mię­tać i dosta­jemy to co chcemy na ekra­nie. Co? Że poprzed­nia war­tość znik­nęła z ekranu? Prze­cież możemy sobie go prze­su­nąć! Mamy też bar­dzo wygodną histo­rię ostat­nio wkle­py­wa­nych stu dwu­dzie­stu pię­ciu pole­ceń, dzięki któ­rej możemy szybko powtó­rzyć wcze­śniej wpi­sy­waną komendę. Możemy też zoba­czyć war­tość naszej zmien­nej — wystar­czy tylko wpi­sać komendę. Oczy­wi­ście na bie­żąco nie możemy śledzić jej zmian, ale od czego jest histo­ria? Kilka strza­łek w górę i już możemy wyświe­tlić nową zawar­tość zmien­nej. Nie widzimy więk­szego kon­tek­stu kodu źródło­wego? Możemy prze­cież prze­łą­czyć się mię­dzy kon­so­lami… albo wyli­sto­wać kod w oknie debug­gera. Znowu nie widzimy poprzed­nich wyni­ków? Oj, żaden pro­blem — to tylko 3 ekrany powy­żej. A jak komuś się nie podoba, to może sobie w histo­rii poszu­kać i jesz­cze raz wyświe­tlić to co chce. Które to było pole­ce­nie w historii?

vim
W dodatku VIM w pro­sty spo­sób pozwala na pisa­nie skryp­tów, któ­rymi można np. pod­cze­pić do niego kom­pi­la­tor. Wystar­czy tylko wkle­pać pole­ce­nie. Potem ładnie prze­łą­czamy się na kolejną kon­solę i odpa­lamy debug­gera. To takie pro­ste i wygodne. A nie jakieś lamer­skie wci­ska­nie ctrl+f9 czy innych takich.

Praw­dziwy Pro­gra­mi­sta, jeśli cze­goś mu potrzeba, sam to sobie napi­sze. Od pod­staw. No bo lame­rzy tego nie potra­fią i wolą sko­rzy­stać z goto­wych roz­wią­zań. A fe! Praw­dziwy Pro­gra­mi­sta nie czuje się zmę­czony, gdy po kilku dniach i nocach szu­ka­nia błę­dów w swoim sil­niku do wyświe­tla­nia scen z lamer­skiego 3D Stu­dio, w końcu pro­gram je popraw­nie wyświe­tla. W tym cza­sie Zenek odpo­czywa na waka­cjach ze swoją dziew­czyną. A to lamer! Sko­rzy­stał z dar­mo­wego gotowca! Praw­dziwy Pro­gra­mi­sta nigdy nie będzie sfru­stro­wany, gdy następ­nego dnia sil­nik mu się wysy­pie. A tam! Naj­wy­żej nie prze­śpi kolej­nej nocy. W końcu tek­stowy debug­ger jest de best!

Na stu­diach uczą Praw­dzi­wie Pro­gra­mi­stycz­nego podej­ścia. Ansi C to pod­stawa. Czy­sta kon­sola to pod­stawa. Mid­ni­ght Com­man­der zabro­niony (prze­cież jest dla lame­rów). Ileż rado­ści daje zna­le­zie­nie jed­nej nie­do­mknię­tej klamry czy też nie­po­sta­wio­nego śred­nika. Stu­dent musi znać pod­stawy. W końcu pra­co­dawca będzie od niego tych pod­staw wyma­gał. Tak jak two­rze­nia od pod­staw pięć tysięcy trzy­sta sześć­dzie­sią­tego szó­stego sil­nika do wyświe­tla­nia scen z 3D Stu­dio czy też pro­gramu do mno­że­nia macierzy.

Prze­ja­skra­wiam? Tak.

Mam nadzieję na jakie­kol­wiek komen­ta­rze ;-)

CoreEditor

Posted by EChO | Posted in Technologia | Posted on 12-04-2006

Tagi:

0

Na pewno część z czy­tel­ni­ków tego bloga koja­rzy dar­mowy edy­tor HTMLa o nazwie EdHTML. Jego auto­rem jest Bin­boy — świetny szczy­cień­ski pro­gra­mi­sta. Pro­gram ten aż do wer­sji 5.0 był dar­mowy. Edek od wer­sji 6.0 miał być napi­sany od zera. I fak­tycz­nie — został napi­sany od początku, zostało doda­nych mnó­stwo ficzer­sów, a pro­gram jest na bie­żąco roz­wi­jany. Pro­gram jed­nak zmie­nił nazwę i został prze­jęty przez pewną firmę. Nazywa się teraz Core­Edi­tor. Z edy­tora HTMLa stał się peł­no­praw­nym edy­to­rem pro­gra­mi­stycz­nym. Jego wielką zaletą jest moż­li­wość pisa­nia skryp­tów, makr czy nawet plu­gi­nów do pro­gramu, które roz­sze­rzają go prak­tycz­nie w nie­skoń­czo­ność. Mia­łem przy­jem­ność poznać Bin­boya, a nawet miesz­kać z nim w jed­nym pokoju w aka­de­miku. Teraz zaj­muję się tłu­ma­cze­niem nowej wer­sji CE na język angiel­ski. A może uda mi się zostać sta­łym współ­pra­cow­ni­kiem tej firmy? :-)

Strona Core­Edi­tora