Official YURT Design Thread (Development Discussion ONLY)

I'm all for tracking both the username and team. A user can be supporting more than one team at a time. We did a contest here recently and I was folding under an old team 33 user while that username was active under a different team #.

It'd be fun to be able to do a search on a user name and pull up a summary of there results, what processor they are using and the spead of them.
 
On this page: http://beta.blaszczak.com/ShowRatesByName.asp, are those points per day scores actual runs? They seam low for those fast processors. What do the other f@h people think?

And I quickly read this through and I'm not sure if your question got fully anserwed Mike, but a work unit can take multiple days to finnish, in the case of some of the older hardware it could be more than a week. I don't forsee a frame evertaking longer than a day, since that is unrealistic for someone to run a computer that took 100 days to turn something in. But it could happen that the current progress on a frame could be saved and it would start up partially through a frame(There is an option to set save points every so many minutes, I think the default is 15min.) so you might not want to take the initial frames information upon start up. Wait for it to finnish the current frame and then grab the time of the next. Now this is only important if you monitoring the completion of each frame. I think you are if I remember correctly.

I'm around tonight unitl 7:20 central time and I'll be getting back at 8:30 central. So if you want any more questions answered fast about how folding does stuff that you aren't quite sure of just ask and I'll try and answer.
 
MN Scout said:
On this page: http://beta.blaszczak.com/ShowRatesByName.asp, are those points per day scores actual runs? They seam low for those fast processors. What do the other f@h people think?

Perhaps the "Total Time" column is the time from when the machine first reported to the stats server to the last time it reported to the stats server. Does that make sense? Anyhow, if the machines are not folding 24/7 these PPD numbers would be low like they are showing now since the PPD is being calculated by the "points reported" column divided by the "total time" column. (Yeah, I did the math)
 
On the "machine details page" it would be cool if the total work time was in hours or days. Something like D:H:M. D can be more than one digit of couse. The same with the "Average Work Time" field. Avereage time for what? To finish a frame? Maybe this would be a better label: "Average Work Time (frame)". Then there could be a "Average Work Time (WU)". The "Average Work Time (WU)" would require you to know the total frames in each work unit. Some are 100 and some 400.

And whenever you want more beta testers shoot me a pm. Physics homework and test kept me from getting to you initially when you requested people.
 
Opteron 246: This is a dual-proc machine. It is running SQL Server, though that server isn't so busy. This machine is running two FAH clients. There aren't normally SQL Server clients, but there's a 600 gigabyte database on there, and a 250 gigabyte database; if SQL Server decides to wake up and do some idle time maintenance, it's going to big.

"AMD Athlon(tm) Processor" with no speed listed is a dual-proc MP 1800+ machine. This machine is running two clients, IIRC. I use it to surf the web and read email and run Microsoft Money, and some other stuff.

The 3.2GHZ Intel rig is my development machine, is it has plenty of other stuff to do besides fold. This machine is only running one client, despite being HT. If I get frustrated with software, I play Thrones and Patriots for a while.

Perhaps you think the numbers are low because you're used to seeing people overclock; none of my machines are overclocked. (Except one, which is OCed by 5% or so because I'm m/\d 133+.) Also, I've done zero optimization for folding; no tuning whatsoever. The Opteron seems to have gotten hit with some pretty harsh work units (see the proteins report) and also was running very slow when I first started it. Dunno why.

sobe said:
Anyhow, if the machines are not folding 24/7 these PPD numbers would be low like they are showing now since the PPD is being calculated by the "points reported" column divided by the "total time" column.

PPD is indeed points reported divided by total time. The points reported is the workunit score times the number of frames divided by the frames per unit. That is, none of these are complete work units and are all fractional.

The times are the sum of the times that were recorded per work unit. If you execute five work units and two are bad because I can't find records in for them in the log file, or the client was shutdown/restarted, or whatever, I'll take the time for the three units I can find.

So let's say it takes ten seconds per frame, and there's 10 frames in a work unit:

