Tim Cooke

Marshal
+ Follow
since Mar 28, 2008
Tim likes ...
Clojure IntelliJ IDE Java
Standard Nerd
Belfast
Cows and Likes
Cows
Total received
299
In last 30 days
1
Total given
714
Likes
Total received
1312
Received in last 30 days
3
Total given
436
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt Green check
expand Greenhorn Scavenger Hunt Green check

Recent posts by Tim Cooke

First, a big thanks to Randy Abernethy for being here to promote the book Programmers Guide to Apache Thrift.

The winners are:

  • Timur Radzhabov
  • Carl Byrd
  • Tim Moores
  • Randy Tong

  • Please send your snail mail address to bookpromotion AT javaranch DOT com. To ensure the quickest response, please provide the following:

    Your name (first and last - if your CodeRanch name is different, please include both your real name and Ranch name)
    Email
    Country (needed even if requesting an e-book)
    Address
    Phone Number


    Also, please include the following as the subject of your Email.

    Book Promo Winner - Programmers Guide to Apache Thrift - Tuesday, June 11th, 2019


    Image from https://m.media-amazon.com

    As noted in the Book Promotion Eligibility Requirements and Legal type stuff, the winners have 8 days to submit their information. Within 3 days of receipt of your email, we will reply to let you know we got it. If you don't hear back, the goat might have eaten your email. Please let us know by posting in the Ranch Office so we can check on it. Once you have received your copy please let us know by editing the Book Promotions Winners Page and updating the 'Status' column to say you have it.

    Thanks and congrats to all the winners.
    This week, we're delighted to have Randy Abernethy helping to answer questions about the new book Programmers Guide to Apache Thrift.


    The promotion starts Tuesday, June 11th, 2019 and will end on Friday, June 14th, 2019

    We'll be selecting four random posters in this forum to win a free copy of the book provided by the publisher, Manning.


    Image from https://m.media-amazon.com

    Please see the Book Promotion page to ensure your best chances at winning!

    Posts in this welcome thread are not eligible for the drawing, and should be reserved for welcoming the author. Questions posted in this topic are subject to removal.
    First, a big thanks to David A. Black & Joseph Leo III for being here to promote the book The Well-Grounded Rubyist.

    The winners are:

  • Anna Baik
  • meenakshi sundar
  • Tony Esposito
  • Sam Maghett

  • Please send your snail mail address to bookpromotion AT javaranch DOT com. To ensure the quickest response, please provide the following:

    Your name (first and last - if your CodeRanch name is different, please include both your real name and Ranch name)
    Email
    Country (needed even if requesting an e-book)
    Address
    Phone Number


    Also, please include the following as the subject of your Email.

    Book Promo Winner - The Well-Grounded Rubyist - Tuesday, May 28th, 2019


    Image from https://m.media-amazon.com

    As noted in the Book Promotion Eligibility Requirements and Legal type stuff, the winners have 8 days to submit their information. Within 3 days of receipt of your email, we will reply to let you know we got it. If you don't hear back, the goat might have eaten your email. Please let us know by posting in the Ranch Office so we can check on it. Once you have received your copy please let us know by editing the Book Promotions Winners Page and updating the 'Status' column to say you have it.

    Thanks and congrats to all the winners.
    2 weeks ago
    This week, we're delighted to have David A. Black & Joseph Leo III helping to answer questions about the new book The Well-Grounded Rubyist.


    The promotion starts Tuesday, May 28th, 2019 and will end on Friday, May 31st, 2019

    We'll be selecting four random posters in this forum to win a free copy of the book provided by the publisher, Manning.


    Image from https://m.media-amazon.com

    Please see the Book Promotion page to ensure your best chances at winning!

    Posts in this welcome thread are not eligible for the drawing, and should be reserved for welcoming the author. Questions posted in this topic are subject to removal.
    3 weeks ago
    Hello Kalle, welcome to the Ranch! I hope you enjoy your stay.

    I updated the book cover image, thanks for pointing it out.
    4 weeks ago
    A HTC phone in 1998? You sure? The popular flip phone from that era as I remember it was the Motorola StarTac.
    4 weeks ago
    It must have been around 1996 or 1997 when I got a Motorola mr20 on a contract with Orange from a Carphone Warehouse store in Oxford.
    4 weeks ago
    I'm dipping in and out of thinking about a solution to this problem, specifically the solution I'm going to apply to my system, so apologies for the long periods of radio silence. As always Junilu I appreciate your input very much.

    I was aware of the 12 factor app and have now read over the config and build sections many times. I'm currently focussed on this statement:

    12factor.net wrote:The twelve-factor app stores config in environment variables (often shortened to env vars or env). Env vars are easy to change between deploys without changing any code; unlike config files, there is little chance of them being checked into the code repo accidentally; and unlike custom config files, or other config mechanisms such as Java System Properties, they are a language- and OS-agnostic standard.


    I completely get the idea here of using env vars and it sounds very appealing to me but I don't have a good idea of where to store the configuration values. The app is Spring Boot so can have a single application.properties file where the values are placeholders for environment variables

    application.properties
    That gets me a single configuration file within the repo that defines the configuration items that are required. This will be an improvement as currently we have multiple config files for different environments and some extra that devs have added for their own testing and one of the problems is that the set of config keys are not consistent across these files where new items have been added to a dev config file but not the prod one.

    If I go with this approach then I have the configuration items in my repo with no values, which is good. But now I'm back to the same question of where do I keep my config values?
    1 month ago
    Great to hear it's not just me feeling uneasy about it, thanks for the feedback. It's now on my list to be refactored out.
    1 month ago
    Project Lombok

    https://projectlombok.org/

    Provides short cuts for boilerplate Java code, such as replacing explicitly written getters and setters with field annotations. For example:

    I have only come across this recently and my initial reaction is that I don't like it. Particularly because you lose all the help from your IDE where mine marks all fields as unused because there is no explicit code making use of them.

    To gauge whether I'm just cynical and suspicious of all new things or not, what do you think of it?
    1 month ago
    Ranch Foreman comes with no extra privileges other than the money-can't-buy glory of being recognised as one of the most active and helpful of Ranch Hands.

    Promotion is automatic. Gir Bot keeps a tally of who's the most active and helpful (likes and cows) and selects the top few for promotion.
    1 month ago

    saad el khlifi wrote:an amazing javaranch team


    You mean 'CodeRanch' of course
    First, a big thanks to Slobodan Stojanovic & Aleksandar Simovic for being here to promote the book Serverless Applications with Node.js.

    The winners are:

  • sourabh girdhar
  • Tim Holloway
  • Noorul Hameed
  • saad el khlifi

  • Please send your snail mail address to bookpromotion AT javaranch DOT com. To ensure the quickest response, please provide the following:

    Your name (first and last - if your CodeRanch name is different, please include both your real name and Ranch name)
    Email
    Country (needed even if requesting an e-book)
    Address
    Phone Number


    Also, please include the following as the subject of your Email.

    Book Promo Winner - Serverless Applications with Node.js - Tuesday, April 23rd, 2019


    Image from https://m.media-amazon.com

    As noted in the Book Promotion Eligibility Requirements and Legal type stuff, the winners have 8 days to submit their information. Within 3 days of receipt of your email, we will reply to let you know we got it. If you don't hear back, the goat might have eaten your email. Please let us know by posting in the Ranch Office so we can check on it. Once you have received your copy please let us know by editing the Book Promotions Winners Page and updating the 'Status' column to say you have it.

    Thanks and congrats to all the winners.
    Thanks for the detailed reply Junilu, much appreciated.

    The problem I have is that because the settings exist in the same repo as the codebase and gets packaged up in the jar then it couples the build to the environment. Let's say that the database user credentials change, oh shoot now we need to build, test, and deploy a new version of the application. This is sub optimal.

    My thoughts are to externalise the configuration and maintain it separately, perhaps in a separate repository, so that the same build version can be deployed in different environments. So would it be a good idea to create a separate repository for configuration? Perhaps even separate repositories for Dev and Prod configurations to minimise the visibility of sensitive information such as the credentials to the live payment gateway?

    Thoughts?
    1 month ago
    Hi,

    I'm working with a system that currently has its configuration stored in the code repo and that is packaged up into the build artefact. There are many reasons why this is not ideal and I am working to extract them from the build and define them externally, most likely through environment variables but maybe some external config file.

    My question is how do I manage external configuration? Do you keep them in separate repos? A Wiki page? Other?

    Thanks, Tim
    1 month ago