Question

Holiday Hackathon 2019


Userlevel 4
Badge +25

Hi FME'ers,

It's that time of year for a hackathon! Yay! But first be aware...

Note

We are scaling back a little this time. I gave the marketing team permission to use the "12 Days of FME" title for something else, we'll have a bit less fanfare (no blog posts), and prizes will be restricted to what I can steal from the swag cupboard the next time I'm in Safe's head office (which might be nothing if I'm spotted).

So no fame or fortune, and not much glory: but hopefully a lot of fun and satisfaction in doing cool things with FME.

Theme and Rules

Rather than restrict us to a theme, I thought we'd go with an open competition. So, as in the past, you can submit any sort of project you like.

It can be a workspace, a custom transformer, a web service, or anything as long as FME is used in part of it.

It can be Christmas-related, or related to any other holiday you can think of; or neither.

You can treat it as a "hackathon for good" where you try to solve problems to make the world a better place, or just do something for the fun of it.

You can work by yourself, or as a team.

Ideas

Just in case you are stuck for ideas of what to do, here are a few that I was thinking of:

  • Try to do something listed as an Idea, or asked as a question.

For example, one recent question asked if FME could be made to read a barcode. Looking up the specification for barcodes, I think this could be done. Could it be done by you?

  • Take an FME Hub item and work on it to make improvement.

For example, I recently made some items for the hub using a JavaScript library called D3. But I noticed that there are lots of other D3 examples that could also be combined with FME. Want to try?

  • Test a Theory with FME

I realized that the quiz this week (pitching Dale vs FME users) was sort of a way to prove the Wisdom of the Crowd theory. Could you take a theory like that and create a test with FME to prove it?

  • A step by step puzzle/treasure hunt

I get really interested by these online games that go from one puzzle to another (sometimes without telling you who is even publishing the puzzles). One of them is called Do Not Believe His Lies.

Could you do the same with FME? I think so. Here's one example puzzle to show you the sort of thing I mean: https://demos-safe-software.fmecloud.com/fmeserver/apps/QuickPuzzle

Timeline

I think we should take two weeks max over this, so post your submissions as an answer below by 20th December. Then I'll set up a vote to determine the winners (so upvotes on the answers won't count).

FAQ

Any questions? If so, post them as comments and I'll answer them here.

So start your FME engines and - most importantly - have fun.


13 replies

Badge +5

My entry expands on a tweet I did a month ago.  It uses FME to turn Xmas lights on and off in time with music.  At the moment it is just controlling LED's on a breadboard but hopefully I should have video of it controlling full lights on a tree soon.

The lights are controlled by an SR-201 ethernet relay with two relays.  This is controlled by FME sending a simple TCP command, 11 turns on output 1, 21 turns off output 1, 12 turns on output 2 and 22 turns on output 2.

When run, the workspace plays music by using the SystemCaller to call MPG123 with the selected mp3 file.

  start /b D:\Apps\mpg123\mpg123.exe $(mp3)

The timing of the lights is controlled by a spreadsheet where the first column is the Time an event needs to happen and following columns are whether an output is to be turned on (1) or off (2). 

The time between records is passed to a Decelerator so the action is fired at the right time.

0684Q00000ArKQWQA3.png

xmaslights.zip0684Q00000ArKOWQA3.jpg

Badge +5

My entry expands on a tweet I did a month ago.  It uses FME to turn Xmas lights on and off in time with music.  At the moment it is just controlling LED's on a breadboard but hopefully I should have video of it controlling full lights on a tree soon.

The lights are controlled by an SR-201 ethernet relay with two relays.  This is controlled by FME sending a simple TCP command, 11 turns on output 1, 21 turns off output 1, 12 turns on output 2 and 22 turns on output 2.

When run, the workspace plays music by using the SystemCaller to call MPG123 with the selected mp3 file.

  start /b D:\Apps\mpg123\mpg123.exe $(mp3)

The timing of the lights is controlled by a spreadsheet where the first column is the Time an event needs to happen and following columns are whether an output is to be turned on (1) or off (2). 

The time between records is passed to a Decelerator so the action is fired at the right time.

0684Q00000ArKQWQA3.png

xmaslights.zip0684Q00000ArKOWQA3.jpg

The video of it hooked up to the tree is now on YouTube.

Userlevel 4
Badge +25

The video of it hooked up to the tree is now on YouTube.

Absolutely fantastic. Love it.

Badge +8

National Hockey Ligue has an API that needs to be discover by hockey fans. If it is important for you to view the score of your favorite hockey team each morning, to know whom have scored the goals and from where, then this workbench is for you. The workbench generates a 3D PDF, so you can have a different analysis experience from the traditional boring 2D perspective.

