• Collaboration Tool

    I’m searching for a tool useful for collaboration. Features: history like git own content and history: git & markdown? external annotation to files. to describe, for example, the wiki language of a file content includes images and pdfs bundles of content based on files start local server/desktop/app for advanced editing edit via freemind fallback to edit copy-paste from/to different sources html from clipboard html source to markdown bookmarklet html page to markdown via css transformations bookmarklets for html pages freemind wiki view/edit source markdown https://stackedit.io/editor browse local files in markdown allow includes micro-languages code syntax highlight tables - see http://www.tablesgenerator.com/markdown_tables... [read more]

  • Contract Types

    Contract Types

    Investigation The most important things covered by a contract are: Liability Warrancy Post Warrancy Mentenance and Support Hotline (24/7+SLA) Assumptions Liability The amount of money paid in case the work is not accepted for various reasons: too late, not delivered, low quality, missing features. It is usually 100%. Some beneficiaries asks for 150%. Usually around 50%-100%. You don’t want to be above 100% since this might be an incentive for the Beneficiary to “help” the Supplier to fail. This can also be transformed in a business model. Warrancy The amount of effort (time and costs) the Supplier will provide for... [read more]

  • Development Big Steps

    Development Big Steps

    Along my carrier I had several epiphanies/break-through insights that advanced my understanding on how information flows: 1. Garbage collector (via java) 2. Dependency injection (via springframework) There is no global state, the objects declare all their dependencies. 3. Immutability & Immutable functional collections (via scala) 4. Function parameters Is not clear from the begging why the functional approach works so good. My first impression was because you get immutability so you get parallelism and removal of race conditions and that you don’t consume memmory. Actually what is important is passing code that know how to get things instead passing things.... [read more]

  • My Development Tools

    My Development Tools

    Development Tools java - 1.7.0_67 - Java SE 7 Update 67 scala - 2.10.4 maven - 3.0.5 - http://maven.apache.org/download.html sbt - 0.13.5 - https://github.com/harrah/xsbt/wiki/Getting-Started-Setup tortoisesvn - http://tortoisesvn.net/downloads.html Eclipse IDE Eclipse base scala scala-ide-3.0.3 (scala 2.10) - http://scala-ide.org/download/sdk.html included git downloadable svn Base plugins quickrex - http://raisercostin.googlecode.com/svn/eclipse-update-site/quickrex/ objectaid - uml directly from sources - http://www.objectaid.net/update/ jadclipse - java decompiler - http://webobjects.mdimension.com/jadclipse/3.6/ topcoder - http://fornwall.net/eclipsecoder/ scalastyle - http://www.scalastyle.org/downloads/kepler-0.6.0/site/ - http://www.scalastyle.org/ Specialized plugins spring ide - http://dist.springsource.com/snapshot/TOOLS/nightly/e3.7 soap ui - to make calls to a webservice - http://www.soapui.org/IDE-Plugins/eclipse-plugin.html apache directory studio - ldap browser - http://directory.apache.org/studio/update/1.x/ m2eclipse - for maven - http://download.eclipse.org/technology/m2e/releases code... [read more]

  • My Mobile Tools

    My Mobile Tools

    Mobile Android Tools Sync Tools CamScanner (com.intsig) - scan from pics free version - paid version high resolution scan upload to dropbox (not needed if use FolderSync) FolderSync (dk.tacit) Backups any mobile folder to remote folder: dropbox or others alternatives com.jrstudio.SyncFolders Dropbox [read more]

  • Scala Enriched Pattern

    Scala Enriched Pattern

    Problem If you have an object A that you want to convert to B. Solution Solution 1 - Define implicits //Given: case class A(value:String) case class B(value:String) def toB1(a:A):B = "B1-"+a.value def toB2(a:A):B = "B2-"+a.value //Reusable class class Enriched[A](op: => A) { /** An object to an input object */ def asRich: A = op } //Enrich them object RichMapper { implicit def toB1(all: A) = new Enriched(toB1) implicit def toB2(all: A) = new Enriched(toB2) } //Use them val a = A("a-value") { import RichMapper.toB1 val b = a.asRich println(b) // B1-a-value } { import RichMapper.toB2 val b = a.asRich... [read more]