Grill + Veggies + Pasta

Two of our new favorites summer pandemic activities come together in this dish which is gardening and grilling. Grilling because I got a new grill and I intend to use it. We also joined our community garden and now have more squash than we can count.


Pasta: Penne works best but others like rigatoni or elbow macaroni will work to.


  • 1-2 large Zucchini
  • 1-2 large Summer squash
  • 1 lb Asparagus
  • 1 ln Bell peppers
  • Kosher salt & pepper to taste


  • 1 package of goat cheese
  • 1/3 cup olive oil
  • 3 Tbsp balsamic vinegar
  • 2 Tbsp mayonnaise
  • 1/2 Tbsp Dijon mustard
  • 1 clove garlic, minced
  • 1/2 tsp dried basil
  • 1/2 tsp salt
  • Pepper to taste


  • Warm up the grill to 400-500 degrees F
  • Toss asparagus with olive oil, salt & pepper
  • Cut squash evenly and toss with olive oil, salt, & pepper.
  • Place veggies on grill. You may want to do this in batches. Asparagus and peppers are usually done first. I usually rotate them every 2 minutes.squash is usually closer to 4 depending on thickness.
  • Cook past to slightly Al dente. Reserve 1/3-1/2 cup of pasta water and drain the rest.
  • Combine reserved water with the rest of the sauce ingredients minus the goat cheese.
  • Roughly chop veggies.
  • Combine pasta, sauce, & veggies.
  • Crumble in goat cheese and combine.

Porting Lucene: Iteration 1 – Project Setup

So I thought project setup would be the easiest item to complete. Turns out the due diligence was far greater than I thought. Why? In short there are tools that have best practices for a project built in like Gradle or Cargo. However they just didn’t quite fit what I needed. Letls look at those use-cases.

Little to no setup required

This is something I feel very strongly about. This project should make contributing absolutely frictionless. You should not need a specific IDE or require changing versions of system libraries.

Don’t introduce yet another language if you don’t have to

Choosing the best tool for a task is important. However there is a certain amount of overhead with each language. Some require additional tooling and may not be widely known. So reusing languages that are used elsewhere in the project is preferable. 

Option #1: Gradle

This should be a no brainer. Lucene uses Gradle. I’m porting Lucene. I should use Gradle. However while I am porting Lucene to learn I want to make this easy for others to adopt. Gradle brings in either Groovy or Kotlin.

Option #2: Cargo

Cargo is the Rust package manager. Cargo downloads your Rust package‘s dependencies, compiles your packages, makes distributable packages, and uploads them to, the Rust community‚Äôs package registry

OK… That I stole from Cargo’s guide. Cargo is going to be needed for building/managing the rust components. However we really need a level of orchestration above it.

Option #3: Maven

Maven for the longest time was the work horse for most Java development. Unlike Gradle Maven can be done using xml exclusively. This then becomes a discussion of project management via configuration or code. Both have their time/place. As a project becomes increasingly complex code becomes preferable over configuration.

Option #4: Make

There is something to be said for keeping it simple. Make is typically included in every distribution and shell scripting provides the capabilities I need. While shell scripting is yet another language it is already pulled in by Docker. This makes the most sense.


A mixture of Option #2, #3, & #4 seems like the best course. Due to the expected complexity of the project Make seems like the best option as it has the least amount of dependencies. Maven & Cargo can then be used for Java & Rust sub-components respectively.