![]() |
View
New Forum Topics Today's Forum Topics Set as homepage |
|
|||||||
Welcome to CyclingForums.com You are currently viewing our website as a guest which gives you limited access to view most discussions. You will have to register before you can post to this thread. By joining our free online community you will have access to post new topics, communicate privately with other cyclingforums.com members (PM), respond to polls, upload photos and access other special features like product reviews and classifieds. |
|
|
|
Thread Tools | Search this Thread | Display Modes |
|
|
#1 |
|
Registered User
Join Date: Jan 2004
Posts: 1,203
|
Programming is not my profession - I'm a Mechanical Engineer. But sometimes I mess with programming Windows software. I used old Visual Basic 6.0 and C++ MFC 6.0 to make some primitive Windows programs, because I just don't know enough about the Windows API to program a program like Polar's software or Cyclingpeaks. So, does anyone know how those softwares were programmed? -- What language and compiler did they use? Oh, I do know Robohelp...
Actually, what's the best way to make a Windows machine code level program (language and compiler)? That .NET stuff is all intermediate code like Java, which I don't like. Or does Visual Studio 2005 have an option to compile to machine code? Well, there must be some serious programmers here who are bikers too! |
|
|
|
|
|
#2 | |
|
Registered User
|
Quote:
Most of your advanced compilers whether they be any of Visual Studios languages or Borlands have an option to compile to machine code. The problem you run into particularly with the microsoft ones is ensuring when you deploy the package, you've enclosed the correct DLLs, etc. The second thing, and perhaps the greater issues you're going to run into are trademark infringements on the basic theories associated with power training. Dr. Coggins and Hunter Allen have really done an excellent job at research and then encapsulating a product. Now I will tell you it's more of a daunting concept then you think to rewrite or taylor these things. I'm currently about 2 months into writing what I feel better meets my requirements then cycling peaks (a good program but leaves out in my mind certain things) and have had to spend many hrs researching certain issues, particularly when it comes to downloading data from different power meters. The Polar program is really excellent and covers so much but the biggest issue is that it does not take advantage of power training all that much. If you're interested more in what I am doing, PM me. |
|
|
|
|
|
|
#3 |
|
Registered User
Join Date: Jan 2004
Posts: 1,203
|
Thanks jm... for your reply. Seems like the Cyclingpeaks guys don't want to answer my question. Are you a working programmer by profession? What kind of stuff do you do at work?
Well, I once worked at 2 companies that used PC programmed electromechanical devices, but I didn't do programming. I documented stuff. Would be nice to work for a mfg software company, - Solidworks gave a good look at my resume once. Well, I think nowadays if I try some Windows programming again things might be easier because there are a lot programming forums / I didn't know there were programming forums when I first started. I'm trying to review my Visual C++ and Basic for .NET stuff or Windows .exe programming. If MFC is still used or improved I might mess with it, but in the past my problem was that how to do a lot of stuff was undocumented. So you had to do a lot of hacking / guesswork to make things right. What was most frustrating is that I had several MFC books and they didn't document serialization well enough for me to make a simple program that saved your inputs. I did it by hacking. I'm learning C# too, but actually I should focus on my Mechanical Engineering career. I'm working at Schlumberger now and I actually saw an ad by them for a engineer who also knew .Net and SQL programming. |
|
|
|
|
|
#4 |
|
Registered User
Join Date: Nov 2003
Posts: 577
|
Before you guys go running off doing your own thing, there is an open source project here: http://goldencheetah.org/
It's not for windows but perhaps one of you can port it. |
|
|
|
|
|
#5 | |
|
Registered User
|
Quote:
If you're trying to run to ground how Cycling Peaks was written get with Hunter Allen on this forum. He's a good dude and is really the brains behind the program. I would just say there's a big difference though between doing this for your own and wanting to sell something. I've got about 200+ hrs into my program right now and it's painful. I also have a few different guys providing power files. |
|
|
|
|
|
|
#6 |
|
Registered User
Join Date: Dec 2003
Location: London, England
Posts: 268
|
why does it have to be immediately compiled down to windows machine code?
as a full time programmer if i did something like this i'd almost definately use .NET because it's just so much quicker and more functional as a windows development tool. nowadays MFC is a hard way by comparison... and .NET projects can incorporate raw c++ if desired. if you could find a way to parse a text file representation of a power meter download then there are some easy ways to work with that sort of data...could be as simple as in Excel, or via datasets in .NET.
__________________
I am my favorite rider. |
|
|
|
|
|
#7 |
|
Registered User
Join Date: Jul 2003
Posts: 75
|
Just FYI
CyclingPeaks is built using C++ and native MFC, we are also transitioning it to more modern architecture and compilers as well as developing core knowledge with the Mac OS.. like all things software, it will continue to evolve and grow. We don't plan to rest on our laurels and have been working hard on a MAC device agent(downloads powermeters to OS X and uploads to www.trainingpeaks.com) and same with a Windows Device Agent. We are also excited about reaching other markets to satisfy the runners and swimmers out there. Look for more exciting developments to come! Hunter President/Co-Founder CyclingPeaks Software Peaksware, LLC www.trainingpeaks.com www.cyclingpeakssoftware.com www.nutripeaks.com "Peaksware develops software systems to help motivated individuals and professionals achieve health, fitness and peak performance." |
|
|
|
|
|
#8 | |
|
Registered User
Join Date: Jan 2004
Posts: 1,203
|
Quote:
Isn't machine code faster running than intermediate code stuff like Java? Does .NET have the full programming capability and more stuff than MFC? |
|
|
|
|
|
|
#9 |
|
Registered User
Join Date: Jan 2004
Posts: 1,203
|
Thanks for your reply, Hunter. That's some coding doing Cyclingpeaks in C++ MFC. I'm not good enough to do that kind of stuff in MFC. Did you hire contract help / consultants to do it or you guys did it yourself?
Oh, I wish Cyclingpeaks had a tab for a larger popup view graph of your ride data. That small graph of your overall ride is ok but I like Polar's large scrollable view too. - So I can see my 1 sec data better! |
|
|
|
|
|
#10 | |
|
Registered User
Join Date: Jul 2003
Posts: 2,592
|
Quote:
The original version of CyclingPeaks was written by a professional programmer (i.e., Kevin Williams), and a quite skilled one at that. Subsequent additions/modifications to the code to produce WKO+ have also been performed by professional programmers (e.g., Jeff Hovorka). Hunter, OTOH, was a professional cyclist, and now a professional coach...which means that the only amateur involved in the entire effort has been me! ![]() |
|
|
|
|
|
|
#11 | |
|
Registered User
Join Date: Dec 2005
Posts: 205
|
Quote:
To really zoom in on a section of your ride (like a sprint, or a selection in a RR), just highlight the area and hit Zoom -> Fit selection. |
|
|
|
|
|
|
#12 | |
|
Registered User
Join Date: Dec 2003
Location: London, England
Posts: 268
|
Quote:
on speed it depends on exacly what you're doing but a lot of figures seem to suggest that the difference isnt huge... JIT compiled could be in a range 20% slower upto slightly faster. technically they say that whether speed of execution is priority 1 should depend on the ratio of time you have to spend writing it to the number of times you expect to run it. the thing that most impresses me about cyclingpeaks and the area where i imagine optimisation was most important is the ability to quickly evaluate peak power curves from every time series of every file. on capability i think you can generally get to the same place via eg MFC and .NET but so much more of the work is already done for you in the modern .NET components that for most it's magnitudes faster.
__________________
I am my favorite rider. |
|
|
|
|
|
|
#13 | |
|
Registered User
Join Date: Jan 2004
Posts: 1,203
|
Quote:
Thanks for this tip, - never knew it! Now Cyclingpeaks and my ergomo pro are so much more better! Thought about not getting another ergomo pro because of the Cyclingpeaks small graph (not so). Gee, hiring professional MFC programmers for Cyclingpeaks must have been an expensive investment. Doesn't an excellent GUI / MFC programmer get paid like $60+ / hour? |
|
|
|
|
|
|
#14 | |
|
Registered User
Join Date: May 2003
Location: Victoria, BC
Posts: 97
|
Quote:
That's average to low for skilled professionals. I charge $80-100/hr for database work. An engineer-in-training costs me $65/hr for routine work. You want expensive? Get a quote from a SAP tech. Ouch. |
|
|
|
|