Code:
[00:00:00] client started
[00:00:10] frame 0 of 10 completed
// 00:10 used as the anchor time
[00:00:15] client shutdown!
// 00:10 discarded, something stopped us
[00:01:25] client restarted! reloaded work.
[00:01:30] frame 1 of 10 completed
// 01:30 used as the anchor time
[00:01:40] frame 2 of 10 completed
// 01:40 - 01:30 is 10 seconds, one frame; report it to the server
// 01:40 is the new anchor time
[00:01:50] frame 3 of 10 completed
// 01:50 - 01:40 is 10 seconds, one frame; report it to the server
// 01:50 is the new anchor time
[00:02:00] frame 4 of 10 completed
// 01:50 - 02:00 is 10 seconds, one frame; report it to the server
// 02:00 is the new anchor time

At this point, the server has three frames and 30 seconds of work time tallied. A lot more time has gone by. If we look up this protein, we find 10 frames needed for 35 points. So we do 30 seconds times (10 frames needed / 3 frames done) and get 100 seconds per WU. 35 / 100 seconds is 35 / 0.00115 days, which is 30,240 PPD.

I can move the "days HH:MM:SS" formatting code over to the other pages; I just haven't gotten around to it.

Note also that, during testing, I've resubmitted some of the log files many (many!) times and the numbers are a bit biased because of that.

I don't think it's worthwhile looking at these totals and guessing if there's a bug or a problem right now. Guessing about what "seems" off doesn't get me anywhere, and is going to be a waste of time. There's just too many variables and too much information lost in the aggregation to conclude that the math is off because it doesn't "seem right".

If someone can point at a specific machine and send a log file and show that something is specifically off, then that makes sense. By all means, show it to me. (And that's why I didn't want so many people for the first round of beta.)

Thanks for all the feedback; it's nice to finally be noticed.
 
I agree that guessing wont get us anywhere, we'll need to rely on your beta testers to verify their results once you get them the current beta program. I thought about the ppd again and I have a 2.4ghz AMD that is getting about 100ppd currently(Reported from EMIII), so those numbers might not be off as much as I thought. Onward to the beta testing results...

Thanks for all your hard work. I'm very interested in seeing the results and all the information that gets collected.
 
When doing one of these "tinker" work units, what message in the log uniquely marks the beginning of work on the frame? The only thing I can see is:

Code:
 - Frames Completed: 0, Remaining: 400

I think I've reached a decision about frames vs. work units: I'd rather track them seperately. All the stats we'll report about work units should be very accurate because they mean the client has run the work units the whole way through without stopping. When we record progress against frames, it'll be reported on the website as an interpolation of the time it takes to complete a work unit, and may therefore be inaccurate.

So all the stats we'll show will be doubled: points per day couning by frames, next to points per day counting by work units.

Maybe we'll see that they're very close, maybe not. Maybe that's a way to track math bugs, maybe it shows us that everything is quite close to what we estimate it should be.
 
Code:
[16:09:56] Protein: p1152_L939_K12M_ext_from638
[16:09:56] - Run: 67 (Clone 41, Gen 3)
[16:09:56] - Frames Completed: 0, Remaining: 400
[16:09:56] - Dynamic steps required: 5000000
[16:09:56] 
[16:09:56] Writing local files:
[16:09:56] 
[16:09:56] parameters          work/wudata_06.prm
[16:09:56] - Writing "work/wudata_06.key": (overwrite) successful.
[16:09:57] - Writing "work/wudata_06.xyz": (overwrite) successful.
[16:09:57] - Writing "work/wudata_06.prm": (overwrite) successful.
[16:09:58] - Writing "work/wudata_06.key": (append) successful.
[16:09:58] 
[16:09:58] PROJECT="work/wudata_06", NSTEPS=5000000, DT=2.0000, DTDUMP=25.000000, TEMP=298.00
[16:09:58] TINKER: Software Tools for Molecular Design
[16:09:58] Version 3.8  October 2000
[16:09:58] Copyright (c)  Jay William Ponder 1990-2000
[16:09:58] portions Copyright (c)  Michael Shirts 2001
[16:09:58] portions Copyright (c)  Vijay S Pande 2001
[16:18:05] Finished a frame (1)
[16:25:49] Finished a frame (2)
[16:33:01] Finished a frame (3)
[16:40:21] Finished a frame (4)
[16:47:49] Finished a frame (5)
[16:55:11] Finished a frame (6)
[17:02:23] Finished a frame (7)