If you want a better experience, I suggest you install the new transformer WebPageOpener (thanks to @sigtill). If you choose a date and your team hasn't played that day, it will open directly the calendar of your team into Chrome via the WebPageOpener. This way you'll be able to choose rapidly a good date for your team before running the workbench again.

You'll be ask to choose the goalies dimension. In 3D, it adds about 5 minutes to the script, depending of your machine. Haven't got the time to optimize that part. Every single geometry is create directly into the workbench and all the logos are downloaded from a Dropbox account.

Each puck on the ice equals a goal from the team you see onto the puck. Don't forget that this is for the entire game, so that's why you may see two teams around the same net. If you need more explanations about hockey rules, read this.

I would like to thank the National Hockey League for this great API (little shout out to Gary Bettman) and all the FME Community for their great support each day of the year!

Made with FME 2019.1

NHL_Game_Analyzer.fmw

Badge +21

National Hockey Ligue has an API that needs to be discover by hockey fans. If it is important for you to view the score of your favorite hockey team each morning, to know whom have scored the goals and from where, then this workbench is for you. The workbench generates a 3D PDF, so you can have a different analysis experience from the traditional boring 2D perspective.

If you want a better experience, I suggest you install the new transformer WebPageOpener (thanks to @sigtill). If you choose a date and your team hasn't played that day, it will open directly the calendar of your team into Chrome via the WebPageOpener. This way you'll be able to choose rapidly a good date for your team before running the workbench again.

You'll be ask to choose the goalies dimension. In 3D, it adds about 5 minutes to the script, depending of your machine. Haven't got the time to optimize that part. Every single geometry is create directly into the workbench and all the logos are downloaded from a Dropbox account.

Each puck on the ice equals a goal from the team you see onto the puck. Don't forget that this is for the entire game, so that's why you may see two teams around the same net. If you need more explanations about hockey rules, read this.

I would like to thank the National Hockey League for this great API (little shout out to Gary Bettman) and all the FME Community for their great support each day of the year!

Made with FME 2019.1

NHL_Game_Analyzer.fmw

Added an FMEAR-writer to your workspace also - looks nice, great work @philippeb !

Userlevel 4
Badge +25

National Hockey Ligue has an API that needs to be discover by hockey fans. If it is important for you to view the score of your favorite hockey team each morning, to know whom have scored the goals and from where, then this workbench is for you. The workbench generates a 3D PDF, so you can have a different analysis experience from the traditional boring 2D perspective.

If you want a better experience, I suggest you install the new transformer WebPageOpener (thanks to @sigtill). If you choose a date and your team hasn't played that day, it will open directly the calendar of your team into Chrome via the WebPageOpener. This way you'll be able to choose rapidly a good date for your team before running the workbench again.

You'll be ask to choose the goalies dimension. In 3D, it adds about 5 minutes to the script, depending of your machine. Haven't got the time to optimize that part. Every single geometry is create directly into the workbench and all the logos are downloaded from a Dropbox account.

Each puck on the ice equals a goal from the team you see onto the puck. Don't forget that this is for the entire game, so that's why you may see two teams around the same net. If you need more explanations about hockey rules, read this.

I would like to thank the National Hockey League for this great API (little shout out to Gary Bettman) and all the FME Community for their great support each day of the year!

Made with FME 2019.1

NHL_Game_Analyzer.fmw

That looks fantastic! I will give it a try soon. I'm not sure people at Safe's head office will like the score of the Vancouver game ;-)

Badge +8

Added an FMEAR-writer to your workspace also - looks nice, great work @philippeb !

I'm not familiar with FMEAR but why everything is green? It's cool though!

Badge

I just fancied making a Christmas tree....

 

xmas tree.fmw
Userlevel 4
Badge +25

I just fancied making a Christmas tree....

 

xmas tree.fmw

And what a great tree it is. Here's a picture for everyone:

Badge +22

My original idea for the holiday hackathon ended up being substantially more difficult than anticipated - I'll need another 15 hours to get it to work :( .

So you get an improved version of the 3DPolylineExpander based off of this question. Now with the option of banking curves, so instead of being a constant Z perpendicular to the original polyline, it will slope down towards the inner side of a turn.

With sides extruded to the ground:

 

polylineexpander.fmwt

Badge +10

FME Snakes and Ladders Board Game

Snakes and Ladders, known originally as Moksha Patam, is an ancient Indian board game regarded today as a worldwide classic. It is played between two or more players on a game board having numbered, gridded squares. A number of "ladders" and "snakes" are pictured on the board (see pic), each connecting two specific board squares. The object of the game is to navigate one's game piece, according to die rolls, from the start (bottom square) to the finish (top square), helped or hindered by ladders and snakes, respectively.

The game is a simple race based on sheer luck, and is popular with young children. The historic version had its roots in morality lessons, on which a player's progression up the board represented a life journey complicated by virtues (ladders) and vices (snakes). The illustrations in the traditional board game, show good deeds and their rewards; bad deeds and their consequences.

