Getting Started with Booktype – What is Booktype?

This is a first post in a series of articles about Booktype. Before I start to be all technical and “… and that is how you install new Django app” it would be good to say couple of words about Booktype history.

Booktype is an open source platform to write and publish print and digital books. It was created to run the FLOSS Manuals platform and back then it was just called Booki. FLOSS Manuals is a community of people joined together for their love of writing good quality documentation for FLOSS software. At first the  FLOSS Manuals platform was build on the  TWiki (Wiki in Perl) platform.

Using  TWiki to prototype something was a good choice. We extended it with our own plugins and some external tools. FLOSS Manuals is a collaborative community and we needed to extend TWiki to support the collaborative processes. We had our IRC-Web chat gateway called FM Transmission [post in Croatian], live Table of contents where you could see what other users are doing (view image of it), Remixer for content, Localization plugins to manage book translation, our own Web-based tool for translating content and many other things. It was good enough platform but it felt like a big hack at times. After some thinking and observing some problems in the TWiki community [post in Croatian] we decided to write a new platform –  from scratch.

We wanted to build community around software and we figured out TWiki and Perl were not the best platform for that. Mainly because a lot of our users are people who are more interested in books and less in Perl code. We decided to use Python and Django as our new platform. They both seems to be reasonably easy to master and even newbies could extend their Booktype installations. You want to have blog on the front page? Just install existing Django blog app, change one line in settings file, put couple of tags in templates and you are good to go. Simples! Anyone could do it.

Booktype

When we talk about Booktype we really talk about Booktype and Objavi. Booktype is used for editing and managing books while Objavi is used to produce book formats (as pdf, epub, mobi, …). In this post we will talk only about Booktype (the book editor).

Booktype is all about the collaborative editing of books and as such is not always what people want. It is about building community around your book. Sure, you can use it to write your diary also (and you should!), but the real power is in collaborative work. What does this mean for the architecture?

Like i said, we decided to use Django as web framework mainly because we wanted people to be able to plug Booktype into their existing web sites more easily and extend their installations with many already existing Django apps. I think we made a good choice with it. As database backend we are using PostgreSQL. Sqlite3 is also an option, but it really should be used just for testing and development purposes. We are using Redis in-memory database to store all kind of information web clients are exchanging with Booktype server using Sputnik.

What is Sputnik? Sputnik is a Django application for two-way communication with web clients. When we started there was no other Django project that could help us with this so I decided to do what everyone would normally do. I wrote one abstract API (with channels, subscriptions and etc…) for communication and implemented dummy network layer. It means when the right moments comes this network layer can be replaced with something better without any need to change the rest of the code. There are many good frameworks these days that could be used as network layer (Socket.IO for instance). Why do we have it? Mainly because of the collaborative part of Booktype. When you have 10 people working on one book at the same time you need a way of notifying all of them about the actions others are doing. Like: locking chapters, chat, changes in Table of Contents, creation of new chapters, attachments uploads and etc. Yes, it means your Table of Contents will be changed as soon as someone adds a new chapter to it. This really improves the user experience and stops you from overwriting someone’s changes.

But enough about Booktype history. In my next article I will talk about exciting world of “Booktype projects” and how you can easily install and extend your Booktype installation!

These are the Booktype links  you should probably check:

 

 

 

Javni natječaj oko moje nove domene



Daklem, nabavio sam si domenu “kurv.in” i nemam baš pretjerano puno ideja što da s njom napravim. Jedna od ideja je e-mail adresa “sin@kurv.in” ali tu negdje staje sva moja maštovitost.

Ako netko ima bolju ideju neka ju slobodno pošalje na aerkalov@gmail.com. Bogate nagrade su obećane ali za sad ništa ne garantiram. Nema nikakvih ograničenja i otvoren sam za sve ideje i prijedloge.

Netko ima tajni projekt….


Daklem… Aco ima tajni projekt. Iz ovog drugog drafta logoa se ne da previše zaključiti, ali samo ću reći da se radi o nečemu što sam trebao raditi prije 10 godina dok je još i imalo smisla. Ne sad… sad više nema smisla ali se i dalje isplati probati. Neću sa 60 godina valjda da uzdišem i samom sebi da govorim “ahhh… možda sam ipak trebao.”. Eh da… u ovom kriminalu imam i partnera. On je onaj B u Baco.

Pa sretno nam bilo!

Bio sam Wally Olins


Link na sliku

U dvobroju od Mreže izaći će članak o IBM Informixu. Kako to u tržišnoj ekonomiji biva, tu je i zakupljeni oglasni prostor. E pa… ja sam autor grafičkog rješenja za oglas.

Zabavno je što svi imaju neku potrebu da mi kažu – “Pa i nije tako loše.”. Mislim…. loše je, jako je loše i ja sam toga bio svjestan i prije nego što sam počeo raditi oglas. Izgleda amaterski, izgleda jeftino, daje lošu predodžbu onome tko bude čitao itd….A zašto? Zato što ja nisam grafički dizajner.

Uglavnom, moj kolega kaže da smo na ovo utukli pet čovjek dana. 6 i pol nas je radilo na ovome. Ja sam potrošio dva dana, kolega je potrošio i dio svog vikenda na razradu svojih ideja. Smišljale su svakojake parole i na kraju smo završili sa ovim. Parola nije moja ideja (svoju nisam smislio a od ponuđenih mi je ova bila najbolja) i oblaci nisu moja ideja.

Što smo naučili iz ovoga? Ja osobno ništa. Što su drugi naučili? Najvjerovatnije ništa.

I za kraj popis stvari koje jednako tako NE znam raditi ali bih mogao nabosti:

  • upravljati balonom
  • voziti tenk
  • skladati pjesmu
  • montirati video
  • prepoznati komplementarne boje ili razliku između dva fonta
  • voziti trajekt
  • bacati kladivo
  • trčati maraton

Meni je žao, ali ne smijem više….

Eto… desila mi se zabavna stvar. Dobio sam novi “Pravilnik o radu” u kojem stoji da “ne smijem bez odobrenja Poslodavca , za vrijeme trajanja radnog odnosa za svoj ili tuđi račun, sklapati poslove, niti raditi na poslovima iz djelatnosti koju obavlja Poslodavac”. Djelatnost poslodavca je definirana kao:

  • računalno programiranje
  • savjetovanje u vezi s računalima
  • upravljanje računalnom opremom i sustavima
  • popravak računala i periferne opreme
  • popravak komunikacijske opreme
  • proizvodnja računala i periferne opreme
  • proizvodnja komunikacijske opreme
  • popravak elektroničke i optičke opreme
  • popravak električne opreme
  • kupnja i prodaja robe
  • obavljanje trgovačkog posredovanja na domaćem i inozemnom tržištu

Ako postupim “protivno zabrani” može mi se oduzeti od 10%-50% mjesečne plaće u razdoblju od 1-12 mjeseci ili predati sav zarađeni novac od sklopljenog posla Poslodavcu. Na neku čudnu foru ovo pravilo vrijedi za sve poslove koje sam sklopio unatrag pet godina.

Baš i nisam siguran čime se od gore navedenog točno bavim kod Poslodavca. Brijem da bi to moglo biti “upravljanje računalnim sustavima”. Za sad samo brijem jerbo nisam dobio nikakvu službenu potvrdu. Nisam baš ni siguran što smijem a što ne smijem raditi. Pisanje formula u Excellu je sigurno out. Skupa sa izradom web stranica, prodajom paradajza na placu ili preko ebaya, savjetovanja oko “koji android telefon da si kupim” do “možeš mi booraz promjeniti desktop na kompu”. Odgovor je – neće moći! Ne smijem više. Zato dragi prijatelji, poznanici i slučajni prolaznici….. nemojte me ništa više tražiti za pomoć. Ova trgovina je prisilno zatvorena.

Ono što me najviše tišti u cijeloj priči je što neću biti u stanju nastaviti rad na svojoj novoj igrici “Guzojebac”. Kako stvari za sad stoje, autorska prava na ovu igricu ima moj Poslodavac (pravilnik definira više stvari). Pretpostavljam da bih trebao negdje unutar igrice staviti i logo od Poslodavca. Red je red…. Nećemo protiv zakona.

“Guzojebac” je casual igrica u kojoj mali spermić jurca po rektalnom traktu i pokušava izbjegavati govna. Cilj je probiti se što dublje…


Splash screen od glavnom menija. Bar je ženska guzica u pitanju.


Screenshot iz igrice. 40cm duboko.

Vrati slike Andrija!


Još jedan u nizu Acinih problema sa HTC-om. Naime, prije nekih mjesec dana zalio sam telefon vodom. U biti, plivao je jadni Andrija u vodi neko duže vrijeme. Nakon toga su se počeli pojavljivati problemi sa SD karticom (tipa, prijavi da je nedostupna) i ja sam ih odmah pripisao tog plivačkoj avanturi.

Onda sam odlučio ipak malo proguglati. Vidi vraga… vidi vraga… nema to veze sa vodom. “Issue 13419” iliti slučaj nestalih slika!

Majku im nesposobnu. Uglavnom, svježe napravljene slike se ne vide u galeriji. Za sad mi se ne brišu random slike, kao što su neki korisnici prijavili. Slike se nekad pokažu nakon što se sd kartica nanovo namaunta (po vuku). To traje jedno vrijeme dok ponovo nestanu.

Nisam u životu imao telefon koji mi je bio toliko praktičan, a u isto vrijeme nisam nikad imao telefon koji nije toliko toga mogao obaviti kako spada. Prokleti HTC Desire-Z.

Link:
* http://code.google.com/p/android/issues/detail?id=13419

Flak tornjevi


Ako se zateknete u Berlinu i niste sigurni kako utući par sati, moja preporuka je da odete pogledati Flak tower u Humboldthain-ov park.

Na bespućima interneta sam slučajno pronašao dokumentarac o ekipi iz “Berliner Unterwelten”-a. Naravno, čim sam se našao u Berlinu poželio sam se i ja zavlačiti u podzemna skloništa skrivena duboko ispod površine današnjeg grada. Na svu sreću, skužio sam da bi mi bilo puno bolje pridružiti se nekoj njihovoj turi. Otišao sam na onu koja vodi kroz ostatke jedinog preostalog Flak towera u Berlinu (ima još u Hamburgu i Beču).

Planirali su izgraditi 6 komada u Berlinu, ali su uspjeli zgotoviti samo 3 komada. Ta tri izgrađena su ujedno i prva generacija Flak towera. Služili su za protuzračnu obranu i ujedno su služili kao skloništa za civile i bolnicu. U vojnom smislu su bili čisti promašaj. Zidovi i krov od nekoliko metara armiranog betona bili su previše za savezničke avione. Zbog toga su ih izbjegavali u širokom krugu. Bio je to popriličan fail za Švabe, jerbo nisu imali što za gađati. Da stvar bude još gora, u zamračenom Berlinu bila su samo osvjetljena ta tri tornja koja su savezničkim pilotima služila kao savršen orijentir prilikom noćnih misija. Još jedan od švabskih failova u koji su utučeni ogromni novci. Osim samih topova na vrhu, tornjevi su mogli skloniti oko 10.000 ljudi i bolnicu. Tornjevi nisu bili čisti fail jerbo su bili u stanju osigurati bolnici rad 24/7 (i za vrijeme bombardiranja). Osim toga, zbog izostanka savezničkih bombardera područje oko tornjeva je bilo pošteđeno bombardiranja. Naravno, te zgrade su uspjeli dokrajčiti Rusi na kraju rata, ali to je već neka druga priča.

Na kraju rata je odlučeno da se tornjevi, kao simbol švabskog otpora, sruše. To i nije bio lagan zadatak obzirom o kojim se ogromnim količinama arimiranog betona radi. Rusi su toranj u svom dijelu Berlina srušili iz prve. Dobar dan, dobar dan, *bam*. Britanci su krenuli sa 20 tona TNT-a i fail-ali. Šampanjac se otvorio, nazdravilo se uspjehu dok se pola grada dimilo u prašini prouzrokovanoj eksplozijom. Kad se prašina slegla, skužili su da toranj i dalje stoji. Nakon ovog neuspjelog pokušaja uspjeli su se osramotiti još jedno 2-3 puta dok ga nisu uništili. Na kraju su ga zatrpali. U međuvremenu je neki šaljivdžija uspio napisati “Made in Germany” na njega. Francuski toranj (to je ovaj koji sam ja posjetio) je bio malo na nezgodnoj lokaciji. Ispod njega se nalazila željeznica koja je pripadala Rusima, tako da su trebali biti jako pažljivi na koju će ga stranu rušiti. Oni su ga isto pokušavali bezuspješno srušiti nekoliko puta, dok na kraju nisu ostatak tornja odlučili zatrpati i od njega napraviti umjetno brdo.

Anyhoo, na njihovom websiteu imate detaljne upute kako ih pronaći. Kako su tornjevi zimi nastanjeni šišmišima, tura traje samo od 1.4 do 31.10. Toranj u Humboldthain-ovom parku je maksimalno uništen i od njega je napravljeno umjetno brdo (sa spomenikom i klupicama na vrhu). Zbog toga se ide samo u dva gornja kata. Ako želite ići do dna, morate se prijaviti u ekstremnu grupu koja se dolje spušta uz pomoć alpinističke opremom. U svakom slučaju, bila su to jako lijepo utrošena dva sata. Toplo se obucite jerbo je unutra hladno.

Na slikama su “Flakturm I – Berliner Zoo” i “Flakturm III – Humboldthain”.

Linkovi:
* http://berliner-unterwelten.de/home.1.1.html
* http://www.historvius.com/the-berlin-flak-tower-472/
* http://en.wikipedia.org/wiki/Flak_tower

Ja to zovem Astrid!


Link na video: http://www.youtube.com/watch?v=l6Ua1D5_8FQ

Divan video! Nisam pobornik Appleove restriktivne politike, ali kad vidim ovakve reportaže i kreativne aplikacije dođe mi milo oko srca kad znam da ovakva bedastoća od bajtova nikad ne bi završila na Apple Storeu.

U svakom slučaju, evo rezultata višemjesečnog truda jednog “developera” – https://market.android.com/details?id=com.it4u.edina.simple. Da podsjetimo – “programeri štrikaju code dok developeri imaju tu neku drugu notu koja im omogućuje da u potpunosti izraze svoju kreativnost” (pogledajte video u cjelosti).