February 2012
4 posts
3 tags
MOG vs Pandora: thoughts.
I have a both Pandora One subscription and a Mog Primo subscription.  Both services do a very good job and both I believe are fairly priced. Pandora One: $36.00 USD/year : Music Discovery @ 192kbps Mog Primo: $9.99 USD/month : infinite and select-able 320kbps and mobile download. I have no guilt spending this money. The opportunity cost saving, pleasure, and work effort...
Feb 23rd
Feb 22nd
32,971 notes
3 tags
Fixing Spring's Default View Resolver
Most Spring MVC applications use org.springframework.web.servlet.view.UrlBasedViewResolver This view resolver allows you to redirect with the prefix “redirect:” thus you can do something like: @RequestMapping(value={"/doc/api", "/doc/api/"}) public String apiDoc(ModelMap model) { //some logic m.put("hiddenStuff", "blah blah"); if (success) { return "myview"; } ...
Feb 16th
1 note
3 tags
The problem is Marketing and We can Solve it!
We need more customers. We need more sales. We are tired of the fly-by-night loyalty programs. We are tired of social trickery discount solutions. Tired of the Amway-Ponzi referral schemes. Tired of the Groupon phone calls. Tired of being taken advantage of. Tired of making our customers mad. We know what the problem is. Its marketing. Its not a new problem. Its an old problem. Its...
Feb 8th
January 2012
5 posts
Making QR Codes even dorkier with ANSI/ASCII
At my current startup we generate QR codes as an option to connect to a mobile campaign.  I have mixed feelings about QR codes: For now only marketing people and dorks like myself know what they are. You need a special app to scan the code. They look like ugly noise and for some reason look disingenuous. “Hey what happened to that crossword puzzle!”  “It won’t...
Jan 29th
IQ, EQ, MQ ... another triangle.
From Twitter “IQ =Intellectual Quotient, EQ=Emotional Quotient, MQ=Moral Quotient; thus Mind/Body/Soul” Dipak Jain, Instead #WEF #Davos Some what analogous to my Think, Do, Share triangle.
Jan 26th
Jan 20th
2 notes
1 tag
Get Maven to use the latest version for a... →
I finally figured out how to get maven to use the latest version of a dependency while keeping the builds reproducible. What PITA.  http://stackoverflow.com/questions/30571/how-do-i-tell-maven-to-use-the-latest-version-of-a-dependency/8795380#8795380
Jan 9th
8 notes
2 tags
HttpServletRequest getRequestURL() is dumb
Every time I have to wrap a Servlet Request for a filter I’m always reminded of the strangeness of getRequestURL() and its brother getRequestURI(). For the most part getRequestURI() makes sense if you know what it does. I say “know” because its javadoc is rather questionable.  It returns only the path and not the query parameters, host, port, and scheme. Ideally it should be...
Jan 3rd
December 2011
2 posts
9 reasons you must install Sublime Text 2. Code...
Sublime Text is freakin awesome on Linux! 1p1e1: Hello, fellow code monkeys. Look at your editor. Now back at mine. Now back at yours. Now back to mine. Sadly your editor is not like mine. But if you stopped using noob-scented editor, and switched to Sublime Text 2, your editor could look like mine. Look down. Back up. Where are you? You are on a desk with the editor your editor could look...
Dec 17th
66 notes
3 tags
Added Twilio to my Maven respository
Added some Maven support to twilio: https://github.com/twilio/twilio-java However its still not in the central repository so I have added it my repositry. Hopefully they’ll take my changes and create an Nexus account: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
Dec 10th
4 notes
November 2011
4 posts
2 tags
Is there a Coffeescript for Java? →
Is there a Coffeescript for Java? In other words X gets compiled to readable Java. If only I had more copious free time I might consider doing this as a side project. Maybe someone as already done this?
Nov 23rd
2 notes
3 tags
Replacement for unix 'cut' that works with CSV
A while ago I was working with a very large CSV file that had many columns but I only needed two columns of. I normally would use the Unix command ‘cut’ to get the columns I want but this does not work well for CSV files that are escaped (that is the separator is escaped). So here is a drop in replacement written in Python that works just like ‘cut’ but for almost all...
Nov 21st
6 notes
2 tags
Typesafe now supporting Play 2.0 Framework
The Play 2.0 framework is looking better and better everyday: http://groups.google.com/group/play-framework/browse_thread/thread/6d5783e28efb6931# I had blogged a while ago about “Does Java Have an answer to Node.js”. It looks like the best answer is Play 2.0. Play 2.0 uses all the technologies I mentioned in the previous post (netty, akka, scala).  It also looks like Play 2.0 will...
Nov 18th
29 notes
3 tags
Stop Internet Censorship →
On a rather serious note the government has decided to start censoring the Internet. Sites that let you post for free like our very own http://evocatus.com are in danger.  Here are instructions on how to react:  http://americancensorship.org/ If you don’t know the senate and house have a glorious approval rating of: 11.3% ...
Nov 16th
5 notes
October 2011
3 posts
3 tags
A Java Client for Amazon Commerce API →
I had some old Amazon Product Advertising API Client (now known as its Commerce API) code lying around that I have been meaning to Github. This client uses JAXB and REST (Commons HTTP Client) instead of JAXWS. https://github.com/agentgt/JavaAmazonProductAdvertisingClient A relevant stackoverflow post: http://stackoverflow.com/questions/2963168/amazon-products-api-library-for-java
Oct 30th
90 notes
4 tags
Added Spring Social LinkedIn into my Maven Repo
Spring Social has a SNAPSHOT version of spring-social-linkedin but has not released it as 1.0.0.RELEASE and unfortunately the milestone release is too far behind. If you are using the maven release plugin it will not let you release with SNAPSHOT dependencies. I tried using the Maven Version plugin to get around this but I could not figure it out so I used my good ole custom maven repository:
Oct 22nd
14 notes
3 tags
JATL 0.2.0 Released →
New Features: whitespace/indenting support OSGI bundle I made indenting/whitespace/pretty-print support rather powerful at the cost of some complexity. I don’t know of any other library that allows you to apply different indenting based on the tag. For example you can now make it so that <span> tags are always inlined (no newline or indenting). Attribute white spacing is not yet...
Oct 18th
7 notes
September 2011
5 posts
6 tags
Does Java have an answer to Node.js?
Java needs to do a couple of things easily to compete with Node.js which I believe will be the next killer web framework: Event Driven Network IO - Netty Threadless Concurrency - Akka More expressive language - Scala Unlike Node.js most Java frameworks are not written from the ground up to be asynchronous. Most asynchronous behavior in Java is accomplished through threads. For example all...
Sep 20th
14 notes
4 tags
Trello from FogCreek using Nodejs
FogCreek just launched Trello. Now if you try to Google what technology they are using you will see a Stackoverflow post that has been deleted. I am sure its because of some community violation (like it should be on Meta Wiki). Anyway its not hard to figure out (firebug) that they are using a Nodejs stack: Nodejs for Webserver Express for MVC JQuery Backbone SocketIO JQueryUI Now the only...
Sep 15th
19 notes
9 tags
Using Java for Web 3.0 (AjaxPush/Comet and...
After playing with node.js for a few weekends I decided to see how Java accomplishes the new asynchronous low-latency nature of Web 3.0. In other words what does it take in Java to build the new “Hello World” of Web 3.0: an online chat server. Traditionally it was a pain to do this because long open connections are not handled in the Servlet spec. So you had to rely on special...
Sep 12th
2 notes
WatchWatch
Geoffrey Moore talks about the important balance of managers to leaders. Its a great reminder that as much as I loathe management/managers they are critical for success. To much leadership and innovation can be bad and so can too much management.
Sep 10th
2 tags
Indie Video Games are awesome!
I have noticed a huge trend of Indie Games being developed right now. I thinks this in part because: The technology has gotten easy enough for more people to develop The Xbox Live Games Marketplace and iPhone App store The success of simple games like Angry Birds What I like about indie games is that they are usually simple (I  don’t have time to get sucked into a MMRPG) and the focus...
Sep 3rd
11 notes
August 2011
11 posts
3 tags
Node.js Frameworks
I’m looking at some web MVC frameworks (or stacks) for Node.js . Almost all the node.js mvc libraries out there provide routing and templating. Thus what I’m looking for in order of preference is: Actively developed Coffeescript friendly Validation Data binding Some sort of transaction management. I have never seen such an explosion of libraries in such short order like node.js...
Aug 31st
12 notes
2 tags
Node.js is the future. Bye bye Ruby/PHP/Python
I am going to make a prediction that XXX on Rails (where XXX is Ruby, PHP, Groovy, Java) MVC frameworks are going to see a rapid decline in the coming years.  Node.js will be the replacement. The reason? Every web application developer knows Javascript. In fact in my mind your not a Web App developer unless you know Javascript. Javascript is the Lingua Franca of the web world it is easily...
Aug 27th
1 note
5 tags
JQuery Mobile Problems
Some what inspired by Linkedin’s new touch app, I’m looking into rewriting Evocatus’ mobile site/app from JQuery Mobile to a custom HTML5 solution. The problems we have with JQuery Mobile are: It’s slow It’s a rather big download Scrolling is weird, flakey and sometimes just does not work  The buttons and widgets are kind of ugly and feel cookie cutter like The...
Aug 27th
13 notes
3 tags
Kerry on the news at Startup Riot Seattle!
Kerry on the news presenting Evocatus at Startup Riot Seattle. We registered Startup Riot in our event system for taste testing of chocolate. See the results.
Aug 25th
8 notes
2 tags
Natty Lite's sordid facts →
While making my Cosby Sweater mix on Evocatus I found some funny facts on Natty Lite here.
Aug 23rd
2 tags
Dont support IE 6,7,8 no problem: Chrome Frame
In my many years of enterprise web application development I have seen many organizations require support for Internet Explorer. Not just any Internet Explorer but generally Version 8 and below. These browsers do not support Html5 and make your site look like web vomit. Well google has now fixed that problem with Google Chrome Frame which allows you to install an Internet Explorer plugin that...
Aug 22nd
2 notes
Evocatus on Wicked Local →
Awesome article on Mass Innovations and Evocatus. Ignacio Laguarda, the journalist who wrote the article, really did a nice job of making my thoughts coherent.
Aug 15th
Evocatus in the news →
evocatusexperience: On August, 10th, Evocatus participated in Mass Innovation’s Foodie Night as one of the four presenters.  The response was overwhelming.  In case you weren’t present at the event, the presentation is now online at SlideShare.  Jaclyn Reiss, a correspondent for Boston.com, also wrote a piece about the event featuring Evocatus: “The web is a clutter of information. If you want...
Aug 13th
1 note
Aug 13th
1 tag
My name is Evocatus.com but you can also call me...
Evocatus now has a shortened URL domain name that all the cool kids have (I actually hate that phrase). So you should start seeing our twitter posts have URLs like evoc.me/qJvIx4 .  bit.ly now offers white label domain name for URL shortening. It used be you had to pay big $$$ but now its free and we like free :) Speaking of names and Evocatus your probably wondering what the name...
Aug 7th
3 tags
Cloud 9 and Cloud bees: Development as a Service
I have to say Cloud 9 is kind of cool. Its a online IDE targeted mainly for scripting languages. It will be interesting to see what happens to that company and what there exit plan is (or not). Whether Cloud 9 succeeds or not, programming in the cloud seems like a very possible future. As a on-and-off freelance software developer the idea is appealing in terms of context shifting and knowledge...
Aug 2nd
19 notes
July 2011
8 posts
Created jhtmldiff on Google Code →
Ported HTMLDiff algorithm that was written originally in Ruby and then C# http://stackoverflow.com/questions/2956536/is-there-any-rendered-html-diff-engine-for-net/2958993#2958993 More to Come
Jul 28th
3 tags
Conditionally set an attribute on an element with...
I had this problem described on Stackoverflow A solution is to use lots of tagx libraries which I have put on gist: https://gist.github.com/1106650
Jul 26th
1 note
2 tags
Jul 23rd
1 tag
Parsing and Converting common formats in Java
If you are creating a Web Application in Java you need to know how to correctly and efficiently convert all kinds of string represented data. Below are some of the best Java libraries for parsing and converting various formats in the web world. Creating URIs: UriBuilder is perhaps the most elegant way to create URI’s safely (that includes URL since URI is a superset). Encoding and Decoding...
Jul 22nd
3 tags
Javadoc errors with Maven and AspectJ
Make sure you name your AspectJ declarity files with an “.aj” suffix and not “.java”. If you don’t you will get Javadoc errors and other weird oddities while everything else will seem to work. Maven errors:
Jul 13th
7 notes
visual.ly my new favorite site
The site http://visual.ly is my new favorite site. I highly recommend you check it out if you like staring at those cool info-graphics normally in magazines. I often buy magazines when they have cool looking charts particularly in airports.
Jul 13th
2 tags
Auto Completion not working on AspectJ after...
I recently updated many plugins in my heavily loaded Eclipse 3.6. I have been holding off on doing this. Every time I seem to do an update of any sort I get shafted worse than what the IRS does to me.  I Then contemplate throwing my laptop out the window followed by doing a line of coke. Updating AspectJ came close to that but my I knew it would it happen so I was ready for the disappointment. ...
Jul 12th
2 tags
Did not know about java.lang.Appendable
Don’t you hate when you find or learn something that could have saved you some time or perhaps enabled a better design. Well java.lang.Appendable is an interface that I somehow completely missed. There are many times I have wanted to accept StringBuilder/StringBuffer/Writer as an argument and I always end up using a Writer as the generic object. For JATL I ended up using a java.io.Writer...
Jul 1st
June 2011
2 posts
What ever happened to Bile Blog
Bile Blog was one of my favorite tongue n’ cheek Java blogs (or in bile lingo tongue in asshole). Apparently the author of Bile Blog has pulled an Eddie Murphy as do all comedians. What I mean by that is he has tamed down and his not writing glorious untamed vociferous vitriol and seems to be more family oriented. Maybe Java has gotten better enough that BileBlog has nothing to write...
Jun 3rd
JSP EL 2.1 versus EL 2.2
I just ran into lovely feature of JSP EL 2.2 that you can call methods on an object that are not getter/setters props. The irony is that I didn’t even think it was a feature because almost every other template language allows you to call methods (Velocity, Jelly, Scalate, and probably FreeMarker). I found this out because I develop on Tomcat 7 but we use Tomcat 6 in production. This...
Jun 2nd
May 2011
5 posts
4 tags
Google's Guava Iterators library is very useful
If you have not used Google’s Java Collection library (now known as Guava) I highly recommend it. Particularly its Iterators util class. Iterators.partition is extremely useful. Unfortuanatly they don’t have an Iterators.flatten (easy to write but I was hoping they would have it). Hopefully  they’ll add it soon. http://code.google.com/p/guava-libraries/issues/detail?id=627 ...
May 18th
4 tags
Made ehcache-spring-annotations support AspectJ
The project ehcache-spring-annotations did not support AspectJ. I think I have fixed that and posted my changes to github: https://github.com/agentgt/ehcache-spring-annotations I’ll probably have to make my own version of the jar and put in my own personal maven repo http://mvn-adamgent.googlecode.com/svn/maven/ UPDATE 11/8/2011 Please read: ...
May 17th
4 notes
3 tags
Added zxing to my own Maven Repo
So ZXing does not have their jars in the maven repo. Well I fixed that by making my own.
May 15th
2 notes
The Python @ decorator pattern for Java using...
How to make AspectJ + Java @ Annotations like Python Decorators There are many times where you want to write a block of code and have some boilerplate code happen before and after. Or you may want to register that block of code as some sort of listener/handler. I found this to be perhaps one of the most common patterns in web application development other than maybe the iterator pattern. An...
May 14th
2 tags
Scala AppFuse?
I wanted to use Scala for http://evocatus.com but I couldn’t pick a framework that was easy enough to understand and mature enough. I also couldn’t get AspectJ to work nicely with Scala. So we ended up going with Spring Roo. This was in part because I like AspectJ and Spring. That being said I still don’t like Java and prefer something like F# or Scala. I hate JSP(X) even more....
May 11th
4 notes