Blog of Rob Galanakis (@techartistsorg)

Code separators and headers are more than a matter of style

IDontCareIfYouPreferPascalCase, ifCamelCaseIsForYou, or_if_you_prefer_lowercase_underscores. They all have their merits. However, there is one element of many style guides that I have come to vehemently disagree with: function/class headers* and separators. I bring it up because I’ve encountered them in pretty much every codebase I’ve worked with, but never found it...

Read more

Everyone should take vacation at the same time

Throughout my career I’ve always seen people struggle with taking vacation. People are too wrapped up in what they’re doing. Managers can’t allow critical people to go missing. There are weeks of trepidation and handover and “I don’t know how to fix that” emails. To a large extent, this...

Read more

Practical Maya Programming with Python is Published

My book, Practical Maya Programming with Python has been finally published! Please check it out and tell me what you think. I hope you will find it sufficiently-but-not-overly opinionated :) It is about as personal as a technical book can get, being distilled from years of mentoring many technical...

Read more

goless 0.7 released, with Python3 support and bug fixes

goless version 0.7.0 is out on PyPI. goless facilitates writing Go language style concurrent programs in Python, including functionality for channels, select, and goroutines. I forgot to blog about 0.6 at the start of July, which brought Python 3.3 and 3.4 support to goless (#17). I will support pypy3...

Read more

goless now on PyPI

goless is now available on the Python Package Index: https://pypi.python.org/pypi/goless . You can do pip install goless and get Go-like primitives to use in Python, that runs atop gevent, PyPy, or Stackless Python. You can write code like: channel = goless.chan() def goroutine(): while True: value = channel.recv() channel.send(value...

Read more

goless Benchmarks

I benchmarked how goless performs under different backends (goless is a library that provides a Go-like concurrency model for Python, on top of stackless, PyPy, or gevent). Here are the results, also available on the goless readthedocs page: Platform Backend Benchmark Time ======== ========= ============== ======= PyPy stackless chan_async...

Read more

Hiring your cake and eating it too

When evaluating candidates, I have always been a believer that cultural fit and potential to improve is more important than technical ability. Of course I like to review real code samples and give a programming test, but I rarely ask for whiteboard programming. I am not a master of...

Read more

Optimize iteration length for feedback

If there is one theme that is weaved through all of Agile’s principles and practices, it is feedback. TDD. Pair programming. Continuous delivery. Stories. Estimation. Reviews. Retrospectives. On-site customers. Feedback comes up against and again. Feedback from code, the team, and users. As I mentioned in my previous post,...

Read more

Should a team be able to abort a sprint?

After my second retrospective on a new project, I unloaded some pretty harsh criticism about what we were building. I felt it was a “solution in search of a problem” and “not high value.” After proposing an alternative and convincing everyone to change direction, our sort-of Product Owner blasted...

Read more

There is no essence of Agile

real agile is: talk to the users directly, know their pain point, address it, repeat. -someone on Twitter who I disagree with In many conversations about Agile, especially as of late, I read something like the above tweet. I don’t know where the idea that Agile can be distilled...

Read more

1 3 4 5 6 7 27