Vivien Leroy

Software engineer

I have an intense passion for computers.

Be it development or system administration, I always had this need to tinker with my computers. I also enjoy good ui/ux design and can’t help but stay hours long on design blogs and sites. I graduated as an IT engineer late 2012, worked as a web project manager at Lemon Interactive, as an iOS developer at AXA France and now am Lead iOS developer at Oxygem.

I builds apps & websites for the masses.

def parse! arguments=ARGV, defaults=@defaults
    @defaults.dup.tap do |options|
      OptionParser.new do |parser|
        parser.banner = "Usage: mailcatcher [options]"
        parser.version = VERSION

        parser.on("--ip IP", "Set the ip address of both servers") do |ip|
          options[:smtp_ip] = options[:http_ip] = ip
        end

        parser.on("--smtp-ip IP", "Set the ip address of the smtp server") do |ip|
          options[:smtp_ip] = ip
        end

        parser.on("--smtp-port PORT", Integer, "Set the port of the smtp server") do |port|
          options[:smtp_port] = port
        end

        parser.on("--http-ip IP", "Set the ip address of the http server") do |ip|
          options[:http_ip] = ip
        end

        parser.on("--http-port PORT", Integer, "Set the port address of the http server") do |port|
          options[:http_port] = port
        end

        if mac?
          parser.on("--[no-]growl", "Growl to the local machine when a message arrives") do |growl|
            if growl and not growlnotify?
              puts "You'll need to install growlnotify from the Growl installer."
              puts
              puts "See: http://growl.info/extras.php#growlnotify"
              exit!
            end

            options[:growl] = growl
          end
        end

        unless windows?
          parser.on('-f', '--foreground', 'Run in the foreground') do
            options[:daemon] = false
          end
        end

        if browse?
          parser.on('-b', '--browse', 'Open web browser') do
            options[:browse] = true
          end
        end

        parser.on('-v', '--verbose', 'Be more verbose') do
          options[:verbose] = true
        end

        parser.on('-h', '--help', 'Display this help information') do
          puts parser
          exit!
        end
      end.parse!
    end
  end

And I do it well using top notch technologies such as Swift, Objective-C, Ruby, PHP, HTML5, CSS3, Javascript and more…

Pokécenter

It was my first experience with iOS, where I learnt about Cocoa Touch and developed my skills. Also my first time using a ßeta distribution platform, here TestFlight (way before it was acquired by Apple). Not released.

Pokecenter.app screenshot