The Young Generation's Image

The Young Generation

http://theyougen.blogspot.com/
More about this blog
Latest Post
22 Feb 2010
Total Posts
29
Readers
233
Liked
0
Disliked
0
Views-Per-Post
08.03
vote up
0
vote down

Tuning the Bloom-Filter-based Spelling Corrector

With the candidate iterators and filter in place the Bloom Filter-based spelling corrector can be implemented and the performance measured. The base implementation is here. The basic idea is described in the first blog post about the Bloom Filter-based
 
Thomas Jung
Feb 22 2010 11:08 PM
vote up
0
vote down

Stackoverflow Anthology Project

Stackoverflow is great resource to learn. For both someone asking a question and answering a question. Posing a question let's you reflect on your problem. A lot of the question started are never submitted because the act of posing a question helps
 
Thomas Jung
Feb 21 2010 03:59 PM
vote up
0
vote down

Producing candidates for a spelling corrector

The next step to implement the Bloom Filter-based spelling corrector is to create and check hash values for candidates against the filter without actually creating candidate instances. If the filter step succeeds the candidate String instances are
 
Thomas Jung
tags: scala
Feb 17 2010 12:05 AM
vote up
0
vote down

Implementing hash functions in functional style

The first ability needed to enable filtering with the Bloom Filter-based spell checker is to produce hash values for candidates. The basic functionality is to hash a character given a base hash value from a preceding invocation. The hashFor function
 
Thomas Jung
tags: scala
Feb 08 2010 10:50 PM
vote up
0
vote down

The moment electronic paper died

Perhaps you did not noticed it but last week the electronic paper followed the Maglev and became part of the museum of failed technical innovations. As the Maglev, it started with a brilliant theoretical idea that nobody cared about once it was there.
 
Thomas Jung
Feb 07 2010 05:48 PM
vote up
0
vote down

A faster spelling corrector

The compact spelling corrector implemention showed some of the features of Scala: for expression, higher order functions (fold and map), tuple support and the infix method syntax. The current implementation has terrible performance, so we try to develop
 
Thomas Jung
Feb 02 2010 11:58 PM
vote up
0
vote down

Why overrideable tail recursive methods must not be optimized in Scala