https://en.wikipedia.org/wiki/Snakes_and_Ladders

FME Snakes and Ladders Board Game: Conceptualization

Bitten by the FME Holiday Hackathon 2019 bug, I decided to try something outside of FME Desktop and FME Server, that we have been using all through the year. Mark Ireland's indication that “It can be a workspace, a custom transformer, a web service, or anything as long as FME is used in part of it”, made me conceive this unique board game that you can play during the holidays with anyone, who does not know what FME is! However, if you are a FME user, you can still keep in touch with FME through FME Lizard, until you hit your desk in 2020.

The FME Snakes and Ladders Board Game is a hand-crafted board game devised using an old discarded A0 size plot of a State Map of India. The game track and other features are hand drawn, in some cases stickers used. I would like to give due credit to my five year old son “Srihari” who was part of this holiday hackathon project in assisting me with the coloring of tracks to pasting of FME Lizards at random locations. Well he did have some say in the placement of snakes and ladders, besides the pleasure islands!

What do you need to play the FME Snakes and Ladders Board Game?

Even a single player can play the game. The recommended is that atleast two players play the game using the following items:

Single dice or One die (the same die can be used by the other player to roll)

Each player is represented by a distinctly coloured game piece token. One token for each player (the token can be anything from a colored plastic chip to decorated wooden chips or any other tokens from other board games (even a FME Lizard giveaways from Safe Software with some markings to make it unique to each player), to just differentiate the progress of each player on the board.

FME Snakes and Ladders Board Game: The Rules

  • Each player starts with an unique token on the starting square (marked as "1" on a circle with a tiger nearby) grid square in the bottom left corner, or simply, off the board next to the "1" grid square).
  • A player can move only after rolling a “1” on their die, until then the players take turns rolling a single die.
  • Players take turns rolling a single die to move their token by the number of squares indicated by the die roll.
  • Tokens follow a fixed route marked on the game board, which follows the numbers 1-100 from the bottom left of the playing area, passing once through every square.
  • If, on completion of a move, a player's token lands on the lower-numbered end of a "ladder", the player moves the token up to the ladder's higher-numbered square, following the arrow directions.
  • If the player lands on the higher-numbered square of a "snake", the token must be moved down to the snake's lower-numbered square.
  • If a player rolls a 6, the player may, after moving, immediately take another turn to roll the die; otherwise play passes to the next player in turn.
  • The player who is first to bring their token to the last square of the track (number 100- The FME Palace) is the winner.
  • If you reach any of the pleasure islands (grid numbers 10, 25, 31, 51, 58, 65, 70 and 90), you skip a chance to play (roll the die) as you are relaxing.
  • When a player reaches grid 94 and beyond, the following rules apply
    • If the token is at 94 and the player rolls a “6”, the player’s token can be moved to the last square of the track (number 100- The FME Palace)
    • If the token is at 95, and the player rolls a “6”, the player’s token cannot move, but the player can roll the die again. A player has to roll either the exact number required to reach the last square in the track or less (number 100- The FME Palace), only then the token of the player can be moved based on the number rolled on the die. Otherwise, the chance passes to the next player.
  • The game ends after any player first reaches the last square of the track (number 100- The FME Palace). Alternatively, if there are more than two players, the game can continue between the remaining players until only one player is left.

 

Low resolution (400 dpi) printable is attached with this post, while the actual size high resolution printable (as well as the low resolution) can be downloaded from this link

FME Snakes and Ladders Board Game

 

The shared folder also contains the game rules already posted here, in case you need to print it.

You can print this on a foldable laminated sheet starting from A3 size and upwards.

 

If you have any questions, or you liked the game and would like to send a word of appreciation or two, please reach me at

 

FME Snakes and Ladders Board Game low resolution printable included here:

Enjoy your FME Snakes and Ladders Board Game, whilst you enjoy your holidays!

Happy Holidays and a Happy New Year 2020!

Happy FME-ing :-)

SRG

Badge +2

Holidays is coming to town so we’ll have some spare time to spend (I hope so) and could be fun to watch a movie, even better if it’s a Christmas movie.

If you know the movie but cannot remember the title, simply download the workspace, grab your free API Key from http://www.omdbapi.com/apikey.aspx and run it.

 

moviefinder.fmw

Userlevel 4
Badge +25

OK folks. I am officially closing the Holiday Hackathon for 2019.

Voting for your favourite project starts... NOW!

Use this link and give each project a rating from 1-5: https://www.surveymonkey.com/r/R9BGN5C

Note: I didn't specify a time to close for entries. In the unlikely event I closed the page too early (c'mon it's late afternoon now) then do let me know and I *might* let you post a new entry.

Reply