Author Topic: "Make With Ada" Competition  (Read 31158 times)

0 Members and 1 Guest are viewing this topic.

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: "Make With Ada" Competition
« Reply #100 on: March 26, 2019, 02:42:57 pm »
Success!  I got the LED Demo running on my STM32 F4 Discovery board.  It pays to use the proper board when first starting up!

This is the board that works:
http://www.digikey.com/product-detail/en/stmicroelectronics/STM32F407G-DISC1/497-16287-ND/5824404

It has about 80 IO lines to play with plus another 20 assorted Vcc, Gnd and Misc. lines.

Since the ST-Link V2 adapter is built in, there is nothing else to buy.

You should have added a LDR, then you would have won the 1st prize this year, $5000:

https://twitter.com/adaprogrammers/status/1110543238316867585

The schematic diagram of this project is at least as complex as the Ariane 5 rocket controller:

So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14299
  • Country: fr
Re: "Make With Ada" Competition
« Reply #101 on: March 26, 2019, 03:07:46 pm »
I wonder what the other projects looked like then...  ;D
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3452
  • Country: it
Re: "Make With Ada" Competition
« Reply #102 on: March 26, 2019, 03:31:30 pm »
Seriously? Because then the contest front page showcased really advaced shit
 

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: "Make With Ada" Competition
« Reply #103 on: March 26, 2019, 03:41:35 pm »
Yes, the twitter account who announced the winner is the official contest twitter account.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: "Make With Ada" Competition
« Reply #104 on: March 26, 2019, 03:50:31 pm »
PS: the source code of the winning project:

https://github.com/guillengap/pid-lightmeter-adacore/blob/master/pid_light_control/src/pid_light_control.adb

I wonder why the first line says "BATTERY CHARGER"? Forgot to delete the comment from code copied from elsewhere?

And Ada is so verbose. I'm sure this 142 lines of Ada code could be written in less than 20 lines of Arduino code. And it would be easier to write, easier to read and easier to understand.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 

Offline FabienC

  • Contributor
  • Posts: 11
  • Country: fr
Re: "Make With Ada" Competition
« Reply #105 on: March 29, 2019, 11:28:34 am »
The schematic diagram of this project is at least as complex as the Ariane 5 rocket controller:

Hi Frank,

I work for AdaCore and I am one of the organizer of the Make with Ada competition. We received similar feedback here and there, so I want to give you my point of view on the matter.

We understand that the results can seem unfair, in part because the winning project is not technically complex.

For the Make with Ada competitions we never had a criteria on the complexity of the problem addressed, the complexity of the solution, the number of lines of code or anything of that nature. The intent was to have the competition open to everyone, including beginners.
The result is that the focus is more on how well you explain your project than the complexity of the project itself.

This worked well for us in the first two editions, so we kept it that way for the third.

We are open to suggestions on how to fix this. We do have some ideas:
  • Introduce a complexity factor in the judging.
  • Remove this strict judging process and just have "AdaCore" pick the projects that are the most impressive/cool. But that means it is very difficult for contestants to know what will be valued in their project.
  • Have more winners by spreading the prizes. e.g. 8 winners at 1000 euros instead of 5000, 2000 and 1000.

Thanks for you feedback, and let us know if you have an idea to make the next Make with Ada even better.
 

Offline ebastler

  • Super Contributor
  • ***
  • Posts: 6202
  • Country: de
Re: "Make With Ada" Competition
« Reply #106 on: March 29, 2019, 11:57:53 am »
We are open to suggestions on how to fix this. We do have some ideas:
  • Introduce a complexity factor in the judging.
  • Remove this strict judging process and just have "AdaCore" pick the projects that are the most impressive/cool. But that means it is very difficult for contestants to know what will be valued in their project.
  • Have more winners by spreading the prizes. e.g. 8 winners at 1000 euros instead of 5000, 2000 and 1000.

I strongly feel the criteria should include some of the following:
  • Interesting results or functionality (rather than the umpteenth rehash of a remote controlled light switch or such).
  • Highlights benefits of using Ada, rather than some other language.
  • Not overly complex, so the two benefits above can be understood by the audience.
 

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: "Make With Ada" Competition
« Reply #107 on: March 29, 2019, 12:52:41 pm »
"Interesting results or functionality" and "Highlights benefits of using Ada" sounds good. I wouldn't judge for "Not overly complex". If the documentation is good, it can be complex. But if it is just a light dimmer which you can write in 20 lines of Arduino code with no benefits from Ada, it would score 0 points in the first 2 categories, even if it has a very comprehensive documentation. So maybe this would work better:

- interesting results or functionality
- highlights benefits of using Ada
- documentation

