Archive

Uncategorized

Can I run swift compiler in Linux?

Yup! Apple only distributes builds for 64-bit Ubuntu, on other distros you’d have to compile it on your own.

Short installation instructions:

1. sudo apt-get install clang libicu-dev

2. Download binaries from here: 
https://swift.org/download/#linux

3. Extract them (tar xzf swift-…tar.gz)

4. Add <extracted directory>/usr/bin to path environment:
export PATH=/path/to/usr/bin:"${PATH}”
preferably append this to your shell configuration file 
(.zshrc in my case)

5. Try running ‘swift’ command to verify your installation

Full installation instructions provided by Apple (ignore key validation steps, they’re not required):

https://swift.org/download/#linux

If you’re running a Linux Virtual Machine from Mac, I strongly recommend using Parallels Desktop over free alternatives (has 14-day trial). After installing Parallels additions I got 2D and 3D hardware acceleration and smooth user experience, which I never got on VirtualBox.

How do I use it?

swiftc is a compiler (run swiftc —help), but in the beginning you’ll find swift REPL much more useful (just run: swift). It allows you to run swift code using interactive mode (scripting language style). Works fairly well, I do recommend it.

Can I run all this on Windows?

Not right now, currently it only builds on Linux. You can install Ubuntu 64-bit virtual machine and go from there.

What IDE should I use?

That’s a tough one! The only IDE that supports Swift (and doesn’t suck) is CLion from JetBrains. Yes, it’s proprietary (you get a free trial), but it’s pretty much your only choice (if you don’t feel like going back to 80-ties and coding in your text editor).

Currently stable release doesn’t support Swift plugin, you need to install (potentially unstable) Early Access Program version from here:

https://confluence.jetbrains.com/display/CLION/Early+Access+Program

There’s also a Swift plugin download link on the page above, grab that one too. Then follow official configuration instructions:

https://blog.jetbrains.com/clion/2015/12/swift-plugin-for-clion/

Don’t make a mistake of skimming through them, they’re crucial. Pay attention to the CMakeLists file, you’ll have to configure yours too (add_swift live template helps in getting that chore done).

On the bottom of the article there’s a YouTube video presenting how properly configured IDE should behave and look like:

That’s as good as it gets with Swift on non-Apple OS.

In my case I experienced some EAP build crashes and the whole IDE worked much, much slower than it’s Mac OS version. At this point I gave up and just run the same version of CLion on my OS X natively.

If you have trouble configuring your CMake file in CLion, type add_swift in there, it’ll expand to a full template. After you do that, you should be able to create, compile and debug some Swift files. Enjoy!

Can I build iPhone apps on Linux? Pretty please?

Nope, you can’t. Swift is open source, as is it’s standard library, but Cocoa framework is not. You’ll never be able to write apps for iOS on Linux/Windows using Apple’s technologies. Deal with it. And you wouldn’t really want to: on Mac even if you’re normally using AppCode, you still revert to XCode from time to time. Like it or not, as an iOS developer you always depend on XCode to some extent.

Soo… is Swift programming on Linux a viable choice?

I would say it is, but only for learning purposes, not for writing anything useful. If you want to just play with the language, see for yourself what the hype is all about and how coding in Swift feels like, by all means, dive in swift REPL. It’s a tremendous help in learning the language and it runs perfectly fine on linux.

However if you want to write a more serious project in swift (not just play with some code samples from a book) just get a Mac. Your life it’s going to be so much easier, I promise. The tools that we have on OS X (Xcode, Code Runner, AppCode) are miles better and everything just works seamlessly. Plus you actually can write iOS apps, which will never be the case on Linux.

Kilka tygodni temu pisalem o idei 7-mio dniowych prob. Wspomnialem rowniez, ze chce od razu wdrozyc pomysl w zycie. Planowalem przez 7 kolejnych dni pisac i umieszczac nowe notki na blogu. Priorytetem bylo regularne publikowanie, nawet gdyby mialo odbic sie negatywnie na jakosci.

Niniejszy tekst jest krotkim podsumowaniem tego doswiadczenia.

Poczatkowo szlo mi niezle. Przez pierwsze kilka dni, udalo mi sie realizowac zalozenia. Terminowo opublikowalem dwie notki, trzecia (znacznie dluzsza), pojawila sie z jednodniowym opoznieniem. Jednak od tamtej pory, na blogu nie pojawil sie zaden post. Oznacza to, ze nie udalo mi sie zrealizowac zalozonego celu. Z planowanych siedmiu notek, ukazaly sie zaledwie trzy.

Oczywiscie – mozna szukac usprawiedliwienia. W dniach, kiedy nie udalo mi sie trzymac planu, bylem na tyle zajety, ze poswiecenie godziny czasu na blogowanie, bylo duzym problemem. Jednak pod koniec tygodnia, opanowalo mnie zwykle lenistwo. W ten sposob krotka – zaledwie 7-mio dniowa – proba, zakonczyla sie fiaskiem.

Ale czy na pewno?

Pewne porazki sa mimo wszystko lepsze niz inne. Czasem cos, co postrzegamy jako niepowodzenie, jest w rzeczywistosci krokiem naprzod. Tak wlasnie jest i w tym przypadku.

To prawda, ze nie osiagnalem zalozonego celu. Podjalem jednak pewne dzialania – udalo sie opublikowac trzy notki. Z jednej strony – nie jest to nawet polowa zalozonej liczby. Z drugiej – to az trzy notki w ciagu jednego miesiaca. Przez caly zeszly rok, opublikowalem zaledwie dwie! Tak wiec, pomimo „porazki”, w ciagu kilku dni, osiagnalem w sferze blogowania wiecej, niz przez caly poprzedni rok!

Pomimo, ze nie skupialem sie szczegolnie na jakosci tych kilku ostatnich notek, efekt koncowy okazal sie byc co najmniej zadowalajacy. Do tej pory pisalem raczej dla siebie – nie staralem sie wybierac tematow, ktore moglyby przyciagnac szersze grono czytelnikow. Tymczasem notka na temat pracy zdalnej, wzbudzila pewne zainteresowanie. Zyskala kilka retweetow, share’ow oraz wiadomosci na twitterze. Ponadto wczesniejszy wpis (na temat stalych statycznych w Objective-C), byl stricte techniczny. To dobra odmiana, od dawna nie umieszczalem tutaj tego typu informacji – porad dotyczacych jezykow i technik programowania, nie umieszczalem w ogole.

Tak wiec udalo sie osiagnac pozytywne efekty, pomimo ze poczatkowe zalozenia, nie zostaly spelnione. Dlatego wlasnie o efekcie koncowym mozna mowic zarowno w kategoriach porazki, jak i sukcesu.

W zyciu – niezaleznie od dziedziny – czesto jest bardzo podobnie. Nawet jesli nie uda nam sie osiagnac zalozonego celu, jesli osiagniemy „porazke”, czesto samo doswiadczenie uczy nas i wzbogaca.

Czas na kolejna 7-mio dniowa probe :)

Na zeszłorocznej Confiturze, prelegent Pawel Wrzesz zapytał słuchaczy, ile osób chciałoby pracować zdalnie, zamiast codziennie przychodzić do biura. Troche zaskoczyło mnie, jak wiele osób podniosło w odpowiedzi reke. W przeszłości pracowałem zarówno zdalnie, jak i na miejscu w firmie. I wiem, ze rzeczywistość moze nieco roznić sie od wyobrazeń.

Z pewnością praca w tym modelu nie jest dla wszystkich. Wiele osób przypuszcza, ze gdyby zostali w domu, nie byliby w stanie samemu zmotywować się do pracy przez 8 godzin dziennie.

Niektórym praca zdalna kojarzy się z kolei z obijaniem się i graniem na XBoxie, zamiast wysiłku i programowania.

Wielu ceniłoby sobie brak konieczności dojazdów do pracy – dla nich byłaby to znaczna oszczędność czasu.

Jeszcze inna grupa osób widzi korzyść w odcięciu się od wspołpracowników i możliwości pracy w środowisku ze znacznie mniejsza liczbą rzeczy, które nas rozpraszają.

W kazdej z tych opinii jest cześć prawdy, jednak żadna nie daje pełnego obrazu.

Moim zdaniem praca zdalna nie jest ani lepsza, ani gorsza od pracy z biura. Jest to po prostu alternatywa, inny model, z którym wiążą się nieco odmienne wyzwania i możliwosci.

Zalety pracy zdalnej

1. Brak sztywnych godzin pracy

To często bardzo duża zaleta – daje możliwość załatwienia czegoś w urzędzie albo wizyty u dentysty, bez konieczności korzystania z dnia urlopu. Z drugiej strony nie ma nic za darmo: „brakujące” godziny trzeba odpracować. Zazwyczaj można to jednak zrobić w porze, która będzie dla nas bardziej odpowiednia. Jeśli któregoś dnia wolimy wyspać się dłużej niż zwykle, ale za to wieczór spędzić na programowaniu, przeważnie nic nie stoi na przeszkodzie.

Nie zawsze jednak godziny pracy są tak swobodne. Często komunikacja w firmie odbywa się w dużej mierze w sposób synchroniczny i programista ma obowiązek stawić się (wirtualnie) o określonej godzinie na „daily standup” albo inne spotkanie. Wszystko zależy od pracodawcy oraz konkretnego projektu.

Dla mnie dużą zaletą nienormowanych godzin pracy jest możliwość drzemki w środku dnia :) Półgodzinny sen około 13-stej ma zbawienny wpływ na moją produktywność i motywacje do działania. Pozwala zrelaksować się i skutecznie zwalczyć poobiednią senność.

2. Możliwość pracy dla firmy z innego kraju (bez przeprowadzki)

Z punktu widzenia firmy, praca zdalna stwarza możliwości współpracy ze specjalistami, którzy nie są dostępni na lokalnym rynku. Wiążą się z tym dodatkowe komplikacje (różnice w strefach czasowych!!!), ale moim zdaniem korzyści przeważają niedogodności.

Ponadto pracownik z innego kraju jest często znacznie tańszy – firma płaci za niego mniej, niż za lokalnego programistę o porównywalnych kwalifikacjach i umiejętnościach, a jednocześnie osoba zarabia więcej, niż dostałaby w swoim miejscu zamieszkania. Często o rząd wielkości więcej. Win-win.

3. Lepsze warunki pracy – sprzęt

Ten punkt zależy od warunków, jakie mamy w domu. W moim przypadku – w pokoju mam bardzo dobre wyposażenie. Miedzy innymi duży, zewnętrzny monitor, bardzo dobre krzesło biurowe, zewnętrzne głośniki, klawiaturę mechaniczną, dużą przestrzeń pracy, itd.

Wydaje się, że nie są to jakieś wspaniale warunki, jednak do tej pory nie miałem takich w żadnej z firm, z którymi współpracowałem. Dwa monitory nie wszędzie są norma, o klawiaturze mechanicznej często nie ma co marzyć. A krzesło? Dla mnie to największy problem.

Najtańsze krzesła biurowe, które nie są cichym zabójcą kręgosłupa, kosztują po 650 zł (Grospol Futura 3). Bardziej zaawansowane modele potrafią kosztować do kilku tysięcy (bardzo popularne są modele w przedziale cenowym 1300 – 1700 zł).

Z punktu widzenia firmy, takie wyposażenie dla każdego pracownika, to zbędny, zbyt duży wydatek. W efekcie często dostajemy krzesła biurowe za 200 zł, które nadają się tylko na śmietnik.

Cześć osób z pewnością nie zgodzi się z tym stwierdzeniem, uzna ze ich rozpadające się krzesło jest wystarczająco dobre. Ciekawe tylko, co ich kręgosłup odpowie na to za kilka lat. Ja spędzam na fotelu biurowym około 10-12 godzin dziennie. Dla mnie to niesamowicie istotna sprawa.

Niektóre firmy maja również problemy z jakością sprzętu elektronicznego – zapewniają pracownikowi maszynę, która nadaje się jedynie do przeglądania internetu. Zbyt dużo czasu zmarnowałem (prywatnie) na tego typu sprzęcie. To jest pozorna oszczędność – pieniądze przeznaczone na rozsądnej jakości komputer, zwrócą się szybko poprzez zwiększoną produktywność. IDE crashujace się co pól godziny z powodu braku pamięci (i podobne problemy) tylko odciągają nas od pracy i wybijają z rytmu. Strata czasu i nerwów.

W domu przeważnie mamy jednak dobry sprzęt. Jako programiści, dbamy o to, żeby nasze maszyny były w miarę nowe. Nie jest tu konieczna przesada – laptop za 10 tysięcy to prawdopodobnie zbędny wydatek (ale i tak rozsądniejszy niż sprzęt za 1500 zł, którego zakupu będziemy żałować każdego kolejnego dnia). Nie ma powodu popadać w skrajności, w miarę nowy komputer ze średniej półki powinien wystarczyć do większości zastosowań (koniecznie z dyskiem SSD!!).

Z drugiej strony laptop często nie jest jedynym narzędziem pracy. Możemy dodatkowo potrzebować dostępu do urządzeń, które znajdują się w biurze. W moim przypadku (mobile developer) takie sytuacje zdarzają się jednak niezwykle rzadko.

4. Lepsze warunki pracy – mniej rozproszeń (= większa produktywność)

Z tym bywa roznie. Jesli ktos ma w domu male dziecko, to z pewnoscia bedzie mu trudno skupic sie na pracy. Jednak najczesciej pozostali domownicy spedzaja wiekszosc dnia w pracy/szkole i mieszkanie jest puste. Pozwala bez przeszkod skupic sie na pracy.

Tymczasem w biurze czesto przeszkadzaja nam rozmowy innych pracownikow, szum i halas, spowodowany siedzeniem w open space. Po prostu trudniej sie skupic, jesli siedzimy w pokoju razem z 10-cioma innymi osobami, z ktorych trzy sa akurat na callu, dwie inne pair-programuja, a kolejne trzy po prostu ze soba rozmawiaja. W domu przewaznie tego typu rozpraszacze nie wystepuja (sa za to inne).

Wady pracy zdalnej

1. Utrudniona komunikacja

Przebywajac fizycznie w jednym pomieszczeniu z innymi osobami z tego samego projektu, komunikacja jest latwa. Wiemy, kogo o co zapytac, znamy wspolpracownikow osobiscie. Wiemy, jak wygladaja i jak sie zachowuja. Podczas rozmowy z nimi, odbieramy zarowno bodzce werbalne, jak i niewerbalne. Rozpoczecie rozmowy jest szybkie i proste.

W przypadku pracy zdalnej, tracimy te atuty. Rozmowa z inna osoba odbywa sie przez telefon/sluchawki. Nie widzimy drugiej osoby. Trudno nam sie z nia porozumiec. Nie mozemy omowic pewnych spraw i problemow przy tablicy, z markerem w reku. W dodatku czesto slabo znamy osobe, z ktora chcemy sie porozumiec (albo nie znamy jej w ogole). Nie wiemy, co mysli i czego od niej oczekiwac.

Wydaje sie, ze komunikacja nie powinna byc duzym problemem. Mamy do dyspozycji nowoczesna technologie, maile, telefony, voip, videokonferencje. A jendak wciaz z osobami, siedzacymi w tym samym pomieszczeniu, pracuje sie po prostu latwiej. Bariera rozpoczecia rozmowy z kims, kto siedzi obok, jest po prostu znacznie mniejsza, a sama rozmowa przebiega znacznie efektywniej.

W moim przypadku problemy komunikacji wiaza sie rowniez z utrudnionym przekazywaniem feedbacku od pracodawcy. Zdarza sie, ze nie jestem pewien, czy wywiazuje sie z oczekiwan przelozonego i czy wykonuje moje zadania w sposob zgodny z jego wizja. Niezaleznie od modelu pracy, staram sie o to dopytywac, jednak w przypadku wspolpracy w tym samym budynku, jest to po prostu latwiejsze.

2. Utrudniona współpraca

Problemy utrudnionej komunikacji staja sie wyraznie widoczne, kiedy probujemy przekazac nasza wiedze innym osobom. Kiedy probujemy pomoc im w wykonywaniu danego zadania. Jesli druga osoba siedzi obok, poza ekranem jej komputera, widzimy rowniez jej reakcje na to, co mowimy. Widzimy, czy wspolpracownik nadaza za naszym tokiem rozumiowania, czy nie ma bladego pojecia o tym, co mowimy.

Kiedy trzeba cos zaprojektowac, mozna podejsc do tablicy, albo wziac kartke papieru i efektywnie rozpatrywac nowe pomysly. W przypadku wspolpracy zdalnej, jest to zdecydowanie utrudnione. Nieprzypadkowo artefakty fazy projektowania oprogramowania rzadko sa outsource’owane, najczesciej w modelu pracy zdalnej odbywa sie faza konstrukcji, w ktorej wymagania (teoretycznie) sa juz wczesniej ustalone.

3. Samotność

Ten problem nie pojawia sie na poczatku, wystepuje dopiero po pewnym czasie. Mozna og odwlec w czasie, poprzez prowadzenie bujnego zycia towarzyskiego poza praca, jednak nie mozna calkowicie sie od niego uwolnic. Po prostu, jesli bedziemy siedzieli codziennie po 8 lub wiecej godzin, pracujac w samotnosci zdalnie, szybko zacznie nam brakowac ludzkiego towarzystwa. Co ciekawe, dotyczy to rowniez introwertykow, ktorzy maja naturalne problemy z nawiazywaniem i pielegnowaniem znajomosci. Po prostu czlowiek jest istota spoleczna i dluzsze przebywanie w samotnosci wplywa negatywnie na samopoczucie. Praca z innymi osobami w tym samym pomieszczeniu jest po prostu ciekawsza.

4. Konieczność zadbania o motywację do pracy

Nie kazdy jest w stanie wstac rano i od razu zabrac sie do pracy. Maile, Facebook i inne rozpraszacze, potrafia pochlonac wieksza czesc dnia. I czlowiek moze zorientowac sie, ze jest godzina 15, a on tak na prawde jeszcze nie zaczal pracowac.

W poczatkach mojej pracy zdalnej, mialem z tym problemy. Trudno bylo mi pracowac przez 8 godzin dziennie, poniewaz po prostu zbyt pozno zaczynalem. Poczatek dnia wypelniony byl prokrastynacja. Jednak zwalczylem ten nawyk – w tej chwili pracujac z domu, od razu po wstaniu z lozka, zabieram sie do pracy (jeszcze przed sniadaniem). W efekcie zdarza sie, ze jeszcze zanim inni dotra do pracy, mam kilka dobrych commitow, wypchnietych do repozytorium. Jest rowniez dodatkowa zaleta takiego podjescia. Z samego rana, inne osoby nie dotarly jeszcze do biura – mozemy wiec pracowac bez obaw, ze przerwie nam telefon od innego wspolpracownika. Po prostu latwiej sie wtedy skupic. W ten sposob, jesli wstane troche wczesniej, przez pierwsze 2 godziny jestem w stanie zrobic wiecej, niz przez kolejne 4, kiedy juz inni wspolpracownicy dotra do biura (pod warunkiem, ze mam jasno okreslone cele, ktore jestem w stanie zrealizowac bez pomocy innych).

Co ciekawe, najlepzsym remedium problem niedostatecznej motywacji do dzialania, zdaje sie byc wlasnie ustalenie stalych godzin pracy. Pozwala to szybko popasc w rutyne, czas potrzebny na ‚rozgrzewke’ i rozpoczecie pracy, zmniejsza sie z kazdym dniem. Mi dodatkowo pomaga fakt, ze w tej chwili mam osobny komputer do pracy oraz osobny prywatny. W laptopie od pracodawcy, nie ma skonfigurowanych zadnych prywatnych kont pocztowych, klienta twittera, itd. Jednak nawet w przypadku pracy z komputera prywatnego, mozna zasymulowac rozlaczne srodowiska, poprzez zalozenie odrebnego konta uzytkownika do zastosowan prywatnych oraz komercyjnych. W ten sposob w trakcie pracy nie bedzie kusic nas sprawdzanie prywatnych wiadomosci.

5. Trudności w trackowaniu czasu oraz rozgraniczeniu czasu pracy od czasu wolnego

Pracujac z domu, musimy pamietac o trackowaniu czasu. Jesli wyjdziemy w srodku dnia na poczte albo do lekarza, ten czas nie wliczas sie do czasu pracy. Na szczescie rozwiazania technologiczne, znakomicie nam w tym pomagaja.

Problem pojawia sie jednak, jesli zaczynamy research na jakis temat. Co jesli zaczniemy przeszukiwac informacje na blogach, czytac artykuly, na ktore nie poswiecilibysmy czasu, gdybysmy siedzieli w pracy? Poczatkowo mialem z tym problem, w tej chwili po prostu w godzinach pracy nie spedzam czasu na przegladanie witryn internetowych, ktorym nie poswiecalbym uwagi, bedac w pracy.

Niemniej jednak pracujac zdalnie, zdarzy sie, ze w srodku dnia pracy, zrobimy sobie dluga przerwe – na spacer, wyprowadzenie psa, czy cokolwiek innego. Jesli przerwa rozciagnie sie w czasie, brakujace godziny trzeba nadrobic. W ten sposob bardzo latwo wydluzyc sobie prace z godziny 9-17 na przyklad do 9-20 z przerwami. Z jednej strony zazwyczaj powoduje to, ze jestesmy bardziej produktywni i wypoczeci, z drugiej – wlasciwie spedzamy caly dzien w pracy, dopiero po 20 jestesmy naprawde wolni.

W przypadku pracy z biura, zazwyczaj po prostu opuscilibysmy budynek po 8 godzinach i nie spedzali czasu na dodatkowe aktywnosci. Po 17 mielibysmy wolne.

Wnioski

Praca zdalna nie jest pozbawiona wad i zalet. Nie mozna jednoznacznie stwierdzic, czy jest lepsza i wygodniejsza, czy gorsza, niz praca w siedzibie firmy. Po prostu wymaga innego podejscia. Nie kazdy projekt moze byc realizowany w modelu pracy zdalnej. Najwazniejszym problemem, ktory stwarza praca na odleglosc, jest utrudniona komunikacja z innymi. Najwiesza zaleta – zdecydowanie zmniejszona liczba rzeczy, ktore moga nas rozpraszac w trakcie pracy. A co za tym idzie – zwiekszona produktywnosc.

Praca wylacznie zdalna, na dluzsza mete wydaje sie byc dosc trudna, Samotnosc, problemy komunikacyjne oraz problemy z motywacja do pracy, predzej czy pozniej dopadna osoby pracujace z domu.

Rozwiazaniem wydaje sie byc praca z domu jedynie okazjonalnie – do kilku dni w tygodniu (1-2 dni w tygodniu to rozsadna liczba). Alternatywnie warto rozwazyc model, w ktorym kazdego dnia pracujemy poczatkowo z domu, a dopiero potem przenosimy sie do pracy. Aktualnie pracuje w ten wlasnie sposob i jest to chyba najlepsze polaczenie.

Installing AutoMapa on this device is a little bit tricky. It’s not enough to just run a graphical installer, it won’t set proper program paths in configuration files. So how to do that manually? How to make AutoMapa work on Mio Moov m410?

It’s not necessary to install custom navi panel (like VisualGPS). You can do that if you like, but there is another method, based on editing a few lines of text in configuration files. I’m going to focus on latter method in this post. Here’s what you got to do:

Step 1) Run AutoMapa installer normally, install the program on your device flash disk.

Step 2) Do not run patching utility to crack AutoMapa, pay for the license! It’s worth it.

Step 3) Configure proper paths in appstartupsec.ini

If you turn on your device after AutoMapa installation, it will run default MapaMap software. We have to explicitly tell the device where to find AutoMapa executable.

Open file Program Files/Navman/appstartupsec.ini from Mio flash disk (using any text editor, standard Windows Notepad will do). It should contain a few lines of text for Windows CE6 startup processes configuration:


AppStartupSec]
TurnOffConsole=TRUE

[Process1]
RelativePath=TRUE
ProcessFile=SmartST_CE.exe
DefaultCmdLine=
BootCmdLine=
StartOnBoot=1
MaxRestarts=3
TreatCloseAsError=TRUE
Major=TRUE
WindowName=SmartST_CE
MaxCloseMessages=10
KeysToForward=0x7A,0xC4
KeysToBoot=

[Process2]
RelativePath=FALSE
ProcessFile=Program Files\Screen Saver\VideoShow.exe
DefaultCmdLine=
BootCmdLine=
StartOnBoot=0
MaxRestarts=0
TreatCloseAsError=FALSE
Major=FALSE
WindowName=VideoShow
MaxCloseMessages=10
KeysToForward=0x7A,0xC4
KeysToBoot=

Now change the highlighted line:

ProcessFile=SmartST_CE.exe

to:

ProcesFile=<path to executable>

In my case it was:

ProcessFile=AutoMapa EU/AutoMapa EU.exe

but for you it might be different, depeneding on AutoMapa version and selected installation options.

If you want to use custom Navi panel (like VisualGPS, this line should contain your panel’s executable path instead).

Step 4) Configure PowerButton.exe

Great, now when you turn on the device, AutoMapa starts automatically. But when you turn off Mio Moov, you’ll find out that te ‚power’ button stopped working. How to fix that? By running custom process PowerButton.exe (in addition to navigation software). This little utility would handle system event for pushing the power button and and trigger Windows CE shutdown.

Download PowerButton.zip, unzip it, and place both PowerButton.exe and PowerButton.ini in any directory on the device (you can place them on root or anywhere you feel like).

Now we have the utility, but we still got to tell the system, that it needs to run it.

Open appstartupsec.ini once again and add following lines at the end of file:

[Process3]
RelativePath=FALSE
ProcessFile=Program Files/PowerButton.exe
DefaultCmdLine=
BootCmdLine=
StartOnBoot=1
MaxRestarts=0
TreatCloseAsError=FALSE
Major=FALSE
WindowName=VideoShow
MaxCloseMessages=10
KeysToForward=0x7A,0xC4
KeysToBoot=

Change the highlighted line:

ProcessFile=Program Files/PowerButton.exe

to correct path to your PowerButton files.

step 5) Drive safely!

That’s it! Everything should work now :)

Mio Moov M410 running AutoMapa

Co prawda z biegiem czasu moje horyzonty i obszary zainteresowań związanych z IT mocno się poszerzyły, ale daję słowo – na przedmiotach z Profesorem Chudym bardzo mocno identyfikowałem się z człowieczkiem ze zdjęcia ;)

Pewne wydarzenie ostatnich dni przypomniało mi o artykule, który napisałem rok temu jako jeden z wymogów zaliczenia przedmiotu na studiach. Ponieważ mogliśmy zaproponować własny temat, postanowiłem napisać coś interesującego i (w miarę) przydatnego. Efekt (10 stron A4 + bibliografia, spis treści, itd.) można obejrzeć tutaj:
Procesy i wątki w systemie Symbian OS. Przydział procesora, zarządzanie, problemy synchronizacji.

Jeśli szukacie informacji o tym, jak szybko zacząć pisać dobre aplikacje wielowątkowe pod Symbiana, zajrzyjcie raczej do dokumentacji. Jeżeli natomiast chcecie poczytać „do poduchy” jakiś krótki, ciekawy art, zapraszam do lektury. Docelową grupą odbiorców są studenci oraz ich młodsi koledzy, którzy nie rozpoczęli jeszcze nauki akademickiej, absolwenci kierunków informatycznych powinni być obeznani z większością opisanych zagadnień. Osoby szczególnie zainteresowane tematem, zachęcam do zapoznania się z książkami wymienionymi w bibliografii (przede wszystkim chodzi o te anglojęzyczne).

W razie dostrzeżenia ewentualnych błędów merytorycznych, zachęcam do kontaktu poprzez system komentarzy lub e-mail.

Zapewne w internecie jest dość sporo artykułów tego typu. Prawdopodobnie istnieją mądrzejsze, piękniejsze i napisane bardziej formalnym językiem. Ale czasem do ludzi bardziej trafia tekst, którego autor nie przebiera w słowach i nie boi się używania wulgaryzmów. Przy okazji poniższy wpis ułatwi zrozumienie, skąd u mnie takie opory przed pójściem na studia magisterskie (aktualnie kończę inżynierskie). Można się nie zgadzać, można szukać kontrargumentów. Ale – powiedzmy sobie szczerze – jeśli idąc na studia informatyczne umieliśmy już dużo (a większość osób nie umiała), to sami mieliśmy identyczne odczucia. I nie próbujcie mi wmówić, że tak nie było.
Zapraszam do lektury:

http://blog.y3ti.pl/2009/12/studia-nie-sa-ci-do-niczego-potrzebne/