jakub holý

building the right thing, building it right, fast

Holy on Dev

All posts

  1. Migrating from Wordpress.com to a static site generated by GatsbyJS

  2. AWS RDS: How to find out login credentials to the database

  3. Java: Simulating various connection problems with Toxiproxy

  4. How I got fired and learned the importance of communication and play time

  5. Clojure - comparison of gnuplot, Incanter, oz/vega-lite for plotting usage data

  6. How good monitoring saved our ass ... again

  7. Beware the performance cost of async_hooks (Node 8)

  8. Monitoring process memory/CPU usage with top and plotting it with gnuplot

  9. Troubleshooting javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

  10. Why we love AWS Beanstalk but are leaving it anyway

  11. Pains with Terraform (perhaps use Sceptre next time?)

  12. How to patch Travis CI''s deployment tool for your needs

  13. Experience: Awesome productivity with ClojureScript''s REPL

  14. Simulating network timeouts with toxiproxy

  15. Demonstration: Applying the Parallel Change technique to change code in small, safe steps

  16. It Is OK to Require Your Team-mates to Have Particular Domain/Technical Knowledge

  17. Don''t add unnecessary checks to your code, pretty please!

  18. 2015 in review

  19. Why we practice fronted-first design (instead of API-first)

  20. A Costly Failure to Design for Performance and Robustness

  21. Troubleshooting And Improving HTTPS/TLS Connection Performance

  22. Moving Too Fast For UX? Genuine Needs, Wrong Solutions

  23. Upgrade or not to upgrade dependencies? The eternal dilemma

  24. Storytelling as a Vehicle of Change: Introducing ClojureScript for the Heart and Mind

  25. Refactoring & Type Errors in Clojure: Experience and Prevention

  26. An answer to CircleCI''s "Why we’re no longer using Core.typed"

  27. Nginx: Protecting upstream from overload on cache miss

  28. Shipping a Refactoring & Feature One Tiny Slice at a Time, to Reduce Risk

  29. Running Gor, the HTTP traffic replayer, as a service on AWS Elastic Beanstalk

  30. AWS ebextensions: Avoiding "Could not enable service" (or .. disable ..)

  31. Fixing a mysterious .ebextensions command time out (AWS Elastic Beanstalk)

  32. AWS: Passing private configuration to a Docker container (via S3)

  33. Book Review & Digest: Release It! Design and Deploy Production-Ready Software

  34. NDC Oslo 2015: Talk notes, recommended talks (security, FP, etc.)

  35. Why do companies fail at adopting Functional Programming?

  36. Notes from Troy Hunt''s Hack Yourself First workshop

  37. NDC: Async and Streaming JavaScript, We''re All Doing it Wrong! (Promises, Streams, Rx)

  38. Example: Functional Reactive Programming decisively beats Imperative on simplicity, length

  39. AWS API: Proper syntax for filtering by tag name and value (e.g. describeInstances)

  40. Mounting an EBS volume to Docker on AWS Elastic Beanstal

  41. OS X: Using scutils to discover whether/what a web proxy is in use

  42. All-in-one Docker with Grafana, InfluxDB, and cloudwatch-to-graphite for AWS/Beanstalk monitoring

  43. Hack: Quickly Verify That All Your Mocha/Chai Tests Have Valid Assertions

  44. My Highlights from Continuous Delivery and DevOps Conference 2015

  45. iTerm coprocess reporting result of (Mocha) tests run via nodemon

  46. Backup WD MyCloud to S3/Glacier with duplicity (build instructions included)

  47. AWS CloudWatch Alarms Too Noisy Due To Ignoring Missing Data in Averages

  48. Git pre-commit hook that fails if "it.only" used (Jest/Jasmine)

  49. There will be failures – On systems that live through difficulties instead of turning them into a catastrophy

  50. A Usable Node.js REPL for Emacs

  51. The Are No Silver Bullets: Which Error Handling Style to Pick For a Given Configuration of Constraints?

  52. Fix Shell Script Run via SSH Hanging (Jenkins)

  53. Challenging Myself With Coplien''s Why Most Unit Testing is Waste

  54. Running JavaScript Tests On a CI Server With Karma, Chrome And Fake X

  55. Focus & Do the Simplest Thing Possible

  56. Notes On Automated Acceptance Testing (from the Continuous Delivery book)

  57. Continuous Delivery Digest: Ch.9 Testing Non-Functional Requirements

  58. The blog''s year 2014 in review

  59. Connect Tunnelblick to VPN automatically after wake up

  60. Book Review & Digest: Capital In The Twenty-First Century

  61. Tiny, Tiny Steps - Experience Report Developing A Feature In Minimal Value-Adding Increments

  62. Notes From CodeMesh 2014

  63. Most interesting links of July ''14

  64. Most interesting links of June ''14

  65. Review: Clojure for Machine Learning (Ch 1-3)

  66. Most interesting links of May ''14

  67. Fixing clojurescript.test failing with "ReferenceError: Can''t find variable: cemerick"

  68. Clojure/Java: Prevent Exceptions With "trace missing"

  69. ClojureScript/Om: Spurious "Minified exception occured" With Advanced Optimizations

  70. core.async: "Can''t recur here" in ClojureScript but OK in Clojure

  71. Graphite Shows Metrics But No Data - Troubleshooting

  72. Most interesting links of April ''14

  73. Clojure: How To Prevent "Expected Map, Got Vector" And Similar Errors

  74. How to create and run Gatling 2.0 tests

  75. Kioo: How to Troubleshoot Template Processing

  76. Kioo: How To Replace The Whole Body

  77. Most interesting links of March ''14

  78. Framework Joy: Load in Hibernate Updates Data

  79. How To Generate A Valid Credit Card Number For A Bin (First 6 Digits)

  80. HttpServletRequest: requestURI/requestURL/contextPath/servletPath/pathInfo/queryString

  81. Ansible: Best practices for deriving host-level var from a group var

  82. Frustration-Driven Development - Towards DevOps, Lean, Clojure

  83. Recursive Copy In Ansible 1.5 And --diff

  84. Petitioning EU to act against Russian aggression in Ukraine

  85. Ansible Troubleshooting Tips

  86. Most interesting links of February ''14

  87. JavaServer Faces Are Evil (draft)

  88. Handling Deployments When Provisioning JBoss domain.xml (With Ansible)

  89. Seek Understanding

  90. The Risks Of Big-Bang Deployments And Techniques For Step-wise Deployment

  91. Demonstration of Ansible Features With Control & Test VMs

  92. JBoss Modules Suck, It''s Impossible To Use Custom Resteasy/JAX-RS Under JBoss 7

  93. A Secret Weapon Against Technical Debt

  94. Most interesting links of January ''14

  95. Most interesting links of December ''13

  96. Bad Code: Are We Thinking Too Little?

  97. 2013 in review

  98. Code Is Cheap, It''s Knowledge Discovery That Costs

  99. Most interesting links of November ''13

  100. How I Learned to Avoid Magical Dependency Injection And Love Plain Java

  101. Most interesting links of October ''13

  102. The Failure of Governmental IT (Learnings From HealthCare.gov)

  103. My Highlights From EuroClojure 2013

  104. Fixed: Embedded Jetty Fails To Unpack With FileNotFoundException: Not a directory

  105. Most interesting links of September ''13

  106. Webapp Blue-Green Deployment Without Breaking Sessions/With Fallback With HAProxy

  107. Test Puppet config of an existing node using Puppet Master via Vagrant

  108. Most interesting links of August ''13

  109. Clojure REPL stores the latest results in *1, *2, *3, exception in *e

  110. Most interesting links of July ''13

  111. Running A Leiningen/Ring Webapp As A Daemon Via Upstart (Ubuntu)

  112. Installing & Troubleshooting Google Analytics 2013 (ga / analytics.js)

  113. Creating A Chart With A Logarithmic Axis In Incanter 1.5.1

  114. The Invisible Benefits Of Pair-Programming: Avoiding Wasteful Coding Excursions

  115. Most interesting links of June ''13

  116. Brief Intro Into Random/Stochastic/Probabilistic/Simulation/Property-Based Testing

  117. Patterns of Effective Delivery - Challenge Your Understanding Of Agile (RootsConf 2011)

  118. Installing Latest Node.JS And NPM Modules With Puppet

  119. Making Sense Out of Datomic, The Revolutionary Non-NoSQL Database

  120. Ignore requirements to gain flexibility, value, insights! The power of why

  121. Most interesting links of May ''13

  122. Tip: Include Context And Propose Solutions In Your Error Messages

  123. Accessing An Artifact''s Maven And SCM Versions At Runtime

  124. Lesson Learned: Don''t Use Low-Level Lib To Test High-Level Code

  125. Becoming A Better Programmer Through The Study of Good And Bad Code & Design

  126. Most interesting links of April ''13

  127. Book Review & Digest: Boyd: The Fighter Pilot Who Changed the Art of War (Relevant for IT/Business)

  128. The Value and Perils of Performance Benchmarks in the Wake of TechEmpower''s Web Framework Benchmark

  129. Most interesting links of Mars ''13

  130. Tools for Editor - Browser Integration for Interactive JS/HTML Development

  131. Markdown + JavaScript = Great HTML Presentation Decks

  132. Escaping the Zabbix UI pain: How to create a combined graph for a number of hosts using the Zabbix API

  133. You are not lean unless you have a clear objective and measure

  134. From Stateful Iteration in Python to Stateless Clojure

  135. Books Our Developers Should Read

  136. Most interesting links of February ''13

  137. JDBC: What resources you have to close and when?

  138. Most interesting links of January ''13

  139. The Sprinting Centipede Strategy: How to Improve Software Without Breaking It

  140. Bash: Parse Options And Non-Options With Getopts

  141. Bash Magic: List Hive Table Sizes in GB

  142. Fast Code To Production Cycle Matters: For Pleasure, Productivity, Profit

  143. My 2012 in Review

  144. Blogging Stats of 2012

  145. Most interesting links of December ''12

  146. What Is Clean Code? - In Quotes

  147. Most interesting links of November ''12

  148. Most interesting links of October ''12

  149. Tip: Import Leiningen Project to IntelliJ (With Dependencies)

  150. Do You Know Why You Are Testing?! (On The Principles Underlying TDD)

  151. Tool Tip: Byob - Screen With Text UI

  152. Puppet Troubleshooting: Compiling Catalog, Locating a Cached Catalog

  153. My Scala vs. Clojure Impression In Pictures

  154. Note: Loading Tab-Separated Data In Cascalog

  155. Most interesting links of September ''12

  156. Using Java as Native Linux Apps - Calling C, Daemonization, Packaging, CLI (Brian McCallister)

  157. Infographic: Why Should All Learn Little Code

  158. VisualVM: Monitoring Remote JVM Over SSH (JMX Or Not)

  159. Enabling JMX Monitoring for Hadoop And Hive

  160. The Best Code I Have Ever Written Is The Code I Never Wrote

  161. Programming Like Kent Beck

  162. (Unit) Testing Swiss Knife: All the Tools You Wanted to Know

  163. Help, My Code Isn''t Testable! Do I Need to Fix the Design?

  164. Most interesting links of August ''12

  165. Tip: How to Easily Customize PMD Rules in Eclipse

  166. Recommended Book: Real World Java EE Night Hacks by Adam Bien

  167. Minimalistic Practical Introduction to Puppet (Not Only) For Vagrant Users

  168. You''re Writing the Wrong Software - You Never Know What Users Want Until You Ask Them

  169. Zabbix: Fixing Active Checks to Work With Zabbix Proxy

  170. How to Add MapRed-Only Node to Hadoop

  171. Most interesting links of July ''12

  172. Book Review: Implementation Patterns

  173. Notify on Errors in a Log File with Zabbix 1.8

  174. Testing Zabbix Trigger Expressions

  175. Most interesting links of June ''12

  176. How to Set JVM Memory for Clojure REPL in Emacs (clojure-jack-in, clojure-swank)

  177. Creating Custom Login Modules In JBoss AS 7 (and Earlier)

  178. Serving Files with Puppet Standalone in Vagrant From the puppet:// URIs

  179. Most interesting links of May ''12

  180. Bad Code: Too Many Object Conversions Between Application Layers And How to Avoid Them

  181. Beautiful Code: Simplicity Yields Power

  182. Creating On-Demand Clusters in EC2 with Puppet

  183. Most interesting links of April ''12

  184. Exposing Functionality Over HTTP with Groovy and Ultra-Lightweight HTTP Servers

  185. Groovy Grape: Troubleshooting Failed Download

  186. Most interesting links of Mars ''12

  187. Note To Self: What to Do When a Vagrant Machine Stops Working (Destroy or Up Failing)

  188. Kent Beck: Best Practices for Software Design with Low Feature Latency and High Throughput

  189. Link: Benchmark and Scaling of Amazon RDS (MySQL)

  190. Most interesting links of February ''12

  191. Profiling Tomcat Webapp with VisualVM and NetBeans - Pitfalls

  192. Cool Tools: Fault Injection into Unit Tests with JBoss Byteman - Easier Testing of Error Handling

  193. Release 0.9.9 of Static JSF EL Expression Validator with Annotated Beans Autodetection

  194. Using Java Compiler Tree API to Extract Generics Types

  195. Separating Integration and Unit Tests with Maven, Sonar, Failsafe, and JaCoCo

  196. Troubleshooting Jersey REST Server and Client

  197. Most interesting links of January ''12

  198. How to Create Maintainable Acceptance Tests

  199. Visualize Maven Project Dependencies with dependency:tree and Dot Diagram Output

  200. uCertify

  201. Key Lessons from the Specification by Example Course, Day 1

  202. Annual Blogging Report 2011

  203. Most interesting links of December

  204. AWK: Extract Logs for the Given Date(s) from a Log File

  205. Quiz: What''s the Best Test Method Name?

  206. Getting Started with Amazon Web Services and Fully Automated Resource Provisioning in 15 Minutes

  207. Most interesting links of November

  208. The 3 Most Important Things I''ve Learned This Year

  209. Where to Get Sample Java Webapps

  210. What Changes When You Deploy More Frequently and Why You Should Do It

  211. Refactoring Spikes as a Learning Tool and How a Scheduled Git Reset Can Help

  212. Principles for Creating Maintainable and Evolvable Tests

  213. How to Fail With Drools or Any Other Tool/Framework/Library

  214. Tips And Resources For Creating DSLs in Groovy

  215. What Is CDI, How Does It Relate to @EJB And Spring?

  216. Book Review: Agile Project Management With Scrum

  217. Groovy: Use @Canonical to Get Compiler-generated Equals, HashCode and ToString

  218. Groovy: Creating an Interface Stub and Intercepting All Calls to It

  219. Most interesting links of October

  220. JSF: Beware the Difference Between Build-Time and Render-Time Tags in Facelets

  221. Never Mix Public and Private Unit Tests! (Decoupling Tests from Implementation Details)

  222. Hacking A Maven Dependency with Javassist to Fix It

  223. Only a Masochist Would Write Unit Tests in Java. Be Smarter, Use Groovy (or Scala...).

  224. Comparison of Eclipse 3.6 and IntelliJ IDEA 10.5: Pros and Cons

  225. Intro: Java Webapp Monitoring with Hyperic HQ + How to Alert on Too Many Errors in Logs

  226. hasProperty, the Hidden Gem of Hamcrest (and assertThat)

  227. Aggregating Error Logs to Send a Warning Email When Too Many of Them - Log4j, Stat4j, SMTPAppender

  228. Spring: Make an Externally Created Object Available to Beans in applicationContext.xml

  229. Tools for Renaming the Package of a Dependency with Maven

  230. Note to Self: Running GroovyConsole with a Maven Project''s Classpath

  231. Most interesting links of September

  232. Inspect Your Webapp in a Live Environment Interactively with GroovyConsole

  233. Link: Advanced Usage of JUnit Theories, Multiple DataPoints, and ParameterSuppliers

  234. JUnit Tip: Verifying that an Exception with a Particular Message was Thrown

  235. Practical Introduction into Code Injection with AspectJ, Javassist, and Java Proxy

  236. DRY: Use JUnit @Rule Instead of Repeating Setup/@Before in Each Test

  237. DbUnit Express 1.3 is Even Easier to Use and Still Better

  238. Most interesting links of August

  239. DbUnit Express Tips: Setup Simplification, Custom Data File Convention

  240. A Funny Story about the Pain of Monthly Deployments

  241. Most interesting links of July

  242. Experiencing JSF 1.2: Good but Needs a Framework

  243. Simple Logging HTTP Proxy with Grinder

  244. Having Database Test Ready in 10 Minutes with DbUnit Express

  245. Ivy: Retrieve Both .jar And -sources.jar Into A Folder - Note to Self

  246. Going to Present "Programmer''s Survival Kit: Code Injection for Troubleshooting" at JavaZone 2011

  247. Most interesting links of June

  248. Validating JSF EL Expressions in JSF Pages with static-jsfexpression-validator

  249. How to Fix Empty "Show all bookmarks" in Firefox 4

  250. Hacking Jasper to Get Object Model of a JSP Page

  251. Version hell with JSFUnit, Arquillian, and (embedded) Glassfish and other containers

  252. Most interesting links of May

  253. Ivy: How to Retrieve Source Codes of Dependencies

  254. Installing Java 1.4 to Mac OS X 10.6

  255. Upgrading FCKeditor 2.x to CKEditor 3.x including plugins

  256. Discussion: Agile not suitable for governmental IT?

  257. Most interesting links of April (renewed)

  258. How stateless can you go?

  259. What I''ve Learned from (Nearly) Failing to Refactor Hudson

  260. What Do I Mean by a Legacy Code?

  261. Refactoring the "Legacy" Hudson.java with the Mikado Method as a Coding Dojo

  262. Real-world data prove that Agile, BDD & co. work - lecture by G. Adzic

  263. How to customize CKEditor with your own plugins, skins, configurations

  264. CKEditor: Hide some toolbar buttons on a per page basis

  265. Code quality matters to the customers. A lot.

  266. CKEditor: Collapsing only 2nd+ toolbar rows - howto

  267. Most interesting links of March

  268. CKEditor: Scroll dialogs with the page, i.e. not fixed to the middle

  269. Introduction to ObjectTeams/Java, a Role-Based Approach to Modularity With AOP

  270. Why not to be afraid of 2012

  271. Most interesting links of February

  272. Hidden Dependencies Are Evil - Arguing With The Clean Code (Slightly)

  273. Clean Code: Four Simple Design Rules - Obligatory Read

  274. Manually restoring raw partclone partition image to a VMWare

  275. Most interesting links of January

  276. Goodby IBA, welcome, Norway and Iterate!

  277. Using Ivy with pom.xml

  278. EMF tips: Accessing model meta data, serializing into element/attribute

  279. EMF: Reading a model from XML - how to correctly declare its namespace - variants

  280. Creating dynamic EMF model from XSDs and loading its instances from XML as SDOs

  281. 2010 in review

  282. Most interesting links of December

  283. Tip: Multiple webservice implementation classes available at the same time under WAS7

  284. Howto: JAX-WS service with XML Source input instead of JAXB-produced POJOs (similar to JAX-RPC with SOAPElement input)

  285. Creating JAX-WS webservice using Service Data Objects (SDO) instead of JAXB-bound POJOs

  286. Ivy resolve downloads but ignores some artifacts (though not modules)

  287. Joshua Bloch: Performance Anxiety - on Performance Unpredictability, Its Measurement and Benchmarking

  288. Most interesting links of November

  289. Book review: Refactoring by Martin Fowler

  290. svn fun: <path> has no ancestry information

  291. More Eclipse & svn fun: Can''t share a project (only Team - Apply Patch)

  292. SOAP/SAAJ/XML Issues When Migrating to Java 6 (with Axis 1.2)

  293. If You Don''t Use Pair Programming and Code Reviews as Teaching Tools You Waste Money

  294. Knowing I''m Bad Programmer Makes Me Good Programmer

  295. Tip: Enable a shortcut for Occurrences in File in Eclipse under Gnome (default C+S+u)

  296. Most interesting links of October

  297. Tip: Retrieving server certificate used in SSL communication (e.g. POP3s)

  298. Most interesting links of September

  299. The power of batching or speeding JDBC by 100

  300. Exposing a POJO as a JMX MBean easily with Spring

  301. Implementing retrial with a MDB or an MQ batch job? (WAS 7, MQ 6)

  302. SSH magic: Authorize only once for multiple ssh/scp invocations

  303. Jetty-maven-plugin: Running a webapp with a DataSource and security

  304. Most interesting links of August

  305. An encrypted backup of a disk/partition to a Samba share with Clonezilla

  306. Most interesting links of July

  307. Mobile learning application MiniPauker 1.1.05 released - please test!

  308. My path to SCEA 5

  309. Most interesting links of June

  310. Implementing build-time bytecode instrumentation with Javassist

  311. Booting from a USB stick in VMware Player

  312. Webservice testing with JMeter: Passing data from a response to another request

  313. Most interesting links of May

  314. Migrating from JRoller to Wordpress

  315. How Visual Paradigm (nearly) ruined my day and Dropbox (nearly) saved it

  316. Eclipse Profile configuration: The launch requires at least one data collector

  317. Book: Real World Java EE Patterns - Rethinking Best Practices (review & digest)

  318. Mocking out LDAP/JNDI in unit tests

  319. Most interesting links of April

  320. My older posts at JRoller

  321. File-based User Authentication under WebSphere 6

  322. Most interesting links of March

  323. Enforcing a common log format with AspectJ

  324. Broken Eclipse shortcut under Gnome for Occurrences in File

  325. Eclipse: Open Type/Resource working again under Linux!

  326. Released DbUnit Test Skeleton 1.1.0 - also in Maven Central

  327. The Art of Logging (review)

  328. Releasing a project to Maven Central repository via Sonatype

  329. Compiling with AspectJ''s ajc compiler from Maven

  330. Troubleshooting logging configuration (Log4j, commons-logging)

  331. Preview of the Portlets in Action book available

  332. PatternTesting: Automatically verifying the good application of architectural/design patterns in code

  333. Injecting timing aspect into JUnit test in Eclipse using AspectJ, AJDT

  334. See how Test Driven Development is done in practice

  335. The quest for a portal web framework is over and the winner is: Spring Portlet MVC

  336. Released DbUnit Test Skeleton 1.0.0 - setup DbUnit test w/ embedded DB in few minutes

  337. A new release 0.30 of MiniPauker, a J2ME flashcard learning application

  338. A logging wrapper around PreparedStatement to provide detailed info upon error

  339. Lotus Notes 8.x under Linux: No window shows up, Tips for upgrading to LN8.5

  340. Using ScribeFire to publish to JRoller.com

  341. How I managed to deploy a JSF/Seam portlet to JBoss after all

  342. Developing portlets for Liferay in Eclipse

  343. [DRAFT] Maven "change" project extending a non-maven web project

  344. Seam Tutorial 1.2: RichFaces and paged table (datascroller)

  345. The Forgotten Hells or God Save North Korea!

  346. When will we see JSR 286 in JSF portlets?

  347. Seam Tutorial 1.1: RichFaces and paged table (datascroller)

  348. JSF: NullPointerException at FacesServlet.init line 144 / Can''t parse faces-config.xml - SocketException

  349. Are portlets dead? JSR168 and JSR286 versus reality.

  350. Eclipse 3.4: New Update Manager and broken Extension Locations

  351. Webapp performance monitoring with Glassbox 2.0: How does it work?

  352. Injecting better logging into a binary .class using Javassist

  353. Add method tracing (params, result) to existing application w/o modifying it

  354. The Ultimate Web UI Framework

  355. Introducing Facelets

  356. Truncating UTF String to the given number of bytes while preserving its validity [for DB insert]

  357. VMWare: Shrink image even though it’s a snapshot

  358. Dependency Finder 1.2.0 for Java

  359. Troubleshooting Class/Resource Loading on an Application Server

  360. WAS 6.0 ant tasks: Install an app with an external Ant

  361. RAD, WAS 6 Test Env and J2EE security: getting rid of “No received or invocation credential exist on the thread”

  362. RAD: Profiling a portlet

  363. Kill a zombie database (not in the directory but can’t create it)

  364. RAD: Server Configurations in Rational Developer 6.0: copy, repair...

  365. DB2: Find out current locks, long transactions etc. [snapshot]

  366. Ant/Maven: Add build date/revision to the generated JAR''s Manifest

  367. Sending a SOAP request to a Web Service via URLConnection

  368. RAD, WebSphere and changing the classloader mode

  369. Eclipse: Run => NoClassDefFoundError for an interface when loading a class implementing it

  370. Redeploy an application (ear/war/…) on JBoss

  371. Access EJB on JBoss from outside