Groovy/Grails Recursive Function/Closure

Since I keep waisting time in recursive functions (and forget what I developped a few months back), here is a piece of code for a recursive function in Groovy.

def getAllChildren(entityId) {
                //Container for the results
		def results = []
		//Retrieve your first element from somewhere
		def entity = entityService.getEntity(entityId)
		if (entity) {
			entity.children?.each { child ->
		return results


CoWorking Space in Tirana

Co-working spaces in Tirana, Albania. Cheap rent office, small officess for affordable price

Coworking is a practice which has gained traction in the last years in every corner of the world. From San Francisco to New York, to Barcelona, Amsterdam, Berlin and Tokyo, the young generation is becoming part of an agile working experience. Coworking is a style of work that involves a  shared working environment, often a cool office, and independent activity. The practice is well known among lean startups and freelancers who choose the commodity of an office but still prefer a loose style of work.

It is impossible to find a metropol without at least a few coworking place, and as one might expect Tirana is no different. Just a few days back, was launched as the first coworking space in Tirana. The targeted audience is oriented toward freelancers and IT startup geeks, but other professionists are also invited. The difference from other offices for rent is not only the price, but also the comfort, the focus on a high speed IT infrastructure, the social interactions and still the availability of quiet meeting rooms, relaxing lounges or entertaining corners.

So, after a visit to the, here is a list of benefits in working at a coworking space:

Modern workplaces

When you are passionate about something, you do not really worry about the place you work, but those little successes of us are also defined by the place we spent our time. While you might rent an apartment for your quite coding corner, working in a modern workplace gives a great sense of satisfaction and contempt.

Great location in the center of Tirana

Traffic is a problem!? Transportation? All these worries go away if the location is situated somewhere easily accessible. MyOffice’Al is located in a very strategic location, just a few meters from the Central Train Station, near to the Zogu I Bulevard and with access to the small city ring. It is close to the centre of the city, but also easily accessible being not far from the national highways which connect Tirana to the northern and south-western cities.

No Contract Obligation

Tied up by a contract you don’t need, or paying months in advance in your rental office!? Not a concern with a Co-Working Space. At MyOffice’Al there are no contracts restricting you, you can use the spaces on daily, weekly or monthly bases. Basically, you pay for what you use,  and when you use it.

Cheap Office Rent also for your team

I remembered when I started my first business venture. I was one, and soon we grew into a team of three, but still it was too soon for us to afford 1000m² offices in Tirana. With a coworking space, you can start small and grow gradually. In case of MyOffice’Al, you can have an office for rent for your team, or even share the coworking space and make use of the meeting rooms for sprints and other team collaboration activities. The Meeting room is for free and it is great considering it is equipped with teleconferencing devices.

Bar and Entertainment Room

And it is not all about endless hours of working! We need to enjoy some relaxed moments in between and for this reason there is a Bar and an Entertainment lounge for any member of MyOffice. This is a great chance to engage in conversations with other freelancers and do some networking. The social aspects and the diversity of the people in our life is something we should value the most. It is them who allow us to improve our understandings and experience of a colourful world.

Convenient and flexible prices; various membership plans

And the last, but not least, is the flexibility of the prices! The prices have been designed to be convenient for anyone, from freelancers looking for a temporary office, to the lawyers who need a quiet office where they bring their work. One can chose from a daily ticket, and extend it to a weekly, monthly or even yearly to exploit the best price! Whatever the need, there will be a negotiation to help anyone jump on board.

The forgotten act of donating

Every day we use a set of services and tools which are given to us for free! Some of them are really free, and some of them are some luring marketing technique. We are being used to the idea of free as in I give you my data, you give me your service, but beyond this point, there are some unique services which are completely free! And we are happy for these services, so we should contribute to their existence.

I remember one of my professors who said: I can understand if you pirate a software because you are a teenager and cannot afford it, but if you are working, then pay for the things which make your life easier. We are never to poor to donate, and never to rich to wait for a donation.

If for some reason you managed to get to this post, think for a moment and do a donation 🙂 I would recommend Mozilla for the great job they are doing, and the Debian System.

I am not a fan of Wikipedia considering the way it is administrated, and my love does not go to a system where the ignorance of the many dictates on the truth of the few. for Sale on Flippa

Checking the list of the domain hacks in the Flippa Market Place and could not miss the fact that was listed in the top spot. While the domain hack trends in somehow on decline due to (arbitrary) decisions related to SEO and Google, the value of such domains is still great for unique start ups which are based on viral services.

The .al zone is not unknown to the domain hack word. The zone has more than 14000 English hack words ending in .al and some domains in the zone have hit xx,xxx$ sales with leading the list. While most of the good domains are already registered and no longer on sale, is quite interesting. The enterpreneur world has seen a rise of the term digital in the new ventures, product and startups. A quick check on Google Keyword planner relates the term to more than 5,5 milion searches for this term only in January 2015.

Other terms related to Digital include:

Keyword Avg. Monthly Searches (exact match only)
digital spy 1220000
digital 165000
digital camera 135000
digital marketing 74000
digit 60500
digital photo frame 60500
digital signage 40500
digital radio 40500
digital antenna 33100
digital tv 27100
digital art 27100
digital clock 27100
digital picture frame 27100
digital life 27100
digital media 22200
digital divide 22200
digital cameras 22200
best digital camera 22200
dolby digital 22200
digital piano 22200
digital thermometer 22200
digital printing 18100
digital converter box 18100
digital camera reviews 18100
canon digital camera 18100
digital perm 18100
digital scale 18100
digital watches 18100
digital drugs 14800

And imagine that each of these terms might be a cool domain hack.


and so on.

As mentioned, many companies already include DigitAl in their brand. The domain might be used by one of these companies as a digital marketing domain as well. Some examples:, and many others.

Flippa Review or When to Use Flippa to Sell My Domain

If you ever wondered how you can sell a domain on the internet, there are a few websites which offer a domain market-sale portal. is one of them.
Flippa is a domain/website sale portal. It allows anyone to create a sale listing for a domain and this listing usually runs 30 (max) days as an auctions. Therefore, there are 30 days for any domain to attract the right buyer! As one might imagine, most experienced buyers wait for the last moment to bid on a domain, so Flippa is a nice website to advertise your domain for attention, but not the one to finalize the best of sales. This blog is a reflection on the occassions you may invest to boost a domain sale in Flippa.

Flippa Domain Sale

I am not an expert in domain selling, but I have seen a few beginners going all-in in Flippa and have also done a few mistakes. So this is a reflection on the best approach to sell a domain in Flippa.

First of all, we have to understand Flippa’s advantages and drawbacks. Flippa is a domainer’s playground! This means that the website is daily visited by thousand of domainers in chase for a good domain they can resell for a higher price. Therefore, there are domains which can be sold well (if advertised adequately) and there are domains which will never sell for the value they contain. As we see, I have already categorized the domains in two groups. But, how do we know which domains fits in which catetegory!?
For the sake of this blog post I will address them, “Domains with Potential” and “Valuable Domains”.

Domains with Potential

As vague as this group might seem, think of it as those domains that if you develop, will have a potential in making a profit. But since you are unsure if it is worth the trouble of developing them, then they are just domains with potential. Some examples? Those 2 dictionary .com domains everybody speaks about. Some cool domain hack, which maybe some bold startup would use to create some viral product or your 12 year old inventory of domains which does not attract any click on the parked page. If the definition of this group seems vague, think of it as whatever you own, but does not fit in the next group. Short domains usually fit into this category.

Valuable Domain

Valuable domains are any of those domains that you own and know/envision that they have a value. Their value is shown by a potential developed website, or an end-client user-base which will need that domain. The bigger the user-base of end-clients who might need that domain (like, the bigger the value of your domain. The clearer the vision you have for a product developed on that domain, the higher dhe value to you. This is usually the domain you are mostly attached. But still, has a value.

These are usually word-based domains, business activitiy domains, domain hacks which still have a strong brandable relation and so on.

So now that there are two categories, when to sell on Flippa and when not?

Flippa Domain Sale Review

First of all, Flippa has changed its policy last year and allows you to list any domain in your “for-sale” catalog for free (example: a list of domains for sale at Flippa). That means that anyone should take advantage of the offer and list all his domains he wants to sell. But beside the public catalog, Flippa offers the possibility to participate in Auctions where you List Your Domain for Sale for a fee. The fees differ based on the advertising package you chose.

From my personal experience, one should only place domains for sale if they fit into the “Domains with Potential” category. This is a quick way of passing your dream to another domainer and one should not expect a large valuable sums from the sale. Of course there are cases where the sale will passe 5000$ for a domain, but this is usually with rare domains which are either living a moment (a special trend like “Ship Your Enemies Glitter” or a Valuable Domain which whatever you are getting from Flippa, will still be under the value of selling it to an end-user. This is indeed the faster way of making some cash from your domains.

If you have a domain that has potential only once it is developed, or a domain which needs some convincing sales skills to sell, or a domain which is the trend of the moment, … then go for Flippa. If you are thinking to get some advertising, do not buy the advertising in the first day. Run a small campaign of advertising your domain on Flippa (yes, bring some traffic to Flippa). Wait and see how much traction the auction is getting, and if the first bids reach the 10% of your expected sale-price, then push the domain with some advertising.

And if you have a domain which you fill connected and would regret selling for a cheap price, do not advertise it on Flippa. Put it on a for sale price, have some patience and wait. Occasionnally contact end users which might have interest and the neccessary funds to exploit that domain better than you could. Sooner or later, a good domain will pay itself.


P.S Domain Shane has an interesting article on “Writing A Useless but Amazing Domain Name Auction

Yourname .com is taken!? A .LINK domain might be the perfect choice


Considering the exhaustion of domains on the .com zone, many people wonder what might be a good domain for their profesional profile page. This article points to .LINK Domain names as a possible candidate. Link domains where initially launched as URL Shorteners, but there is also a relation to linkedin profiles. This short blog, includes some insight into the value of firstname .com domains and presents the briefly .link (with information on registration timeline, price, activation etc). As a generic domain, .link is better than most cctld domains and can be usued in a creative way to present profesional resumes or even company profiles.

.LINK Domains

Many of us have at least once checked if their firstname or name .com is free for registration. And if you ever had a chance to register such a domain, that was in the time when domains costed 75$/year and owning a domain was still a luxury. Those firstname .com domains, became even more expensive after some time, with some names being sold for over 100,000$.

Domain Price $310,250 $250,000 $100,001 $100,000 $100,000 $65,000 $65,000 $64,980 $63,000 $62,120 $60,000 $58,830 $50,000

A more detailed list of prices at the article: What is a first name domain worth?

With the new changes in the ICAN policies, a new set of generic domains is launched. .LINK is one of these new domains and some domainers are linking  .Link domain names and LinkedIn. Normally, if you would need to share your LinkedIn profile, the URL to be used is something like It makes more sense and might even provide a sense of profesionalism if users would use to have a reference to their personal curricula or a LinkedIn Profile.

What is the price and availability of .Link domains?

.Link domains are relatively cheap. The normal registration price is about 12€, but cheaper or coupons might allow registration at more favourite prices. The statistics show that the zone is still quite unexplored, with only about 60 000 domains registered. This makes .link a very lucrative domain choice for a personal profile or linked in page.


Domain Price
Registration 12€/year
Renewal 12€/year
Restore 50€
Transfer 10€/year
Registration period
1-10 years
Registration timeline
Activation timeline <6 hours
Number of characters
Accented characters
Change of Owner free

Table with .Link domain registration info from

Find disk usage for a domain in CPanel

If a domain has exceeded the allocated quota, but the check on its main directories do not reflect the correct space occupied, most probably is a problem of other directories which are located somewhere else but do have the same user as owner.

At least it happened withus where we had to do a quick backup from one production server to another (a temporary solution). While doing the backups, the new files copied had the same user-id as existing local users. By the end of the day, a few domains have exceeded their configured space limitations.

Whatever the situation, you should be able to find all the files which belong to a specific user in the filesystem. First the user-id of the linux user has to be found:
A quick check on /etc/passwd with the domainuser (if, most probably your user is example)

cat /etc/passwd | grep $domainuser


The first number is the userid, in this case 765

Now you can check the whole filesystem for resources allocated to this user:

find / -uid 765

If you find some user in some other directory, just fix the ownership information and you are good to go

Software Developing – At it’s best

What we do as developers

Found this gem with the caption: “what it feels like to be a software developer“.

It actually describes in full the process of developing. You try to fix one tiny thing and suddenly you find yourself in the middle of a heavy refactoring which influences the whole application…

From Malcolm in the Middle, but most geeks will describe this as Bryan Cranston, or as Walter White changing a light bulb

Grails – Language prefix in URL mappings – Language in URL as subdirectory

Starting a new project in Grails might lead to the need to support different languages. This can be done through a default ?lang=locale supported natively by Grails, but if you would like to provide a SEO friendly approach, then you might need to tweak your solution.
First of all, Google has provided a set of recommendation on how to support Multi-regional and multilingual sites. When it comes to URLs, they mention that best practices might include using different geo-domain for each language, using subdomains or subdirectories.

Google Recommendation

URL structures
Consider using a URL structure that makes it easy to geotarget parts of your site to different regions. The following table outlines your options:

URL structure Example Pros Cons
  • Clear geotargeting
  • Server location irrelevant
  • Easy separation of sites
  • Expensive (can have limited availability)
  • Requires more infrastructure
  • Strict ccTLD requirements (sometimes)
Subdomains with gTLDS
  • Easy to set up
  • Can use Webmaster Tools geotargeting
  • Allows different server locations
  • Easy separation of sites
  • Users might not recognize geotargeting from the URL alone (is “de” the language or country?)
Subdirectories with gTLDs
  • Easy to set up
  • Can use Webmaster Tools geotargeting
  • Low maintenance (same host)
  • Users might not recognize geotargeting from the URL alone
  • Single server location
  • Separation of sites harder
URL parameters
  • Not recommended.
  • URL-based segmentation difficult
  • Users might not recognize geotargeting from the URL alone
  • Geotargeting in Webmaster Tools is not possible

URL Mapping in Grails

Grails has a very neat way of mapping resources to URLs through the URL Mapping.

While the default URL Mapping is:

    constraints {
      // apply constraints here

Adding support for directories is as simple as adding a $lang parameter

    constraints {
      // apply constraints here

Writing /de/controllername/action will automatically have support for the new language.

The challenge is in defining a default language where the /controllername/action can map without the need of the $lang-parameter.

Download Stop Word List


In computing, stop words are words which are filtered out before or after processing of natural language data (text). There is no single universal list of stop words used by all processing of natural language tools, and indeed not all tools even use such a list. Some tools specifically avoid removing these stop words to support phrase search.

Any group of words can be chosen as the stop words for a given purpose. For some search engines, these are some of the most common, short function words, such as the, is, at, which, and on. In this case, stop words can cause problems when searching for phrases that include them, particularly in names such as ‘The Who’, ‘The The’, or ‘Take That’. Other search engines remove some of the most common words—including lexical words, such as “want”—from a query in order to improve performance.

Below is a group of stop words available for download. In response of interest of the previous article on English Stop Words, I have created a bunch of files for download.

Download Php Array Stop Word List

CSV Download of English Stop Words

Text file of stop words for download