I am a passionate web and software developer. After years as a naval engineer I switched carreer to fully invest myself into coding.
Guillaume Bihet is a passionate software developer. After years as a naval engineer in the yacht building industry he turned the page to go fully his passion for coding.
A Ruby on Rails web app that includes online payment, documents uploading, an admin interface for competition creation and management, automaticaly generated start lists based on athletes announcements and advanced database relationships.
I worked on an Agile software development team building a chess application. Under the guidance of a senior software engineer, we had weekly Agile team meetings for code reviews, sprint planning, and feature assignments.
A NodeJS/ExpressJS movie review apps powered by The Movie Database API
A ReactJS note-taking app with a fluid user interface
A two-sided, video-streaming marketplace platform that features credit card payment capabilities, user role management, complex user interfaces, and advanced database relationships.
An Instagram clone that was built using industry-standard, test-driven development following numerous red/green/refactor cycles.
A Yelp clone that integrates with the Google Maps API and includes features like user comments, star ratings, image uploading, and user authentication.
From any array, this program will generate a tree in which each node has no more than k children. The idea of this came while testing searching algorithms on trees, willing to test them on very large trees out of curiosity, I realized it would be very tideous to hard code the trees node by node.
Cf. my Medium blog post here
def obstructable? can_protect = false king = self @squares = (1..8).to_a.product((1..8).to_a) game.pieces.each do |piece| if piece.type != "King" && piece.color == king.color @squares.each do |square| target = self.game.pieces.where(position_x: square, position_y: square) if piece.valid_move?(square,square) && target == nil orig_x = piece.position_x orig_y = piece.position_y piece.update_attributes!(position_x: square,position_y: square) if king.is_in_check? == false can_protect = true end piece.update_attributes!(position_x: orig_x,position_y: orig_y) end end end end return can_protect end
This snippet is one of the key methods to determine a check mate in the chess game build on an Agile Team project. It scans the game to see if any of the pieces has a move that could protect the king from bein in check, calling other methods in the process.
Similar to the k-ary tree generator but more advanced in the sense that it will produce totally random trees from any array. The root of the tree, the order of insertion of the array items, the number of children per node will all be random (an upper limit is set for the maximum amount of children per node, in order to give a bit of control on the tree generator).
Cf. my Medium blog post here
This snippet creates enrollment for an athlete, covering all possible cases, such as:
- create action triggered by an admin
- admin action: no competitor selectedd
- no competition day selected
- competition status set to registration closed
I developed proficiency in the following programming languages and comfort with the following tools.
Currently entertaining new opportunities. Please get in touch via email: