Tag Archives: Programming

Continuous Integration for Javascript

{Topic: [Tools], Comments: 9}

Jenkins is a CI tool that is often used for Running tests and code analysis for Java and .NET projects. There are a lot of benefits that we as a community are not taking advantage of for our web (CSS, JS, etc) code. In this article I’m going to walk you through setting up automated building and testing for a JavaScript project.

NOTE: The steps outlined are generally Linux/Mac centric, I don’t go into depth on Windows setup, but it shouldn’t be much different using Cygwin.

Why use CI?

Aside from the traditional benefits you see from your compiled code, there are some very compelling reasons:

  1. Automate versioning, combining, minifying, and gzipping files
  2. Run automated tests and get reports, keeping the codebase maintainable
  3. Run static analysis tools like the closure compiler or jshint
  4. Auto-deploy files (to S3, say) if our build passes
  5. Tag and other special stuff for release builds
  6. … that’s just JavaScript, we can also hook in Selenium tests, CSS Lint, and more

Not convinced? Tell me why in the comments.
Continue reading

Best algorithms book I ever read

{Topic: [Books], Comments: 27}

spacer I took a fair amount of time looking at data structures and algorithms while I was studying for my interviews with Google, and based on informed suggestions from Steve Yegge’s infamous post, I decided to buy The Algorithm Design Manual by Steven S. Skiena.

If you don’t care to read my ramblings about this book, here’s a summary: Buy this book if you do ANY serious programming.

What makes The Algorithm Design Manual

2 main reasons I make this blatantly positive assessment:

  1. The first several chapters are dedicated to the basics of data structures and common problems involving algorithms. This is obviously not a unique feature, but what is unique are the “war stories” from actual field work. The stories include discussion about the failure cases and how Skiena went about solving problems he encountered. This alone is enough to make this book worthwhile.
  2. Chapters 11-18 are a giant catalogue of algorithmic problems. Again, not a unique trait. However, not only does Skiena describe the basic approaches to solving each type of problem, he includes links to different implementations of in-the-field optimized solutions. He also brings up questions you should ask yourself when choosing an implementation.

Continue reading

Griffon, meet Jython

{Topic: [Griffon,Python], Comments: 0}

I’ve come to love the Python language for its elegant syntax combined with powerful constructs like comprehensions. Jython allows me to take Python to the next level by allowing it to interact with my existing JVM-compatible code. Now I want to extend that even further and allow myself (and you, of course) to integrate Jython with Griffon, a framework for building desktop applications in Groovy.

Introducing the Jython plugin for Griffon

The Jython plugin enables compiling and running Jython code on your Griffon application. You don’t even need to install Jython manually. A Jython REPL is available with access to your Groovy/Java classes
Continue reading

1236912Last ยป
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.