I would say that the "portions Copyright (c) Vijay S Pande 2001" marks it... but the times are very close to the line you quoted...... I don't think 2 sec is going to throw things off that much.... So I think you're fine using either of those lines......


Keep on Folding!! For the [H]orde!!

 
OSUguy98 said:
I would say that the "portions Copyright (c) Vijay S Pande 2001" marks it...

Unfortunately, it doesn't. This message is shown when a frame is resumed as the client starts up:

Code:
[13:11:44] TINKER: Software Tools for Molecular Design
[13:11:44] Version 3.8  October 2000
[13:11:44] Copyright (c)  Jay William Ponder 1990-2000
[13:11:44] portions Copyright (c)  Michael Shirts 2001
[13:11:44] portions Copyright (c)  Vijay S Pande 2001
[13:19:16] Finished a frame (28)
[13:26:32] Finished a frame (29)
[13:34:06] Finished a frame (30)
 
I think its reasonable to use the " - Frames Completed: 0, Remaining: 400" line you mentioned before - it's only shown at the beginning of a WU (as far as I can tell), and not repeated when the WU is resumed. Note, though, that 400 isn't necessarily a constant - it could be something else. There have in the past existed Tinker WUs with 100 frames.

 
Code:
[13:39:05] Restarting from checkpointed files.
[13:39:05] 
[13:39:05] Protein: p1152_L939_K12M_ext_from638
[13:39:05] - Run: 67 (Clone 33, Gen 7)
[13:39:05] - Frames Completed: 379, Remaining: 21
[13:39:05] - Dynamic steps required: 262500
[13:39:05] 
[13:39:05] Writing local files:
[13:39:05] 
[13:39:05] parameters          work/wudata_05.prm
[13:39:05] - Writing "work/wudata_05.key": (overwrite) successful.
[13:39:05] - Writing "work/wudata_05.xyz": (overwrite) successful.
[13:39:06] - Writing "work/wudata_05.prm": (overwrite) successful.
[13:39:06] - Writing "work/wudata_05.key": (append) successful.
[13:39:06] 
[13:39:06] PROJECT="work/wudata_05", NSTEPS=262500, DT=2.0000, DTDUMP=25.000000, TEMP=298.00
[13:39:07] TINKER: Software Tools for Molecular Design
[13:39:07] Version 3.8  October 2000
[13:39:07] Copyright (c)  Jay William Ponder 1990-2000
[13:39:07] portions Copyright (c)  Michael Shirts 2001
[13:39:07] portions Copyright (c)  Vijay S Pande 2001
[13:46:17] Finished a frame (380)
[13:53:12] Finished a frame (381)

the Frames Completed line is the same... with the numbers different... as is the "Dynamic steps required:".....

the only way I can think of it to find the "Frames Completed: 0, Remaining: 400" and call that the beginning..... if restarted anytime after that, it'll be "Frames Completed: 3, Remaining: 397", etc..........


Keep on Folding!! For the [H]orde!!

 
unhappy_mage said:
I think its reasonable to use the " - Frames Completed: 0, Remaining: 400" line you mentioned before - it's only shown at the beginning of a WU (as far as I can tell), and not repeated when the WU is resumed. Note, though, that 400 isn't necessarily a constant - it could be something else. There have in the past existed Tinker WUs with 100 frames.
Right. I'm going to end up looking for "Frames Completed: 0," and call it good.
 
The difference between the frame start message I picked and the real start of work adds up a little bit. I've got it all hooked up, and if you look right now, you can see some work units that have been parsed, submitted, and are showing up on the details page for my at-home dev machine.

Protein 771 has 200 frames totalling 54544 seconds. 771 has 2 work units (those 200 frames, see?) totalling 54668 seconds. The difference is two minutes; 124 seconds, exactly.

The discrepancy comes from the way the end of the block is handled. The frame timings are timings per frame (as Notorious B.I.G. would say: "Uhuh, yeah"). The work unit timings are from the start of the work unit (as detected) and the end of the work unit (as detected):

Code:
[02:42:09] Completed 250000 out of 250000 steps  (100)
[02:42:09] Writing final coordinates.
[02:42:09] Past main M.D. loop
[02:43:09]
[02:43:09] Finished Work Unit:
[02:43:09] - Reading up to 379152 from "work/wudata_04.arc": Read 379152
[02:43:09] - Reading up to 340908 from "work/wudata_04.xtc": Read 340908
[02:43:09] goefile size: 0
[02:43:09] logfile size: 22520
[02:43:09] Leaving Run
[02:43:13] - Writing 748940 bytes of core data to disk...
[02:43:13]   ... Done.
[02:43:13] - Shutting down core
[02:43:13]
[02:43:13] Folding@home Core Shutdown: FINISHED_UNIT

The work last work unit finishes at 02:42:09. The work unit isn't marked as finished until 02:43:13. That's 64 seconds, for this particular run. I guess I could call "Completed n out of m steps (100) as the completion of the frame, if n == m. But the thing is that the work unit might not be sent; if the data is sent back, the server might reject it and that results in a different message:

Code:
[20:27:06] logfile size: 20471
[20:27:06] - Writing 21007 bytes of core data to disk...
[20:27:06]   ... Done.
[20:27:07]
[20:27:07] Folding@home Core Shutdown: EARLY_UNIT_END

so I don't see any easy way to avoid the discrepancy. I guess I could mark the unit done, save the time at "m of m steps", and then not actually send it until I see "FINISHED_UNIT" instead of "EARLY_UNIT_END".

Is that change worth it?
 
If you lookit one of the wider pages (like show list of machines), then narrow your browser, you'll find that the CSD Version and Updated columns are given internal line breaks, making the row higher. What attribute can I add to the <TD> tag for these columns to prevent that from happening, so the row is always the same height and the user horizontally scrolls over flat data?
 
I'm no html guy... but I played around with Netscape Composer change the cell to "no wrap" and it inserted:

"<td style="white-space: nowrap;">Service Pack 2</td>"

again... I don't know if it's a general html thing or something else.....


Keep on Folding!! For the [H]orde!!

 
You might also consider <TD WIDTH=n> since those values are fairly static in size
 
white-space: nowrap is the correct thing to do. Setting things to a fixed number of pixels wide in HTML is a Bad Thing - what if my display isn't the same DPI as yours? 9px might be huge on my display, or terribly unreadably small.

Mike: you might consider using classes instead of statically defined colors, fonts, etc. For example, instead of:
Code:
<TR bgcolor=#dcdcdc/><TR bgcolor=#ffffff/>
use this:
Code:
<tr class="evenrow"/><tr class="oddrow"/>
That lets you change the appearance of the data without changing every ASP script - sure, you could define some constants somewhere, but this lets you do some neat things client-side with CSS. Not criticizing the layout - I like the current setup - but using labels for what things are, rather than what they look like, makes visualizing the whole thing easier for me.

 
unhappy_mage said:
white-space: nowrap is the correct thing to do.
Thanks.

unhappy_mage said:
Mike: you might consider using classes instead of statically defined colors, fonts, etc. For example, instead of:
Yep. It's #1 on the TODO list that I posted yesterday. (Tho, that doesn't mean it's highest priority.)
 
As far as detecting the end of a unit goes, you might contact athropos_666 at the folding community forums and ask how he does it. He is the programmer of FahMon, a folding monitor which i used to get the average time per frame of each WU on my site so far. He might have some ideas. I figured I would post this real quick before I goto bed. I have some comments about your site that I'll post tomorrow when I'm more rested up.

EDIT: Morning. The website contains a lot of data which is good but I have to ask, is it possible to use my website? Like I said before, I understand that your part of MS and can not use MySQL. Is there a way around this? I'm new to databases and actually thought MySQL was the only database so I dont know much anything about them, so what are the options here? I only needed someone to write the program, I have the database setup. You could have written the program to send data to a web form, like it does now, only make it use the form on my site (with MySQL) which shouldn't be a problem because I would be the one dealing with the database and not you. I appreciate how much work you have put into this, I really do. 10,000 lines of code is a lot of work.I just feel like I walked in here, threw out this idea at you guys and let you run with it. I want to be a part of this and help as much as I can I'm just no programmer.

You mentioned about detecting HT on a machine, I wouldn't worry about this. Stanford only wants 1 instance per physical core on any single machine. The use of HT throws off data and could throw off the database. Since it can give a about a 10% PPD increase in a sense thats like having another system 10% as fast as the CPU. Like a 3.2Ghz P4 running 2 instances should be like running the 3.2Ghz with 1 instance and running another system at 320Mhz. 320Mhz WILL NOT give the same times and points as a 3.2Ghz system. Now, a 3.2 Dual core would be the same as 2 3.2Ghz systems and wont mess with data any.

On your site, the page "Machine Details" what is the CPUID Data? I dont think you really need to have a total frames across all units, it doesn't really show anything important.

How can the total time for the frames be more than the total time for the WUs? Is this part of the data you had mentioned that could be wrong due to the number of the same data being uploaded for testing? Just something I noticed.
 
I've mailed the beta out with its docs, so some other people will soon be running the monitor program and adding their data to the database.

I've made a few improvements to the website. Most notably, the username and team number are listed and the list of proteins page has PPD data.
 
enhanced08 said:
EDIT: Morning. The website contains a lot of data which is good but I have to ask, is it possible to use my website? Like I said before, I understand that your part of MS and can not use MySQL. Is there a way around this?
I'm afraid not; I really can't budge on it.

enhanced08 said:
You mentioned about detecting HT on a machine, I wouldn't worry about this.
Simply detecting HT is already tehre; "Hyperthreding" is listed as present or absent on the machine details page. I'd like to make the count of processors show the number of physical or logical processors on the machine.

enhanced08 said:
On your site, the page "Machine Details" what is the CPUID Data?
The data that came back from the CPUID instruction when the installation program was run on the machine as it registered. This gives all the processor-level details for the machine: the vendor, the name, family/model/stepping, instruction set extensions, and so on.

enhanced08 said:
I dont think you really need to have a total frames across all units, it doesn't really show anything important.
Er, I'm not sure what you mean by this. Where are you finding "total frames across all units"?

enhanced08 said:
How can the total time for the frames be more than the total time for the WUs? Is this part of the data you had mentioned that could be wrong due to the number of the same data being uploaded for testing? Just something I noticed.
Yep; this can happen because of partial, repeated, or incorrect loads during testing. There's a couple of spots where it's still happening after the database reset, and I'll look into them later today. I might be missing a midnight crossing, or might have a sum done the wrong way.
 
I sent the beta out this morning. I've heard back from only one tester so far.

I've made some progress on the website and the database, fixing up many of the queries to be correct. There's a little bit of a goof in the database design, but I'll let it go for now for flexiblity; if we decide we want to record individual work unit or frame completions, it's easy to modify the database. I don't think the current perf hit is that bad for the way the queries had to be written.

I've fixed the "Work Rate by Processor Name" report so that it includes both frames and work units. I've implemented the "Work Rate by Vendor" page; it too shows frames and work units.

There's now a comprehensive list of vendors, so if we get get any weird chips, we'll be able to find them. The list of vendors is now table driven instead of being AMD or Intel only.

The Search for a Machine page supports the table-driven vendor list, now.

I've added a few links here and there; from the team/owner back to the Stanford stats, for example; and from a couple of the reports to details about the item in the row.

I'm very interested in the development process and planning; I figured this would be less than 5000 lines of code in effort. I'm about three times that:

Code:
Monitor:    4086 lines
Installer:  3283 lines
ASP:	    8000 lines
SQL:  	    1347 lines
Total:     16716 lines
 
Sorry I haven't gotten around to it. Expect results tomorrow from me.

I'm surprised it took that many lines, too - my log.pl script (as inefficient and yucky as that may be) does essentially (well, in a different way) the "Monitor" and the "ASP" bit in 290 lines. But I guess adding things like error checking and neatening the code would make it a bit bigger.

 
unhappy_mage said:
I'm surprised it took that many lines, too - my log.pl script (as inefficient and yucky as that may be) does essentially (well, in a different way) the "Monitor" and the "ASP" bit in 290 lines.
That's quite surprising! How did you get all the reports working in only 290 lines?
 
mikeblas said:
That's quite surprising! How did you get all the reports working in only 290 lines?
Like Marty said, I didn't. There's only two reports: a full report with PPD, time left, speed of the machine and a few others, and a short with just progress bars for each machine. Your program and my script are used for different things, so it's sort of irrelevant to compare the two, especially in lines of code when they're in different languages, yours is graphical and mine's CGI, you check for problems and I don't. Believe me, I'm not disparaging your programming ability. I used a language that's really good for doing textfile processing in minimal space, and got a small program.

 
unhappy_mage said:
Like Marty said, I didn't. There's only two reports:
There seems to be something wrong with your HTTPS certificate.

unhappy_mage said:
Your program and my script are used for different things, so it's sort of irrelevant to compare the two, especially in lines of code when they're in different languages, yours is graphical and mine's CGI, you check for problems and I don't. Believe me, I'm not disparaging your programming ability. I used a language that's really good for doing textfile processing in minimal space, and got a small program.

I'm not taking it as disparagment. I think it's very interesting to see how things are engineered, and estimation is an important part of the engineering process.

All of the parsing code is in PARSE.CPP with YURTMonitor.EXE. This module is 355 lines at the moment, and it includes the code to send the update to the web site, which is about 50 lines.

I'm not sure that I'd agree with the implication that PERL is better-suited than C++ for text processing as a language. PERL has lots of neat text-oriented features built-in, but all you need in C++ is a little time to write the functions or a library which already has them.

I didn't need any regular expressions, for example, and did simple character matching for marker tokens. The C standard library has functions which do that much.

What might draw people to PERL is that you don't need to understand pointers or memory management in order to do the parsing.
 
That's a lot of lines of code mikeblas! I'm just starting to program, on my second year, and I can definately appreciate all the work you have put into this so far. Keep up the good work, and I can't wait to hear how the beta testing went this weekend and as it continues into this week.

-MN Scout
 
mikeblas said:
There seems to be something wrong with your HTTPS certificate.
Yeah, I didn't want to pay Verisign for it (I'm a college student -> poor
tongue.gif
) so I self-generated one to protect the password for the web interface for fold-server - all that does is generate the SHA1 hash of the plaintext of the password you enter and compare it to the server-side version, and given that SHA1 is looking weaker and weaker I didn't want to leave people with a hole open.
mikeblas said:
I'm not sure that I'd agree with the implication that PERL is better-suited than C++ for text processing as a language. PERL has lots of neat text-oriented features built-in, but all you need in C++ is a little time to write the functions or a library which already has them.

I didn't need any regular expressions, for example, and did simple character matching for marker tokens. The C standard library has functions which do that much.

What might draw people to PERL is that you don't need to understand pointers or memory management in order to do the parsing.
Well, all you need in Perl is to know how to use the functions, and you're done. And while I agree that memory management and pointers are really important to know how to use, I don't see why one should reinvent the wheel every time - either use a language that does memory management, or write the code once as a library and be done with it.

