sobota, 29 listopada 2014

AutoHotKey

W życiu każdego, kto spędza większość dnia roboczego przed ekranem, przychodzi w końcu taka chwila, kiedy trzeba sobie powiedzieć w duchu: „Rany, jestem przystawką do komputera”. Zwłaszcza, gdy po raz 752 w ciągu godziny musimy wpisać to samo albo wykonać tę samą sekwencję kliknięć w tych samych miejscach, i tak do znudzenia. Właśnie po to przecież wymyślono maszyny, a w szczególności komputery, żebyśmy nie musieli zawracać sobie głowy głupotami i mogli się skupić na tym, co naprawdę istotne.

No właśnie, problem jednak w tym, że komputer sam nic za nas nie wymyśli, najpierw trzeba mu pokazać, co ma zrobić. Tylko nie zawsze wiadomo, jak się za to zabrać. Dlatego dzisiaj przedstawię program, który umożliwia automatyzację często powtarzanych czynności w systemie operacyjnym Windows.

Program nazywa się AutoHotKey i dostępny jest za darmo, zarówno do użytku prywatnego, jak i komercyjnego. Można go pobrać ze strony http://www.autohotkey.com/

Do czego mi to?

Program AutoHotKey (dalej AHK) nadaje się do wielu zastosowań, ale najistotniejsze funkcje to:
* zamiana ciągów znaków wpisanych z klawiatury na inne ciągi znaków (tzw. HotString),
* podpisywanie akcji pod dowolne skróty klawiszowe (tzw. KeyBinds) – akcje mogą obejmować m.in.: przesuwanie kursora w zadane miejsce, symulowanie kliknięć myszą i wciśnięć klawiszy, uruchamianie programów i wiele więcej.

Zaczynamy

Po zainstalowaniu i uruchomieniu programu należy jeszcze zdefiniować nasze akcje i hotstringi. W tym celu trzeba napisać skrypt – np. w Notatniku Windows – i zapisać go w łatwo dostępnym miejscu pod dowolną nazwą z rozszerzeniem AHK. Po dwukrotnym kliknięciu ikony skryptu w zasobniku obok zegarka pojawi się zielona ikonka z literą „H”, co oznacza, że nasz skrypt działa i możemy już z niego korzystać.

No dobrze, pytanie tylko, co napisać i w ogóle jak to działa. Już wyjaśniam.

HotString

Wyobraźmy sobie, że codziennie wysyłamy 10, 20 albo i 50 wiadomości e-mail, które zawsze zaczynamy standardowym powitaniem, np.: „Dzień dobry” potem przecinek, dwa entery i potem dopiero wpisujemy treść wiadomości. A gdyby tak zamiast tego powitania, przecinka i dwóch enterów można było po prostu wpisać dwie litery i wcisnąć Enter? Nic prostszego:

1. Otwórz Notatnik Windows lub inny ulubiony program do edycji plików tekstowych.

2. W oknie programu wklej poniższy tekst:

::qq::
SendInput Dzień dobry,{enter}{enter}
return

3. Zapisz plik z rozszerzeniem .ahk i zamknij Notatnik.

4. Dwukrotnie kliknij ikonę zapisanego pliku – w zasobniku systemowym obok zegarka powinna pojawić się zielona ikonka z literą „H”, co oznacza, że skrypt działa i można z niego korzystać. Sprawdźmy:

5. Otwórz okno dowolnego edytora tekstu i wpisz qq, a następnie wciśnij klawisz Enter. Jeżeli wszystko poszło zgodnie z planem, litery qq powinny zniknąć, a w ich miejsce powinien pojawić się tekst powitania z przecinkiem, poniżej pusta linia, zaś kursor powinien migać pod pustą linią.

Gratulacje! Właśnie udało Ci się napisać pierwszy działający skrypt AHK! Od dzisiaj coraz rzadziej będziesz myśleć, że jesteś przystawką do komputera. Spróbuj teraz samodzielnie napisać własne hotstringi.

Aby ułatwić Ci to zadanie, wyjaśnię po kolei, jak to wszystko działa:

0. Aby napisać kolejny hotstring nie musisz tworzyć nowego pliku – możesz otworzyć poprzedni plik ahk, wstawić na końcu kilka pustych linii i wpisać nową procedurę. Po zapisaniu pliku wystarczy, że prawym klawiszem klikniesz w zasobniku systemowym zieloną ikonę z literą „H” i z menu kontekstowego wybierzesz opcję „Reload This Script”.

