"The Grid. A digital frontier. I tried to picture clusters of information as they move through the computer. What did they look like? Ships? Motorcycles? Were the circuits like freeways? I kept dreaming of a world I thought I’d never see. And then, one day, I got in." — Tron: Legacy

2015-01-25

Java vs Clojure: Factory pattern

Java 

Shape interface: 

public interface Shape { 
public void draw(); 
} 

2014-07-27

Java vs Clojure: Streams/Reducers

Ostatnio natrafiłem na materiał wideo porównujący kolekcje w językach Java, Scala i z użyciem biblioteki przygotowanej przez developerów firmy Goldman Sachs. Z ciekawości utowrzyłem podobny kod w Clojure by porównać wyniki. I muszę powiedzieć, że są trochę zaskakujące.
W materiale tym porównywana była wydajność kolekcji dla 1 miliona elementów. Postanowiłem utrudnić trochę i dodać 1 zero. Wyniki są podyktowane cechami mojego PC, na innych komputerach będą się różnić, być może znacznie.

Tutaj źródło: http://www.infoq.com/presentations/java-streams-scala-parallel-collections

2014-07-06

Java vs Clojure : Singleton

Luźna definicja: singleton to obiekt, który posiada tylko jedną instancję w aplikacji. Zwykle stosowany jaki kontener dla konfiguracji. Dlaczego jedna instancja? Ano dlatego, by spróbować uniknąć niespójności związanych z tym, że różne obiekty posiadają nieaktualne informacje dot. wartości w nim przechowywanych np. poprzez przekazywanie obiektu konfiguracji przez parametr. Dodatkowy problem stanowią próby aktualizacji wartości Singletona tak, by przy odczycie w innym miejscu programu dostać je spójne, a nie zaktualizowane częściowo.

Pusty Singleton w Java:

public enum MySingleton {
     INSTANCE;
}

W Clojure wartości obiektów można zmieniać tylko w trnsakcji. Najprostszą konstrukcją zapewniającą funkcjonalność Singletona jest atom.

Pusty atom w Clojure:

(def MySingleton (atom nil))

2013-06-23

Konfiguracja Honeywell Dolphin 7800 Android na Ubuntu 12.04

Kolejna ściąga. Jako, że urządzenia nie ma uwzględnionego w SDK Androida, trzeba trochę pogrzebać ręcznie.

2013-05-31

Clojure on Android, quick intro

This time I'll show how to create Android application using Clojure programming language. Clojure is one of the most interesting practical functional languages ​​(in contrast e.g. to Haskell). It's a Lisp, so you can just run it and start hacking. This language makes it easy to play with code and stimulates curiosity.


It's just a very short intro to the configuration and ho to run basic program. For the impatient who want more I recommend a look at the neko library here: https://github.com/alexander-yakushev/neko