And yes, this is a simple problem. The format of the lines is very predictable, so you don't really need regular expressions - but they make it more readable once you understand what they're saying. For example, all I have to do to find the timecode at the beginning of a line of log is:
Code:
    if ($buff =~ /\[(\d\d):(\d\d):(\d\d)\]/) # All WUs: [12:34:56] timestamp
     {
      $h = $1; $m = $2; $s = $3;
That might not be any shorter than the equivalent C (call atoi on pointers midway thru the string) but it reads a lot neater to me, and more concise to boot. That's really only two lines of code - the brackets don't need to be on the next line, it's just tidier.

But I guess I can't argue too hard for a language where "$val =~ s/\%([0-9A-F]{2})/pack('H2', $1)/eg;" does something useful...

On a side note, it's really, really dumb to have vB do smilies in
Code:
 tags.  Or even images in [code] tags, for that matter.

[URL=http://www.hardfolding.com?go=38&tm=33&id=150072][IMG]http://www.hardfolding.com/ftag1.php/mem/150072.png[/IMG][/URL][URL=http://www.hardfolding.com?go=36&id=1392][IMG]http://www.hardfolding.com/utag.php/mem/1392.png[/IMG][/URL]
 
Thank you for your kind words, MN Scout. I'm certainly not complaining; it's fun work.

unhappy_mage said:
But I guess I can't argue too hard for a language where "$val =~ s/\%([0-9A-F]{2})/pack('H2', $1)/eg;" does something useful...
And that's more readable, huh? I've used PERL for a few things, but I simply can't get used to the opaque syntax.

I hardly feel like I'm reinventing the wheel; it's not that I have to write my own memory manager, or even call atoi (for that part, anyhow):

Code:
int nHours, nMinutes, nSeconds;
if (3 == sscanf(szLine, "%d%d%d", &nHours, &nMinutes, &nSeconds))
{
    context.nTimeStart = nHours * 3600 + nMinutes * 60 + nSeconds;

OTOH, I hate to feel like I'm wasting perf. Using a regular expression when something so much less expensive does the job leaves me cold. Even using sscanf stinks!

My big surprise is in the size of the ASP scripts. I'm rather new with it, so I don't know some of the things I should. VBScript can't be anybody's favorite language.
 
I've got beta005 running one of my home PCs... (A is the computer name)....

got both the ver. 3 beta and the ver. 4 beta emails at the same time.... tried to grab 4, and it didn't exist.... so just tried 005 on a whim.... so far so good....


Keep on Folding!!

 
Great; I'm glad you've got it working. Please let me know if you don't think your numbers look reasonable.

Sorry I sent out so many announcements -- doing the rename so late caused some problems and I tried to fix them as quickly as possible to unblock Sobe, who was trying to get the app running.
 
not a problem at all... I'm not usually around much on the weekends... so I didn't get your email until this afternoon.... I'll take a look at my numbers tomorrow when I'm not about to fall face first in the keyboard ;)


Keep on Folding!!

 
update.... I've got it running on 3 of my 4 home PCs.... didn't have time this morning to get it on the last one before I left for work.....

As things stand right now, I have the YURT window minimized and running.... Is there plans on making it a "I don't know it's there" service or a icon in the task bar(with the clock)?


Keep on Folding!! For the [H]orde!!

 
I've found a few bugs:

  • Can't register a machine that has no processor string. A Pentium III showed me this problem and equal and older machines are going to have the same issue. It's a matter of fixing a script to let the registration happen, then coming up with some way to name and identify such old processors. It's juts not easy, since you have to do a big lookup against at on of data and there's exceptions all over the place because none of the vendors standardized on anything.
  • Shouldn't be able to run more than one copy of the monitor at a time.
  • Sometimes, the username has trailing whitespace during registration.
  • The queue fills up every twenty. It would be neat to let the update code freeze the updates, add everything it wants, then unfreeze so all the updates could be sent together. We might send more than 20 items, but we won't send 20 multple times when more is on the way anyhow.

If you notice bugs of your own, please send them to me ASAP so I can bake them into whatever release I'm working on and kill more birds with less stones.

I'm also eagerly awaiting suggestions for more reports for the website. Which rates and groupings are interesting to you?
 
Minor Tweaks/Clarifications, Comments and Suggestions:

  • On the Machine details page, under the Submitted Frames and Submitted Work Units sections, I think the header for the 4th column should be "Total Work Time" or "Cummulative Work Time"

    also... Do we need to have the last grouping for the CPU details displayed?
  • On the report for individual proteins page, I think some changes need to be made to the headings... Columns 10-15 all seem to be missing something.... maybe the headers should be:

    col 10: Frames Completed
    col 11: Total Work Time
    col 12: Avg. Time per Frame
    col 13: WUs Completed
    col 14: Total WU Time
    col 15: Avg. Time per WU

    I think we should have columns for the point value of the protien and points/day (based on col 15)....
  • I like the link to stanford's stat pages...

  • Is there some way to sort the All machines page by the headers? i.e. if I want to order the machines based on GHz or Machine Name....


Keep on Folding!! For the [H]orde!!

 
OSUguy98 said:
header for the 4th column should be "Total Work Time" or "Cummulative Work Time"
Yeah, I can tod that. This page needs to also show completed work units (not just completed frames) and I didn't get to that this weekend.

OSUguy98 said:
Do we need to have the last grouping for the CPU details displayed?
I love it. Why do you want to get rid of it?

OSUguy98 said:
  • On the report for individual proteins page, I think some changes need to be made to the headings... Columns 10-15 all seem to be missing something.... maybe the headers should be:

  • Are you not seeing the "Frames" and "Work Units" spanning headers over cols 10-12 and
    13-15, respectively? Is it just that it's not clear that those group the columns beneath them? I had longer names like you were suggesting before, but they make the column headers really tall (if I insert line breaks), or really wide (if I don't). The spanning header is intended to group 'em.

    OSUguy98 said:
    I think we should have columns for the point value of the protien and points/day (based on col 15)....
    OKay, I'll add that to the TODO list.

    OSUguy98 said:
    Is there some way to sort the All machines page by the headers? i.e. if I want to order the machines based on GHz or Machine Name....
    Yeah, I was going to add that -- it's not much of a priority now, tho.
 
mikeblas said:
I love it. Why do you want to get rid of it?

I like the CPU info at the top... I was referring to the hex info at the bottom....


mikeblas said:
Are you not seeing the "Frames" and "Work Units" spanning headers over cols 10-12 and 13-15, respectively? Is it just that it's not clear that those group the columns beneath them? I had longer names like you were suggesting before, but they make the column headers really tall (if I insert line breaks), or really wide (if I don't). The spanning header is intended to group 'em.

Here it is in Netscape.... it works fine in IE.... just not Netscape....
netscapeyurt.jpg


I'm not sure how to make the html X-browser compatible....


Keep on Folding!! For the [H]orde!!

 
OSUguy98 said:
I like the CPU info at the top... I was referring to the hex info at the bottom....
Me, too.

OSUguy98 said:
Here it is in Netscape.... it works fine in IE.... just not Netscape....

I'm not sure how to make the html X-browser compatible....
I'm not, either. What's an "X-Browser"? Something that used to be a browser?

It's amazing such simple HTML is busted in different browsers. According to webschool, COLSPAN is allowed in Strict, Transitional and frameset doctypes. Is it because I don't have a doctype at all?
 
sorry... bad habit of using X- to mean cross.... (use it alot to mean Cross Sections,etc,etc,etc in bridge designing)......

what I meant to say was "cross-browser compatible"

--------------------------

*in horrible spanish accent* me no speak-y html *end horrible accent*

Mage? Mohonri? anyone?


Keep on Folding!! For the [H]orde!!

 
Back
Top