1. Pierwsza linia: w pierwszej linii wpisujemy na początku dwa dwukropki, potem ciąg znaków, który chcemy automatycznie zamieniać na inny ciąg i kończymy znów dwoma dwukropkami. Wyobraźmy sobie np., że codziennie po 100 razy musimy wpisywać bardzo długą i nieodmienną przez przypadki nazwę firmy, np. „Livingstone SuperDots HeartQuarters Entertainment Ltd.”, wpisujemy, co i rusz się nam coś myli, wracamy, poprawiamy, znowu źle, znów wracamy i poprawiamy i w końcu szlag jasny nas trafia. Skorzystajmy z AHK. Zamiast wpisywać 55 liter będziemy wpisywać 4, np. lshe. Zatem w pierwszej linii nowej procedury wpiszmy:

::lshe::

2. Druga linia: teraz pora powiedzieć AHK, na co chcemy zamienić ciąg znaków lshe z pierwszej linii, a chcemy go zamienić na „Livingstone SuperDots HeartQuarters Entertainment Ltd.”, tak więc wpisujemy:

SendInput Livingstone SuperDots HeartQuarters Entertainment Ltd.

3. Trzecia linia: informujemy AHK, że to koniec procedury, więc wpisujemy:

return

4. Cały przykładowy skrypt:

::lshe::
SendInput Livingstone SuperDots HeartQuarters Entertainment Ltd.
return

5. Gotowe! Teraz wystarczy zapisać plik, prawym klawiszem kliknąć w zasobniku systemowym zieloną ikonę z literą „H” i z menu kontekstowego wybrać opcję „Reload This Script”.

6. Jeżeli wszystko poszło zgodnie z planem, to w dowolnym oknie po wpisaniu tekstu lshe i wciśnięciu Enter litery lshe powinny zniknąć, a w ich miejsce powinien pojawić się napis: „Livingstone SuperDots HeartQuarters Entertainment Ltd.”. U mnie działa.

W ten sam sposób możesz podpisać do skrótów inne często wpisywane teksty, np. pozdrowienia na koniec maila (Z poważaniem,{enter}Marcin Kowalski) lub standardowe formułki („W załączeniu przesyłam Państwu”, „Bardzo proszę o potwierdzenie odbioru plików” itp.).

Jedna uwaga: Dwa dwukropki na początku pierwszej linii oznaczają, że ciąg znaków (w naszym przykładzie lshe) zostanie zamieniony na inny (ten z drugiej linii za SendInput) tylko wtedy, gdy po wpisaniu wciśniesz Enter, Spację, Tab lub inny klawisz kończący słowo, np. kropkę. Aby zamieniać ciągi „na żywo” – co jest czasem przydatne – wpisz na początku linii :*: (dwukropek gwiazdka dwukropek).

KeyBind

AHK pozwala podpisać własne akcje pod dowolnie zdefiniowane klawisze skrótów. Zobaczmy jak to działa.

Wyobraźmy sobie, że 30 razy dziennie musisz włączyć Kalkulator, aby dodać i pomnożyć to i tamto. Pierwsze wyjście: przypnij Kalkulator na pasku i klikaj go, za każdym razem, gdy będzie potrzebny. Drugie wyjście: skorzystaj ze skrótów AHK:

0. Otwórz domyślny plik ze skryptami AHK i wstaw na końcu kilka pustych linii.

1. Następnie wpisz:

#k::
run calc.exe
return

2. Zapisz plik, a następnie prawym klawiszem kliknij w zasobniku systemowym zieloną ikonę z literą „H” i z menu kontekstowego wybierz opcję „Reload This Script”.

3. Od teraz wystarczy wcisnąć klawisz Win (ten z okienkiem) + K, aby włączyć Kalkulator, bowiem znak # odpowiada klawiszowi Win.

Klawisze do skrótów:
# – Win
! – Alt
^ – Control
+ – Shift

Po znaku skrótu wpisujemy literę, z którą dany skrót ma działać, a całość kończymy dwoma dwukropkami. Klawisze skrótu w procedurach można dowolnie łączyć, np.:

