Domain: diffenbach.org
Stories and comments across the archive that link to diffenbach.org.
Comments · 8
-
Re:Wrong priorities here...
Seems like if he were out to help, he should have responded with a tutorial detailing what is wrong with their site, and how to fix it.
That would certainly have been easier for him, but not necessarily more effective. Tutorials don't produce the needed changes; code does.
I had something similar happen with emusic.com.
Emusic.com allows subscribers to view every track they've downloaded throughout out their subscription, but at one time the interface was flawed and slow. Tracks were arranged by Album, and Albums by artist, so to see the tracks, one had to "expand" a hierarchical tree. First the Artist would be expanded (an HTML POST) and then the Album (another POST), and there was no way, via the interface, to expand more than one Album or Artist at a time.
Invariably, a user session would time out after ten or so expansions were made, and then one had to start over. And with each expansion, more data was displayed, so GETting and loading took longer and longer, even though most data on each GET was a repeat of the data in the last GET, except for whatever had just been expended.
So I wrote a Perl program to fetch all tracks for all albums for all artists, and I even wrote it so that it expanded several artists and albums on each POST, so it did more while making fewer requests and fewer repetitive GETs for a smaller total number of bytes downloaded. Them the program spit out all the artist and albums and tracks as a HTML page on the user's local hard drive.
Since emusic requires a login (recall that each users "collection" accrued throughout the subscription is different), my program has to get the login and password and pas it along to emusic's site, just as site that "piggy-backed" on Odeon's site. (If you read the article, you saw that one of Odeon's principle complaints was about user information passing through the third-party site -- not that you read the article, being Slashdotters.)
While I wanted to have my program "phone home" to the distribution website so that I could track its use, I decided not to -- since users were trusting my program with their logins and passwords, I wanted to avoid doing anything that might look like I could be intercepting that information, even if all that would be phoned home was innocuous usage data.
I also took great care to make my program not strain emusics.com's website, both by aggregating "expansions" into single POSTs and GETs, and by forcing it to pause between requests. I even made the pause time random, to prevent any deadlocks if several users were using my program simultaneously. My program also had to deal with session time outs and know to re-login after each. In order to ensure the pauses were preserved, and to prevent anyone from producing trojan'd copies of my program that might steal login information from users, I did not release source code to my program.
And I made sure to mention on each page of the distribution web site, in each of the program help files, on stdout at runtime, and in the produced files, that my program was in no way affiliated with emusic.com and that all trademarks were the property of their owners.
My program was enthusiastically received by emusic subscribers, some of whom even said that having my program kept them from ending their subscriptions. emusic.com never contacted me, but emusic also didn't stop other people from recommending my program on emusic's message boards.
But about a month after I released my program, emusic rolled out an upgrade to their site. Among other things, the upgrade eliminated the clunky "expansion" style collection list. Unfortunately, the new version wasn't compatible with my code, either in layout or in the data ex -
Re:Wrong priorities here...
Seems like if he were out to help, he should have responded with a tutorial detailing what is wrong with their site, and how to fix it.
That would certainly have been easier for him, but not necessarily more effective. Tutorials don't produce the needed changes; code does.
I had something similar happen with emusic.com.
Emusic.com allows subscribers to view every track they've downloaded throughout out their subscription, but at one time the interface was flawed and slow. Tracks were arranged by Album, and Albums by artist, so to see the tracks, one had to "expand" a hierarchical tree. First the Artist would be expanded (an HTML POST) and then the Album (another POST), and there was no way, via the interface, to expand more than one Album or Artist at a time.
Invariably, a user session would time out after ten or so expansions were made, and then one had to start over. And with each expansion, more data was displayed, so GETting and loading took longer and longer, even though most data on each GET was a repeat of the data in the last GET, except for whatever had just been expended.
So I wrote a Perl program to fetch all tracks for all albums for all artists, and I even wrote it so that it expanded several artists and albums on each POST, so it did more while making fewer requests and fewer repetitive GETs for a smaller total number of bytes downloaded. Them the program spit out all the artist and albums and tracks as a HTML page on the user's local hard drive.
Since emusic requires a login (recall that each users "collection" accrued throughout the subscription is different), my program has to get the login and password and pas it along to emusic's site, just as site that "piggy-backed" on Odeon's site. (If you read the article, you saw that one of Odeon's principle complaints was about user information passing through the third-party site -- not that you read the article, being Slashdotters.)
While I wanted to have my program "phone home" to the distribution website so that I could track its use, I decided not to -- since users were trusting my program with their logins and passwords, I wanted to avoid doing anything that might look like I could be intercepting that information, even if all that would be phoned home was innocuous usage data.
I also took great care to make my program not strain emusics.com's website, both by aggregating "expansions" into single POSTs and GETs, and by forcing it to pause between requests. I even made the pause time random, to prevent any deadlocks if several users were using my program simultaneously. My program also had to deal with session time outs and know to re-login after each. In order to ensure the pauses were preserved, and to prevent anyone from producing trojan'd copies of my program that might steal login information from users, I did not release source code to my program.
And I made sure to mention on each page of the distribution web site, in each of the program help files, on stdout at runtime, and in the produced files, that my program was in no way affiliated with emusic.com and that all trademarks were the property of their owners.
My program was enthusiastically received by emusic subscribers, some of whom even said that having my program kept them from ending their subscriptions. emusic.com never contacted me, but emusic also didn't stop other people from recommending my program on emusic's message boards.
But about a month after I released my program, emusic rolled out an upgrade to their site. Among other things, the upgrade eliminated the clunky "expansion" style collection list. Unfortunately, the new version wasn't compatible with my code, either in layout or in the data ex -
Re:Wrong priorities here...
Seems like if he were out to help, he should have responded with a tutorial detailing what is wrong with their site, and how to fix it.
That would certainly have been easier for him, but not necessarily more effective. Tutorials don't produce the needed changes; code does.
I had something similar happen with emusic.com.
Emusic.com allows subscribers to view every track they've downloaded throughout out their subscription, but at one time the interface was flawed and slow. Tracks were arranged by Album, and Albums by artist, so to see the tracks, one had to "expand" a hierarchical tree. First the Artist would be expanded (an HTML POST) and then the Album (another POST), and there was no way, via the interface, to expand more than one Album or Artist at a time.
Invariably, a user session would time out after ten or so expansions were made, and then one had to start over. And with each expansion, more data was displayed, so GETting and loading took longer and longer, even though most data on each GET was a repeat of the data in the last GET, except for whatever had just been expended.
So I wrote a Perl program to fetch all tracks for all albums for all artists, and I even wrote it so that it expanded several artists and albums on each POST, so it did more while making fewer requests and fewer repetitive GETs for a smaller total number of bytes downloaded. Them the program spit out all the artist and albums and tracks as a HTML page on the user's local hard drive.
Since emusic requires a login (recall that each users "collection" accrued throughout the subscription is different), my program has to get the login and password and pas it along to emusic's site, just as site that "piggy-backed" on Odeon's site. (If you read the article, you saw that one of Odeon's principle complaints was about user information passing through the third-party site -- not that you read the article, being Slashdotters.)
While I wanted to have my program "phone home" to the distribution website so that I could track its use, I decided not to -- since users were trusting my program with their logins and passwords, I wanted to avoid doing anything that might look like I could be intercepting that information, even if all that would be phoned home was innocuous usage data.
I also took great care to make my program not strain emusics.com's website, both by aggregating "expansions" into single POSTs and GETs, and by forcing it to pause between requests. I even made the pause time random, to prevent any deadlocks if several users were using my program simultaneously. My program also had to deal with session time outs and know to re-login after each. In order to ensure the pauses were preserved, and to prevent anyone from producing trojan'd copies of my program that might steal login information from users, I did not release source code to my program.
And I made sure to mention on each page of the distribution web site, in each of the program help files, on stdout at runtime, and in the produced files, that my program was in no way affiliated with emusic.com and that all trademarks were the property of their owners.
My program was enthusiastically received by emusic subscribers, some of whom even said that having my program kept them from ending their subscriptions. emusic.com never contacted me, but emusic also didn't stop other people from recommending my program on emusic's message boards.
But about a month after I released my program, emusic rolled out an upgrade to their site. Among other things, the upgrade eliminated the clunky "expansion" style collection list. Unfortunately, the new version wasn't compatible with my code, either in layout or in the data ex -
Re:Wrong priorities here...
Seems like if he were out to help, he should have responded with a tutorial detailing what is wrong with their site, and how to fix it.
That would certainly have been easier for him, but not necessarily more effective. Tutorials don't produce the needed changes; code does.
I had something similar happen with emusic.com.
Emusic.com allows subscribers to view every track they've downloaded throughout out their subscription, but at one time the interface was flawed and slow. Tracks were arranged by Album, and Albums by artist, so to see the tracks, one had to "expand" a hierarchical tree. First the Artist would be expanded (an HTML POST) and then the Album (another POST), and there was no way, via the interface, to expand more than one Album or Artist at a time.
Invariably, a user session would time out after ten or so expansions were made, and then one had to start over. And with each expansion, more data was displayed, so GETting and loading took longer and longer, even though most data on each GET was a repeat of the data in the last GET, except for whatever had just been expended.
So I wrote a Perl program to fetch all tracks for all albums for all artists, and I even wrote it so that it expanded several artists and albums on each POST, so it did more while making fewer requests and fewer repetitive GETs for a smaller total number of bytes downloaded. Them the program spit out all the artist and albums and tracks as a HTML page on the user's local hard drive.
Since emusic requires a login (recall that each users "collection" accrued throughout the subscription is different), my program has to get the login and password and pas it along to emusic's site, just as site that "piggy-backed" on Odeon's site. (If you read the article, you saw that one of Odeon's principle complaints was about user information passing through the third-party site -- not that you read the article, being Slashdotters.)
While I wanted to have my program "phone home" to the distribution website so that I could track its use, I decided not to -- since users were trusting my program with their logins and passwords, I wanted to avoid doing anything that might look like I could be intercepting that information, even if all that would be phoned home was innocuous usage data.
I also took great care to make my program not strain emusics.com's website, both by aggregating "expansions" into single POSTs and GETs, and by forcing it to pause between requests. I even made the pause time random, to prevent any deadlocks if several users were using my program simultaneously. My program also had to deal with session time outs and know to re-login after each. In order to ensure the pauses were preserved, and to prevent anyone from producing trojan'd copies of my program that might steal login information from users, I did not release source code to my program.
And I made sure to mention on each page of the distribution web site, in each of the program help files, on stdout at runtime, and in the produced files, that my program was in no way affiliated with emusic.com and that all trademarks were the property of their owners.
My program was enthusiastically received by emusic subscribers, some of whom even said that having my program kept them from ending their subscriptions. emusic.com never contacted me, but emusic also didn't stop other people from recommending my program on emusic's message boards.
But about a month after I released my program, emusic rolled out an upgrade to their site. Among other things, the upgrade eliminated the clunky "expansion" style collection list. Unfortunately, the new version wasn't compatible with my code, either in layout or in the data ex -
Re:FreeType for GIMP
On the matter of Text, use FreeType for the GIMP. It produces beautiful scaled, rotated, and angled text output.
But, using GIMP 2 and the version of FreeType that comes with it, I can't produce multi-line texts.
With the GIMP "Text Tool", I can produce multi-line text -- but only if I manually insert newlines. With FreeType, I can't even insert newline manually. And I can't get the text to re-flow; I have to manually remove and replace newlines.
What I want to do is produce some block of text, and have that text wrap to the confines of some box I put around it. There's absolutely no way to do that using the GIMP.
For this I manually inserted newlines, then removed and replaced them as I fiddled with changing the font size. Tedious.
For this for the text on the placard, I used the "Text tool" and then the "Perspective tool" -- as FreeType would have required matching the rotation for each of the three lines.
Finally, for this, I recalled that I could do flowing, multi-line text boxes in WordPerfect back in 1986, so I fired up Microsoft Word. Word wouldn't really do what I wanted (no surprise there) but Open Office produced the Text Boxes quite handily, with multi-line wrapping and reflowing.
So did I use GIMP for one third last example? well, I took a screen shot of the Open Office screen and pasted that into GIMP to scale it and save it as a jpeg. Except, the GIMP couldn't or wouldn't paste my screen-shot, so I had to paste that into Microsoft Paint, save the Paint bmp, and open the bmp in GIMP.
Basically, multi-line text isn't supported in the GIMP -- and without decent text handling, GIMP's a nice toy but not a "real" application.
And the GIMP UI requires me to iconize all other windows, because I use an X-mouse style activate on mouse-over, but that's another complaint for another post. -
Re:FreeType for GIMP
On the matter of Text, use FreeType for the GIMP. It produces beautiful scaled, rotated, and angled text output.
But, using GIMP 2 and the version of FreeType that comes with it, I can't produce multi-line texts.
With the GIMP "Text Tool", I can produce multi-line text -- but only if I manually insert newlines. With FreeType, I can't even insert newline manually. And I can't get the text to re-flow; I have to manually remove and replace newlines.
What I want to do is produce some block of text, and have that text wrap to the confines of some box I put around it. There's absolutely no way to do that using the GIMP.
For this I manually inserted newlines, then removed and replaced them as I fiddled with changing the font size. Tedious.
For this for the text on the placard, I used the "Text tool" and then the "Perspective tool" -- as FreeType would have required matching the rotation for each of the three lines.
Finally, for this, I recalled that I could do flowing, multi-line text boxes in WordPerfect back in 1986, so I fired up Microsoft Word. Word wouldn't really do what I wanted (no surprise there) but Open Office produced the Text Boxes quite handily, with multi-line wrapping and reflowing.
So did I use GIMP for one third last example? well, I took a screen shot of the Open Office screen and pasted that into GIMP to scale it and save it as a jpeg. Except, the GIMP couldn't or wouldn't paste my screen-shot, so I had to paste that into Microsoft Paint, save the Paint bmp, and open the bmp in GIMP.
Basically, multi-line text isn't supported in the GIMP -- and without decent text handling, GIMP's a nice toy but not a "real" application.
And the GIMP UI requires me to iconize all other windows, because I use an X-mouse style activate on mouse-over, but that's another complaint for another post. -
Re:FreeType for GIMP
On the matter of Text, use FreeType for the GIMP. It produces beautiful scaled, rotated, and angled text output.
But, using GIMP 2 and the version of FreeType that comes with it, I can't produce multi-line texts.
With the GIMP "Text Tool", I can produce multi-line text -- but only if I manually insert newlines. With FreeType, I can't even insert newline manually. And I can't get the text to re-flow; I have to manually remove and replace newlines.
What I want to do is produce some block of text, and have that text wrap to the confines of some box I put around it. There's absolutely no way to do that using the GIMP.
For this I manually inserted newlines, then removed and replaced them as I fiddled with changing the font size. Tedious.
For this for the text on the placard, I used the "Text tool" and then the "Perspective tool" -- as FreeType would have required matching the rotation for each of the three lines.
Finally, for this, I recalled that I could do flowing, multi-line text boxes in WordPerfect back in 1986, so I fired up Microsoft Word. Word wouldn't really do what I wanted (no surprise there) but Open Office produced the Text Boxes quite handily, with multi-line wrapping and reflowing.
So did I use GIMP for one third last example? well, I took a screen shot of the Open Office screen and pasted that into GIMP to scale it and save it as a jpeg. Except, the GIMP couldn't or wouldn't paste my screen-shot, so I had to paste that into Microsoft Paint, save the Paint bmp, and open the bmp in GIMP.
Basically, multi-line text isn't supported in the GIMP -- and without decent text handling, GIMP's a nice toy but not a "real" application.
And the GIMP UI requires me to iconize all other windows, because I use an X-mouse style activate on mouse-over, but that's another complaint for another post. -
Re:$0.99 ??
try http://www.emusic.com, which offers 40 songs for $10 a month.
If you're already an emusic.com customer, and you find emusic.com's "My Collection" page to be a slow, tedious, pain in the ass, and you'd prefer to download to your local harddrive an HTML page showing every album you've downloaded from emusic.com with links back to each album page at emusic.com, get this free program for Windows, Mac, or linux:
Get Collection.