What Programming Language Should I Use to Build a Startup?

Often entrepreneurs ask me 'What technology should I build my startup on?' There is no right or wrong answer to this question. It's a decision every company makes for itself, depending on what it's trying to build and the skills of its cofounders. Nonetheless, there are a few rules that one should adhere to. We discuss them in this blog post.

Incident Response Policy

What happens in your company when a production incident occurs? Usually in a typical startup, you will see engineers running around frantically trying to resolve the problem. However, as soon as the incident is resolved, they forget about it and go back to their usual business. A good incident response policy can help bring order into chaos. We provide a sample template in this blog post.

Why Software Deadlines Never Make Sense

We discuss why software deadlines usually don't make sense.

Analyzing Front-End Performance With Just a Browser

We discuss a number of freely available online tools which can be used to analyze bottlenecks in your website.

Why Smaller Businesses Can't Ignore Security and How They Can Achieve It On a Budget

In this article, we show that security is both important and achievable for smaller companies without breaking a bank.

Wednesday, September 4, 2013

Good Programming Music - Kitsuné Parisien 3 playlist

Monday, September 2, 2013

The Ultimate Cheat Sheet to Starting and Running Your Own Business

Excellent post. It's quite opinionated but it contains a treasure trove of great advice both for new and established businesses.

Java Rules Engines

Business rules define business procedures and policies. Normally, every business application contains many embedded business rules to determine what the workflow looks like.

Examples may include:

  • If an order value is > $500 then send it for analysis to fraud engine. 
  • If the promotion code is VIP20, then apply the discount code of 20%.
  • If the CPU is running hot above 80%, then trigger an email to a systems administrator.
  • If you have several XSS vulnerabilities in your source code, then email a link to a user to OWASP secure coding manual.

The problem is that these rules may change quite frequently. Every time business users change their mind, the developers need to rush to change their (Java or other language) source code, recompile it, and redeploy to production servers. The process becomes pretty inefficient.

In rules engine, the rules are isolated to a separate configuration file and the program doesn't need to be recompiled to consume the changes.   Many of these changes come with convenient GUI interfaces to modify the rules.  I've compiled a table comparing the engines to one another:

How to use MAVEN to download JAR library dependencies

Nice trick that one can use to download a program's JAR library dependencies. This is pretty useful if you want to tweak a MAVEN based example to run under ANT.

Take a look at maven's dependency plugin, specifically the 'copy-dependencies' goal. The usage section describes how to do exactly what you want:
To do it from the command line just do:
$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR