def camelize(string, uppercase_first_letter=True):
    """
    Convert a string with underscores to a camelCase string.
    
    Inspired by :func:`inflection.camelize` but even seems to run a little faster.
    
    Args:
        string (str): The string to be converted.
        uppercase_first_letter (bool): Determines whether the first letter
            of the string should be capitalized.
    
    Returns:
        str: The camelized string.
    """    

    if uppercase_first_letter:
        return ''.join([word.capitalize() for word in string.split('_')])
    elif not uppercase_first_letter:
        words = [word.capitalize() for word in string.split('_')]
        words[0] = words[0].lower()
        return ''.join(words)