Suppose you define a tail recursive method x in a object A. You can use the @tailrec annotation to mark methods you expect optimization of the tail recursive code to happen. import annotation._ object A{     @tailrec def x(i : Int, s :
 
Thomas Jung
tags: scala
Jan 19 2010 02:41 AM
vote up
0
vote down

Lessons from Stackoverflow: missing education should not stop you from being a good developer

To put this blog into perspective: I've the weakest of all possible computer science degrees you can imagine. It's formally a degree in computer science but half of my curriculum was in communication engineering which is an interesting field (if you want
 
Thomas Jung
Jan 11 2010 06:17 PM
vote up
0
vote down

Lessons from Stackoverflow: missing education should not stop you from being a good developer

To put this blog into perspective: I've the weakest of all possible computer science degrees you can imagine. It's formally a degree in computer science but half of my curriculum was in communication engineering which is an interesting field (if you want
Jan 11 2010 01:02 PM
vote up
0
vote down

Defining the Collection.add contract in Quickcheck for Java

The Collection add method does define a contract that is expressed in javadoc. It states: A collection implementation can throw an exception. The collection will stay unchanged and contains() will return false. The add method return value indicates if
 
Thomas Jung
tags: java
Jan 10 2010 06:16 PM
vote up
0
vote down

Iterable adapter - Ways to define characteristics

The current development version of Quickcheck for Java contains new Iterable adapter. This adapter lets you convert a Generator implementation into an Iterable. This Iteraterable can then be used in Java for loops. This makes definitions of tests much
 
Thomas Jung
tags: java
Jan 10 2010 06:16 PM
vote up
0
vote down

Generators

Generators are at the very heart of Quickcheck. They provide the test data the runner executes characteristics with. DistributionsA distribution is a function that returns values between -1.0 and 1.0. The concrete frequency of values is determined by the
 
Thomas Jung
tags: java
Jan 10 2010 06:16 PM
vote up
0
vote down

Using source code generation to simplify test development with Quickcheck

With Quickcheck version 0.5 it is possible to use generated source code to remove repetitive test code. The first generator tries to remove some redundancy from tests that use only a sample from a generator. For example a common source code pattern is:
 
Thomas Jung
tags: java
Jan 10 2010 06:15 PM
vote up
0
vote down

Support for generator type conversion in Quickcheck

A new utility method is now part of Quickcheck that lets you convert a Generator<A> to a Generator<B> given that A extends B. This is useful when you have a Generator<Integer> and would like to treat it as a generator of type
 
Thomas Jung
tags: java
Jan 10 2010 06:15 PM
vote up
0
vote down

A decent Bloom Filter in Scala

The Bloom Filter is an interesting probabilistic data structure. Its main advantage is that the Bloom Filter drastically reduces the memory consumption. It produces false positives. Which means that it falsely states that a value is contained. On the
 
Thomas Jung
tags: scala
Jan 10 2010 06:15 PM
vote up
0
vote down

Peter Norvig's Spelling Corrector in Scala

This is a Scala version of Peter Norvig's spelling corrector. Reading his essay I realized that Python is quite a nice language and similar to Scala due to the support of for-expressions in both languages. Before that I've seen Python as a strange
 
Thomas Jung
tags: scala
Jan 10 2010 06:14 PM
vote up
0
vote down

Quickcheck 0.5 release

It's done: Quickcheck version 0.5 is ready. Again one of the nice little releases of Quickcheck. The 0.5 release added the following features mainly to provide better readability: Support for an adapter from Generator to Iterable to allow the use of
 
Thomas Jung
tags: java
Jan 10 2010 06:14 PM
vote up
0
vote down

The best Scala IDE: IntelliJ IDEA

After years and years of using Eclipse (after Netbeans, JBuilder, Visual Cafe, Emacs and other spooky Java "editors") IntelliJ IDEA is powerful, convenient and simple to use IDE for Scala development. Oh, yes it's free: IntelliJ IDEA Community edition. I
 
Thomas Jung
tags: scala
Jan 10 2010 06:14 PM
vote up
0
vote down

How to setup a Maven Scala project with IntelliJ IDEA support

Setting up a Maven and Scala project with IDEA is simple. Install IntelliJ IDEA Community Edition and the Scala plugin (File -> Settings -> Plugins -> Available). Generate your maven project using the simple Scala archetype: mvn
 
Thomas Jung
tags: scala
Jan 10 2010 06:13 PM
vote up
0
vote down

How to setup a Maven Scala project with IntelliJ IDEA support

Setting up a Maven and Scala project with IDEA is simple.Install IntelliJ IDEA Community Edition and the Scala plugin (File -> Settings -> Plugins -> Available).Generate your maven project using the simple Scala archetype:mvn
Jan 07 2010 02:04 PM
vote up
0
vote down

The best Scala IDE: IntelliJ IDEA

After years and years of using Eclipse (after Netbeans, JBuilder, Visual Cafe, Emacs and other spooky Java "editors") IntelliJ IDEA is powerful, convenient and simple to use IDE for Scala development. Oh, yes it's free: IntelliJ IDEA Community edition.I
Jan 06 2010 09:47 PM
vote up
0
vote down

Quickcheck 0.5 release

It's done: Quickcheck version 0.5 is ready. Again one of the nice little releases of Quickcheck. The 0.5 release added the following features mainly to provide better readability:Support for an adapter from Generator to Iterable to allow the use of
Jan 03 2010 01:25 AM
vote up
0
vote down

Peter Norvig's Spelling Corrector in Scala

This is a Scala version of Peter Norvig's spelling corrector. Reading his essay I realized that Python is quite a nice language and similar to Scala due to the support of for expressions in both languages. Before that I've seen Python as this strange
Dec 31 2009 05:40 PM
vote up
0
vote down

A decent Bloom Filter in Scala

The Bloom Filter is an interesting probabilistic data structure. Its main advantage is that the Bloom Filter drastically reduces the memory consumption.It produces false positives. Which means that it falsely states that a value is contained. On the
Dec 20 2009 07:42 PM
vote up
0
vote down

Support for generator type conversion in Quickcheck

A new utility method is now part of Quickcheck that lets you convert a Generator<A> to a Generator<B> given that A extends B.This is useful when you have a Generator<Integer> and would like to treat it as a generator of type
Nov 21 2009 12:06 PM
vote up
0
vote down

Using source code generation to simplify test development with Quickcheck

With Quickcheck version 0.5 it is possible to use generated source code to remove repetitive test code.The first generator tries to remove some redundancy from tests that use only a sample from a generator. For example a common source code pattern
Oct 13 2009 11:50 PM
vote up
0
vote down

Generators

Generators are at the very heart of Quickcheck. They provide the test data the runner executes characteristics with.DistributionsA distribution is a function that returns values between -1.0 and 1.0. The concrete frequency of values is determined by the
Jul 02 2009 12:25 PM
vote up
0
vote down

Iterable adapter - Ways to define characteristics

The current development version of Quickcheck for Java contains new Iterable adapter. This adapter lets you convert a Generator implementation into an Iterable. This Iteraterable can then be used in Java for loops. This makes definitions of tests much
Jun 25 2009 07:52 PM
vote up
0
vote down

Defining the Collection.add contract in Quickcheck for Java

The Collection add method does define a contract that is expressed in javadoc.It states:A collection implementation can throw an exception. The collection will stay unchanged and contains() will return false.The add method return value indicates if the
Jun 18 2009 11:06 PM