All 3 categories weighted the same, e.g. with points from 0 to 5 for each category and then a sum to get the winner. If someone is not that good at the documentation, he/she can still win with a very interesting project which uses all the features of Ada which makes it better than other languages in some cases. But light dimmers and similar boring projects would be automatically rated lower.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 
The following users thanked this post: ebastler

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: "Make With Ada" Competition
« Reply #108 on: March 29, 2019, 01:45:32 pm »
The result is that the focus is more on how well you explain your project than the complexity of the project itself.

IMHO the winning engineering design is the one which provides a simple solution to a complex problem. However, it's generally language independent, so it will be difficult to make it about Ada. You're in a tough spot.
 

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: "Make With Ada" Competition
« Reply #109 on: March 29, 2019, 02:10:24 pm »
However, it's generally language independent, so it will be difficult to make it about Ada. You're in a tough spot.

There are many features in Ada which are interesting for close to the metal programming, and safe programming, one of the main advantages of Ada. Of course, difficult to demonstrate with a project which is just a 19 lines loop plus some initialization and all the verbose overhead of Ada, but no special features are used, e.g. just Long_Float for all variables, as you would do it in C. People who see this source code wouldn't consider Ada for their own projects, because it doesn't demonstrate the advantages of Ada. And maybe extra points should be given if someone uses some formal verification of the program, like SPARK, or at least, or additionally, good test cases.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 
The following users thanked this post: Frank

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14299
  • Country: fr
Re: "Make With Ada" Competition
« Reply #110 on: March 29, 2019, 02:36:36 pm »
Agree with the remarks above.

It's fine not to emphasize overly complex projects, but too simplistic ones will just not do a favor to the contest. I'm guessing you probably got more complex projects using more advanced Ada features, and people behind those projects are likely to have gotten pretty annoyed when seeing the results. And if you didn't, maybe that's just because you already picked very simple projects in previous editions. This is just going to attract beginners in the end and push away the more advanced users. If this is your goal, fine.

Also, as already mentioned, projects that clearly show the benefits of using Ada should be favored. Otherwise the interest in Ada that your contest may spark will quickly fade away. Just my opinion of course.
 

Offline hedleyrainnie

  • Newbie
  • Posts: 2
  • Country: us
Re: "Make With Ada" Competition
« Reply #111 on: March 29, 2019, 06:43:57 pm »
In my case, I used MakeWithAda 2019 to force me to get some tech finished. I needed Ada BT/BLE support so I had to start somewhere. I spent 75% of the time on that and 25% on MakeWithAda unique code +LaTeX documentation. So sunk cost is the 25%. Some of the sunk cost I can reclaim such as being able to accept 3000interrupts/sec via using BASEPRI and shoving all the Ada runtime IRQ pris up a PRI group, that may become useful to me later.

My goal was to get Ada going on the new STM32WB55x series. I am making good progress on this and am about to get my first Ada program running on that platform (it has NO SVD file!!! I've had to generate one via a RM PDF scrape!) and will use the 75% of the big lift from getting BLE up on a SensorTile to make this happen. The BT/BLE func IDs are the same between the SensorTile's BlueNRG-MS and the STM32WB55x (just the transport changed from SPI to IPCC).

A win would have been the icing on the cake but I credit MakeWithAda for getting me off sitting on my hands and getting the heavy lift done. If I did not have the contest deadline staring me in the face I think it would still be a work in progress.

I will apply again for MakeWithAda if I see a fit like I saw it here. Basically, I am shooting for a 'twofer' a project motivator for some complex piece I need first and a contest entry second.

Best,

Hedley
 

Offline FabienC

  • Contributor
  • Posts: 11
  • Country: fr
Re: "Make With Ada" Competition
« Reply #112 on: April 04, 2019, 10:43:53 am »
Thanks all for the feedback  :-+

Also don't hesitate to ping me if you have comments on the new rules when we announce the next edition.

Hedley, I love Ada theremin 8)
 

Offline hedleyrainnie

  • Newbie
  • Posts: 2
  • Country: us
Re: "Make With Ada" Competition
« Reply #113 on: April 05, 2019, 03:45:22 am »
Thanks Fabien! If only you were the judge! :)

My recommendation for new contest rules might be multiple 1k$ prizes spread across multiple categories.

Also bring back a t-shirt so every entry gets some recognition  :)

Hedley
 

Offline FabienC

  • Contributor
  • Posts: 11
  • Country: fr
Re: "Make With Ada" Competition
« Reply #114 on: July 02, 2019, 04:20:33 pm »
Hello there,

We worked on new rules for the 2019 edition. The intent is to have a less strict judging process to allow for the panel to judge more from their own opinion.
We also changed the criteria to include the "wow effect".
And last but not least there are more opportunities to win a prize.

Here is a first draft, let us know what you think if these new rules:

Quote
Criteria
Projects will be evaluated using the information available either directly from the Submission or indirectly from the resources referred to by the Submission using the following criteria: 

 - Buzz effect: one of the main goals of  The Competition is to give more exposure to Ada, SPARK and related technologies. Projects will be judged in part with regards to how we think the project can have an impact in that regard: Will the project give more exposure to Ada ? Does it have a “wow effect” that will appeal to the technology community in general ? Will it show the benefits of Ada and related technologies ?

 - Open source: Does the Project have a Free Software License, as defined by the Free Software Foundation  or an open-source license, as defined by the Open Source Initiative?  Does it have  an open design?  Does it use open tools, hardware and platforms? Is the Project usable by other members of the programming community?  Does it have clearly-defined interfaces and documentation? Is it available in a public repository through a version control system such as svn or git? Does the public repository chosen supply  a bug tracking system? Can the Project be built with tools available to the community?

 - Software quality: Does the Project make use of processes and technologies that provide high confidence that the software meets its requirements (for example formal methods, SPARK, contract-based programming, testing, and coding standards)? Is its documentation accurate?
If the project has been submitted to a previous Make with Ada Competition, only the parts of the project that were not part of a previous submission or were significantly changed from the version of the project then submitted will be taken into account by the Panelists.

Prizes

The following “Prizes” will be awarded as part of the Competition:
 - Ten “Finalist Prizes”, in the amount  of 600 (six hundred) USD each;
 - The “First Prize”, in the amount of  of 2000 (two thousand) USD;
 - The “Student Prize” an Analog Discovery 2 Pro Bundle worth 299.99 USD.

Award of Prizes

The Judging Panel will select 10 finalist Projects from the pool of projects. Each finalist project will receive a “Finalist Prize”.

The Judging Panel will then select the competition winner from the 10 finalists and award it the “First Prize”.

Prize winners from previous editions of the competition are eligible  to enter but, in the event of a tie, priority will be given to those who have not previously won a prize.

A special student prize will be awarded to a Student Project either from the finalists or other participants, at the discretion of the Judging Panel.
 
The winners will  be announced in February 2019 on http://makewithada.org or possibly later  depending on the number of entries.
 

Offline FabienC

  • Contributor
  • Posts: 11
  • Country: fr
Re: "Make With Ada" Competition
« Reply #115 on: September 13, 2019, 01:34:48 pm »
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • Country: gb
  • Embedded stuff
Re: "Make With Ada" Competition
« Reply #116 on: September 14, 2019, 08:12:20 am »
This might be a long shot, or even off topic. Let's say I work for a company currently doing safety critical code in C (rather badly). I would like to create a proof of concept demo project to show the advantages of using Ada. The thing is it must use our existing hardware, based on TI AM4379, a Sitara Cortex-A9 SOC.

So the question is, is there a ready to go IDE set up I can use to create a demo project for this chip? (There is a TI IDK, TMDSIDK437X, which is close enough to the hardware we use). I haven't been able to find this info by searching TI or Adacore websites. There is the usual hand wavy marketing stuff, but little information for engineers.

Bob
"All you said is just a bunch of opinions."
 

Offline FreddieChopin

  • Regular Contributor
  • *
  • !
  • Posts: 102
  • Country: ua
Re: "Make With Ada" Competition
« Reply #117 on: September 15, 2019, 10:34:34 am »
This might be a long shot, or even off topic. Let's say I work for a company currently doing safety critical code in C (rather badly). I would like to create a proof of concept demo project to show the advantages of using Ada. The thing is it must use our existing hardware, based on TI AM4379, a Sitara Cortex-A9 SOC.

So the question is, is there a ready to go IDE set up I can use to create a demo project for this chip? (There is a TI IDK, TMDSIDK437X, which is close enough to the hardware we use). I haven't been able to find this info by searching TI or Adacore websites. There is the usual hand wavy marketing stuff, but little information for engineers.

But why Ada and not Rust or Go? Looking at programming trends Ada will go in tracks of COBOL and dBase while Go is the new C.
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14299
  • Country: fr
Re: "Make With Ada" Competition
« Reply #118 on: September 15, 2019, 01:27:04 pm »
But why Ada and not Rust or Go? Looking at programming trends Ada will go in tracks of COBOL and dBase while Go is the new C.

Uh huh. :popcorn:
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • Country: gb
  • Embedded stuff
Re: "Make With Ada" Competition
« Reply #119 on: September 15, 2019, 03:08:27 pm »
But why Ada and not Rust or Go? Looking at programming trends Ada will go in tracks of COBOL and dBase while Go is the new C.

