1var store = [{ 2 "title": "Running Eclipse Java Compiler with Ant", 3 "excerpt":"Eclipse Java Compiler (EJC) is an incremental compiler that is generally faster than any JDKs. It also fixes some incompatible problems related to JDK6, e.g. http://issues.apache.org/jira/browse/OPENJPA-640. This post is about how to run EJC with an ant target to compile your Java projects. Install Ant 1.7+. Download the latest JDT Core...","categories": ["eclipse"], 4 "tags": [], 5 "url": "/running-eclipse-java-compiler-with-ant/", 6 "teaser": null 7 },{ 8 "title": "Judicious Serialization", 9 "excerpt":"I was fixing a bug related to Java Serialization the other day: Server 1 tried to send out an email by using one of the web services from Server 2 with serialized objects passed along. It almost took me half a day to dig out the problem because the stack...","categories": ["java"], 10 "tags": [], 11 "url": "/judicious-serialization/", 12 "teaser": null 13 },{ 14 "title": "Adaptive Implementations with Eclipse's Optional Plugin Dependencies", 15 "excerpt":"Equinox is an OSGI implementation that allows bundles to find out what capabilities are available on the system and adapt the functionality they can provide. This adaptivity is achieved through the OSGi service registry. In this blog post, I am gonna talk about how to make use of Eclipseâs optional...","categories": ["eclipse","osgi"], 16 "tags": [], 17 "url": "/adaptive-implementations-with-eclipses-optional-plugin-dependencies/", 18 "teaser": null 19 },{ 20 "title": "Pushing Adaptive Implementations with Eclipse's Extension Points", 21 "excerpt":"A week ago, I blogged about implementing adaptive components using Eclipseâs optional plugin dependencies. In that post, I gave an example on displaying HTML files with different editors based on clientâs environment: open the HTML file with the HTML editor from WTP if the plugin is installed, otherwise fallback to...","categories": ["eclipse","osgi"], 22 "tags": [], 23 "url": "/pushing-adaptive-implementations-with-eclipse-extension-points/", 24 "teaser": null 25 },{ 26 "title": "Why code navigation sucks on most SCM's web interfaces?", 27 "excerpt":"I am not surprised that you feel the same. It sucks to navigate codes on most source control systemâs web interfaces! Here are whys. The display of files in most SCMâs web interface is not in a tree, but in a list. Files are in a tree structure; displaying them...","categories": ["hci"], 28 "tags": [], 29 "url": "/why-code-navigation-sucks-on-most-scm-web-interface/", 30 "teaser": null 31 },{ 32 "title": "Introducing Eclipse RAP", 33 "excerpt":"RAP, what? The Eclipse community is expanding its range to Hip Hop :)? Not exactly, although there is a chance. Eclipse Rich Ajax Platform (RAP) is a framework that empowers developers to build rich web clients âthe Eclipse way.â From the latest Helios download, RAP Tooling has become a default...","categories": ["eclipse","rap"], 34 "tags": [], 35 "url": "/introducing-eclipse-rap/", 36 "teaser": null 37 },{ 38 "title": "Patching with Class Shadowing and Maven", 39 "excerpt":"Before we start, you may speculate about the usefulness of class shadowing. Class shadowing can be used as a trick to patch or replace behaviours of classes at runtime, taking advantage of the first-come first-served algorithm of Javaâs class loader. If there are more than one class with the same...","categories": ["java"], 40 "tags": [], 41 "url": "/patching-with-class-shadowing-and-maven/", 42 "teaser": null 43 },{ 44 "title": "How to set up and run PDE build", 45 "excerpt":"The Plug-in Development Environment (PDE) provides tools to build Eclipse plug-ins, fragments, features, update sites and RCP products. This post is about how to set up and run the PDE headless build. Headless build means making the build outside the Eclipse IDE. You can also manually build it inside Eclipse...","categories": ["eclipse"], 46 "tags": [], 47 "url": "/how-to-set-up-and-run-pde-build/", 48 "teaser": null 49 },{ 50 "title": "Planning for CodeFaces 1.1.1", 51 "excerpt":"For the pass couple months, amazing things have happened to CodeFaces: it has enough features and scalability to go live, it was listed as a demo app on Eclipse RAPâs demo page, good feedback has been heard after people using it, and constant feature requests have been documented and pushed...","categories": ["codefaces"], 52 "tags": [],
53 "url": "/planning_for_codefaces/", 54 "teaser": null 55 },{ 56 "title": "Loading Path Gotchas in Rails 3", 57 "excerpt":"The algorithm of load path inferring in Rails 3 is a bit weird when class caching is turned off. Assuming you add all subdirectories under app/models to the load paths by using the new âconfig.autoload_pathsâ setting in config/application.rb: config.autoload_paths += Dir[\"#{config.root}/app/models/**/\"] And you have a subdirectory under app/models with name...","categories": ["rails"], 58 "tags": [], 59 "url": "/loading-path-gotchas-in-rails3/", 60 "teaser": null 61 },{ 62 "title": "Running a single JUnit test in Eclipse", 63 "excerpt":"A lot of the test-driven developers may find it annoying to run a single JUnit test in Eclipse: if there is a test suite with multiple tests, when running a single unit test, either from the context menu of the code editor, or from the JUnit view, Eclipse seems to...","categories": ["testing"], 64 "tags": [], 65 "url": "/running-a-single-junit-test-in-eclipse/", 66 "teaser": null 67 },{ 68 "title": "Agile is an adjective, not a noun!", 69 "excerpt":"Dave Thomas was right, thereâs a growing tendency to treat the word âAgileâ as a noun. Being an agile software developer means doing things in an agile manner, not just naming things that you do âAgileâ. Being an agile software developer means persisting your agile way of doing things, not...","categories": ["agile"], 70 "tags": [], 71 "url": "/agile-is-an-adjective-not-a-noun/", 72 "teaser": null 73 },{ 74 "title": "Speed Up J2EE Environment Setup With Jetty Maven Plugin", 75 "excerpt":"Setting up a J2EE development environment is typically complex and full of repetition. It wastes a lot of programmersâ time before they can happily get the app up and running. They need to configure the IDE, set up the database, configure the server, deploy app to the server, etc.. Whatâs...","categories": ["java"], 76 "tags": [], 77 "url": "/speed-up-j2ee-environment-setup-with-jetty-maven-plugin/", 78 "teaser": null 79 },{ 80 "title": "Git Up Perforce with git-p4", 81 "excerpt":"Distributed version control systems open up lots of flexibility and provide lots of efficiency in work-flow than their centralized cousins (e.g. Perforce). Thereâs often value to use DVCS in the team. However, the case that I run into frequently is where there is a corporate standard for a deficient VCS,...","categories": ["git","perforce"], 82 "tags": [], 83 "url": "/git-up-perforce-with-git-p4/", 84 "teaser": null 85 },{ 86 "title": "Automatic Testing of REST Web Services Client with Rails", 87 "excerpt":"Testing REST web services client has never been easy. It requires a running web server, multiple threads, network conection and complex transaction management. Ideally, REST web service client test should have the following characteristics: The experience of testing REST resource is similar to that of testing a ActiveRecord model Start...","categories": ["testing","rails","web_service"], 88 "tags": [], 89 "url": "/testing-rest-web-services-with-rails/", 90 "teaser": null 91 },{ 92 "title": "PoEAA on Rails", 93 "excerpt":"The book Patterns of Enterprise Application Architecture (PoEAA) laid the blueprints for Railsâ architecture. When choosing which enterprise design patterns to encode into the framework, Rails picked, to name a few, Active Record, Template View, Application Controller, etc. By covering these patterns with a sweet coating of convention-over-configuration, Rails simplifies...","categories": ["patterns","rails"], 94 "tags": [], 95 "url": "/poeaa-on-rails/", 96 "teaser": null 97 },{ 98 "title": "Ten Things You Didn't Know Git And GitHub Could Do", 99 "excerpt":"Git and GitHub are powerful tools. Even if you have worked with them for a long time, itâs likely that you havenât stumbled across everything yet. I collect 10 common tricks for both Git and GitHub that potentially increase your day-to-day productivity. GitHub keyboard shortcut: t & w On your...","categories": ["git","github"], 100 "tags": [], 101 "url": "/ten-things-you-didnt-know-git-and-github-could-do/", 102 "teaser": null 103 },{ 104 "title": "Write Build Tasks in Go with Gotask", 105 "excerpt":"One of the things that I miss a lot when programming in Go is being able to write build tasks in Go itself. The de facto build tool for Go is make. Make is simple, classic and gets the work done. But it falls when build tasks are becoming complex....","categories": ["go"], 106 "tags": [], 107 "url": "/writing-build-tasks-in-go-with-gotask/", 108 "teaser": null 109 },{ 110 "title": "Fast GitHub Command Line Client Written in Go", 111 "excerpt":"About nine months ago, I started gh, a fast command line wrapper around git with extra features and commands that make working with GitHub easier. Today, Iâm very glad to announce its 1.0.0 release has landed! What is gh? gh
111is a command line client to GitHub. Itâs designed to...","categories": ["go"], 112 "tags": [], 113 "url": "/fast-github-command-line-client-written-in-go/", 114 "teaser": null 115 },{ 116 "title": "My Lightening Talk At GopherCon 2015", 117 "excerpt":"I demoed ccat at GopherCon 2015. Enjoy :-) ","categories": ["go"], 118 "tags": [], 119 "url": "/me-at-gophercon-2015/", 120 "teaser": null 121 },{ 122 "title": "My Lightening Talk On Godzilla At GopherCon 2017", 123 "excerpt":"I gave a lightening talk on Godzilla at GopherCon 2017. Enjoy :-) ","categories": ["go"], 124 "tags": [], 125 "url": "/me-at-gophercon-2017/", 126 "teaser": null 127 },{ 128 "title": "Upterm - Secure Terminal Sharing", 129 "excerpt":"Upterm is an open-sourced solution for sharing terminal sessions instantly over the public internet via SSH tunnels. It is good for Remote pair programming Access remote computers behind NATs and firewalls Remote debugging Upterm is written in Go and is open-sourced at https://github.com/owenthereal/upterm. How it works You run the upterm...","categories": ["upterm","go"], 130 "tags": [], 131 "url": "/upterm/", 132 "teaser": null 133 },{ 134 "title": "Goup - Elegant Go Version Manager", 135 "excerpt":"Goup (pronounced Go Up) is an elegant solution to install Go and manage Go versions. It is notorious that an operating systemâs package manager takes time to update Go to the latest version, particularly on Linux distros. At the time of this writing in October 2020, Fedora 32âs Go version...","categories": ["goup","go"], 136 "tags": [], 137 "url": "/goup/", 138 "teaser": null 139 }]
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.