From linuxman at worldwebcafe.com Thu Jan 10 01:27:27 2002 From: linuxman at worldwebcafe.com (T.J. Duchene) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Borland Linux License - please help Message-ID: <200201100823.CAA28372@ns2.worldwebcafe.com> Hello, As a result of Borland's Kylix and JBuilder licenses for Linux, I humbly ask you to consider posting this letter or similar information. I hope to get Borland to change their outrageous policy. Kindest Regards, T.J. Duchene ---------- Forwarded Message ---------- Subject: License Protest Date: Fri, 4 Jan 2002 14:54:58 -0600 From: T.J. Duchene To: "steve stroud" An Open Letter to Borland/Inprise Concerning Licensing January 4, 2002 To: Borland/Inprise Corporation From: T.J. Duchene Subject: License Policy for your Software under Linux First, I want to be clear in that I have been a Borland customer for many years, and have used your products over competitors' offerings, whenever possible. I feel that I cannot remain silent after reviewing your recent license agreements. I had a very unpleasant surprise when I decided to test JBuilder 5, and Kylix 2 Open Edition. Both of these products were designed for the Linux operating system. After reading the license, I immediately aborted the install procedure. Both have a license provisions which I feel are both invasive, as well as ethically and morally reprehensible. To begin, I quote your own license: 12. AUDIT. During the term of this License and for one (1) year thereafter, upon reasonable notice and during normal business hours, Borland or its outside auditors will have the right to enter your premises and access your records and computer systems to verify that you have paid to Borland the correct amounts owed under this License and determine whether the Products are being used in accordance with the terms of this License. You will provide reasonable assistance to Borland in connection with this provision. You agree to pay the cost of the audit if any underpayments during the period covered by the audit amount to more than five percent (5%) of the fees actually owed for that period. We are to grant you access to our work and materials, for the purposes of verifying compliance with this license. In other words, we forfeit our rights of privacy at our facilities or our homes - a right which we are guaranteed under the Constitution, simply to satisfy you that we are not cheating on a license. There will never be a circumstance, that I will allow Borland or any other greedy software company to invade my home without a warrant authorized by a court of law. You have no right to even ask for such a thing, in my opinion. Another concern shared by many beside privacy is the protection of intellectual rights and property. What guarantees do I have that your company or your auditing personnel will not exploit time spent accessing my systems to either steal, compromise, or contaminate my data security, non-disclosure agreements, intellectual rights or patents on software I may have in development? I would say none. Even if you promised, how could you realistically enforce it? Once something has been viewed, you can't un-view it. Your license doesn't even specify which products on computer systems you want to view. One or all? Windows, OS/2, AS/400 or Linux? Private citizens, students, nor any company ever commissioned have any intentions of allowing a single vendor complete access to an entire network/system for one piece of software, either working in the public interest on GNU software or in the private sector. Anyone I know would not use that vendor's products rather than agree to such a compromise of security. Also, in the same license, you require us to waive our right to settle any dispute in jury fashion, and give up our rights to class actions. Again, I quote from your license: 14.4 No Jury Trials; No Joinder. Each party hereby irrevocably waives its right to a jury trial in any legal action, suit or proceeding between the parties arising out of or relating to this License. A copy this License may be filed with the court as written consent by both parties to a bench trial. You agree that any dispute you may have against Borland cannot be joined with any dispute of any other person or entity in a lawsuit, arbitration or any other proceeding, or resolved on a classwide basis. If a number of people decide that your license is unlawful, they cannot collectively seek remedy. Are you afraid that a jury trial might be costly, and rule against you? Jury trials by definition are "trial by peers." A public trial results in many things, including bad public relations. Bench trials are commonly used where actions are to be kept confidential. I strongly question your motivations on this point, especially considering Provision 12. First, we must forfeit our rights to privacy, and then we must give up our traditional protections and rights to resolve grievances under the law. I believe you are asking too much from programmers and other users, who have looked to your company for years to provide quality development software on many platforms. In creating this license, I feel you have betrayed the trust that you have engendered over the past years. Where you once created "no nonsense" licenses, that made me proud to be a Borland customer, you have now created a license that I must publicly protest, to inform the public community of this travesty. To do this in good conscience, I have taken the following steps: 1.This letter will not only be posted publicly on my website in the future, but it will also be sent to any persons/sites/projects, as I see fit via email. 2.Before this letter is sent, I will destroy all copies of your software in my possession with the offending license. 3.From this point on, if I download or purchase any software from Borland or any other company that contains this license or one with similar provisions, it will be returned or destroyed immediately. 4.I will inform my colleagues, and clients of this license, and advise them to avoid any Borland or any other vendor's software that contains these provisions, until you and the industry change license and company policies. 5.If I am informed of any previous products on any platform being retroactively licensed in such a manner, I will discontinue using them immediately. I use C++ Builder 3 Professional as my preferred development platform for Windows, for example. If this software is retroactively licensed in that manner, I will seek a new platform. The matter has weighted heavily in my decision to purchase new Borland software. I will be frank. I never purchase or use any software with that license, or any with similar provisions from any vendor. Period. I want to remain a Borland customer, so I do hope that this matter can be resolved quickly and amicably. T.J. Duchene ------------------------------------------------------- ------------------------------------------------------- ------------------------------------------------------- ------------------------------------------------------- From mend0070 at tc.umn.edu Thu Jan 10 07:41:01 2002 From: mend0070 at tc.umn.edu (Phil Mendelsohn) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Borland Linux License - please help In-Reply-To: <200201100823.CAA28372@ns2.worldwebcafe.com> Message-ID: On Thu, 10 Jan 2002, T.J. Duchene wrote: > Hello, > > As a result of Borland's Kylix and JBuilder licenses for Linux, I humbly ask > you to consider posting this letter or similar information. I hope to get > Borland to change their outrageous policy. Hi. Thanks for bringing this nasty license to peoples' attention. I *do* agree with you that it's not very nice. However, while not a lawyer, I have had some contact with them recently, and you might want to as well before trying to make a couple of your points, which I believe are not correct from a legal standpoint. > 12. AUDIT. During the term of this License and for one > (1) year thereafter, upon reasonable notice and during > normal business hours, Borland or its outside auditors will > have the right to enter your premises and access your > records and computer systems to verify that you have paid > to Borland the correct amounts owed under this License > and determine whether the Products are being used in > accordance with the terms of this License. You will > provide reasonable assistance to Borland in connection > with this provision. You agree to pay the cost of the audit > if any underpayments during the period covered by the > audit amount to more than five percent (5%) of the fees > actually owed for that period. > > > We are to grant you access to our work and materials, for the purposes of > verifying compliance with this license. In other words, we forfeit our > rights of privacy at our facilities or our homes - a right which we are > guaranteed under the Constitution, I believe, that as valuable as privacy is, that you will find that there is no such explicit right granted by the Constitution, and that this is in fact a fairly common misapprehension. Further, even if it did, the rights granted by the Constitution are a restraint on *government*, not third parties. > 14.4 No Jury Trials; No Joinder. Each party hereby > irrevocably waives its right to a jury trial in any legal > action, suit or proceeding between the parties arising out > of or relating to this License. A copy this License may be > filed with the court as written consent by both parties to a > bench trial. You agree that any dispute you may have > against Borland cannot be joined with any dispute of any > other person or entity in a lawsuit, arbitration or any other > proceeding, or resolved on a classwide basis. > First, we must forfeit our rights to privacy, and then we must give up our > traditional protections and rights to resolve grievances under the law. No, they do not ask you to give _up_ your rights to resolve things under the law -- they do *restrict* them, but a bench trial is a trial in a court of law. Being tried by a "jury of peers" is the right of criminals -- this is not a criminal law setting. > I believe you are asking too much from programmers and other users, > who have looked to your company for years to provide quality > development software on many platforms. I agree completely with your sentiments, but would recommend you either take the legal slant out of your letter, or have a lawyer look it over. It will not be read as a credible letter by anyone at Borland (who hired their own lawyers to draft the license in the first place!) if you don't have all your legal points in order. Constructively, Phil Mendelsohn -- "Trying to do something with your life is like sitting down to eat a moose." --Douglas Wood From linuxman at worldwebcafe.com Sat Jan 12 11:14:58 2002 From: linuxman at worldwebcafe.com (T.J. Duchene) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Fwd: Revised Borland Protest letter please excuse if multiple -- email problems Message-ID: <200201121811.MAA16255@ns2.worldwebcafe.com> ---------- Forwarded Message ---------- Subject: Revised Borland Protest letter Date: Sat, 12 Jan 2002 10:25:28 -0600 From: T.J. Duchene To: support@mncla.org;lessig@eff.org;webmaster@eff.org;webmaster@freshmeat.org; sstroud@borland.com;webmaster@zdnet.com;webmaster@lokigames.com;webmaster@mozilla.org;tclug-devel@mn-linux.org;webmaster@redhat.com;webmaster@slashdot.org; webmaster@debian.org;webmaster@gnome.org, webmaster@kde.org, webmaster@opensource.org;outatym1@ecenet.net;webmaster@aclu.org An Open Letter to Borland/Inprise Concerning Licensing (Revised) January 19, 2002 To: Borland/Inprise Corporation From: T.J. Duchene Subject: License Policy for your Software under Linux First, I want to be clear in that I have been a Borland customer for many years, and have used your products over competitors' offerings, whenever possible. I feel that I cannot remain silent after reviewing your recent license agreements. I had a very unpleasant surprise when I decided to test JBuilder 5, and Kylix 2 Open Edition. Both of these products were designed for the Linux operating system. After reading the license, I immediately aborted the install procedure. Both have a license provisions which I feel are both invasive, as well as ethically and morally reprehensible. To begin, I quote your own license: 12. AUDIT. During the term of this License and for one (1) year thereafter, upon reasonable notice and during normal business hours, Borland or its outside auditors will have the right to enter your premises and access your records and computer systems to verify that you have paid to Borland the correct amounts owed under this License and determine whether the Products are being used in accordance with the terms of this License. You will provide reasonable assistance to Borland in connection with this provision. You agree to pay the cost of the audit if any underpayments during the period covered by the audit amount to more than five percent (5%) of the fees actually owed for that period. We are to grant you access to our work and materials, for the purposes of verifying compliance with this license. In other words, we forfeit our rights of privacy at our facilities or our homes - a right which we are granted under the law, simply to satisfy you that we are not cheating on a license. There will never be a circumstance, that I will allow Borland or any other greedy software company to invade my home without a warrant authorized by a court of law. You have no right to even ask for such a thing, in my opinion. Another concern shared by many beside privacy is the protection of intellectual rights and property. What guarantees do I have that your company or your auditing personnel will not exploit time spent accessing my systems to either steal, compromise, or contaminate my data security, non-disclosure agreements, intellectual rights or patents on software I may have in development? I would say none. Even if you promised, how could you realistically enforce it? Once something has been viewed, you can't un-view it. Your license doesn't even specify which products on computer systems you want to view. One or all? Windows, OS/2, AS/400 or Linux? Private citizens, students, nor any company ever commissioned have any intentions of allowing a single vendor complete access to an entire network/system for one piece of software, either working in the public interest on GNU software or in the private sector. Anyone I know would not use that vendor's products rather than agree to such a compromise of security. Also, in the same license, you require us to waive our right to settle any dispute in jury fashion, and give up our rights to class actions. Again, I quote from your license: 14.4 No Jury Trials; No Joinder. Each party hereby irrevocably waives its right to a jury trial in any legal action, suit or proceeding between the parties arising out of or relating to this License. A copy this License may be filed with the court as written consent by both parties to a bench trial. You agree that any dispute you may have against Borland cannot be joined with any dispute of any other person or entity in a lawsuit, arbitration or any other proceeding, or resolved on a classwide basis. If a number of people decide that your license is inappropriate, they cannot collectively seek remedy. First, we must forfeit our rights to privacy, and then we must give up some of our traditional protections and rights to resolve grievances under the law. I believe you are asking too much from programmers and other users, who have looked to your company for years to provide quality development software on many platforms. In creating this license, I feel you have betrayed the trust that you have engendered over the past years. Where you once created "no nonsense" licenses, that made me proud to be a Borland customer, you have now created a license that I must publicly protest, to inform the public community of this travesty. To do this in good conscience, I have taken the following steps: 1.This letter will not only be posted publicly on my website in the future, but it will also be sent to any persons/sites/projects, as I see fit via email. 2.Before this letter is sent, I will destroy all copies of your software in my possession with the offending license. 3.From this point on, if I download or purchase any software from Borland or any other company that contains this license or one with similar provisions, it will be returned or destroyed immediately. 4.I will inform my colleagues, and clients of this license, and advise them to avoid any Borland or any other vendor's software that contains these provisions, until you and the industry change license and company policies. 5.If I am informed of any previous products on any platform being retroactively licensed in such a manner, I will discontinue using them immediately. I use C++ Builder 3 Professional as my preferred development platform for Windows, for example. If this software is retroactively licensed in that manner, I will seek a new platform. The matter has weighted heavily in my decision to purchase new Borland software. I will be frank. I never purchase or use any software with that license, or any with similar provisions from any vendor. Period. I want to remain a Borland customer, so I do hope that this matter can be resolved quickly and amicably. T.J. Duchene Notes: In the original letter, apparrently I made a few legal mistakes in my interpretation of the law. As I am not a laywer, but a programmer, I imagine a few mistakes are envitable. The basic point remains untouched. That this is an invasion of privacy, abeit a legal one as you are actually giving them permission to do so. The mistakes I made are simple ones, but as with all law it seems - its the details that matter: 1 .Privacy is not "guaranteed" by the Constitution. Illegal search and seizure is. This helps form the basis of our legal stance on privacy. 2. I was correct in the original letter that bench trials are a judge only. It has been pointed out to me that jury trials are ususally used for criminal proceedings. What Borland is requiring is that we limit our legal options to a dispute with them and a judge. What I protest is the activity granted by this kind of license. Should it become allowed to continue, it not only encourages other companies to adopt the same stance, but could destroy or at least compromise property and privacy rights on computer data, due to its general nature, in my opinion. My desire is to get the issue out there in the open where it can be discussed. ------------------------------------------------------- From hopper at omnifarious.org Sat Jan 12 13:50:03 2002 From: hopper at omnifarious.org (Eric M. Hopper) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Fwd: Revised Borland Protest letter please excuse if multiple -- email problems In-Reply-To: <200201121811.MAA16255@ns2.worldwebcafe.com> References: <200201121811.MAA16255@ns2.worldwebcafe.com> Message-ID: <1010865004.2536.4.camel@monster.omnifarious.org> Where is a link to where this letter is posted on the web? Thanks, -- The best we can hope for concerning the people at large is that they be properly armed. -- Alexander Hamilton -- Eric Hopper (hopper@omnifarious.org http://www.omnifarious.org/~hopper) -- -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 228 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/tclug-devel/attachments/20020112/83b95062/attachment.pgp From tanner at real-time.com Mon Jan 14 05:47:08 2002 From: tanner at real-time.com (Bob Tanner) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Hidding passwords in Java? Message-ID: <20020114054708.V4915@real-time.com> Is there any code out there that will hide passwords when type at the console? I'm finishing up on a console program and it requires username/password, but I cannot seem to figure out how to hide the password as it's being typed. I'm sure some other Java programs have run into this, but google searches have been unsuccessful. -- Minneapolis St. Paul Twin Cities MN | Phone : (952)943-8700 http://www.mn-linux.org Minnesota Linux | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From josh at greentechnologist.org Mon Jan 14 08:57:31 2002 From: josh at greentechnologist.org (Joshua b. Jore) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Hidding passwords in Java? In-Reply-To: <20020114054708.V4915@real-time.com> Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I've never tried this in Java but I've seen this question before. It's a stty thing. You want to turn off echo. There some fairly readable code in Term-ReadPassword up on CPAN. It might give you an idea of how to tackle this. (temporarily reopen TTY and TTYOUT) $original_flags & ~(ISIG | ECHO | ICANON); # -isig: disable the checking of characters agains the special control # characters INTR, QUIT, SUSP # -echo: do not echo back every character typed # -icanon: disable canonical input (ERASE and KILL processing). Joshua b. Jore Minneapolis Ward 3, precinct 10 http://www.greentechnologist.org On Mon, 14 Jan 2002, Bob Tanner wrote: > Is there any code out there that will hide passwords when type at the console? > > I'm finishing up on a console program and it requires username/password, but I > cannot seem to figure out how to hide the password as it's being typed. > > I'm sure some other Java programs have run into this, but google searches have > been unsuccessful. > > -- > Minneapolis St. Paul Twin Cities MN | Phone : (952)943-8700 > http://www.mn-linux.org Minnesota Linux | Fax : (952)943-8500 > Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 > > _______________________________________________ > tclug-devel mailing list > tclug-devel@mn-linux.org > https://mailman.mn-linux.org/mailman/listinfo/tclug-devel > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (OpenBSD) Comment: For info see http://www.gnupg.org iD8DBQE8QvHgfexLsowstzcRAhSHAKCQsDTECNOrVgp2evI3p1PhTAzKmgCgmF1L 0tjaUwJ4xbijwD6aC6htAjo= =IfhV -----END PGP SIGNATURE----- From linuxman at worldwebcafe.com Mon Jan 14 10:42:00 2002 From: linuxman at worldwebcafe.com (T.J. Duchene) Date: Mon Jan 17 14:29:30 2005 Subject: [TCLUG-DEVEL] Borland letter In-Reply-To: <200201131838.g0DIc5520792@sprite.real-time.com> References: <200201131838.g0DIc5520792@sprite.real-time.com> Message-ID: <200201141737.LAA05617@ns2.worldwebcafe.com> It is posted both at Freshmeat for the date of January 12 in the Editorials area, and on my personal site at http://www.kewlness.net. Beware, my site isnt pretty, I haven't taken the time to do a lot of work on it. T.J. From mbresnah at visi.com Mon Jan 14 12:26:26 2002 From: mbresnah at visi.com (Mike Bresnahan) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Hidding passwords in Java? In-Reply-To: <20020114054708.V4915@real-time.com> Message-ID: This was asked recently on the TCJUG. Noone offered a solution other than using JNI to call either getpass(3) or tcsetattr(2). Me thinks the Java designers decided that terminal I/O was not part of the least common demoninator. Mike > -----Original Message----- > From: tclug-devel-admin@mn-linux.org > [mailto:tclug-devel-admin@mn-linux.org]On Behalf Of Bob Tanner > Sent: Monday, January 14, 2002 3:47 AM > To: tclug-devel@mn-linux.org > Subject: [TCLUG-DEVEL] Hidding passwords in Java? > > > Is there any code out there that will hide passwords when type at > the console? > > I'm finishing up on a console program and it requires > username/password, but I > cannot seem to figure out how to hide the password as it's being typed. > > I'm sure some other Java programs have run into this, but google > searches have > been unsuccessful. > > -- > Minneapolis St. Paul Twin Cities MN | Phone : (952)943-8700 > http://www.mn-linux.org Minnesota Linux | Fax : (952)943-8500 > Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 > > _______________________________________________ > tclug-devel mailing list > tclug-devel@mn-linux.org > https://mailman.mn-linux.org/mailman/listinfo/tclug-devel From tanner at real-time.com Tue Jan 15 01:31:22 2002 From: tanner at real-time.com (Bob Tanner) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Hidding passwords in Java? In-Reply-To: ; from mbresnah@visi.com on Mon, Jan 14, 2002 at 10:26:26AM -0800 References: <20020114054708.V4915@real-time.com> Message-ID: <20020115013122.N4915@real-time.com> Quoting Mike Bresnahan (mbresnah@visi.com): > This was asked recently on the TCJUG. Noone offered a solution other than > using JNI to call either getpass(3) or tcsetattr(2). Me thinks the Java > designers decided that terminal I/O was not part of the least common > demoninator. I've been messing around with the streams and experimenting with replacing System.in, but I can't keep the keystrokes from appearing on the console. getpass(3) or tcsetattr(2) Eeek! I don't think those will work under Losedows. -- Bob Tanner | Phone : (952)943-8700 http://www.mn-linux.org, Minnesota, Linux | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From mbresnah at visi.com Tue Jan 15 04:15:45 2002 From: mbresnah at visi.com (Mike Bresnahan) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Hidding passwords in Java? In-Reply-To: <20020115013122.N4915@real-time.com> Message-ID: Correct, it won't work on Windows (unless you use Cygwin or the like) and I don't know how to do the equivalent on Windows. I don't think there is a portable solution to turn echo off. You'll have to use JNI or pop up a GUI dialog. Note that a GUI dialog to enter a password is a simple thing to do with Java. Mike > -----Original Message----- > From: Bob Tanner [mailto:tanner@real-time.com] > Sent: Monday, January 14, 2002 11:31 PM > To: Mike Bresnahan > Cc: tclug-devel@mn-linux.org > Subject: Re: [TCLUG-DEVEL] Hidding passwords in Java? > > > Quoting Mike Bresnahan (mbresnah@visi.com): > > This was asked recently on the TCJUG. Noone offered a solution > other than > > using JNI to call either getpass(3) or tcsetattr(2). Me thinks the Java > > designers decided that terminal I/O was not part of the least common > > demoninator. > > I've been messing around with the streams and experimenting with replacing > System.in, but I can't keep the keystrokes from appearing on the console. > > getpass(3) or tcsetattr(2) Eeek! I don't think those will work > under Losedows. > > -- > Bob Tanner | Phone : (952)943-8700 > http://www.mn-linux.org, Minnesota, Linux | Fax : (952)943-8500 > Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 > From linuxman at worldwebcafe.com Tue Jan 15 10:50:44 2002 From: linuxman at worldwebcafe.com (T.J. Duchene) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Re: tclug-devel digest, Vol 1 #67 - 2 msgs In-Reply-To: <200201150910.g0F9AF514890@sprite.real-time.com> References: <200201150910.g0F9AF514890@sprite.real-time.com> Message-ID: <200201151746.LAA14407@ns2.worldwebcafe.com> On Tuesday 15 January 2002 03:10 am, you wrote: Are you using an applet, or frames - aka AWT or Swing? From mbresnah at visi.com Tue Jan 15 14:37:03 2002 From: mbresnah at visi.com (Mike Bresnahan) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Re: tclug-devel digest, Vol 1 #67 - 2 msgs In-Reply-To: <200201151746.LAA14407@ns2.worldwebcafe.com> Message-ID: I'm not sure who you are responding to, but I thought it needed to be pointed out that you can write applets and applications with either AWT or Swing. In other words, both AWT and Swing have the ability to both build applications and applets. Mike > -----Original Message----- > From: tclug-devel-admin@mn-linux.org > [mailto:tclug-devel-admin@mn-linux.org]On Behalf Of T.J. Duchene > Sent: Tuesday, January 15, 2002 8:51 AM > To: tclug-devel@mn-linux.org > Subject: [TCLUG-DEVEL] Re: tclug-devel digest, Vol 1 #67 - 2 msgs > > > On Tuesday 15 January 2002 03:10 am, you wrote: > Are you using an applet, or frames - aka AWT or Swing? > > _______________________________________________ > tclug-devel mailing list > tclug-devel@mn-linux.org > https://mailman.mn-linux.org/mailman/listinfo/tclug-devel From tanner at real-time.com Wed Jan 16 02:40:05 2002 From: tanner at real-time.com (Bob Tanner) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Hidding passwords in Java? In-Reply-To: <20020115013122.N4915@real-time.com>; from tanner@real-time.com on Tue, Jan 15, 2002 at 01:31:22AM -0600 References: <20020114054708.V4915@real-time.com> <20020115013122.N4915@real-time.com> Message-ID: <20020116024005.A31689@real-time.com> Quoting Bob Tanner (tanner@real-time.com): > Quoting Mike Bresnahan (mbresnah@visi.com): > > This was asked recently on the TCJUG. Noone offered a solution other than > > using JNI to call either getpass(3) or tcsetattr(2). Me thinks the Java > > designers decided that terminal I/O was not part of the least common > > demoninator. > > I've been messing around with the streams and experimenting with replacing > System.in, but I can't keep the keystrokes from appearing on the console. > > getpass(3) or tcsetattr(2) Eeek! I don't think those will work under Losedows. > Well, I got this working using JNI and tcsetattr(2). It was actually very simple. Read the JNI stuff, it should be just as easy for someone to write a windows DLL that does the same thing my share lib does. Of course, that person will not be me, since I don't have a Windows dev environment. I am actually very surprised how easy JNI makes hooking into native code. -- Bob Tanner | Phone : (952)943-8700 http://www.mn-linux.org, Minnesota, Linux | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From ml at drase.com Wed Jan 16 11:55:16 2002 From: ml at drase.com (ml) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Borland Responds to licensing concerns Message-ID: <5.1.0.14.2.20020116115148.0525d100@mail.drase.com> Abstract: An open letter from Dale Fuller to the Borland developer community regarding Borland's new product licensing agreement(s). http://community.borland.com/article/0,1410,28243,00.html From tanner at real-time.com Wed Jan 23 02:58:38 2002 From: tanner at real-time.com (Bob Tanner) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Inner, anonymous classes? Message-ID: <20020123025838.J14300@real-time.com> Is it just me or are inner-anonymous classes just hard to read? I believe this is an inner-anonymous class? public PasswordAuthentication getPasswordAuthentication() { String username, password; String result = JOptionPane.showInputDialog("Enter 'username,password'"); StringTokenizer st = new StringTokenizer(result, ","); username = st.nextToken(); password = st.nextToken(); return new PasswordAuthentication(username, password); } I'm not sure how to read this code. Anyone wanna give this a chatty interpretation? -- Bob Tanner | Phone : (952)943-8700 http://www.mn-linux.org, Minnesota, Linux | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From dutchman at uswest.net Wed Jan 23 03:50:42 2002 From: dutchman at uswest.net (Perry Hoekstra) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Inner, anonymous classes? References: <20020123025838.J14300@real-time.com> Message-ID: <3C4E8771.BE141D23@uswest.net> Bob Tanner wrote: > Is it just me or are inner-anonymous classes just hard to read? > > I believe this is an inner-anonymous class? > > public PasswordAuthentication > getPasswordAuthentication() { > String username, password; > > String result = JOptionPane.showInputDialog("Enter 'username,password'"); > > StringTokenizer st = new StringTokenizer(result, ","); > username = st.nextToken(); > password = st.nextToken(); > > return new PasswordAuthentication(username, password); > } > > I'm not sure how to read this code. > > Anyone wanna give this a chatty interpretation? The method getPasswordAuthentication takes no parameters and returns an object of type PasswordAuthentication. 1. String username, password; Initialized the local variables username and password to type String 2. String result = JOptionPane.showInputDialog("Enter 'username,password'"); This one confuses me a bit because I normally do not deal with Swing classes. However, it looks like it grabs the username and password entered through the JOptionPane in the form 'username, password' 3. StringTokenizer st = new StringTokenizer(result, ","); Using the java class StringTokenizer, extract the username and password which are delimited by a comma 4. username = st.nextToken(); The first String chunk, which is username, is grabed through the nextToken method and the local variable username is set to the nextToken's return value 5. password = st.nextToken(); The second String chunk, which is password, is grabed through the nextToken method and the local variable password set to the nextToken's return value 6. return new PasswordAuthentication(username, password); An instance of PasswordAuthentication is initialized with the values contained in username and password. This instance is returned to the calling method. I suppose you were looking for an explanation of the JOptionPane which is where this explanation breaks down because I don't know how it works because I don't do GUIs. My GUESS is that an instance of JOptionPane pops up, the user is expected to enter a String in the form of 'username, password' and either the 'Enter' key or a button is pressed by the user on the dialog box and control is returned to the getPasswordAuthentication method where the information entered is extracted by use of the showInputDialog method. -- Perry Hoekstra E-Commerce Architect Talent Software Services perry.hoekstra@talentemail.com From kethry at winternet.com Wed Jan 23 07:53:06 2002 From: kethry at winternet.com (Liz Burke-Scovill) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Inner, anonymous classes? In-Reply-To: <20020123025838.J14300@real-time.com> Message-ID: It looks like a function to me... On Wed, 23 Jan 2002, Bob Tanner wrote: > Is it just me or are inner-anonymous classes just hard to read? > > I believe this is an inner-anonymous class? if you move the first line around so that it's more commonly readable you get this - a public function called getPasswordAuthentication with a return object of class PasswordAuthentication (new instantiation of the class)- looks like a member function to me..without seeing the rest of the class , it looks a little thin to me, though... Liz public PasswordAuthentication getPasswordAuthentication() { String username, password; //prompt for user input String result = JOptionPane.showInputDialog("Enter 'username,password'"); /* parse result into tokens for use in creating a new PasswordAuthentication object*/ StringTokenizer st = new StringTokenizer(result, ","); username = st.nextToken(); password = st.nextToken(); //return object - useless by itself, but practical if it's being used // elsewhere return new PasswordAuthentication(username, password); } If I were to use code like this it would be to push it into a vector, or to otherwise use it - ie... // ... // PasswordAuthentication pa = getPasswordAuthentication(); // ... However, I definitely wouldn't use it this way - and it might just break since it looks like username and password should be private fields - instead, considering this performs the function of a consturctor, I'd write the default constructor to prompt for the information. public class PasswordAuthentication { private String username = ""; private String password = ""; public PasswordAuthentication() { // not sure that the following will work either sicne I don't know // swing all that well, but using it to show the example. String result = JOptionPane.showInputDialog("Enter 'username,password'"); StringTokenizer st = new StringTokenizer(result, ","); username = st.nextToken(); password = st.nextToken(); } public PasswordAuthentication(String usr, String pw) { username = usr; password = pw; } } -- Imagination is intelligence having fun... e-mail: kethry@winternet.com URL: http://WWW.winternet.com/~kethry/index.html From kethry at winternet.com Wed Jan 23 09:15:17 2002 From: kethry at winternet.com (Liz Burke-Scovill) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Inner, anonymous classes? In-Reply-To: Message-ID: hrm - but my reply didn't answer your question did it - I don't think this is an anonymous inner class, or if it was supposed to be, was not done properly - in that it calls a constructor for a named class, and don't provide any anonymous class definition... On Wed, 23 Jan 2002, Liz Burke-Scovill wrote: > > It looks like a function to me... > On Wed, 23 Jan 2002, Bob Tanner wrote: > > > Is it just me or are inner-anonymous classes just hard to read? > > > > I believe this is an inner-anonymous class? > if you move the first line around so that it's more commonly readable you > get this - a public function called getPasswordAuthentication with a > return object of class PasswordAuthentication (new instantiation of the > class)- looks like a member function to me..without seeing the rest of the > class , it looks a little thin to me, though... > > Liz > > public PasswordAuthentication getPasswordAuthentication() { > String username, password; > > //prompt for user input > String result = JOptionPane.showInputDialog("Enter 'username,password'"); > > /* parse result into tokens for use in creating a new > PasswordAuthentication object*/ > > StringTokenizer st = new StringTokenizer(result, ","); > username = st.nextToken(); > password = st.nextToken(); > //return object - useless by itself, but practical if it's being used > // elsewhere > return new PasswordAuthentication(username, password); > } > > If I were to use code like this it would be to push it into a vector, or > to otherwise use it - ie... > > // ... > // PasswordAuthentication pa = getPasswordAuthentication(); > // ... > > However, I definitely wouldn't use it this way - and it might just break > since it looks like username and password should be private fields - > instead, considering this performs the function of a consturctor, I'd > write the default constructor to prompt for the information. > > public class PasswordAuthentication { > private String username = ""; > private String password = ""; > > public PasswordAuthentication() { > // not sure that the following will work either sicne I don't know > // swing all that well, but using it to show the example. > > String result = JOptionPane.showInputDialog("Enter 'username,password'"); > StringTokenizer st = new StringTokenizer(result, ","); > username = st.nextToken(); > password = st.nextToken(); > } > > public PasswordAuthentication(String usr, String pw) { > username = usr; > password = pw; > } > > } > > -- Imagination is intelligence having fun... e-mail: kethry@winternet.com URL: http://WWW.winternet.com/~kethry/index.html From david.hadley at applisaurus.com Wed Jan 23 13:19:03 2002 From: david.hadley at applisaurus.com (David Hadley) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Inner, anonymous classes? In-Reply-To: <20020123025838.J14300@real-time.com> References: <20020123025838.J14300@real-time.com> Message-ID: <1011813543.15981.62.camel@dhadley-host6> On Wed, 2002-01-23 at 02:58, Bob Tanner wrote: > Is it just me or are inner-anonymous classes just hard to read? Inner-anonymous classes can be hard to read. But you avoid having an extra source file that simply overrides one method on Authenticator. Creating the class in-line lets you leave the source where it makes the most sense and avoid having misc. classes clog your project. > > I believe this is an inner-anonymous class? > > public PasswordAuthentication > getPasswordAuthentication() { > String username, password; > > String result = JOptionPane.showInputDialog("Enter 'username,password'"); > > StringTokenizer st = new StringTokenizer(result, ","); > username = st.nextToken(); > password = st.nextToken(); > > return new PasswordAuthentication(username, password); > } > Correct code would look like this: Authenticator objAuthenticator = new Authenticator(){ //Insert above code here } This produces an object of type Authenticator that has the method getPasswordAuthentication() overridden. -- David Hadley http://www.applisaurus.com/ From tanner at real-time.com Wed Jan 23 06:11:09 2002 From: tanner at real-time.com (Bob Tanner) Date: Mon Jan 17 14:29:31 2005 Subject: [TCLUG-DEVEL] Imap service provider properties? Message-ID: <20020123061109.X14300@real-time.com> As you can tell, I'm working with Java and Imap. Browsing the 'net I see all sorts of code dealing with Java and Imap and most using things like this: // IMAP provider props.setProperty("mail.imap.socketFactory.class", SSL_FACTORY); props.setProperty("mail.imap.port", "993"); props.setProperty("mail.imap.socketFactory.port", "993"); // Try IMAPS, if that fails try plain old IMAP. props.setProperty("mail.imap.socketFactory.fallback", "true"); Where can I find a listing of the properites that Sun's Imap service provider provides? I cannot seem to find it anywhere. From mbresnah at visi.com Wed Jan 23 14:00:49 2002 From: mbresnah at visi.com (Mike Bresnahan) Date: Mon Jan 17 14:29:32 2005 Subject: [TCLUG-DEVEL] Inner, anonymous classes? In-Reply-To: <20020123025838.J14300@real-time.com> Message-ID: No, that is a function you've shown. An anonymous inner class looks like this: public class Foobar { public static void main( String args[]) { BaseClass baseClass = new BaseClass() { public void doit() { System.out.println("Hello, World!"); } }; baseClass.doit(); } } interface BaseClass { void doit(); } In this example I create an anonymous class derived from BaseClass. Mike > -----Original Message----- > From: tclug-devel-admin@mn-linux.org > [mailto:tclug-devel-admin@mn-linux.org]On Behalf Of Bob Tanner > Sent: Wednesday, January 23, 2002 12:59 AM > To: tclug-devel@mn-linux.org > Subject: [TCLUG-DEVEL] Inner, anonymous classes? > > > Is it just me or are inner-anonymous classes just hard to read? > > I believe this is an inner-anonymous class? > > public PasswordAuthentication > getPasswordAuthentication() { > String username, password; > > String result = JOptionPane.showInputDialog("Enter > 'username,password'"); > > StringTokenizer st = new StringTokenizer(result, ","); > username = st.nextToken(); > password = st.nextToken(); > > return new PasswordAuthentication(username, password); > } > > I'm not sure how to read this code. > > Anyone wanna give this a chatty interpretation? > > > -- > Bob Tanner | Phone : (952)943-8700 > http://www.mn-linux.org, Minnesota, Linux | Fax : (952)943-8500 > Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 > > _______________________________________________ > tclug-devel mailing list > tclug-devel@mn-linux.org > https://mailman.mn-linux.org/mailman/listinfo/tclug-devel