#^v:: – Win+Ctr+V
+!s:: – Shift+Alt+S

Jedna uwaga: Przed zdefiniowaniem klawiszy skrótów sprawdź, czy nie kolidują one z innymi skrótami.

Na koniec kilka przydatnych skryptów

Od razu zaznaczam, że nie jestem autorem wszystkich prezentowanych skryptów, niektóre z nich tylko lekko podrasowałem.

1. Szukanie zaznaczonego tekstu w Google (wciśnij ctrl+G):

^g::
  prevClipboard := ClipboardAll
  SendInput, ^c
  Sleep, 100
  ClipWait, 1
  if !(ErrorLevel)  {
    Clipboard := RegExReplace(RegExReplace(Clipboard, "\r?\n"," "), "(^\s+|\s+$)")
    If SubStr(ClipBoard,1,7)="http://"
      Run, % Clipboard
    else
      Run, % "http://www.google.com/search?hl=en&q=" Clipboard
  }
  Clipboard := prevClipboard
return

2. Wpisywanie bieżącej daty po polsku (wpisz d[\):

:*:d[\::
FormatTime, CurrentDateTime,, d M yyyy ; It will look like 9/1/2005 3:53 PM
StringSplit, word_array, CurrentDateTime, %A_Space%
if (word_array2 = 1){
mes=stycznia
}
if (word_array2 = 2){
mes=lutego
}
if (word_array2 = 3){
mes=marca
}
if (word_array2 = 4){
mes=kwietnia
}
if (word_array2 = 5){
mes=maja
}
if (word_array2 = 6){
mes=czerwca
}
if (word_array2 = 7){
mes=lipca
}
if (word_array2 = 8){
mes=sierpnia
}
if (word_array2 = 9){
mes=września
}
if (word_array2 = 10){
mes=października
}
if (word_array2 = 11){
mes=listopada
}
if (word_array2 = 12){
mes=grudnia
}
SendInput %word_array1% %mes% %word_array3%
return

3. Wpisywanie bieżącej daty w formacie akceptowanym przez program Excel (wpisz d[[):

:*:d[[::
FormatTime, CurrentDateTime,, yy-MM-dd
SendInput %CurrentDateTime%
return

4. Wklejanie tekstu bez formatowania (wciśnij klawisz Win przy wklejaniu):

#^v::
Clipboard=%Clipboard%
Sleep, 100
Send ^v
return

5. Włączanie i wyłączanie właściwości Zawsze na wierzchu (Always On Top) dla dowolnego aktywnego okna (wciśnij Win+Ctr+A):

#^a::
WinGet, currentWindow, ID, A
WinGet, ExStyle, ExStyle, ahk_id %currentWindow%
if (ExStyle & 0x8)  ; 0x8 is WS_EX_TOPMOST.
{
   Winset, AlwaysOnTop, off, ahk_id %currentWindow%
   SplashImage,, x0 y0 b fs12, OFF always on top.
   Sleep, 1500
   SplashImage, Off
}
else
{
   WinSet, AlwaysOnTop, on, ahk_id %currentWindow%
   SplashImage,,x0 y0 b fs12, ON always on top.
   Sleep, 1500
   SplashImage, Off
}
return

TurnOffSI:
SplashImage, off
SetTimer, TurnOffSI, 1000, Off
Return

6. I na dobranoc – uśpij komputer (wciśnij Win+Alt+S):

#!s UP::DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0) ;suspend (sleep)

niedziela, 23 listopada 2014

Wiszące spójniki

Na różnych forach internetowych dla tłumaczy od czasu do czasu powraca kwestia wiszących spójników. Co to takiego?

Zgodnie z definicją z Wikipedii wiszący spójnik (inaczej zawieszka, sierota) to błąd składu tekstu polegający na pozostawieniu na końcu wersu osamotnionego jednoliterowego słowa (najczęściej spójnika lub przyimka, np. „a”, „i”, „o”, „u”, „w”, „z”). Reguła zabraniająca wiszących spójników dotyczy zarówno tekstów ciągłych, jak i pojedynczych napisów wielowierszowych (np. tytuły, podpisy). Zgodnie z Polską Normą PN-83/P55366 pozostawianie wiszących spójników jest dopuszczalne tylko przy bardzo wąskim łamie (np. gazetowym). Wiszący spójnik jest błędem wyłącznie typograficznym, nie jest zaś błędem ortograficznym. Reguła ta obowiązuje wyłącznie dla składów w języku polskim i czeskim. W pozostałych językach w ogóle nie jest znana ani tym bardziej przestrzegana.

Rodzi się zatem pytanie: czy tłumacz faktycznie powinien się tym zajmować i przejmować? Moim zdaniem nie, ponieważ tłumaczowi płaci się za tłumaczenie, a nie za dopracowanie tekstu pod względem (typo)graficznym. Za to powinien odpowiadać grafik, korektor lub redaktor techniczny (niepotrzebne skreślić). Jeżeli klient nie chce zatrudnić takiej osoby, to niech zapłaci tłumaczowi dodatkowo za doszlifowanie wyglądu gotowego tekstu. Tym niemniej wielu tłumaczy uważa, że likwidacja wiszących spójników jest ich świętym obowiązkiem. I przenoszą je do nowej linii – na jeden z dwóch możliwych sposobów, każdy z nich zły:

Sposób pierwszy

Połączenie spójnika z kolejnym słowem twardą spacją (ctrl+shift+spacja).

Dlaczego to jest złe?

Otóż w Wordzie twarda spacja ma zawsze taką samą szerokość, dlatego przy wyjustowanym tekście może się zdarzyć np. coś takiego:



Wygląda to okropnie, nie mniej okropnie niż to samo „i” wiszące na końcu poprzedniej linii. W skrajnych przypadkach to „i” można by uznać za kawałek następnego słowa. I jak się do tego wszystkiego ma dbałość o wygląd tekstu?

Da się jednak zrobić tak, aby wszystkie spacje w wierszu miały tę samą szerokość:

Sposób drugi

Postawić kursor przed wiszącym spójnikiem i wstawić znak ręcznego podziału linii (shift+enter). Wówczas nasz przykładowy fragment będzie wyglądał tak:



Dlaczego to jest złe?

Mimo, że tekst wygląda teraz lepiej niż poprzednio, to ten sposób jest i tak zły, bardzo zły, okropny. Dlaczego? Wyobraźmy sobie, że gotowy materiał będzie mimo wszystko oddany do porządnego składu osobie, której płaci się za skład (hurra!). Wówczas takie fragmenty w programie do składu (używam Adobe InDesign) będą wyglądały tak:



Proszę zwrócić uwagę na gigantyczne dziury między słowami w wierszach powyżej tak sztucznie przeniesionego spójnika (pierwsze cztery). Fakt, że to problem składacza, i on sobie musi z tym poradzić, ale po co komuś niepotrzebnie dodawać pracy?

Tytułem podsumowania

1. Oba sposoby są złe, bardzo złe, okropne (patrz powyżej).
2. Po co przejmować się takimi głupotami, skoro i tak cały tekst będzie wyglądać fatalnie: nierówne szerokości spacji w wierszach, „wiszące” półpauzy, podzielony ostatni wyraz w akapicie, wymuszona kursywa itp.
3. W Wordzie tekst nigdy nie będzie wyglądał tak, jak powinien. Można wprawdzie nad tym pracować, pracować i pracować, aby osiągnąć w miarę sensowny wynik, tak samo, jak można wbić gwóźdź wkrętakiem, pytanie tylko po co?
4. Tłumaczowi płaci się za porządne tłumaczenie tekstu, za jego ostateczny wygląd na stronie odpowiada osoba, której się za to płaci: grafik, korektor lub redaktor techniczny (niepotrzebne skreślić).

Koniec końców

Jeżeli klient upiera się, że spójniki nie mogą wisieć, a resztę kwestii (typo)graficznych ma – kolokwialnie mówiąc – gdzieś, proponuję ułatwić sobie sprawę i nagrać w Wordzie następujące Makro:

1. Otwórz w Wordzie dowolny dokument.

2. Jeżeli w Wordzie masz na wstążce na górze kartę z Deweloper, przejdź do punktu 3. Jeżeli nie masz, kliknij kółko w lewym górnym rogu, następnie na dole panelu kliknij przycisk Opcje programu Word i zaznacz opcję Pokaż kartę Deweloper na Wstążce:



3. Aktywuj kartę Deweloper, a następnie kliknij przycisk Zarejestruj makro.

4. W polu Nazwa makra wpisz dowolną nazwę, np. WiszaceSpojniki i kliknij przycisk OK.

5. Otwórz okno Znajdź i zamień (ctrl+H):



6. W oknie kliknij przycisk Więcej>> i zaznacz opcję Użyj symboli wieloznacznych.

7. W polu Znajdź wstaw spację, następnie wpisz dokładnie: ([uwiozaUWIOZA]) i na końcu postaw spację.

8. W polu Zamień wstaw spację, a po niej wpisz \1^s

9. Kliknij przycisk Zamień wszystko, a następnie na karcie Deweloper kliknij przycisk Zatrzymaj rejestrowanie.

10. Gotowe! Od tej pory możesz w dowolnym tekście przenieść wiszące spójniki do nowej linii w następujący sposób:

a) wciśnij Alt+F8,

b) z listy wybierz makro, np. WiszaceSpojniki,

c) kliknij przycisk Uruchom. i już!

wtorek, 11 listopada 2014

System TL+ 7.0

System TL+ 7.0

Dzisiaj przedstawię program, bez którego ciężko mi sobie wyobrazić codzienną pracę, i który od wielu lat zajmuje pierwsze miejsce na liście moich ulubionych słowników elektronicznych.

Chodzi o wielokrotnie nagradzany System TL+ wydawany przez polską firmę LexLand z Knurowa. Dlaczego system? – już wyjaśniam, bo na tym polega właśnie największy atut tego oprogramowania. Otóż najważniejszym elementem TL+ jest program zarządzający (interfejs), do którego można sobie „podpiąć” dowolne słowniki elektroniczne z oferty LexLandu (obecnie jest ich dobrze ponad 30). Takie rozwiązanie zapewnia spójny wygląd wszystkich zainstalowanych słowników, pozwala oszczędzić cenne miejsce na pasku zadań i – przede wszystkim – jeszcze cenniejszy czas, bo w poszukiwaniu hasła nie musimy co chwilę przełączać się między oknami: wszystko jest w jednym miejscu, pogrupowane w wygodnych zakładkach. Po kolei jednak…

Zalety

1. Interfejs: czytelny i wygodny, bez zbędnych „wodotrysków”, ale też nie ascetyczny, w miarę przyjemny dla oka (istnieje możliwość dostosowania czcionek i kolorów):



Prostokątami i numerami oznaczyłem istotniejsze elementy interfejsu. Tak więc na pasku zakładek (1) mamy pokazane wszystkie obecnie załadowane słowniki, a właściwie zestawy słowników, bowiem w obrębie tej samej pary językowej możemy scalić różne słowniki, aby tym wygodniej przeglądać hasła. Na dolnym pasku (2) widzimy, z którego słownika pochodzi aktualnie wyświetlane hasło. Przycisk (5) włącza/wyłącza wyświetlanie okna zawsze na wierzchu.

2. Możliwość dodawania haseł: do każdego zestawu możemy samodzielnie dodawać własne hasła – na liście po lewej wyświetlane one będą na zielono (3). Do dodawania, edycji i usuwania haseł służą przyciski (4). Uwaga: na pewno nie chcielibyśmy utracić własnoręcznie wyszukanych i dodanych haseł w razie awarii komputera. Dlatego warto od czasu do czasu wykonać kopię zapasową (Narzędzie > Utwórz kopię zapasową słownika).

3. Możliwość dodawania własnych słowników: dodawanie pojedynczych haseł sprawdza się w sytuacji, gdy na bieżąco je wyszukujemy i od razu wstawiamy. Co jednak, jeżeli mamy już gotowy glosariusz z setkami ekwiwalentów, który chcielibyśmy sobie przeglądać w systemie TL+? W takim przypadku najlepiej zaimportować cały słownik i dodać go do już istniejącego zestawu lub po prostu utworzyć nowy zestaw, który pojawi się jako kolejna zakładka na pasku (1). Przygotowanie takiego glosariusza wymaga niestety trochę pracy, o czym piszę poniżej w wadach.

4. Program działa bez CD: płyty są potrzebne tylko do instalacji. Wielki plus, bo nie ma nic bardziej denerwującego niż żonglowanie płytami, zwłaszcza gdy liczy się czas.

5. Stabilność: nie pamiętam, aby program kiedykolwiek mi się wysypał lub zawiesił. Raz tylko miałem drobny problem po zainstalowaniu aktualizacji francuskiego słownika technicznego, ale jakoś sobie z tym poradziłem bez kontaktowania się z działem pomocy.

6. Producent udostępnia za wersje demonstracyjne oferowanych słowników oraz darmowe słowniki synonimów (polskich, angielskich i niemieckich) – można je pobrać stąd: http://www.lexland.com.pl/download/s_freeware.php 
Ja podzielę się z czytelnikami bloga słownikami synonimów francuskich i hiszpańskich, które można pobrać z mojej strony: http://hapax.com.pl/trad/matusl.php

Wady

Napiszę tu o wadach samego programu, nie o wadach poszczególnych słowników, bo o tych każdy tłumacz na pewno wie, a jeżeli nie – z biegiem czasu na pewno się przekona. I mam tu na myśli wszystkie słowniki, nie tylko te z LexLandu.

1. Wada jak dla mnie jest tylko jedna: dodawanie własnych słowników (patrz pkt 3 powyżej). Autorzy programu zdecydowali się na zestaw oryginalnych znaczników. Na szczęście sensownie opisano je w pliku pomocy, ale mimo to… jednak nie tak to powinno wyglądać – lepszy byłby jakiś prosty XML. To jedna rzecz, a druga – dalej w tym samym punkcie, bo dotyczy tej samej kwestii – program nie za bardzo radzi sobie z obsługą kodowania UTF, co w przypadku słownika jest dość uciążliwe. Dlatego jeżeli dobrze nie zakodujemy (znów przy pomocy tych oryginalnych znaczników) swojego glosariusza, możemy potem zobaczyć na liście haseł lub w oknie głównym odwrócone znaki zapytania itp. „krzaki”.

Postaram się w najbliższym czasie przedstawić jakiś prosty sposób na konwersję własnych glosariuszy do formatu TL+.

Ceny

Cena pojedynczego słownika waha się od ok. 120,00 PLN do ok. 250,00 PLN. Niektóre można kupić taniej w pakietach.

Alternatywy

Może – i tylko w pewnym stopniu – darmowy Everest Dictionary. Ale on nie ma w zestawie żadnego polskiego słownika. Czy ktoś ma jakieś lepsze propozycje?

Post Scriptum

Obecnie autorzy pracują nad kolejną wersją systemu. Trzymamy kciuki i mamy nadzieję, że nie poprawią dobrego na gorsze.

sobota, 1 listopada 2014

Cześć! – ¡Hola! – Salut!

Witam na moim nowo założonym blogu. Już niedługo znajdziesz tu różne przydatne (taką mam przynajmniej nadzieję) informacje i ciekawostki związane z tłumaczeniem i pokrewną tematyką. Na ile to możliwe chciałbym w miarę regularnie zamieszczać tu krótkie i rzeczowe recenzje wartych uwagi programów i książek, opisy rozwiązywania często pojawiających się problemów i od czasu do czasu jakieś przemyślenia lub uwagi. Co z tych planów wyjdzie, zobaczymy.

Na dobry początek kilka słów o mnie. Nazywam się Kamil Sobczak, z wykształcenia jestem filologiem, zawodowo tłumaczeniem zajmuję się od 2005 roku, a od 2008 r. jest to moje główne źródło utrzymania. Tłumaczę przede wszystkim teksty techniczne w parze hiszpański-polski oraz francuski-polski i w tym czuję się zdecydowanie najlepiej. Moje ulubione tematy to szeroko pojęte budownictwo, maszyny i transport. Oprócz tłumaczeń czasami zajmuję się również składem i przygotowaniem do druku książek, choć obecnie jest to raczej moje hobby niż prawdziwa praca. Poza tym lubię matematykę i programowanie (w JavaScript, PHP i in.), co nadzwyczaj często okazuje się przydatne w codziennej pracy i pozwala łatwo rozwiązać na pozór trudne problemy i oszczędzić wiele godzin bezsensownego klikania.

Jeżeli już nie muszę siedzieć przed ekranem, spędzam czas z moją drugą połową i kotem, czytam książki, zachwycam się Krajem Basków a ostatnio również Italią i wszystkim tym, co wydała na świat.

Allora, ciao e a presto!