Haven't you got something more useful to do than trolling internet forums?
Bob
"All you said is just a bunch of opinions."
 

Offline ebastler

  • Super Contributor
  • ***
  • Posts: 6202
  • Country: de
Re: "Make With Ada" Competition
« Reply #120 on: September 15, 2019, 03:42:06 pm »
But why Ada and not Rust or Go? Looking at programming trends Ada will go in tracks of COBOL and dBase while Go is the new C.

Haven't you got something more useful to do than trolling internet forums?

I don't think FC's post should be considered "trolling". It's a fact that Ada has declined steadily in popularity and "mindshare" since its introduction in the 1980s:
https://www.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language
https://www.tiobe.com/tiobe-index/

Obviously Ada still lives on in the niche of "safety-critical systems", and that is the area you mentioned an interest in. But even there, it's far from "Ada rules". Subsets of C and C++ are just as serious contenders as are Ada or its subsets: http://vita.mil-embedded.com/articles/when-programming-language-technology-safety/

With a view to maintaining a software package in the long run (which you typically need to do for a safety-critical system, as it won't get rewritten for a looong time), it may be a good idea to bank on a language where you are more likely to find the next generation of programmers in 10 years.
 

Offline CatalinaWOW

  • Super Contributor
  • ***
  • Posts: 5172
  • Country: us
Re: "Make With Ada" Competition
« Reply #121 on: September 15, 2019, 05:18:35 pm »
Another thought.  While Ada does prevent some classes of programming mistakes, the quality of a program still depends on the quality of the coder/programmer.  I have seen some truly awful Ada code.  While formally correct it required compute resources an order of magnitude or more larger than well written code and as a bonus was difficult to understand.  If you want to write mission critical software there is some real merit in having a large pool of experienced programmers so that you have a good chance of getting some good ones.  Ada never achieved that status (although some will quibble over the definition of large), and is slipping further away from that status over time.

Competitions like this might have some impact on spreading Ada utilization, but it seems a largely lost cause. 
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26755
  • Country: nl
    • NCT Developments
Re: "Make With Ada" Competition
« Reply #122 on: September 15, 2019, 06:22:19 pm »
But why Ada and not Rust or Go? Looking at programming trends Ada will go in tracks of COBOL and dBase while Go is the new C.

Haven't you got something more useful to do than trolling internet forums?

I don't think FC's post should be considered "trolling". It's a fact that Ada has declined steadily in popularity and "mindshare" since its introduction in the 1980s:
https://www.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language
https://www.tiobe.com/tiobe-index/

Obviously Ada still lives on in the niche of "safety-critical systems", and that is the area you mentioned an interest in. But even there, it's far from "Ada rules". Subsets of C and C++ are just as serious contenders as are Ada or its subsets: http://vita.mil-embedded.com/articles/when-programming-language-technology-safety/

With a view to maintaining a software package in the long run (which you typically need to do for a safety-critical system, as it won't get rewritten for a looong time), it may be a good idea to bank on a language where you are more likely to find the next generation of programmers in 10 years.
That and the need for an Ada runtime specific for a platform. If you want to avoid all the obstacles of C AND need to be able to modify the source over a long period of time then languages like Lua and Python seem like much better choices.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: "Make With Ada" Competition
« Reply #123 on: September 15, 2019, 06:33:22 pm »
But why Ada and not Rust or Go? Looking at programming trends Ada will go in tracks of COBOL and dBase while Go is the new C.

Haven't you got something more useful to do than trolling internet forums?

I don't think FC's post should be considered "trolling". It's a fact that Ada has declined steadily in popularity and "mindshare" since its introduction in the 1980s:
https://www.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language
https://www.tiobe.com/tiobe-index/

Obviously Ada still lives on in the niche of "safety-critical systems", and that is the area you mentioned an interest in. But even there, it's far from "Ada rules". Subsets of C and C++ are just as serious contenders as are Ada or its subsets: http://vita.mil-embedded.com/articles/when-programming-language-technology-safety/

With a view to maintaining a software package in the long run (which you typically need to do for a safety-critical system, as it won't get rewritten for a looong time), it may be a good idea to bank on a language where you are more likely to find the next generation of programmers in 10 years.
That and the need for an Ada runtime specific for a platform. If you want to avoid all the obstacles of C AND need to be able to modify the source over a long period of time then languages like Lua and Python seem like much better choices.

For realtime multicore/multithreaded code? Last I heard Python had a GIL which ensures only one thread was active at any time.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14299
  • Country: fr
Re: "Make With Ada" Competition
« Reply #124 on: September 15, 2019, 07:13:04 pm »
Call me when you accept boarding on a plane that runs critical systems with Python or Lua. :-DD
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf