Announcement

Collapse
No announcement yet.

Skiboard Size Recommendation Tool

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Skiboard Size Recommendation Tool

    Hi all!

    I'm a CS student and part time SW engineer always looking to expand my code portfolio. I like to create small projects based on my interests and add them to my online portfolio.

    I recently added a feature to one of my projects that recommends various skiboard sizes based on your desired ratings for riding styles (park, carving, etc.) or board characteristics (maneuverability, stability, etc.) The data set is some of my own data and some modified data from the SBOL site (thanks Greco!)

    The tool can be used here: http://jmcintyre.net/sites/skiboardselector/index.html

    Source for the curious: http://jmcintyre.net/gitlist/skiboardselector/ The tool is written in HTML, CSS, Javascript, and PHP.

    Enjoy!
    --Josh/snowjam
    Last edited by snowjam; 01-07-2016, 02:06 PM. Reason: Edited for new features and code

  • #2
    Nice job on the selection tool.


    Sent from my iPad using Tapatalk
    sigpic


    Osprey, Sherpa, Custom Coda 120WT, Custom DS110, Condor (Green), Spliff

    Custom Twist Out duck foot bindings, Bombers (custom duck foot base plate and 3 pads), releasable S810ti on custom duck foot riser

    Nordica N3 NXT ski boots (best so far)


    Wife: 104 SII & 100 Blunt XL with S810ti bindings on custom "adjustable duck foot" risers

    Loaners: 125LE, 105 EMP, 101 KTP, 100 Blunt XL, 98 Slapdash, 88 Blunts

    Comment


    • #3
      Thanks slow!

      Comment


      • #4
        Nice code Never worked in Python before but it doesn't look too alien. Is there such thing as an else if in Python? It could shorten the skiboard_size.py file, may also provide performance gains. But i guess in an app so small it is incidental

        Comment


        • #5
          Originally posted by beeby11 View Post
          Nice code Never worked in Python before but it doesn't look too alien. Is there such thing as an else if in Python? It could shorten the skiboard_size.py file, may also provide performance gains. But i guess in an app so small it is incidental
          Thanks!

          Python definitely has an else if. The reason it is not used here is because every category needs to be checked, so an else if would skip over checking moguls, for example, even if the user wanted it checked. There is likely a more efficient or compact way to do the checks, but as you mentioned, it's pretty unconsequential here.

          My code is also a bit un-pythonic, using indexes to access array data isn't as common here as it is in other languages. Python makes extensive use of things like dictionaries to store and access data. But since I started the app before I started using it regularly at work, it's more inline with a C/++ or Java coding style. Nothing inherently wrong with that, of course, as it is consistent, clean, and functional.

          Python is awesome. I would highly suggest learning at least a little bit of Python as it is so robust and powerful.

          Comment


          • #6
            For sure, it looks like a good language, just never had the time to take a look. We use just about every other language at my place apart from python and Java.

            I was thinking that at some point if i have any free time to maybe take all the information on ski boarding that is scattered around and put it into a single site, will probably be more of a graphical site though as i mainly work in CSS, Vanilla JS and Polymer

            Comment


            • #7
              One area where you might want to look into is analysis of alternatives. The sort of problem for selecting the "right" skiboard is a great example of that.

              The essence is that people have hard time defining their priorities and just assigning a number from 1-10 on each of their "criteria" usually leads to results that are not necessarily what the person really wants/needs.

              There are many ways to do it, one is AHP: https://en.wikipedia.org/wiki/Analyt...rarchy_process

              Yes, the algorithm based on Saaty's work is a bit more complicated than averaging a bunch of scores, but it is a lot more capable too ;-) (mainly in that the results are more trust-worthy)

              EDIT - I did not actually look at your tool, says page not found when I tried it just now, so I don't know if you are already doing some of that sort of math behind the scenes or not.

              Comment


              • #8
                Hey Kocho, thanks for the information! I'll check it out.

                Also, the links in my original post are working for me if you click on them. If you're still having issues, you can view the source and site from my portfolio homepage:

                http://jmcintyre.net

                Comment


                • #9
                  Yeah, the site works from home. Probably blocked from work.

                  But, I don't understand how the length works. Say I select 5 or less for "park" and "Don't care" for the rest. If "park" is the first column in the 'ratings" matrix, I would expect the result will be to get all lengths. And it does do that. But, if I select 6 for 'park' and "don't care" for the rest, looking at the matrix I expected to not see the 125, 88, and 75 since they have 5 in the first position on each row in the matrix. Yet the site still gives all lengths. If I pick 7 for park, then it omits these three lengths, which happens to be true since there are no 6 in the first column. But when I select 8 for park, it still gives the same result as for 7, where I expect a few other lengths to be removed...

                  EDIT: it seems to be off by one somehow. For example, the lengths I get for park=7 are those I expected to get for park = 6. For park = 8 it gives the answers I expected to see for park = 7 and so on. For park = 10, I expect to see only 101 recommended lengths, but it gives 105 and 101, which if I follow the logic should be the answer for park=11 (not a valid choice)

                  Comment


                  • #10
                    Originally posted by Kocho View Post
                    Yeah, the site works from home. Probably blocked from work.

                    But, I don't understand how the length works. Say I select 5 or less for "park" and "Don't care" for the rest. If "park" is the first column in the 'ratings" matrix, I would expect the result will be to get all lengths. And it does do that. But, if I select 6 for 'park' and "don't care" for the rest, looking at the matrix I expected to not see the 125, 88, and 75 since they have 5 in the first position on each row in the matrix. Yet the site still gives all lengths. If I pick 7 for park, then it omits these three lengths, which happens to be true since there are no 6 in the first column. But when I select 8 for park, it still gives the same result as for 7, where I expect a few other lengths to be removed...

                    EDIT: it seems to be off by one somehow. For example, the lengths I get for park=7 are those I expected to get for park = 6. For park = 8 it gives the answers I expected to see for park = 7 and so on. For park = 10, I expect to see only 101 recommended lengths, but it gives 105 and 101, which if I follow the logic should be the answer for park=11 (not a valid choice)
                    Thanks for the heads up, Kocho. I'll take a look at the issue when I get a chance and see if I can get that fixed!

                    Comment


                    • #11
                      Originally posted by Kocho View Post
                      ,
                      A fews years ago I broke down all the numbers in the comparison chart to find our what the best all mountain board is on SBOL.

                      The winner, your favorite boards, the ROMPS!!!!!
                      Just these, nothing else !

                      Comment


                      • #12
                        Originally posted by Bad Wolf View Post
                        A fews years ago I broke down all the numbers in the comparison chart to find our what the best all mountain board is on SBOL.

                        The winner, your favorite boards, the ROMPS!!!!!
                        And they may as well be ... for the right person - These charts need a few additional dimensions: such as the skill level of the rider, their riding style, rider weight, ....

                        Comment


                        • #13
                          I think there is a spreadsheet that advises boards based on weight / height. That could be a pretty cool feature to add

                          Comment


                          • #14
                            Originally posted by beeby11 View Post
                            I think there is a spreadsheet that advises boards based on weight / height. That could be a pretty cool feature to add

                            Is this the table you are referring to? https://www.skiboardsonline.com/foru...ead.php?t=7115
                            sigpic


                            Osprey, Sherpa, Custom Coda 120WT, Custom DS110, Condor (Green), Spliff

                            Custom Twist Out duck foot bindings, Bombers (custom duck foot base plate and 3 pads), releasable S810ti on custom duck foot riser

                            Nordica N3 NXT ski boots (best so far)


                            Wife: 104 SII & 100 Blunt XL with S810ti bindings on custom "adjustable duck foot" risers

                            Loaners: 125LE, 105 EMP, 101 KTP, 100 Blunt XL, 98 Slapdash, 88 Blunts

                            Comment


                            • #15
                              Originally posted by Kocho View Post

                              EDIT: it seems to be off by one somehow. For example, the lengths I get for park=7 are those I expected to get for park = 6. For park = 8 it gives the answers I expected to see for park = 7 and so on. For park = 10, I expect to see only 101 recommended lengths, but it gives 105 and 101, which if I follow the logic should be the answer for park=11 (not a valid choice)
                              Kocho, it was indeed an off by one issue! This stemmed from using the wrong indexes in the selects on the page. The user was selecting values 0-9 which were being compared to 1-10. Ex: A user selected 5 but the value of that select was 4, thus causing an "off by one" issue.

                              I fixed the issue by changing those indexes.

                              Comment

                              Working...
                              X