Wolfenstein 3D on iPhone

Wolfenstein 3D ClassicMother of all FPS shooters, legendary Wolfenstein-3D has got a brand new incarnation. It is available on App Store, for mere five bucks. However, what’s interesting, one can spare $4.99 and build his own binary, thanks to available source code. In addition, John Carmack tells the story of porting - worth reading indeed.

It’s been over 16 years since publishing, but it still an interesting piece of code. In those days, developers needed to cope with hardware limits, processor speeds measured in megahertz and no fancy 3D acceleration. Not even linear access to frame buffer. Mobile programming resembles this good old days. Until we get new, much sophisticated, capable machines on our palms.


Leave a comment

Logitech harmony software shows black screen on OS X

Some users may encounter black screen when trying to run Logitech Harmony setup software on OS X. I was one too. After quick googling I found out that cause of problem is called Java. It appears that Harmony software doesn’t like 64-bit Java Virtual Machine too much.

There are two ways to work this around:

method one: quick and easy: open Java Preferences and drag 32-bit version of JVM to be first in order.

method two involves a little hacking: 

Open Console and type:

sudo mcedit /Applications/Logitech\ Harmony\ Remote\ Software.app/Contents/Info.plist
You will be asked for your password to authorize. Enter it.

Find the following piece of XML:

<key>JVMVersion</key>
<string>1.4+</string>

and in second row replace plus sign with asterisk: 

<string>1.4*</string>

This tells to system to run this application using newest 1.4 version of JVM available. As there is no 64-bit version of Java for Mac, we’ll be sure that Harmony will always run.

As you see, the hack is really simple and allows to leave 64-bit Java 6.0 as default.
5 Comments

Home, End i inni po “Windowsowemu”

Oczywiście można się przyzwyczaić do nieco innego rozumienia zastosowania klawiszy Home, End, Page Up i Page Down w OS X. Nawet jest to wykonalne, kiedy przyjdzie pracować na obu platformach, jak przykładowo mnie, gdzie w pracy są okna, a w domu jabłka - zauważyłem już, że gdy wyczuwam pod palcami klawiaturę applowską, czuję, że alt do polskich literek nie jest tuż obok spacji, tylko klawisz dalej.

Ostatecznie jednak wygoda górą, i postanowiłem przywrócić klawiszom o których wspomniałem na początku ich windziane funkcje. Te różnice mogłbyby służyć wywołaniu niezłego flejma na pl.comp.os.advocacy, ale odłóżmy ideologię na bok. Komputer w końcu jest osobisty, więc chcę by mi się wygodnie pracowało. Nie protestowałem przed nową polską klawiaturą programisty w Leopardzie, to może coś zrobić z Home i End?

Na ratunek jak zwykle przyszedł wujek Google. Świetny artykuł Llewa Masona opisuje możliwości modyfikacji systemowych skrótów klawiszowych. Zadanie jest wręcz trywialne, w moim przypadku wystarczy stworzyć taki oto pliczek:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
{
"\UF729" = "moveToBeginningOfLine:";
"^\UF729" = "moveToBeginningOfDocument:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";
"^$\UF729" = "moveToBeginningOfDocumentAndModifySelection:";
"\UF72B" = "moveToEndOfLine:";
"^\UF72B" = "moveToEndOfDocument:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";
"~\UF72C" = "scrollPageUp:";
"~\UF72D" = "scrollPageDown:";
"\UF72C" = "pageUp:";
"\UF72D" = "pageDown:";
}

i zapisać go w swoim katalogu domowym pod nazwą Library/KeyBindings/DefaultKeyBinding.dict, następnie się wylogować i zalogować ponownie. Restart nie jest potrzebny. Voila! I od tej pory Home skacze na początek edytowanej linii, End… na koniec, a PageUp i PageDown przenoszą również kursor o stronę w dół. Stare zachowanie tych klawiszy (przewinięcie samego widoku strony) jest dostępne w połączeniu z altem.

 

Leave a comment

Nowe MacBooki - kij i marchewka

Stare powiedzenie mówi, że lepsze jest wrogiem dobrego i tak się sprawa ma, przynajmniej częściowo w przypadku nowych MacBooków. Wytrzymała aluminiowa obudowa, dużo lepsza karta graficzna i podświetlana klawiatura w najdroższym wariancie - niebezpiecznie zbliżała konsumenckiego notebooka do linii profesjonalnej. Istniała groźba, że jakiś tzw. kreatywny profesjonalista - muzyk, filmowiec, fotograf postanowi zaoszczędzić kilkaset dolarów nie kupując MacBooka Pro, skoro to prawie to samo: mniejszy ekran, a wydajność grafiki dla nich jest mniej istotna. Tych spryciarzy Apple przechytrzyło - zabrało z tańszych notebooków port FireWire, nieistotny dla wielu “szaraków”. A skoro ktoś ma pieniądze na wideokamerę (podłączaną przez FireWire), profesjonalną kartę audio (podłączaną przez FireWire), skaner, czy chociażby szybki dysk zewnętrzny - może wysupłać 2 tysiące dolarów na Pro.

Leave a comment

NDA ostatecznie padło

Apple udało się ostatecznie znaleźć rozum i podjęło decyzję o uchyleniu umowy poufności na SDK do iPhone. Twórcy oprogramowania odetchną z ulgą, gdyż w końcu będzie można swobodnie rozmawiać o programowaniu iPhone OS. Drugim istotnym aspektem jest możliwość publikowania kodu źródłowego własnych programów i bibliotek - coś co dzisiaj jest normą i katalizatorem rozwoju oprogramowania.

Jedną z przykładowych ofiar NDA była znana szczególnie wśród programistów gier, biblioteka SDL. W tegorocznej edycji Google Summer of Code, niezależny twórca Holmes Futrell podjął się próby przeniesienia tej biblioteki na Platformę iPhone. Dzieła dokonał, po czym… kod zachował dla siebie, gdyż nie mógł go upublicznić.

Wreszcie! 

1 Comment

Chrome, bynajmniej nie Chromolę

Zabłyszczało chromem na firnamencie przeglądarek. Przeglądarka Google’a opiera się na bliskim mi sercu silniku WebKit, ale w tej chwili wersji na Mac OS X nie ma. Potentat ma ambicję ugryźć kawałek przeglądarkowego tortu, i trzeba przyznać, że nie jest to takie nierealne. Chociaż Chrome spadło nam nagle z nieba, premiera sprawia wrażenie dobrze przygotowanej - komiksy, filmiki. Słyszałem plotki o tym, że pracownicy krakowskiego oddziału Google pracują nad ściśle tajnym projektem przeglądarki. Nie wywoływało to większych emocji, bo patrząc na dotychczasowy dorobek giganta, wyprodukowanie własnej przeglądarki specjalnie nie dziwi.

Chrome jest szybki, na razie jest to wczesna beta, być może będzie jeszcze lepiej. Do przeglądania onetu czy gazety pe el nadal będę używał tego co zwykle, z  powodu czysto prozaicznego - brak wtyczki blokującej reklamy. I w Safari i w Firefoksie mam zainstalowane na tyle skuteczne dodatki, że prawie zapomniałem o nachalności reklam na naszych głównych portalach. :-)

Chrome pokaże jednak lwi pazur w serwisach nowej generacji - tych gdzie chwilami jest więcej AJAXa niż HTML, webdwazero i aplikacjach uruchamianych w przeglądarce. Zanim jednak przeniesiemy się z edytorami tekstu, arkuszami i albumami zdjęciowymi do Google, warto przeczytać uważnie umowę licencyjną.

Leave a comment

Metafizyka?

I jak tu tłumaczyć wszystko zbiegami okoliczności? Przed minutą zatwierdziłem post “Wolałbym nie zapeszyć“, i dosłownie w tej chwili dotarł wesoły mail od Apple.

Niniejszym zostałem uczestnikiem iPhone Developer Program.

:-)

4 Comments

Wolałbym nie zapeszyć…

… ale opłata za iPhone Developer Program już została pobrana. Czekam na certyfikat… :-)

1 Comment

Aplikacje SDK bez App Store

Przetarty został szlak do umieszczania na urządzeniach aplikacji stworzonych przy pomocy oficjalnego SDK na odblokowanych urządzeniach. Samo odblokowanie (za pomocą Pwnage) likwiduje sprawdzanie podpisu programu, ale w binarium pozostaje pewna ilość sum kontrolnych sprawdzanych przez jądro systemu. 

Wystarczy jednak samodzielnie podpisać aplikację (wygenerowanym przez siebie certyfikatem), procedura jest opisana na głównym ekranie Cydii w urządzeniu.

Ułatwi to znakomicie tworzenie nieoficjalnych programów na iPhone, gdyż już nie będzie trzeba męczyć się z ręcznie instalowanym toolchainem, tylko korzystać z wygodnego środowiska Xcode. Warto jednak pamiętać, że oznacza to złamanie niezliczonej ilości paragrafów umowy zawartej przy ściąganiu iPhone SDK - takiej ilości, że legaliści nawet nie powinni czytać tego postu :-)

Leave a comment

Zrzut ekranu w iPhone 2.0

Zrobienie zrzutu ekranu w iPhonie (iPodzie) z oprogramowaniem 2.0 jest, jak się okazuje, bardzo proste. Wystarczy wcisnąć i przytrzymać przycisk “home”, równocześnie przyciskając przycisk włączania. Ekran błyśnie na biało (a jakże!), a w aplikacji “Zdjęcia” pojawi się obrazek ze zrzutem ekranu.

Leave a comment