Presenting FreeGo, the Go game for Android

cursorBlackWhiteHello World, I’m proudly announcing the release of FreeGo on Google Play, my first Android program:
https://play.google.com/store/apps/details?id=org.qtproject.example.FreeGo

It’s a Go game built with GnuGo and Qt; currently supports off-line playing with humans and AI (any combination), saving and restoring games, user interface settings.

License is GPLv3 and the source code available at https://github.com/alecs1/home/tree/master/qt/qtgo. The project is compilable with minimal setup (have Qt installed) on both Windows and Linux. For an Android apk, the compilation has only been done on Linux, and requires additional setup.

The play store version is free as in beer, and if I get over 100 installs I promise to implement playing over bluetooth  (I’ll probably do it anyway). Bugs and suggestions are well received. Also good feedback on the Google market are welcome.

Screenshot_2015-06-04-18-41-04
Screenshot of FreeGo on a HTC One X.
Anunțuri

400000 de semnături pe ascuns

http://www.petreanu.ro/2014/09/23/toamna-serviciilor/

Aștept parchetul să facă treabă. E o oportunitate genială de a băga la pușcărie niște falsificatori de semnături* din PDS. Dacă nu cumva băieții ăștia au adunat 400 000 semnături pe ascuns 😛

Ăsta e marele secret cunoscut de toată lumea: că partidele, avînd acces la listele electorale permanente, pot să-ți facă rost de 1 milion de semnături fără să trimită un om afară din sediu. Că „ești prost” dacă stai în soare și ploaie să aduni semnături.

*Trilioanele de semnături pentru orice rahat de inițiativă sunt altă aberație a legii românești, dar acum vreau farsori la pușcărie.

Qalculate! Qt4 build

hi128-app-qalculate_kde

A build of the KDE Qalculate GUI is now available with Qt 4/KDE 4.
https://sourceforge.net/p/qalculate/wiki/_discuss/thread/7bfb76df/2f62/attachment/kqalculate_0.9.7.10%2Bnmu1_amd64.deb

The new executable name is kqalculate, the git repository can be browsed here: https://sourceforge.net/p/qalculate/qalculate-kde4/ci/master/tree/

Pieces of code have been taken out to make this compile with Qt4, but it should install and work fine. Bug reports and help with making this a proper Debian package are welcome.

Rezultate Green Primary

http://europeangreens.eu/news/press-release-greens-select-leading-candidates

Verzii europeni au ales candidații pentru funcția de președinte al comisiei europene: Ska Keller și José Bové. Oricine furniza un nr de telefon valid din UE putea vota candidații. În măsura în care nu s-au fraudat alegerile (și am încredere că nu s-au fraudat), procesul este un exercițiu interesant de democrație, orice cetățean european putînd vota cu un minim de efort și 0 cheltuială. Compar acum acest „Green Primary” cu situația săracilor oameni un pic mai spălați și educați care au pus umărul la PMP fără să știe că partidul e rezervat pentru Elena Udrea 😀 Desigur, „Green Primary” a fost și un mic truc de publicitate pentru a screște vizibilitatea ecologiștilor.

Prin ianuarie făceam un rezumat al situației și instituțiilor: https://www.facebook.com/alex.danila.1238/posts/10202177022820690. Jose Bove (1) este un activist cu o „carieră” demnă de ținut minte și era clar că va intra, iar Ska Keller (2) este un europarlamentar german cu niscai activități ecologiste în țară la ea. Personal am votat-o pe Ska Keller pentru că era singura care nu menționa explicit politici anti energie nucleară. Cu ocazia aceasta am aflat și că nu sunt ecologist, cel puțin conform viziunii verzilor europeni, dar despre asta altă dată.

(1)Joseph (José) Bové: https://en.wikipedia.org/wiki/Jos%C3%A9_Bov%C3%A9
(2)Franziska Maria Keller: https://en.wikipedia.org/wiki/Ska_Keller

You won’t believe what I did to my pictures before uploading them online

Bansky_one_nation_under_cctv

Uploaded a bunch of pictures to Facebook, but felt like I had to remove EXIF from them before 😀


#assumes that imagemagick is installed, it contains the "convert" program:

import os, sys
import subprocess

