OT: Better Late than Never

Dear SAS-L-ers,

Here is a way-cool seasonal SAS program that Paul (the Hashman) Dorfman, po=
sted to the 'L some long ago yesteryear.

Simply copy and paste it into a SAS Display Manager session, turn on your s=
peakers, click RUN and smile at some of the fun things we can do with SAS b=
esides solve our organization's business information problems!

data holidays;

  retain fmtname '@$holiday';

  length data $3;

  ratio =3D 1.05946309436;

  str1 =3D'A A#B C C#D D#E F F#G G#';

  str2=3D'A BbCbB#DbD EbFbE#GbG Ab';

  o =3D 1;

  do i =3D 0 to 87;

    p =3D 55 * ratio**i;

        data =3D compress(substr(str1,mod(i,12)*2+1,2)||o);

    output;

        if data^=3Dcompress(substr(str2,mod(i,12)*2+1,2)||o) then do;

          data =3D compress(substr(str2,mod(i,12)*2+1,2)||o);

          output;

        end;

        if mod(i,12)=3D2 then o=3Do+1;

  end;

  rename data=3Dstart p=3Dlabel;

  keep fmtname data p;

run;

proc format cntlin=3Dholidays;

run;


%macro play(input);

data _Null_;

  %let i=3D1;

  %do %while(%scan(&input,&i,%str( ))^=3D);

    %let note =3D %scan(&input,&i,%str( ));

        %let pitch =3D %upcase(%scan(&note,1,=3D));

        %let duration =3D %scan(&note,2,=3D);

    %let i =3D %eval(&i+1);

        %if &pitch=3DR %then

          call sleep((1/&duration)*750);

        %else

          call sound(input("&pitch",$holiday.),(1/&duration)*300);

    ;

  %end;

run;

%mend;

%play(%str(

C6=3D1 B5=3D1.5 A5=3D6 G5=3D1 R=3D2 F5=3D2 E5=3D1 D5=3D1 C5=3D1

R=3D2 G5=3D2 A5=3D1 R=3D2 A5=3D2 B5=3D1 R=3D2 B5=3D2 C6=3D.33

C6=3D2 C6=3D2 B5=3D2 A5=3D2 G5=3D2 G5=3D1.5 F5=3D4 E5=3D2

C6=3D2 C6=3D2 B5=3D2 A5=3D2 G5=3D2 G5=3D1.5 F5=3D4 E5=3D2 E5=3D2

E5=3D2 E5=3D2 E5=3D2 E5=3D4 F5=3D4 G5=3D1 R=3D4 F5=3D4 E5=3D4

D5=3D2 D5=3D2 D5=3D2 D5=3D4 E5=3D4 F5=3D1 R=3D4 E5=3D4 D5=3D4

C5=3D2 C6=3D1 A5=3D2 G5=3D1.5 F5=3D6 E5=3D2 F5=3D2 E5=3D1 D5=3D1 C5=3D1

));

Best of luck in all of your SAS endeavors!


I hope that this suggestion proves helpful now, and in the future!

Of course, all of these opinions and insights are my own, and do not reflec=
t those of my organization or my associates. All SAS code and/or methodolog=
ies specified in this posting are for illustrative purposes only and no war=
ranty is stated or implied as to their accuracy or applicability. People de=
ciding to use information in this posting do so at their own risk.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Michael A. Raithel
"The man who wrote the book on performance"
E-mail: MichaelRaithel@westat.com

Author: Tuning SAS Applications in the MVS Environment

Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second=
 Edition
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=3D1&pc=3D58172

Author: The Complete Guide to SAS Indexes
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=3D1&pc=3D60409

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Happy New Year to you, your colleagues, and your family! - Michael A. Raith=
el
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0
12/29/2009 8:29:37 PM
comp.soft-sys.sas 140239 articles. 1 followers. Post Follow

2 Replies
573 Views

Similar Articles

[PageSpeed] 25

Mike,

I do have to correct the record. This piece was posted by David Ward, whose
presence on SAS-L - and SUGs I attend - I cannot tell you how sorely I miss
ever since he quit the worldly life and dedicated his stupendous talents and
inimitable heart to what he sees as a higher purpose. It was merely my
homage to David that sometime around Christmas of 2007, I offered my own
$.02 in the same spirit and using a little simpler and different language to
code SAS music:

http://www.listserv.uga.edu/cgi-bin/wa?A2=ind0712D&L=sas-l&P=R1743
http://www.listserv.uga.edu/cgi-bin/wa?A2=ind0712D&L=sas-l&P=R2457

which operates in exactly same way - just cut, paste, and run.

Happy New Year, Y'all!

Kind regards
------------
Paul Dorfman
Jax, FL
------------

On Tue, 29 Dec 2009 15:29:37 -0500, Michael Raithel
<michaelraithel@WESTAT.COM> wrote:

>Dear SAS-L-ers,
>
>Here is a way-cool seasonal SAS program that Paul (the Hashman) Dorfman,
posted to the 'L some long ago yesteryear.
>
>Simply copy and paste it into a SAS Display Manager session, turn on your
speakers, click RUN and smile at some of the fun things we can do with SAS
besides solve our organization's business information problems!
>
>data holidays;
>
>  retain fmtname '@$holiday';
>
>  length data $3;
>
>  ratio = 1.05946309436;
>
>  str1 ='A A#B C C#D D#E F F#G G#';
>
>  str2='A BbCbB#DbD EbFbE#GbG Ab';
>
>  o = 1;
>
>  do i = 0 to 87;
>
>    p = 55 * ratio**i;
>
>        data = compress(substr(str1,mod(i,12)*2+1,2)||o);
>
>    output;
>
>        if data^=compress(substr(str2,mod(i,12)*2+1,2)||o) then do;
>
>          data = compress(substr(str2,mod(i,12)*2+1,2)||o);
>
>          output;
>
>        end;
>
>        if mod(i,12)=2 then o=o+1;
>
>  end;
>
>  rename data=start p=label;
>
>  keep fmtname data p;
>
>run;
>
>proc format cntlin=holidays;
>
>run;
>
>
>%macro play(input);
>
>data _Null_;
>
>  %let i=1;
>
>  %do %while(%scan(&input,&i,%str( ))^=);
>
>    %let note = %scan(&input,&i,%str( ));
>
>        %let pitch = %upcase(%scan(&note,1,=));
>
>        %let duration = %scan(&note,2,=);
>
>    %let i = %eval(&i+1);
>
>        %if &pitch=R %then
>
>          call sleep((1/&duration)*750);
>
>        %else
>
>          call sound(input("&pitch",$holiday.),(1/&duration)*300);
>
>    ;
>
>  %end;
>
>run;
>
>%mend;
>
>%play(%str(
>
>C6=1 B5=1.5 A5=6 G5=1 R=2 F5=2 E5=1 D5=1 C5=1
>
>R=2 G5=2 A5=1 R=2 A5=2 B5=1 R=2 B5=2 C6=.33
>
>C6=2 C6=2 B5=2 A5=2 G5=2 G5=1.5 F5=4 E5=2
>
>C6=2 C6=2 B5=2 A5=2 G5=2 G5=1.5 F5=4 E5=2 E5=2
>
>E5=2 E5=2 E5=2 E5=4 F5=4 G5=1 R=4 F5=4 E5=4
>
>D5=2 D5=2 D5=2 D5=4 E5=4 F5=1 R=4 E5=4 D5=4
>
>C5=2 C6=1 A5=2 G5=1.5 F5=6 E5=2 F5=2 E5=1 D5=1 C5=1
>
>));
>
>Best of luck in all of your SAS endeavors!
>
>
>I hope that this suggestion proves helpful now, and in the future!
>
>Of course, all of these opinions and insights are my own, and do not
reflect those of my organization or my associates. All SAS code and/or
methodologies specified in this posting are for illustrative purposes only
and no warranty is stated or implied as to their accuracy or applicability.
People deciding to use information in this posting do so at their own risk.
>
>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>Michael A. Raithel
>"The man who wrote the book on performance"
>E-mail: MichaelRaithel@westat.com
>
>Author: Tuning SAS Applications in the MVS Environment
>
>Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second
Edition
>http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172
>
>Author: The Complete Guide to SAS Indexes
>http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409
>
>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>Happy New Year to you, your colleagues, and your family! - Michael A.
Raithel
>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0
sashole (972)
12/30/2009 4:12:33 AM
Nice !!

thanks Mike for sharing.

Dani Fernandez.
Barcelona


2009/12/29 Michael Raithel <michaelraithel@westat.com>:
> Dear SAS-L-ers,
>
> Here is a way-cool seasonal SAS program that Paul (the Hashman) Dorfman, posted to the 'L some long ago yesteryear.
>
> Simply copy and paste it into a SAS Display Manager session, turn on your speakers, click RUN and smile at some of the fun things we can do with SAS besides solve our organization's business information problems!
>
> data holidays;
>
>  retain fmtname '@$holiday';
>
>  length data $3;
>
>  ratio = 1.05946309436;
>
>  str1 ='A A#B C C#D D#E F F#G G#';
>
>  str2='A BbCbB#DbD EbFbE#GbG Ab';
>
>  o = 1;
>
>  do i = 0 to 87;
>
>    p = 55 * ratio**i;
>
>        data = compress(substr(str1,mod(i,12)*2+1,2)||o);
>
>    output;
>
>        if data^=compress(substr(str2,mod(i,12)*2+1,2)||o) then do;
>
>          data = compress(substr(str2,mod(i,12)*2+1,2)||o);
>
>          output;
>
>        end;
>
>        if mod(i,12)=2 then o=o+1;
>
>  end;
>
>  rename data=start p=label;
>
>  keep fmtname data p;
>
> run;
>
> proc format cntlin=holidays;
>
> run;
>
>
> %macro play(input);
>
> data _Null_;
>
>  %let i=1;
>
>  %do %while(%scan(&input,&i,%str( ))^=);
>
>    %let note = %scan(&input,&i,%str( ));
>
>        %let pitch = %upcase(%scan(&note,1,=));
>
>        %let duration = %scan(&note,2,=);
>
>    %let i = %eval(&i+1);
>
>        %if &pitch=R %then
>
>          call sleep((1/&duration)*750);
>
>        %else
>
>          call sound(input("&pitch",$holiday.),(1/&duration)*300);
>
>    ;
>
>  %end;
>
> run;
>
> %mend;
>
> %play(%str(
>
> C6=1 B5=1.5 A5=6 G5=1 R=2 F5=2 E5=1 D5=1 C5=1
>
> R=2 G5=2 A5=1 R=2 A5=2 B5=1 R=2 B5=2 C6=.33
>
> C6=2 C6=2 B5=2 A5=2 G5=2 G5=1.5 F5=4 E5=2
>
> C6=2 C6=2 B5=2 A5=2 G5=2 G5=1.5 F5=4 E5=2 E5=2
>
> E5=2 E5=2 E5=2 E5=4 F5=4 G5=1 R=4 F5=4 E5=4
>
> D5=2 D5=2 D5=2 D5=4 E5=4 F5=1 R=4 E5=4 D5=4
>
> C5=2 C6=1 A5=2 G5=1.5 F5=6 E5=2 F5=2 E5=1 D5=1 C5=1
>
> ));
>
> Best of luck in all of your SAS endeavors!
>
>
> I hope that this suggestion proves helpful now, and in the future!
>
> Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates. All SAS code and/or methodologies specified in this posting are for illustrative purposes only and no warranty is stated or implied as to their accuracy or applicability. People deciding to use information in this posting do so at their own risk.
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Michael A. Raithel
> "The man who wrote the book on performance"
> E-mail: MichaelRaithel@westat.com
>
> Author: Tuning SAS Applications in the MVS Environment
>
> Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second Edition
> http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172
>
> Author: The Complete Guide to SAS Indexes
> http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Happy New Year to you, your colleagues, and your family! - Michael A. Raithel
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
0
fdezdan (220)
12/30/2009 4:16:11 PM
Reply:

Similar Artilces:

OT: Dilbert, better late than never
This would have been REALLY funny about a year ago, but it still gives me a chuckle: http://www.comics.com/comics/dilbert/archive/images/dilbert2609930031201.gif Jeff * To join/leave the list, search archives, change list settings, * * etc., please visit http://raven.utc.edu/archives/hp3000-l.html * ...

Re: OT: Better Late than Never
Mike, I do have to correct the record. This piece was posted by David Ward, whose presence on SAS-L - and SUGs I attend - I cannot tell you how sorely I miss ever since he quit the worldly life and dedicated his stupendous talents and inimitable heart to what he sees as a higher purpose. It was merely my homage to David that sometime around Christmas of 2007, I offered my own $.02 in the same spirit and using a little simpler and different language to code SAS music: http://www.listserv.uga.edu/cgi-bin/wa?A2=ind0712D&L=sas-l&P=R1743 http://www.listserv.uga.edu/cgi-bin/wa?A...

Re: OT: Better Late than Never #2
Nice !! thanks Mike for sharing. Dani Fernandez. Barcelona 2009/12/29 Michael Raithel <michaelraithel@westat.com>: > Dear SAS-L-ers, > > Here is a way-cool seasonal SAS program that Paul (the Hashman) Dorfman, posted to the 'L some long ago yesteryear. > > Simply copy and paste it into a SAS Display Manager session, turn on your speakers, click RUN and smile at some of the fun things we can do with SAS besides solve our organization's business information problems! > > data holidays; > > retain fmtname '@$holiday'; > &...

AMD: late too the game but better late than never...
http://www.xbitlabs.com/news/mobile/display/20130404185437_AMD_Shows_Convertible_PC_Designs_Demos_Temash_and_Kabini_in_Action.html See the video of AMD's reference tablets based on Kabini and Temash SoCs... -- MFB ...

Better late than never...
A guid new year to you all, Spec-chums! Have some shortbread and a lump of coal. (It's traditional round these parts, although God alone knows what use one measly lump of coal ever was to anyone, but that's traditions for you, eh? It's also one of those ancient treasured traditions that nobody actually does any more.) I couldn't post earlier - server rubbishness, which also means I can't see the several "Happy New Year" threads that have probably already been started. And finished. Tsk. I did think of going to #speccy at some point over the weekend instead...

Better late than never...
Hiya y'all, To be absolutely honest, although I have been "into" home computers (Oric, Dragon, BBC, Enterprise, Amstrad) since 1983, I had never used a Commodore until quite recently. None of my friends had one. Just over a year or so I was given a full C128 system, with 3 x 1541 drives, MPS801 printer, Quickshot joystick, monitor, and heaps of 5.25" disks. This system was my wife's and her brother's and had been gathering dust at their mother's house. It was not until a couple of months ago, that I had the space and time to get around to setting it up, and gla...

Better late than never.
Just played through the XIII demo. Very impressive. Haven't been so impressed in a new graphics genre since Outcast (http://www.activewin.com/reviews/software/games/o/outcast.shtml) came out. Super stylish graphics, good weapons, great sound fx, good music, super "hilite" feature which pops up windows showing other things going on. Hopefully a great storyline to boot. Lousy control configuration though : but since that's a "do it once and forget" interface I don't care too much. Definitely on my "I want it now" list. -- Walter Mitty. Remind...

Vaporware: Better Late Than Never
http://www.wired.com/news/technology/0,70143-2.html?tw=wn_story_page_next2 Ladies and gents, welcome to the 2005 Vaporware Awards -- the prize that celebrates the tech products that were promised last year but never delivered. We have a few surprises this year -- wait 'til you find out the winner; you'll never guess what it is. ...... 8. Blu-ray or HD-DVD discs At the end of 2005, we were supposed to be able to buy next-generation DVDs capable of displaying eye-popping high-definition video on our giant plasma TVs. Except the military/entertainment co...

OT - OT - OT
http://www.405themovie.com/Home.asp -- Cliff "Cliff" <Clhuprich@aol.com> wrote in message news:7jht919fodmtt9o6mdo11ac8rqlt6jf2ad@4ax.com... > http://www.405themovie.com/Home.asp > > -- > Cliff Interesting but not very realistic at all. Lane (Lane, check for pulse. Are you alive?) Good effects. I liked Grandma best, I think I've seen her driving in front of me a few times. "Lane" <lane (no spam) at copperaccents dot com> wrote in message news:uYSdnRj7gaIQ6gLfRVn-qA@comcast.com... > > "Cliff" <Clhuprich@aol.co...

Better late than never. #2
Thanks to Steam, I effortlessly bought and ran "Thief - Deadly Shadows". Some points 1) My 1.5 year old pc really chugs with this one. I have to lower some details and run at 800x600. 2) It still looks AWESOME I am *so* impressed. This engine was before it's time. The particle effects and ambiance are second to none. Great variety of "commenting" from the other characters, good storyline progression, superb scenery, good positional sound. An absolute bargain at 19 dollars. If you haven't tried it and you have a beefy enough PC, visit STEAM and download this ...

Deus Ex: Better late than never
SPOILERS: I actually bought this game when it first came out. I had fun with it, but got derailed at the part where you are taken captive by the MJ12 and lose all your gear. That annoyed me. I got sidetracked by some other game at that point, then went back to it when the patch was released. However, the patch seemed to break my savegames, or I was unable to save. I cannot recall the exact problem. So years pass and now I finally decided to finish this game. Installed it, patched it, and played the game from the beginning. I'm now done. That was quite a lot o...

Better Late Than Never
How odd. Nobody started one of these threads in December. Isn't it mandatory to have some sort of top-ten list at the end of the year? How else can we look back and reflect on what the past 12 months have brought us? Well, if nobody else is willing to pick up this gauntlet, then I will (oh, the sacrifices I make! ;-). Here then are my Top (and bottom) games of 2013. The rules are simple. In order to qualify, the games had to have been released in 2013 (or thereabouts, 2012 Holiday season releases qualify as well), and I had to play them. Great games that weren't actually ...

LEADER: Linux in government
Silicon.com - UK .... Lets get real - without the 'hidden' financing of IBM, Novell, Sun and Oracle Linux and its ilk would have died away. ... Well Windows maybe but not Linux! ... <http://www.silicon.com/publicsector/0,3800010408,39156907,00.htm?PROCESS=show&ID=20064895&AT=39156907> -- -- http://www.vanwensveen.nl/rants/microsoft/IhateMS.html ...

OT
Number 1 most requested thing on Dell's "Idea Storm" page: http://www.dellideastorm.com/ bob z. would love to be in a position where he wasn't placing all of his CAD eggs in one OS basket. bob z. p.s. I'm living for givin the devil his due > wasn't placing all of his CAD eggs in one OS basket. Ditto. Maybe someday. "Linux and x64 are two of the technologies most requested by UGS customers." http://www10.mcadcafe.com/nbc/articles/view_weekly.php?articleid=260017 Product name would be: Solinux 3dunix Lincad Modelinux "bob zee" <bobze...

Web resources about - OT: Better Late than Never - comp.soft-sys.sas

Why it's becoming easier every day to imagine Donald Trump being inaugurated
He has offended Muslims, women and Latinos, and now Sarah Palin is backing his presidency - but this won't stop the steady rise of support

Tomb Of The Unknown Soldiers Photo: Viral Pictures Show U.S. Army Soldiers Guarding Tomb During East ...
A photo from the Tomb of the Unknown Soldiers went viral this weekend, showing U.S. Army soldiers continuing to stand guard even as the East ...

Police charge 17-year-old in Canada after 4 shot dead
Police on Saturday charged a 17-year-old boy with four counts of first-degree murder and seven counts of attempted murder in a mass shooting ...

These horses love making snow angels
Some like snow, others despise it Well these majestic beasts are making the most out of their wintery day, thanks to a massive snowstorm that ...

Kerry confident Syria talks can proceed
Reuters Kerry confident Syria talks can proceed Reuters RIYADH U.S. Secretary of State John Kerry said on Saturday he was confident Syria ...

Paul Dano and Daniel Radcliffe star in the strangest movie I've ever seen at the Sundance Film Festival ...
I've seen a lot of weird movies in the nine years I've attended the Sundance Film Festival, but this year, I may have seen the strangest one ...

Blue Origin Executes First Successful Relaunch And Landing Of Reusable Rocket
The private sector space race is heating up, and Amazon.com co-founder Jeff Bezos’ Blue Origin is back out in front with the first successful ...

John Legend & ‘Underground’ EP On “Slow Moving Change” Of Oscars & Diversity – Sundance
"I think what the Academy did this week is a step in the right direction but it's going to be a slow moving change because the Academy reflects ...

Stunning Star Wars visual effects breakdown shows how Maz Kanata was brought to life
Much was made of The Force Awakens' return to practical effects after the overly-sanitized look of the prequel trilogy, but make no mistake: ...

Joe Biden: Vice President Claims The U.S. Prepared For ‘Military Solution’ Against Islamic State In Syria ...
One of the biggest issues the Obama administration had to deal with throughout their eight-year tenure is the threat of the Islamic State in ...

Resources last updated: 1/24/2016 6:59:14 AM