#assumes absolute path
def stripExifInfo(path, extension):
  for fileName in os.listdir(path):
    #print fileName
    absFileName = os.path.join(path, fileName)
    if absFileName.endswith(extension):
      print "Will call " + "convert " + absFileName + " " + "-strip" + " " + absFileName
      subprocess.call(["convert", absFileName, "-strip", absFileName])
      
def renameFiles(path, extension):
  crtNumber = -1
  for fileName in sorted(os.listdir(path)):
    absFileName = os.path.join(path, fileName)
    if absFileName.endswith(extension):
      #use os.rename
      crtNumber += 1
      newFileName = os.path.join(path, str(crtNumber) + "." + extension)
      while(os.path.exists(newFileName)):
	crtNumber += 1
	newFileName = os.join(path, str(crtNumber) + "." + extension)
	pass
      print "Will rename " + absFileName + " to " + newFileName
      os.rename(absFileName, newFileName)
    else:
      #uninterestign extension
      pass

def main():
  crtArg = 0
  while crtArg < len(sys.argv):
    print str(crtArg) + " - " + sys.argv[crtArg]
    crtArg += 1
  if len(sys.argv) < 3:
    sys.exit("Usage: remove-exif-info.py   [-r]\n" +
      "-r - also rename all files touched\n" +
      "ex: python remove-exif-info.py \"/home/user/pictures-for-web\" \"jpg\" -r\n")
      
  path = sys.argv[1]
  extension = sys.argv[2]
  doRename = ""
  if len(sys.argv) > 3:
    doRename = sys.argv[3]
    
  print "\n\nStripping exif info"
  stripExifInfo(path, extension)
  if doRename == "-r":
    print "\n\nAlso renaming all files"
    renameFiles(path, extension)
  pass
      
if __name__ == "__main__":
    main()

Muona și desființarea CNSC

Cum justifică Mona Pivniceru desființarea CNSC:
„Daca aceste contestatii pot fi solutionate de judecatori de cariera ma gandesc ca ar fi mult mai bine decat sa intre in alte proceduri asa-zis jurisdictionale si cu finalitatile care se cunosc.”
Genial, genial, trebuie să iei 5 ani lecții de la Ion Iliescu ca să ajungi la aceste performanțe de limbă de lemn.

http://www.ziare.com/mona-pivniceru/ministrul-justitiei/pivniceru-cnsc-se-desfiinteaza-iar-atributiile-sale-trec-in-domeniul-judiciar-1225422

Despre subiect cu mai multă coerență: http://www.contributors.ro/administratie/desfiintarea-cnsc-de-ce-e-o-ineptie/


Filmulețul este doar pentru amuzament, îmi place accentul doamnei și felul în care se agită și nu e coerentă.

Dottore Impostore Victor Ponta rămîne doctor

Dottore impostore Victor Ponta
Dottore impostore Victor Ponta

Long story short, încă o chichiță, „Comisia de Etica din cadrul Universitatii Bucuresti nu avea competenta legala de a solutiona, de a cerceta si dispune” în cazul doctoraului lui V. Ponta.

Doctoratul lui Ponta a fost salvat prin desființarea unei comisii în timp de delibera, prin schimbări de regulament, iar în final cu un nou șiretlic. Curat murdar.

http://www.hotnews.ro/stiri-esential-14456928-decizia-oficiala-ministerului-educatiei-victor-ponta-nu-plagiat-teza-doctorat.htm

Iar el e pe valul popularității, pentru că nu am reușit să facem oamenii să înțeleagă că plagiatul e o hoție, plagiatorul e hoț. Și chiar de înțeleg că plagiatul e furt, oamenii sunt atît de obișnuiții cu hoții încît oricum nu ajungi la ei cu așa ceva. Lupta împotriva hoției a devenit dintr-un scop nobil un amărît de slogan.

În București cu bicicleta se va circula legal pe asfalt în continuare

bicicletă.med

În București cu bicicleta se va circula legal pe asfalt în continuare

Nu s-a modificat nimic referitor la circulația bicicletelor pe șosea, deci se va circula legal pe asfalt în continuare. La televizor și prin ziare s-a bătut toba, dar s-a bătut prost, pentru că acei oameni de presă probabil nu au probabil nici măcar o idee vagă despre lege 🙂

În București, aproape toate pistele făcute în derîdere au fost declarate ilegale (mulțumită muncii susținute a OPTAR și Poliției Rutiere care s-a comportat corespunzător), deci se va circula _legal_ pe asfalt. Mulțumim Ionuț Ionuț.