Re: (no subject)

2004-03-17 Thread Erik Price
Off the top of my head, a couple of thoughts:

On Mar 16, 2004, at 2:02 PM, Ted Roche wrote:

- mySQL - fast with ISAM, transactional, no stored procedures
Note that some features (foreign key constraints, tx?) are only 
available if you use InnoDB/Berkeley table format (I forget, sorry), in 
which case you can lose other conveniences like full-text searching and 
the speed of MyISAM.  Overall a very user-friendly database, though, 
and practically wedded to PHP, if that's your application delivery 
framework.

- PostgreSQL
After using only MySQL for a year, I ended up liking this database 
better than MySQL simply because it offered some extra features that 
MySQL didn't (although MySQL will probably offer them within a year or 
two), but the community is a little smaller, and last I checked (last 
summer) their site/documentation was unusably slow.  You can find 
mirrors hosted at other companies/institutions, though.  The mailing 
list interface is also very complicated, unlike a lot of other open 
source mailing lists (such as the Apache lists or this one), so if you 
like to sub a couple postgres mailing lists, you're in for a treat.

Another plus about Postgres is that it's a true OSS project.  I don't 
mean to slam MySQL, but there's been an awful lot of questionable buzz 
about MySQL's licensing changes lately (such as client libraries are 
GPL'd unless you want to pay for a non-GPL version).  I don't -think- 
it'd be a problem if you're using PHP for application delivery (because 
MySQL makes a lot of concessions to PHP [including a rumor that their 
stored procedure language scheduled for release 5.0 will use PHP 
syntax]), but the company is finally leveraging its investment in 
developing an open source database.  So, on the one hand, MySQL has 
looming licensing concerns but also the benefit of both open-source 
development and company support, so it might be attractive to a PHB.  
Whereas Postgres is wholly open source, client libraries are open 
source but not GPL, but there's no company standing behind the project 
either AFAIK.  (Though there are companies that will sell support for 
it.)

Postgres's open source JDBC driver is excellent, IME.

- Firebird
- Adabase
- others?
I'm hoping to provide cross-platform access: Windows via ODBC, Mac OS 
X and
Linux via libraries or JDBC.
There's another open source database called HSQLDB (formerly HyperSonic 
SQL).  I have no idea how well it performs under load, but its 
advantages are that it's very lightweight, and b/c it's written in Java 
you can just run it after unpacking the zip (no installation needed).  
And of course, runs identically on any platform with a reasonable JVM.  
It's widely-used as a default database in open source J2EE frameworks 
(I think it is the default back-end for JBoss CMP), so there's a lot of 
connectivity if you're using J2EE, but it's not one of the big playas 
you hear about in OSS database conversations, so maybe there's a good 
reason for that.



Erik

--
Erik Price
http://erikprice.com/

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Desktop apps

2004-03-07 Thread Erik Price
On Mar 6, 2004, at 11:55 PM, [EMAIL PROTECTED] wrote:

Install XEmacs, then run the tutorial.  Use the tutorial for even
just 15 minutes.  This isn't reading documentation, it's actually
using (X)Emacs to edit the actual tutorial you're going through.
The tutorial explains the basics of using Emacs as an editor.  Within
5 minutes, you've already learned a tremendous amount about how to
use Emacs effectively.  I just jumped into the tutorial and within 30
seconds learned something I had previously either not known, or
completely forgotten :)
Seconded.  For a time when I was in college (mid-90s) I didn't have a 
computer so I basically -had- to use my unix account for more than just 
email and usenet (via the vt100 terminals they had all over campus).  I 
took a look at vi and emacs, but after reading the brief built-in emacs 
tutorial, I knew enough about how to do basic tasks that I was able 
comfortably move around within a file and write my papers.

I still know less than 1% of the total things you can know about emacs 
(now that I have a computer again, I use Eclipse/WSAD for all my 
development), but to this day, but I still find it useful when I have 
to ssh into a machine somewhere.

Plus, the basic navigation shortcuts work in all Cocoa-based MacOSX 
applications' text areas, so now I never even use my Mac's arrow keys 
anymore.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Python help

2004-02-09 Thread Erik Price
On Feb 8, 2004, at 9:31 PM, [EMAIL PROTECTED] wrote:

Java requires even more verbosity.
This is my general impression of Java.  Is the verbosity a good thing
or not?  It seems verbose to the point of redundancy.  Is this
helpful, or does it just get in the way?
The answer to that is that it's a matter of perspective, but I don't 
think that Java would be as successful as it is if a majority of people 
found it -too- redundant.  There's no doubt about it -- the verbosity 
of Java is overkill for simpler tasks like what you've accomplished 
with your Python script, especially when there are languages like 
Python, Perl, Ruby, and bash which can make this kind of thing a lot 
easier.  And, if you know you'll only ever invoke the program on a Unix 
machine, you can do what another poster suggested and simply glue a 
bunch of existing Unix tools together like awk, sed, grep, find, et 
cetera, reducing the burden of actually programming the task to a level 
of merely asking other tools to perform certain actions on the text.  
But when things get a bit more complicated, this verbosity can be 
helpful.  (see below)


It took longer to write, even though I had already
prototyped the design in Python (the two designs are nearly 
identical),
Was it just the verbosity of Java which made it take so long?
Yes and no.  No if you mean did the verbosity take longer to type.  
Yes, because Java requires a great deal more syntax to say the same 
thing that can be said with less syntax in Python, and subtle issues 
surfaced when trying to compile the code and then run it.  For 
instance, there were numerous times I was attempting to use a class 
without having imported it first.  Another thing is that the verbosity 
of Java means that there is more text to be conscious of using 
correctly, so that right there leads to greater potential to make a 
mistake.

I wrote that Java implementation in a text editor, which is a useable 
but relatively primitive tool for a language that can be as verbose as 
Java.  It would have been faster to use an IDE.  At work we use WSAD, 
which speeds development by automatically importing any classes I 
attempt to use, automatic method completion, popup API documentation 
(sparing me a trip to the docs), realtime compiler error-checking, and 
other luxuries.  So, using a text editor, I'd make a change and then 
jump back to the shell and type the command to compile the file.  This 
doesn't take long, because I use keyboard shortcuts and the command 
history, but then I have to examine the compiler output when there's a 
problem and jump back to the text editor and fix the mistake -- an IDE 
will highlight the erroneous code, making it much faster to figure out 
what you've done wrong.

But Python offers the interactive interpreter, which is a godsend when 
trying to debug a problem or even just sketching out the script.  If 
you write a python script and invoke it with the -i option (python -i 
scriptname), then after the script completes you are automatically 
dumped into the interactive interpreter and any variables in your 
script are now local to your python session so you can invoke functions 
using arbitrary arguments, evaluate the values of variables, and other 
conveniences.

(Yeah, I know that Real Programmers (tm) use vi/emacs/ed, but Real 
Programmers also don't consider Java  a Real Programming Language. ;)

and IMHO would also be more work to modify/extend.  That said, if
handed a several million-line application written by some other
development team, I would rather the application be written in Java
than Python.
Why?  Performance, cleaner code, more robust language?  What makes
Java better than Python for some things?  What types of things is
Java best at?
In this particular case, the reason I say that is because Java is a 
statically typed language, and Python is dynamically typed.  There are 
a lot of arguments about which is better, and I won't say one is better 
than the other for all occasions -- but I happen to find a statically 
typed language like Java to be easier to read once the application 
exceeds a certain level of complexity.  I anticipate some dissent on 
this topic, mind you.  But when I'm trying to navigate my way through a 
twisted legacy framework of poorly-written source code to find a bug, 
it's nice to see the type declarations reminding me that foo is a 
FileManager and bar is a BufferedXmlMessage.

Of course, static type declarations are a pain in the ass in smaller 
programs, or programs that I'll be writing entirely myself, since I 
can't enjoy such flexibilities as this:

for item in iterableSequence:
item.doSomething()
Where iterableSequence could be a reference to a file object (so item 
would be a line), or a database resultset object (so item would be a 
row), or an object representing a list of users (so item would be a 
user), etc.  Unlike Java, Python doesn't require that your objects 
actually declare that they implement a specific 

Re: Python help

2004-02-07 Thread Erik Price
On Feb 5, 2004, at 10:47 AM, Paul Lussier wrote:

I'm not overly interesting in shell, perl, tcl, or other language 
solutions
to this problem, since I already know how to write this in the first 3.
(a java or c implementation might be interesting :)
Here's the Java implementation.  You can see that the way I went about 
it is just like the Python version, except Java requires even more 
verbosity.  It took longer to write, even though I had already 
prototyped the design in Python (the two designs are nearly identical), 
and IMHO would also be more work to modify/extend.  That said, if 
handed a several million-line application written by some other 
development team, I would rather the application be written in Java 
than Python.



import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
class Group {

private static final int NAME_INDEX = 0;
private static final int GID_INDEX = 2;
private static final int MEMBERS_INDEX = 3;
private String name;
private int gid;
private List members;
Group(String name, int gid, List members) {

this.name = name;
this.gid = gid;
this.members = members;
}

Group (String lineFromFile) {

String[] record = lineFromFile.split(:);
this.name = record[NAME_INDEX];
this.gid = Integer.parseInt(record[GID_INDEX]);
if (hasMembers(record)) {
String[] membersArray =
record[MEMBERS_INDEX].split(,);
this.members = Arrays.asList(membersArray);
}
}

private boolean hasMembers(String[] record) {
return (record.length == MEMBERS_INDEX + 1);
}
String toLdifFormat() {

String memberString = ;

if (this.members != null) {
SortedSet sorted = new TreeSet(this.members);
for (Iterator i = sorted.iterator(); i.hasNext();) {
memberString += (String)i.next();
if (i.hasNext()) {
memberString += ,;
}
}
}
return this.name + : + this.gid + : + memberString;
}
}





public class EtcGroupToLdif {

public static void main(String[] args) throws IOException {

File etcGroup = new File(args[0]);
BufferedReader br =
new BufferedReader(new FileReader(etcGroup));
String line;
while ((line = br.readLine()) != null) {
if (line.startsWith(#)) {
continue;
}
Group group = new Group(line);
System.out.println(group.toLdifFormat());
}

br.close();

}
}
___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Python help

2004-02-06 Thread Erik Price
 
On Thursday, February 05, 2004, at 06:14PM, Cole Tuininga [EMAIL PROTECTED] wrote:


This is a very subtle one.  The point is that in a method definition
within an object, you never want to assign a mutable type (namely, the
empty list) to an argument.  Weird behavior will occur.

I totally forgot about that!  Excellent observation.  According to the language 
reference, it's because:

explanation src =http://python.org/doc/current/ref/function.html;

Default parameter values are evaluated when the function definition is executed. This 
means that the expression is evaluated once, when the function is defined, and that 
that same ``pre-computed'' value is used for each call. This is especially important 
to understand when a default parameter is a mutable object, such as a list or a 
dictionary: if the function modifies the object (e.g. by appending an item to a list), 
the default value is in effect modified. This is generally not what was intended.

/explanation

 def main(args=sys.argv):

One point about the above line - if you're testing from a python prompt,
you'll need to pass your arguments in as a list.  So for instance,
 main( [/etc/group] )

rather than just

 main ( /etc/group )

Otherwise, the next line would generate some rather peculiar behavior.

 f = file(args[1], r)

Yes, exactly.  Although, I think you meant that the file name should be in the second 
element of the list passed into the main() function, because in sys.argv the first 
element (sys.argv[0]) is the script name, and arguments start at sys.argv[1].

Also, below, it looks like you started out wanting to use a list, but
switched to a dict:

Yes, I started out by reproducing Paul's original script (which used a dict) exactly, 
and then I refactored the dict to a list when I realized that the main() function 
didn't really need to know the Group object's name anymore.  I should have tested this 
code, but I was in a rush.

These items aren't meant as bashing - I know you said you wrote it
without testing.  I'm just trying to clarify.  8)

Not at all.  Thanks for your input, esp about the mutable default argument in a class 
method declaration.  And, my apologies to the list for sending the email thrice; mail 
client problems.


Erik
___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Python help

2004-02-05 Thread Erik Price
Paul Lussier wrote:

I'd like to see/hear others ideas on how to write this same script.
I'm most interested in improvements or commentary on why what I did
is either right, wrong, interesting, stupid, etc.


Below you'll find my stab at it -- it might not be correct, or even run, b/c I haven't 
actually got an /etc/group file to try it out on right now.  There's a couple best 
practices for Python that I've picked up over the past couple of years that I used, 
too:

1. Unless you're literally writing a one-shot throwaway script to do some task that 
you'll probably never do again, try to write your script as a set of functions or 
classes rather than a start-to-finish script.  This is because every Python script can 
be imported into any other Python script as a module (same can be done with Perl using 
a package declaration if I'm not mistaken) by using import myscript where the script 
file is named myscript.py and is located somewhere on your PYTHONPATH (an 
environment variable that tells the Python interpreter where to search for modules to 
import, that by default includes only the current working directory).

2. If you're doing the above, then the way you actually invoke your script is by 
providing a main method (or any other name you prefer).  Then, the only part of your 
script that is *not* located in a function or class definition is the line if 
__name__ == '__main__': main(), which simply invokes the main() function you defined 
if the name of the magic __name__ variable is __main__.  If you are invoking the 
script directly (rather than importing it into another script as a module), then this 
conditional test will prove true, and your main() function will be executed.

3. I read somewhere that a cool trick is setting the arguments of a Python script as 
the default arguments of main() if it is not passed any arguments explicitly.  The 
advantage of this is that, if you're debugging your script in the interactive 
interpreter, you can call the main() function on your script (by importing myscript 
and then calling myscript.main()) and pass it a list of any arbitrary arguments you 
like.  If you pass arguments into main(), they will be used instead of sys.argv (which 
is good because in the interactive interpreter, there are no arguments in sys.argv).

4. I know that a class can be used as a struct in the way you were using, but I don't 
generally use it as such -- the reason I use Python is because it's very 
straightforward and easy to read, and I find that such a use of a Python class is a 
little un-obvious.  In fact, that technique is often used only to show how Python lets 
you dynamically create object attributes at runtime, though I have seen it used in 
real-life Python scripts too.  For my approach, I created a Group class in my 
version of your script, which of course you can now use in any Python script that 
imports your script by referencing it as myscript.Group.  A dict is a more 
straightforward way to use a simple struct-like object, as Cole suggested.  The 
overhead of using a class over a dict is not very significant, though, since Python's 
classes are really just customized dict types behind the scenes.  But you don't need 
to know that.  And because dicts are used so extensively in Python, they are ultra-opt!
imized by the Python developers.  (Also, if performance is a big concern, then you can 
always write some of the code in C and then import it into your Python script as a 
module.)

5. I try to bundle up behavior that is specific to an object into the class that 
defines that object, rather than act upon the object from the outside.  I tried to do 
that here, by providing a toLdifFormat() method on the Group class.  The advantage 
to this is that it simplifies the code that's making use of the Group objects.  Also, 
returning a string from this method rather than printing it makes it more flexible, 
since you can always print it out later but maybe you wanted to write it to a file or 
a database -- in that case, having it in string format is handier.  Likewise, the 
constructor to the Group class lets you set the name, gid, and members manually 
(useful if you're debugging the script from the interactive interpreter, or perhaps if 
using Group from another script), but if you don't, it just sets them to empty 
strings.  In that case you can use the convenience method setValuesFromLine and pass 
in a line read from a /etc/groups file.  Again, this is Group-spec!
ific behavior so it's nice to stuff this code in with the Group class where it can be 
used anywhere the Group class is used.

Anyway, those are just some thoughts on how I implemented your same script in Python.  
In fact, most of my simpler Python scripts end up looking a lot like this -- they 
consist of one or more classes that define the objects in question, and then a simple 
main() function that actually performs the processing using these objects.  Although 
this is a little more verbose than your 

Re: Python help

2004-02-05 Thread Erik Price
Paul Lussier wrote:

I'd like to see/hear others ideas on how to write this same script.
I'm most interested in improvements or commentary on why what I did
is either right, wrong, interesting, stupid, etc.


Below you'll find my stab at it -- it might not be correct, or even run, b/c I haven't 
actually got an /etc/group file to try it out on right now.  There's a couple best 
practices for Python that I've picked up over the past couple of years that I used, 
too:

1. Unless you're literally writing a one-shot throwaway script to do some task that 
you'll probably never do again, try to write your script as a set of functions or 
classes rather than a start-to-finish script.  This is because every Python script can 
be imported into any other Python script as a module (same can be done with Perl using 
a package declaration if I'm not mistaken) by using import myscript where the script 
file is named myscript.py and is located somewhere on your PYTHONPATH (an 
environment variable that tells the Python interpreter where to search for modules to 
import, that by default includes only the current working directory).

2. If you're doing the above, then the way you actually invoke your script is by 
providing a main method (or any other name you prefer).  Then, the only part of your 
script that is *not* located in a function or class definition is the line if 
__name__ == '__main__': main(), which simply invokes the main() function you defined 
if the name of the magic __name__ variable is __main__.  If you are invoking the 
script directly (rather than importing it into another script as a module), then this 
conditional test will prove true, and your main() function will be executed.

3. I read somewhere that a cool trick is setting the arguments of a Python script as 
the default arguments of main() if it is not passed any arguments explicitly.  The 
advantage of this is that, if you're debugging your script in the interactive 
interpreter, you can call the main() function on your script (by importing myscript 
and then calling myscript.main()) and pass it a list of any arbitrary arguments you 
like.  If you pass arguments into main(), they will be used instead of sys.argv (which 
is good because in the interactive interpreter, there are no arguments in sys.argv).

4. I know that a class can be used as a struct in the way you were using, but I don't 
generally use it as such -- the reason I use Python is because it's very 
straightforward and easy to read, and I find that such a use of a Python class is a 
little un-obvious.  In fact, that technique is often used only to show how Python lets 
you dynamically create object attributes at runtime, though I have seen it used in 
real-life Python scripts too.  For my approach, I created a Group class in my 
version of your script, which of course you can now use in any Python script that 
imports your script by referencing it as myscript.Group.  A dict is a more 
straightforward way to use a simple struct-like object, as Cole suggested.  The 
overhead of using a class over a dict is not very significant, though, since Python's 
classes are really just customized dict types behind the scenes.  But you don't need 
to know that.  And because dicts are used so extensively in Python, they are ultra-opt!
imized by the Python developers.  (Also, if performance is a big concern, then you can 
always write some of the code in C and then import it into your Python script as a 
module.)

5. I try to bundle up behavior that is specific to an object into the class that 
defines that object, rather than act upon the object from the outside.  I tried to do 
that here, by providing a toLdifFormat() method on the Group class.  The advantage 
to this is that it simplifies the code that's making use of the Group objects.  Also, 
returning a string from this method rather than printing it makes it more flexible, 
since you can always print it out later but maybe you wanted to write it to a file or 
a database -- in that case, having it in string format is handier.  Likewise, the 
constructor to the Group class lets you set the name, gid, and members manually 
(useful if you're debugging the script from the interactive interpreter, or perhaps if 
using Group from another script), but if you don't, it just sets them to empty 
strings.  In that case you can use the convenience method setValuesFromLine and pass 
in a line read from a /etc/groups file.  Again, this is Group-spec!
ific behavior so it's nice to stuff this code in with the Group class where it can be 
used anywhere the Group class is used.

Anyway, those are just some thoughts on how I implemented your same script in Python.  
In fact, most of my simpler Python scripts end up looking a lot like this -- they 
consist of one or more classes that define the objects in question, and then a simple 
main() function that actually performs the processing using these objects.  Although 
this is a little more verbose than your 

Re: Python help

2004-02-05 Thread Erik Price
Paul Lussier wrote:

I'd like to see/hear others ideas on how to write this same script.
I'm most interested in improvements or commentary on why what I did
is either right, wrong, interesting, stupid, etc.


Below you'll find my stab at it -- it might not be correct, or even run, b/c I haven't 
actually got an /etc/group file to try it out on right now.  There's a couple best 
practices for Python that I've picked up over the past couple of years that I used, 
too:

1. Unless you're literally writing a one-shot throwaway script to do some task that 
you'll probably never do again, try to write your script as a set of functions or 
classes rather than a start-to-finish script.  This is because every Python script can 
be imported into any other Python script as a module (same can be done with Perl using 
a package declaration if I'm not mistaken) by using import myscript where the script 
file is named myscript.py and is located somewhere on your PYTHONPATH (an 
environment variable that tells the Python interpreter where to search for modules to 
import, that by default includes only the current working directory).

2. If you're doing the above, then the way you actually invoke your script is by 
providing a main method (or any other name you prefer).  Then, the only part of your 
script that is *not* located in a function or class definition is the line if 
__name__ == '__main__': main(), which simply invokes the main() function you defined 
if the name of the magic __name__ variable is __main__.  If you are invoking the 
script directly (rather than importing it into another script as a module), then this 
conditional test will prove true, and your main() function will be executed.

3. I read somewhere that a cool trick is setting the arguments of a Python script as 
the default arguments of main() if it is not passed any arguments explicitly.  The 
advantage of this is that, if you're debugging your script in the interactive 
interpreter, you can call the main() function on your script (by importing myscript 
and then calling myscript.main()) and pass it a list of any arbitrary arguments you 
like.  If you pass arguments into main(), they will be used instead of sys.argv (which 
is good because in the interactive interpreter, there are no arguments in sys.argv).

4. I know that a class can be used as a struct in the way you were using, but I don't 
generally use it as such -- the reason I use Python is because it's very 
straightforward and easy to read, and I find that such a use of a Python class is a 
little un-obvious.  In fact, that technique is often used only to show how Python lets 
you dynamically create object attributes at runtime, though I have seen it used in 
real-life Python scripts too.  For my approach, I created a Group class in my 
version of your script, which of course you can now use in any Python script that 
imports your script by referencing it as myscript.Group.  A dict is a more 
straightforward way to use a simple struct-like object, as Cole suggested.  The 
overhead of using a class over a dict is not very significant, though, since Python's 
classes are really just customized dict types behind the scenes.  But you don't need 
to know that.  And because dicts are used so extensively in Python, they are ultra-opt!
imized by the Python developers.  (Also, if performance is a big concern, then you can 
always write some of the code in C and then import it into your Python script as a 
module.)

5. I try to bundle up behavior that is specific to an object into the class that 
defines that object, rather than act upon the object from the outside.  I tried to do 
that here, by providing a toLdifFormat() method on the Group class.  The advantage 
to this is that it simplifies the code that's making use of the Group objects.  Also, 
returning a string from this method rather than printing it makes it more flexible, 
since you can always print it out later but maybe you wanted to write it to a file or 
a database -- in that case, having it in string format is handier.  Likewise, the 
constructor to the Group class lets you set the name, gid, and members manually 
(useful if you're debugging the script from the interactive interpreter, or perhaps if 
using Group from another script), but if you don't, it just sets them to empty 
strings.  In that case you can use the convenience method setValuesFromLine and pass 
in a line read from a /etc/groups file.  Again, this is Group-spec!
ific behavior so it's nice to stuff this code in with the Group class where it can be 
used anywhere the Group class is used.

Anyway, those are just some thoughts on how I implemented your same script in Python.  
In fact, most of my simpler Python scripts end up looking a lot like this -- they 
consist of one or more classes that define the objects in question, and then a simple 
main() function that actually performs the processing using these objects.  Although 
this is a little more verbose than your 

Re: A good LINUX magazine ?

2003-12-25 Thread Erik Price
On Dec 25, 2003, at 2:54 PM, [EMAIL PROTECTED] wrote:

Not sure where else it can be found, but I know
that SoftPro carries it, at least in the Burlington store.
Note however that they moved to Waltham.  Not much farther, but not 
quite as convenient to stop by on the way to or from Boston.

http://store.yahoo.com/softpro/burlmove.html

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Kind of OT: Wierd emails... Virus? Probe? ???

2003-12-17 Thread Erik Price
On Dec 17, 2003, at 11:16 AM, Brian Chabot wrote:

Hey, all...

I just noticed something interesting in my spam filter and was curious 
if anyone here might know what it's from.

I have several emails that seem to be missing rather important header 
info... like subjects... and the *body*.

What is the same is:

A seemingly random common name for the username in the email address 
@mydomain.


Strangely, I got back to my computer after a few days away and noticed 
two or three of these very same emails.  And, like with you, they 
appear to be coming from some other address at my domain (in my case, 
@mac.com).

No content.  No apparent reason.

But, forged or not, they're legitimate email addresses, or at least, 
legitimate mac.com accounts, since by tracing back to the mac.com HTTP 
server and guessing with the username, it brings up their home page(s), 
where applicable.

???

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Personal database software for *nix?

2003-11-25 Thread Erik Price
On Nov 24, 2003, at 10:10 PM, [EMAIL PROTECTED] wrote:

Hello world,

  Does anybody have any knowledge on personal database software for 
Linux?

  I just-now made up the term personal database software, although I 
would
be astounded if I'm the first person to do so.  I'm thinking about 
something
kinda like Microsoft Access or Borland Paradox, but I'm not much 
interested
in the programming/SQL stuff (although I certainly won't complain if 
it is
there).  All I want is something that will let me quickly and easily 
create
fields in a table, and link between tables.
Your description reminded me of an open source project called SQLite, 
which is basically a relational database that is not a server -- an 
embeddable database (embeddable in the sense that you can embed it 
into an application so that the user doesn't have to go through all of 
the installation and configuration of MySQL, etc).  SQLite is written 
in C but there are many libraries that provide access to it from other 
languages (Python, Perl, etc).

http://www.hwaci.com/sw/sqlite/

But it's not a visual tool like you describe.  However, I did a little 
googling on SQLite and found a project called SQLite Database 
Browser.  It's implemented in Qt so it meets your no-Java no-HTML 
requirements, but runs on Linux, MacOSX, and Windows.  But I have no 
firsthand experience with it so I can't attest to what it's really 
like.

http://sqlitebrowser.sourceforge.net/

If you try it out, would you mind posting your opinions?

Regards,

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Domain Registrar?

2003-11-09 Thread Erik Price
On Nov 7, 2003, at 12:53 PM, Charlie Farinella wrote:

I've found godaddy.com to be inexpensive, AND... they even offer
knowledgeable support.  Twice, I've done Dumb Things(tm), and their 
tech
support showed me the way to enlightenment both times.  And I've 
never had
a glitch with them yet.  I like 'em.
2 recommendations for godaddy is good, but netcraft reports that 
they're
running Windows and I'm having trouble with that.  Should I care?
I've been using easyDNS.com and really like their service.  But, I 
don't think it's as cheap as a lot of other registrars that can be 
found out there, and have no idea what system software they run (though 
I'd be surprised if it wasn't Linux).

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: PHP question RH Linux ---a bit ot---

2003-11-06 Thread Erik Price
 
On Thursday, November 06, 2003, at 03:10PM, Greg Rundlett [EMAIL PROTECTED] wrote:


Anyway, you don't even need to know where the temp location is.  You 
should use the $_FILES super global to access and manipulate the 
uploaded file.

Greg's right.

 Also, you can set the MAX_FILE_SIZE in a hidden form 
field to tell PHP what limit to accept...

Of course, be careful not to rely on this for any kind of security, since it's easy 
for a user to send whatever value they wish for the MAX_FILE_SIZE parameter.



Erik
___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: CSS Question

2003-09-19 Thread Erik Price
On Friday, September 19, 2003, at 10:04  AM, Cole Tuininga wrote:

I would have imagined that with css (using inline style sheet defs), I
would simply do this:
div style=text-align: center
table 
.
.
/table
/div
This works just ducky in Netscape 4.7x, but not my current version of
mozilla.  Does anybody know what I need to do instead?  I don't want to
static position the table, I would like it to be centered.
This problem has plagued me, I have solved it, and then I have 
forgotten how I solved it and had it plague me again.

I am pretty sure that the workaround* is to use

div style=margin-left: auto; margin-right: auto;
  table ...
  .
  .
  .
  /table
/div
But YMMV since I can't remember for sure.  text-align only applies to 
text.

Erik

* I find it ironic that workarounds in CSS are sometimes necessary, 
since one of the reasons people sometimes use CSS is to avoid misusing 
tables for composing a design in HTML, which was itself a workaround 
for the limitations of HTML.

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: OT - Re: Dimensional Warp Generator...

2003-08-29 Thread Erik Price


mike ledoux wrote:

Apparently, this guy wasn't (just) doing this to collect email
addresses, he really thought he'd be able to obtain the parts he
needed for his time machine:
  http://www.wired.com/news/culture/0,1284,60141,00.html

He was a traditional spammer too.
I don't sympathize with the spamming, but from following some of the 
links in the Wired article, it looks like he suffers from paranoia or 
some other form of mental illness.  A recent CRYPT-O-GRAM gave brief 
coverage to this topic from reader letters after publishing a letter 
that may have originated from someone with similar problems:

http://www.counterpane.com/crypto-gram-0308.html#9
(search for the string I haven't a clue, really)
Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: q for the C hackers

2003-08-19 Thread Erik Price


Tom Fogal wrote:

I'm just interested in hearing about whether one is more appropriate 
than the other in some contexts.  Thanks.


Generally, I would use #defines for anything but function parameters.
Passing things as a constant reference (const type val) is a good way to
avoid passing a large value without the overhead of actual passing it.
I understand what you are saying, about passing a reference to something 
rather than passing the thing itself.  My understanding is that this is 
because the value of a reference is a memory address, which is usually 
smaller than say, some large value (please correct me if this is 
incorrect).  But why does it have to have const placed there?  This 
seems like it should prevent the value from being modified in the body 
of the function somehow, but is it required or are you suggesting it as 
good practice?

Unfortunately, references do not exist in C alone (they were introduced in C++)
I seem to be confused about the difference between references and a 
type's address.  Are you saying that

  val

is a reference, and that this is different from the address of 'val'?  I 
thought that this meant the address of 'val'.

Thanks everyone for contributing to this discussion.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: q for the C hackers

2003-08-19 Thread Erik Price


Tom Fogal wrote:

The bit about memory addresses instead of some large value is entirely correct.
Practically however, this will only be better when passing a value larger than
the register size of the architecture you are on. For instance, on ix86 linux,
all pointers are 32-bit integers. Thus passing a constant reference to another
integer still means you have to pass an integer to the function, thus saving
nothing.
This is commonly used when you have a large record or object.
Okay, that makes sense.  Fundamentally, there seems to be little 
difference between passing a pointer to an object, and passing the 
address of the variable holding that object's value.  I seem to recall 
that there literally *is* no difference, actually -- a pointer is just 
the address of a variable IIRC.  But I'm glad you confirmed this.

The const is purely optional; you could just as easily remember yourself that
'hey, i dont want to change that value in this function' and simply not do it.
The justification i was given for such usage is that someone who is not you
can quickly look at the function header/prototype and see, 'oh, this value is
const, it wont change when i pass it to the function'.
I had forgotten about the header/prototype.  Yes, it seems desirable to 
use 'const' in any function declaration that doesn't modify the 
parameters, as a way of communicating to others that the parameters will 
not be modified.  I will get in the habit of using 'const' in function 
parameters.

(I don't know C++, but let me take a guess at something -- that, in C++ 
making a passed reference a constant by using 'const' in a function 
declaration doesn't make any assurances that the object which the 
reference points to will not be modified, only that the reference itself 
will not change.  In other words, it is much like passing a 'final' 
reference in Java.)

Btw, a similar gain can be obtained via pointers, so C programmers aren't
left out =).
And this is what I am more used to seeing -- it appears that usually a 
function will be written to accept a pointer, rather than a value's 
address, even if they are the same thing.

is a reference, and that this is different from the address of 'val'?  I 
thought that this meant the address of 'val'.


Oh yes, this is a source of much confusion. You see, C++ introduced this idea
called a 'reference', which, for all intents and purposes is a pointer, but
you dont have to dereference it as such.
I think I'm going to stay away from C++ for the moment, at least until I 
have a better grip on C and Objective-C.  (Coming from a Java 
perspective, Objective-C seems a little more straightforward to me than 
C++, esp since it doesn't seem to have changed any of the rules of C.)

Thanks again Tom and everyone.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


q for the C hackers

2003-08-18 Thread Erik Price
When I want to define a constant value in Java, such as a magic number, 
I usually use public static final:

public static final int NUMBER_OF_UNITS = 8;

However, what is the convention in C?  There seem to be two fine ways 
of doing it -- using the preprocessor, or the const keyword:

#define NUMBER_OF_UNITS 8

const int NUMBER_OF_UNITS = 8;



I'm just interested in hearing about whether one is more appropriate 
than the other in some contexts.  Thanks.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: OT: Fox Trot

2003-08-15 Thread Erik Price
On Thursday, August 14, 2003, at 12:54  PM, Michael Costolo wrote:

Linux in the funnies today:

http://www.ucomics.com/foxtrot/index.phtml


Actually I remember having a Foxtrot comic hanging on the wall of an 
apartment I lived in back in 1998, where Jason is trying to install 
Linux on his iFruit... not sure how to search for something like this 
in the archives though.

IIRC from an interview I read, Bill Amend stated that he pays attention 
to issues and topics in tech circles, though he is not actually a Linux 
user himself (or wasn't, when I read that interview).

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Spam works... and that's the crux of the problem

2003-08-06 Thread Erik Price


Larry Cook wrote:

Since Spam has been a recent topic, I thought I'd share this article 
about a business in Manchester that uses Spam:
Wow.  That is really bizarre.  An honest state chess champion acting 
as the mastermind, his teenage sister filling the orders, and a former 
skinhead acting as the evildoing henchman, make up the backbone of the 
operation.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Resources on reverse engineering?

2003-08-04 Thread Erik Price


Scott Garman wrote:
Hi all,

I have become interested in learning about reverse engineering and
decompilation techniques, particularly for the purpose of studying
programs that exploit security vulnerabilities (including trojans,
viruses, and worms).
There was a slashdot story about it not too long ago:
http://developers.slashdot.org/article.pl?sid=03/07/06/2014230
Here's the meat:
http://www.acm.uiuc.edu/sigmil/RevEng/


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: I HATE SPAM (was Re: Mouse swapping on a laptop)

2003-08-03 Thread Erik Price
On Sunday, August 3, 2003, at 09:23  PM, Travis Roy wrote:

The main thing I'm trying to say is that we should somehow block email
addresses from showing up on the archive website rather then have 
people
stop it from archiving their messages. The archive becomes pointless 
if a
large number of people's posts don't even show up on it.
This sounds like a great idea.  However, I would prefer not to see a 
login system/subscriber-only archives if possible.  I understand that 
these are the most effective means of preventing others from using the 
archives for nefarious ends, but they are also an effective mans of 
preventing others from using the archives for benevolent ends.  
Specifically, I occasionally pass hyperlinks to archived material on 
various mailing lists to which I'm subscribed in email- or 
chat-conversations with nonsubscribers.  Such as Well, why don't you 
check out this post by Derek Martin, which does a great job of 
explaining this topic... insert hyperlink here.

Also, a lot of great information that one can get from searching the 
web comes from publicly-archived mailing lists.  For me, this is 
especially when I'm trying to track down the reason for some bug or 
exception stack trace, etc.

I agree that spam sucks and I support reasonable efforts to thwart it 
(including preventing the email addresses from being released in the 
first place), but I worry that some of the ways to stop spam will just 
end up making the web a less powerful resource for getting information. 
 And, if someone else is making a public archive of this mailing list's 
content, there's no way to force them to use the same protections, so 
in the end the effort might prove fruitless.

Just a consideration.  Education is probably the best weapon there is, 
even though it is one of the more effort-intensive and least 
automatable (scriptable?).

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: The lack of need for Caps-Lock (was laptop keyboard replacement)

2003-07-31 Thread Erik Price


Kevin D. Clark wrote:

BTW, as a side comment:  I like emacs, and I respect the fact that
other people like different editors.  For me, it isn't so important
that people use a certain editor, but it is important that they learn
how to use it *well*.
I like emacs too, and use it whenever I'm logged into a server w/ssh, 
but I don't think I know it too well -- I have no idea what those 
keystrokes do!! ;)



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: I need suggestions as to where to get a replacement laptop keyboard

2003-07-31 Thread Erik Price


Richard Soule wrote:
Jeff Kinz wrote:

http://www.kinesis-ergo.com/professional.htm
  $350.

First time I've seen a keyboard more expensive than a computer!  :-)


Only $239 for the essential which has the same layout and almost the
same features:
I never realized they had a cheaper version (though I never really 
looked hard either).  That's great!  I would save up and it would be my 
next big purchase -- if they offered USB.  :(  My main machine is an 
iBook, and doesn't have a PS/2 port.  Though maybe there's an 
adaptor this keyboard combined with a laptop stand to bring the 
screen closer to my face would be *perfect*.  Thanks for pointing it out.

Just my perspective... I'm sure other folks will have different ones.


No, you know what? I totally agree with what you just said.  I would 
rather have a decent keyboard (even at such a steep price [$239 is a lot 
to me]), since it's my primary means of communicating to the computer. 
Of course, I'd carry it back and forth to work every day to get the most 
bang for my buck.  Make a shoulder strap for it and everything, so I can 
look like an Elven Decker

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: The lack of need for Caps-Lock (was laptop keyboard replacement)

2003-07-31 Thread Erik Price


[EMAIL PROTECTED] wrote:
In a message dated: Thu, 31 Jul 2003 11:15:09 EDT
Erik Price said:

I like emacs too, and use it whenever I'm logged into a server w/ssh, 
but I don't think I know it too well -- I have no idea what those 
keystrokes do!! ;)


You should spend some time using the Emacs tutorial: C-h t should get 
you there.
Thanks for the tip Paul, but I did it a couple years ago.  It is the 
single reason why I am addicted to emacs keybindings and have to 
reconfigure every editor I try to use them (and why I can't use vi very 
well).  I [think I] know pretty much all the key commands featured in 
this tutorial, like C-G and C-B etc, but IIRC it doesn't go into these 
more advanced commands very far, and I've never really had the 
opportunity to hone them.

I have been meaning to spend more time learning Objective-C, and brush 
up on my C programming.  I vowed to use emacs when I do, simply to force 
myself to learn a lot of these shortcuts and tips.  (Of all the editors 
or IDEs I've used [not very many], emacs and vi seem most ideal for C 
programming.)



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: The lack of need for Caps-Lock (was laptop keyboard replacement)

2003-07-31 Thread Erik Price


Bob Bell wrote:

   And I actually don't see the big deal using your left pinky to hold
down the shift key while you type.  Granted, the sample line had a LOT
of upper-case characters, and hitting caps-lock may be simpler, but
I tried it both ways and holding down shift didn't really seem to slow
me down noticeably.  shrug Maybe it's because I'm 6'8 and have huge
hands...
I hear you on the big hands front, but the reason I like caps lock is 
because I use the right-side shift key for any capitalized letters that 
need to be typed with the left hand, and the left-side shift key for 
capitalized letters that need to be typed with the right hand, so I 
can't just hold down one shift key (per the habit drilled into me by 
typing class in highschool) -- I'd have to switch sides every time I 
typed a key that was on the opposite side of the keyboard.

This practice does cause the least strain on the fingers (because that 
way you are only extending the pinky of the hand that is not 
simultaneously reaching for another key with another finger).

;)

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: I need suggestions as to where to get a replacement laptop keyboard

2003-07-31 Thread Erik Price


Richard Soule wrote:
Erik Price wrote:

I would save up and it would be my next big purchase -- if they
offered USB.


http://www.kinesis-ergo.com/advantage.htm

It's a bit more at $299, so I would probably go with some type of
adapter:
http://www.maltron.co.uk/USB-PS2pic.html
argh! Now I need to start saving.

Thanks Richard!

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: The lack of need for Caps-Lock (was laptop keyboard replacement)

2003-07-31 Thread Erik Price


Bill Freeman wrote:

Then the very next keystroke that you should learn is C-H K,
which runs describe-key, which prompts for a key (combinatione), and
displays the on line documentation for the command bound to the key.


That's awesome! Thanks!
Some initial playing with this command seems to indicate that a lot of 
the keystroke commands are really shortcuts for interactive compiled 
Lisp functions.  I didn't know that.

Looking forward to getting some more time to learn more of these.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


interested in buying cheap linux laptop

2003-07-25 Thread Erik Price
Hi folks,

I don't have much familiarity with PC hardware, but I'd like to purchase 
a cheap (used, etc) machine to run Linux on.  Since it's for [personal] 
development only, my only performance requirement is that it be capable 
of running a relatively recent Linux with X11 and the development tools 
(GNU, Perl, Python, J2SDK), and hopefully Eclipse (but I can use emacs 
if Eclipse demands too much).  I'm emphasizing affordability over 
performance.  Specifically I'd like to try out the Oracle 9i for Linux 
that was distributed on CD ROM at the quarterly meeting this week, and 
the Oracle application server that came with it.

I prefer a laptop simply because space is scarce and I move around a 
lot, and also so that I can bring it to work (one thing I'd like to do 
is see how easy/difficult it is to migrate my JBoss/Postgres-using 
project to Oracle).  Again, this machine would service no clients except 
maybe from one other computer for testing (so it doesn't need to have 
the hardware to actually run as a server).

Are there any recommendations for area stores that sell decent used 
merchandise, or other hidden deals?  I'm hoping I can find something for 
only a couple hundred bucks, but let me know if that's simply unrealistic.

Thanks,

Erik

PS: also I'm thinking of going with Red Hat since, from what I gathered 
the other night, that'll probably interoperate the most smoothly with 
Oracle software.  Any thoughts on this are welcome too.

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: [gnhlug-announce] GNHLUG BBQ - Sat 23 Aug 2003

2003-07-24 Thread Erik Price


Greg Kettmann wrote:
Great idea.  Is the idea that spouses or kids might be welcome as well 
or is this more for Linux afficionados?  Not trying to complicate 
things, just clarifying.
Or as Uri Guttman put it, spice and spawn.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: [gnhlug-announce] Books for review and door prizes

2003-07-18 Thread Erik Price


Morbus Iff wrote:
 Python in a Nutshell
 Linux Server Hacks
 Learning Perl Objects, References  Modules
 Linux Security Cookbook
 Python Cookbook
 Google Hacks
Incidentally, I contributed to Linux Server
Hacks, and did Perl consulting on Google Hacks ;)
Plus co-wrote MacOSX Hacks!

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Graphics blips

2003-07-16 Thread Erik Price


Kevin D. Clark wrote:
Mark Komarinski [EMAIL PROTECTED] writes:


Perl with a code formatter?  I think that's one of the signs
of the apocalypse.


Another sign would be a Python one-liner




[EMAIL PROTECTED] /cygdrive/c/jboss/jboss-3.2.1/docs/dtd
$ python -c 'print hello world'
hello world


;)

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Mozilla is leaving AOL

2003-07-15 Thread Erik Price


[EMAIL PROTECTED] wrote:
Big news!

	Check out http://www.mozilla.org

This hasn't hit /. yet.  I just heard on IRC from some of the mozilla 
folks!
Nice new site layout too!



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Walmart.com sells Microtel PC with SuSE Linux software

2003-07-15 Thread Erik Price


Derek Martin wrote:

If walmart moves into a town predominated by little shops, and they
all can't compete with walmart (and rest assured they can't), then the
owners of those shops will have to close down, and go get jobs at
walmart.  Their incomes will likely be reduced by between 50 and 75
percent, and along with it their disposable incomes will be
drastically reduced, meaning they have almost no money to spend on
things besides basic necessities.
Ironically, the average price of goods is *not* less at Wal-Mart than at 
pre-existing stores.  I read an article on it a couple years ago -- 
Wal-Mart specifically marks down the goods that are sold at the local 
stores, in an attempt to put them out of business, since the chain-owned 
store can operate at a loss until those stores are gone.  Once they're 
gone, the new Wal-Mart then re-adjusts the prices, often to become even 
*higher* than they were originally, so the consumer just ends up getting 
the shaft.

Also, next time you walk through your local Wal-Mart, note how the 
amazing prices are all on the end-caps of the aisles and the 
attention-grabbing product stands in the middle of the main aisles. 
Once you get deep into the store, you'll find that the average price of 
a Wal-Mart item is not any better than the average price of an item at 
any other store.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Graphics blips

2003-07-15 Thread Erik Price
On Tuesday, July 15, 2003, at 10:32  PM, Mark Komarinski wrote:

This is a real hard problem to describe, but it's really annoying. It
seems to happen with only HTML code that I write.
Take a look at http://www.wayga.org/~mkomarinski/julie.php

Take a look between the images, in the lower right hand corner outside 
the
border.

See a little blue dash?
It's an underline from the hyperlink (anchor tag) wrapping the image 
tag.  I'm not sure why it appears, but it might be due to the newline 
occurring within the anchor tag.  The easiest way to get rid of it is 
to define a simple style rule in your head section declaring that 
anchor tags should not have an underline:

head
  titleMark Komarinski's Pictures/title
  style type=text/css
a { text-decoration: none; }
  /style
/head
That should fix it (untested).



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Database User Groups anyone?

2003-07-08 Thread Erik Price


[EMAIL PROTECTED] wrote:
Hi all,

Does anyone know of any Database user groups in the greater Boston area?

Thanks,
There is also the NH oracle user group (http://nhoug.org/).  But I 
would be interested in hearing about a more general database-oriented 
user group myself.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Hello. Is anyone there?

2003-07-07 Thread Erik Price
On Monday, July 7, 2003, at 10:09  PM, Steven W. Orr wrote:

I've had no email from gnhlug in over at least a month.

Can anyone hear me?
I hear you.  There has been quite a lot of mail in the past 30 days or 
so -- I'd guess over 300 msgs.  Don't forget you can always check the 
archives.

http://www.mail-archive.com/index.php?hunt=gnhlug



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: OT from Tokyo

2003-07-03 Thread Erik Price


Karl Hergenrother wrote:
Sorry you were all so offended.  I will go back to lurking.


internet email
great tool for conversation
context sometimes lost




Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: OT from Tokyo

2003-07-03 Thread Erik Price


Erik Price wrote:


Karl Hergenrother wrote:

Sorry you were all so offended.  I will go back to lurking.




internet email
great tool for conversation
context sometimes lost


Draft 2:

wonders of email
great tool for discussion, but
context sometimes lost
I should go into business.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: HTML/CSS question

2003-07-01 Thread Erik Price


[EMAIL PROTECTED] wrote:
On Tue, 1 Jul 2003, at 11:22am, [EMAIL PROTECTED] wrote:

Basically, I want:

	Term:Some long description here which may or may not span
multiple lines, but regardless, should be left 
justified.


  Have you tried the DL, DT, and DD tags?  They are for definitions.  
(Definition List, Definition Term, and Definition Description,
respectively.)
Are they deprecated in XHTML 1.0 Strict?  I didn't see them in the DTD. 
 But they are the ideal tags for this application.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: HTML/CSS question

2003-07-01 Thread Erik Price


[EMAIL PROTECTED] wrote:
On Tue, 1 Jul 2003, Ben == [EMAIL PROTECTED] wrote:


  Ben I always keep a copy of the HTML and CSS spec's next to me.  I
  Ben find them remarkably readable, for specification documents.
  Ben And, of course, they make excellent use of hypertext. :-)
Pointer please :)
One of the best sites on the internet for information of all kinds 
(ranging from XHTML/CSS to RSS or SVG) is http://w3.org/ , which is 
where they keep the specs and tons of articles, tutorials, and 
discussion information.

http://www.w3.org/Style/CSS/#specs

In the case of CSS, however, you probably want to use Eric Meyer's CSS 
guides, which use frames that point to the original specs so you can 
keep a TOC open while you browse -- actually makes jumping around the 
specs even easier:

http://meyerweb.com/eric/css/references/index.html



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: HTML/CSS question

2003-07-01 Thread Erik Price


[EMAIL PROTECTED] wrote:
On Tue, 1 Jul 2003, Erik == Erik Price wrote:


  Erik dt { float: left; margin: 3em }
  Erik dd { margin: 5em; }
Doh

Thanks, I'm obviously just learning the CSS thing, and it didn't 
occur to me to re-define the dt/dd tags :)
Except, unfortunately, the above example doesn't render as I had 
intended (at least not in Mozilla 1.3).  But perhaps you can play with 
some positioning to get it.

Damn it, the whole point of CSS is to make things easier for the 
designer, and this seems like such a *simple* use case -- but I can't 
find any resources explaining how to do it!

Btw, what the 3/5em?
Well, I was just thinking that your term might not be wider than 2em, 
ems being the height of a capital M in whatever the current 
font/fontsize is, so this would put your term at 3em from the left and 
your definition at 5em from the left... sort of.  It was a quickie.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: oo code in PHP5

2003-06-30 Thread Erik Price
On Sunday, June 29, 2003, at 10:17  PM, Greg Rundlett wrote:

It features a new Zend Engine 2, with a
slew of object-oriented features previously unavailable in PHP.  In 
effect,
the object-oriented features were completely overhauled, however 
backward
compatibility was maintained.
Pretty cool.  It seems that PHP5 will have the OO convenience of Python 
but the same built-in web programming conveniences that have existed in 
PHP all along.

I wonder if this means that they will start to make the PHP standard 
library more OO-like too (like Python or Java's standard libraries), 
for instance the numerous PHP functions that currently return arrays of 
data will now return proper objects.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: oo code in PHP5

2003-06-30 Thread Erik Price
On Monday, June 30, 2003, at 04:16  PM, Greg Rundlett wrote:

I think so.
Nice.  I don't think it's all that bad to use an array of information 
vs a proper object (it's not that different from using structs in C), 
but if you're moving the language in that direction then why not take 
advantage of what it has to offer.

It'll be especially interesting to see what the performance will be 
like.  I never read anything concrete, but I had heard others' accounts 
of the fact that taking a pure-OO approach to PHP scripting in 4.x 
resulted in overall poor performance, though making moderate use of 
objects where appropriate was fine.  This is one of those cases where 
an application server (like Weblogic or JBoss, or non-J2EE appservers 
like Zope) can really outshine standard webservers -- you have objects 
already instantiated and ready to do work before the request even comes 
down the pipe, whereas in a PHP script the objects are all instantiated 
and then garbage collected within the lifespan of the request.

Given the popularity of PHP, I'm surprised I haven't heard of any 
PHP-language-based appservers -- are you (or anyone else) familiar with 
something like this?  As opposed to using mod_php in Apache?

I know a lot of the people on the PEAR-DEV list are fond of Java, and I
had to remember the other day that PHP __is__ an Apache Software
Foundation project (which has a lot of Java projects), which is to say
that I think PHP is getting more and more like Java.
I think that Java's popularity with users (programmers) is infecting 
the PHP community, but I am skeptical there is a direct connection 
between the Java Apache projects and the PHP apache project.  In fact, 
I am subscribed to many of the major Jakarta Project mailing lists and, 
at least on the struts mailing list, PHP isn't regarded very highly.  
Which I find interesting, because J2EE (even simple servlet/JSP stuff) 
is way overkill for the majority of dynamic web page development.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


trains and toilets

2003-06-30 Thread Erik Price
After reading the parable (appendix C, Sconce's handout from Merrilug 
6/25), I'm left puzzled by why mathematicians fail to see the point.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Really enjoyed Bill Sconce's Python talk last night...

2003-06-26 Thread Erik Price
 

Hewitt Tech wrote:
 It's been too long since I had the pleasure of hearing Bill Sconce deliver a
 technical presentation.


This was the first Bill Sconce presentation I had ever heard, and it was certainly a 
pleasure.  I look forward to part II, after everyone has had a chance to run through 
the exercises in the worksheet and pick up the basics.  Do your homework and don't 
hesitate to post here if you have a question!


 As an aside, Paul I recommended a book to you last night about object
 oriented programming. The title is Beginning Java Objects: From Concepts to
 Code by Jacquie Barker.


I must have left before this recommendation was made but I second it.  I'd also like 
to tell a little story that segues interestingly from the discussion of Python to this 
book.


Sometime in 2001 I decided to make the jump from PHP to J2EE after being dismayed at 
the small number of PHP job offerings I was seeing.  ASP and J2EE were really the only 
two web programming skills in demand, and I wasn't interested in ASP.  Learning a big 
language like Java sounded daunting, esp for a self-taught programmer, but someone 
told me there was a free book online that you could learn Java from (Thinking in 
Java by Bruce Eckel, http://mindview.net/).


At this same time I was playing with Python in my spare time, subscribed to the Python 
tutor mailing list.[1]  The nice thing about Python was that I was able to pick up the 
most basic concepts of OO very quickly: what is a class, what is an object, how is a 
class different from a function, etc.  With the help of some sample code posted by the 
folks on the tutor mailing list, I finally got it, or at least the basics (how to 
create an object and invoke its behaviors).

[1] Highly recommended.  A mailing list dedicated to helping people of any skill level 
learn Python. http://python.org/psa/MailingLists.html#tutor


Of course, to get started with J2EE I'd have to first learn Java, so I picked up Bruce 
Eckel's Thinking in Java book.  However, after the first few chapters of this 1000+ 
page book, I realized I needed something a little bit more basic before I could really 
continue.


So I picked up Jacquie Barker's book Beginning Java Objects, which was geared toward 
a complete OO newbie without being overly pedantic -- you still need to know the 
basics of programming (variables, functions, etc).  The book is divided into three 
sections:


1) The terminology of OO - believe it or not, to get the most out of OO programming, 
you really do need to know the terms.  What polymorphism means, why you might want to 
make certain class members private, what is a class member, the difference between a 
function and a method, and what an abstract class is (even in OO languages like Python 
or Objective-C that don't actually use them).

2) How to design your code using OO concepts, rather than start-to-finish procedural 
concepts.  This section of the book also introduces the reader to UML, which is 
invaluable as a lot of the more advanced OO books use UML to more easily explain 
object relationships.

3) An actual implementation of OO concepts using Java.  Note that, except for a short 
chapter in the beginning of the book, this is the _only_ part of the book that 
actually uses Java.  You can read the first two sections, and maybe skim this one, and 
then happily apply the concepts to Python or other languages.  In fact, you won't 
really learn the Java language from this book, only what you need to know in order to 
get through this chapter.


So, while I had learned the basic idea behind classes and objects from conversations 
on the Python tutor mailing list, it was while reading Barker's book that things 
really fell together for me.  After finishing it I picked up Bruce Eckel's book 
Thinking in Java where I had left off and was able to get a lot out of it, and learn 
Java.  A couple months ago I took Sun's exam and became certified as a Java 
programmer, and I'm finishing up my first J2EE application at the place I am currently 
employed.


I pretty much owe it to Barker and Eckel's excellent books.  I even ended up buying 
the hardcopy of Thinking in Java about halfway through, it is very good.  But it all 
started when I was using Python[2].  I couldn't agree more with Bill when last night 
he said that there is really no better language to learn the fundamentals of OO 
programming than Python.  Python works just fine as a procedural scripting language 
too -- you can get a lot of work done without being aware of any of the 
object-oriented facilities.  But when you're ready to take it a step farther, Python 
gives you a boost rather than making that step more steep than it has to be.



Erik





[2] To address one of the questions last night, I didn't need to buy a single book to 
learn Python.  There really are dozens of tutorials on learning to program in Python, 
because one of the original aims of Python was to be a good starting language for 

Re: [gnhlug-announce] Last minute reminder - MerriLUG meeting tonight

2003-06-25 Thread Erik Price


Greg Rundlett wrote:
I was just about to ask if it was on.  I will be there.




Yeah Bill Sconce is discussing Python!

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Stupid browser tricks

2003-06-18 Thread Erik Price


Michael O'Donnell wrote:

Bookmarklets are way cool!  Here are some more:

   http://www.squarefree.com/bookmarklets


And some more by Kevin Smith, who calls them favelets:

http://centricle.com/tools/favelets/

Most are oriented toward assisting web developers in plying their craft.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Data retrieval from dead laptop

2003-06-18 Thread Erik Price


[EMAIL PROTECTED] wrote:

Will it just not boot?  I highly recommend getting a copy of Knoppix 
on CD and attempting to boot from that.  My wife's laptop died not 
too long ago with a bad hard drive failure.  I was able to boot off 
of CD with Knoppix, which correctly identified all the system 
hardware, allowed me easily start the network stuff, mount the NTFS 
file system, and rsync all the directories she needed to my server 
upstairs, and make it available to her via Samba so she could at 
least access it from her Windows system :)
Man!  I wish I'd thought of that a few weeks ago!  I was in a similar 
situation to the OP.

I'm going to keep a copy of Knoppix in my car's emergency kit.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: CSS Question

2003-06-12 Thread Erik Price


[EMAIL PROTECTED] wrote:

So, anyone have any really good links for learning CSS?
(Coles ref to w3schools already noted :)
This one might be too basic/introductory for you, but it's very 
well-written and can at least cement the knowledge that you already -do- 
have.  I found it very useful when first learning CSS:

http://www.w3.org/MarkUp/Guide/Style.html

HTH,

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Free brewing kit

2003-06-12 Thread Erik Price


Michael O'Donnell wrote:
This is definitely OT but I'd be pleased to think that
somebody in the GNHLUG was able to snag this stuff:


You know, that might be a cool activity for a GNHLUG social.  There's a 
beer-brewing place in Nashua, and you can do group-brews where 
corporate/religious/other parties can go there and make the beer one 
night (they show you how to do everything and provide the materials), 
and then a couple weeks later you go and pick it up.  It's like $25 or 
something depending on how many people do it.  Disclaimer, I've never 
actually done it, but I've heard about it.

New Hampshire's Finest Open Source Beer.  LinuxBeer.  BrewLinux.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: CSS Question

2003-06-12 Thread Erik Price


Greg Rundlett wrote:

Sitepoint is hawking a book on the subject, and will let you download the first four 
chapters.
http://www.sitepoint.com/  Of course their site is done with minimal use
of tables.
I was extremely impressed with the sitepoint.com website makeover, it 
looks incredible but like you said, makes almost zero abuses of the 
table tag.

I somehow overlooked this book the last time I was at their site.  As 
another person who is interested in learning how to use CSS to overcome 
table tag addiction, I will check it out.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Free brewing kit

2003-06-12 Thread Erik Price


[EMAIL PROTECTED] wrote:

Other than that, it's not bad.  As for the price, well, it depends 
upon what you brew.  I've left the place having spent $200 between 
the beer and bottles, and I've walked out for as little as $50.  And 
I always leave with far more beer than I can drink!  I still have 
about a case or so from the last time I brewed there, and that was 
over 2 years ago :)
Hey, if you're thinking of giving it away free as in beer...

bah dump PSH!



;)



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: CSS Question

2003-06-11 Thread Erik Price


Cole Tuininga wrote:

As I understand, the correct way to do it now would be with style
sheets.  However, I can't seem to figure out the attribute to use.  The
closest I could find was text-align, but that seems to only work on
text (which does make sense).
I've been using www.w3schools.com (a very handy reference) to pick up
xhtml and css, but I couldn't find anything about this in there. 
Anybody have any hints, pointers, etc?
The CSS2 spec lets you get really detailed about exactly where you want 
stuff to go -- but most browsers don't have full support for it yet. 
But it sounds like you've discovered float does the job.

If you ever want to center-align an image, one recommended way is to 
set its margin-left and margin-right properties to auto.  This is a 
clip from the CSS on my personal site (which has a centered image):

div.glamour img {
border-color: #FFF;
border-width: thin;
}
div.glamour p {
width: 35em;
text-align: center;
margin-left: auto;
margin-right: auto;
}
I'm centering the entire div whose class is glamour but you can 
equally apply this to an img tag.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: postgresql

2003-06-10 Thread Erik Price


Cole Tuininga wrote:

I agree that it has some great features, but when we looked into using
it, we found some serious drawbacks to it.  If anybody has comments on
these, I'd be very interested to hear them.
I don't have any comments except to say thanks for mentioning them Cole, 
because I didn't know about any of these.  So, just out of curiosity, 
which database(s) do you prefer*?  Again, I've only used MySQL 3.2.x and 
HSQLDB so experimenting with some of Postgres's features has been quite 
a bit of fun, but I haven't done any real testing or taken a serious 
look at it.  I'm using it as the back-end for the project I'm working 
on, and none of the mentioned problems are real showstoppers -- but I've 
also been careful to make sure that the project abstracts this enough to 
make it trivial to use another DB.

(* don't feel you have to limit your answer to OSS DBs, though of course 
those are always preferred [to me] -- but I personally wouldn't be 
interested in any DB that doesn't at least run on Linux.)

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: postgresql

2003-06-10 Thread Erik Price


Sharpe, Richard wrote:
Erik

I am a DBA and have been for over 20 years and my all time favorite
RDBMS is DB2 and now especially that it runs on LINUX and that the LINUX
flavor of DB2 is enjoying much attention from IBM, I think it is hands down
better than Oracle.
Thanks for your thoughts Rich.  What are some of the things you like 
about it?  One thing I have noticed about DB2 is that it isn't mentioned 
as often as Oracle/SQLServer/MySQL in the places I tend to frequent 
online (mailing lists, sites, etc), but as an IBM offering it seems 
pretty interesting nonetheless.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: PDA Suggestions

2003-06-06 Thread Erik Price


[EMAIL PROTECTED] wrote:

My personal preference is anything PalmOS based.  It's simple, well 
supported, and has all the features you requested.

I have yet to see why anyone would *need* one of these Linux based 
PDAs.  They seem like total overkill, and they're expensive.
Word to that.  I have had a PalmOS-based Treo for a couple of months 
now.  I have not had the time to learn about any cool power-user apps 
for it, or if it has any advanced features -- the only thing I have done 
is stored my contacts, appointments, and to-dos in it.

Oh, I did find a freeware flash-card application and used it to study 
for the SCJP, it worked quite well for that purpose.

At some point I would like to spend some time learning about ways to 
make better use of it, but for now it has replaced my Franklin planner. 
 (Which I am actually somewhat sad about, because I had an emotional 
attachment to it -- and it could hold paper documents, stamps, etc, 
which the Palm cannot.)

Erik

PS: I like the treo enough that I would upgrade to the phone version if 
Treo supported the phone company I subscribe to.  The keyboard is nice.

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


OT fried chicken

2003-06-04 Thread Erik Price


Jason Stephenson wrote:

Entirely OT, I want to add that if you've never had real, southern fried 
chicken or ckicken fried in a pressure cooker, then you haven't had 
fried chicken. It's best, of course, if the bird was raised free range. 
The industrial stuff that you generally find in your supermarket has no 
flavor. Fried turkey is pretty gol'danged good, too. :-)
I'm not big on fried food but I'd try it if it was authentic the way you 
describe.

I've only had the stuff from the KFC at the Simoneau plaza in Nashua.





Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Dvorak Predicts Death of Linux

2003-06-04 Thread Erik Price
On Wednesday, June 4, 2003, at 08:08  AM, Jerry Feldman wrote:

On Wed, 4 Jun 2003 07:21:57 -0400
Sharpe, Richard [EMAIL PROTECTED] wrote:
Dvorak Predicts Death of Linux
Dvorak is a schmuck. I'm not saying this just because of this 
prediction
but also after having read some of his other articles on various 
things.


This seems to be the general consensus of the MacOSX geek community as 
well.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Maddog at work.

2003-06-03 Thread Erik Price
On Monday, June 2, 2003, at 04:30  PM, [EMAIL PROTECTED] wrote:

Glanced at the cover of EE Times this week, and saw Maddog weighing in 
on
the whole SCO thing.  Check out the article (and picture) at
http://www.eetimes.com/story/OEG20030527S0020
Thanks for posting that.

Though the article doesn't mention the Novell announcement from last 
week.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Book swap?

2003-06-03 Thread Erik Price
On Monday, June 2, 2003, at 09:22  PM, Brian wrote:

I have some books here, mostly of the 4ish-year-old vintage that I was
wondering if anyone would be interested in?  I'd preferably like to 
swap
them for something (anything) even remotely
useful/intriguing/interesting but am open to all suggestions, including
impassioned pleas for outright donation.  I'd like to get some more
in-depth javascript books, anything security related, odd bits of
hardware, beer, etc.
It doesn't get name-dropped as often as the Camel or Llama or Ram 
books, but the Rhino is simply an awesome JavaScript book.  It's the 
only JavaScript book I've read, and it's excellent.  Very in-depth.  
Not really a cookbook, though, rather it should fill in any of the 
holes you may have had about the language or its capabilities.

If you don't find any takers, don't rule out the library -- a great 
place to unload books you'll never open again.  I remember first 
reading Learning Perl in the Nashua Public Library (I don't live in 
NH so I couldn't check it out).

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: AOL off the air?

2003-05-30 Thread Erik Price


Chris wrote:
Michael O'Donnell wrote:


I can't do any DNS lookups for any machines in
any domain associated with AOL.
I'd join you all in the unison chanting of
good riddance! except that many of my relatives
use AOL and all 4 nameservers for cnn.com are
AOL machines.  Any idea what's going on?


Use Foxnews.com,   much less biased anyway   :-)


Not likely -- FOX is owned by the _other_ mogul (Rupert Murdoch).



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: More SCO news

2003-05-29 Thread Erik Price


[EMAIL PROTECTED] wrote:
In a message dated: Wed, 28 May 2003 11:34:29 EDT
Michael O'Donnell said:

Bob: Hope Rob don't say balls nasty.
Rob: -Balls- nasty!
Bob: He don't shiv.
I'll bet this is high-larious, 'cept fer I don't get it...
Well, I wouldn't say high-larious...

Mmmm, yeah.  That was my reaction too.  I even tried googling for the 
various phrases, but turned up nothing of interest.


Come on, you guys never read Frank Miller's Dark Knight Returns  
(Which inspired Tim Burton's Batman movie, since you might not know 
that either)  Probably one of the greatest stories I've ever read, 
irrespective of medium.  The book's been reprinted plenty of times, you 
can probably get it at most public libraries.

The quote is from a conversation between two members of the Mutants 
gang, observing the caped crusader beating the shit out of their leader. 
 They are dumbfounded, because Batman is 40 years old and the gang 
leader is an incredibly strong and violent fighter.  The statement is a 
kind of respectful astonishment.





Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: More SCO news

2003-05-29 Thread Erik Price


Tom Buskey wrote:
Michael O'Donnell wrote:

Bob: Hope Rob don't say balls nasty.
Rob: -Balls- nasty!
Bob: He don't shiv.
  


I'll bet this is high-larious, 'cept fer I don't get it...
___
 

It's from Batman: The Dark Knight Returns by Frank Miller.  It's an 
excellent treatment of Batman, Joker, etc if they existed in the real 
world.  They're all much older and mostly retired, including Superman.
THANK YOU TOM.

Restoring my credibility ;)



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: More SCO news

2003-05-29 Thread Erik Price


Mark Komarinski wrote:
In case you don't read slashdot.  This is getting strange.

Novell (remember them?) is getting into the picture.  They claim that
they never sold the copyrights/IP to SCO, only a license to use said
copyrights/IP. 

http://www.novell.com/news/press/archive/2003/05/pr03033.html

-Mark


After reading the letter, I have only this to say:

Bob: Hope Rob don't say balls nasty.
Rob: -Balls- nasty!
Bob: He don't shiv.






Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Potential depletion of lumineferous electrons

2003-04-01 Thread Erik Price


Paul Lussier wrote:
Memo: Potential depletion of lumineferous electrons
From:  Paul Reisenfern, Director
   Office of Health and Safety, Computer Division
To:All Computer Users
Date:  1 April 2003 

As a result of recent studies carried out in cooperation with the
National Science Foundation, we at OHS have decided to ask for the
cooperation of computer users throughout the world to assist us in
alleviating two combined problems: a potential deterioration of the
shells housing computer monitors and, while less immediate, a shortage
of luminous electrons.
[...]

Check out the CPAN.  http://cpan.org/



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Potential depletion of lumineferous electrons

2003-04-01 Thread Erik Price


Ken D'Ambrosio wrote:

Check out the CPAN.  http://cpan.org/


Maybe my humor circuits have burned out, but... CPAN doesn't look a whole
lot different to me today than usual.  (Though my Wanda the Gnome Fish
looks suspiciously dead...)
Hm. They must have put the original page back up.  For a while it looked 
exactly like this page:

http://www.scriptarchive.com/



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: [OT] help w/ bitwise comparison operators

2003-03-24 Thread Erik Price


Derek D. Martin wrote:
At some point hitherto, Erik Price hath spake thusly:

Do you really have to convert the number to binary and then do a 
digit-for-digit comparison?


Bear in mind that if this is for an exam, your prof will likely want
to SEE the binary conversion of the two numbers.  It may also be to
your benefit to do so.  A wrong answer is wrong, but a solution that
is done partially correctly may get you partial credit.
I wish that were true in my case!  AFAIK it's administered via a 
terminal and is multiple choice.  Which I fondly recall in the good old 
days used to mean one possible answer out of several but for this test 
most questions have more than one correct answer and you have to get 
them all in order for a question to be marked correct -- no more 
process-of-elimination!!   :(

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: [OT] help w/ bitwise comparison operators

2003-03-21 Thread Erik Price


Kevin D. Clark wrote:

My advice:  convert your numbers to binary for the exam, and know that
in the Real World after school, people tend to let the computer do the
work for them.  But it *is* important for you to have this skill.
Thanks Kevin, and to everyone else who gave me suggestions.  I have 
learned some good tips, and also that what I really needed to learn was 
not shortcuts for using bitwise operators, but rather shortcuts 
(techniques, really) for converting between decimals, hex, and octal to 
binary and back.  Which I feel a lot more comfortable with doing now.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: [OT] help w/ bitwise comparison operators

2003-03-21 Thread Erik Price


Kevin D. Clark wrote:
Erik Price [EMAIL PROTECTED] writes:


The short circuit operators AND () and OR (||) work just like their
^^^

regular counterparts except they stop evaluating once they know the
result (AND stops evaluating if the first operand is false, and OR
stops evaluating if the first operand is true).


You might be interested to know that (1  2) results in 0 wheras 
(1  2) results in something non-zero...

Remember, operators like '' are bit operators, wheras operators like
'' are logical operators.  These are very different.
You're right, thanks for the correction.  I mis-read the text.  , |, 
, and || are all -logical- operators, and what I said above is true 
only for boolean values.  The short-circuit logical operators ( and 
||) won't compile if they are used with integral operands, though the 
bitwise operators ( and |) will.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: [OT] help w/ bitwise comparison operators

2003-03-21 Thread Erik Price


Kevin D. Clark wrote:

OK, now we're really splitting hairs, and I suspect that you mistyped
anyways, but just to be clear, the logical operators work on any
scalar type.
For example, these are all legal in C:

1  2
2  3.14
2.718  hello
'b'  foo;
Oh sorry, I wrote in one of those posts that this is all WRT the Java 
virtual machine.

class name=ShortCircuit.java
public class ShortCircuit {
public static void main(String[] args) {
System.out.println(1  2);
}
}
/class
shell
$ javac ShortCircuit.java
ShortCircuit.java:3: operator  cannot be applied to int,int
System.out.println(1  2);
 ^
1 error
/shell


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: OT: Good (but probably controversial) tune

2003-03-20 Thread Erik Price


Paul Iadonisi wrote:
WARNING: You may love it, or you may hate it.  I'm just sick of
 Clear Channel's monopoly and want to spread the access
 to this song and let people judge for themselves, instead
 of allowing the media mogul's to act as faulty filters for
 our ears.
  Since the radio stations won't play it:

http://darrylworley.dreamworksnashville.com/upload/video/wmv/hyf01-hi.asx?CID=747d1eeb6eb3a44e2639c1d190476b9e
I have heard that on the radio (WAAF, but what can you expect from the 
meathead morning show).

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


[OT] help w/ bitwise comparison operators

2003-03-20 Thread Erik Price
Yeah, this is totally offtopic of Linux but I know there are some 
helpful hackers on this list and was wondering if anyone wouldn't mind 
letting me know if there is a mental trick to working out the results of 
bitwise comparison operators.

Do you really have to convert the number to binary and then do a 
digit-for-digit comparison?  When I was in grade school we learned how 
to multiply two longer numbers together using an age-old but still 
really cool shortcut where you just do single-digit multiplication 
against the second number and carry the one, or carry the four, or 
whatever.  (Hope I'm making myself clear with this.)  The book I'm 
studying explains that an easy way to do a left bitwise shift is to 
multiply the left operand by 2 ^ N where N is the number you want to 
shift by, and that you can do the same with a right bitwise shift except 
using division instead.  Is there something similar for the bitwise 
comparisons for situations like:

7  3

or

6 | 13

?



Thanks,

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: OT: Good (but probably controversial) tune

2003-03-20 Thread Erik Price


Kevin D. Clark wrote:
[EMAIL PROTECTED] writes:


So why are you not filtering on 'Subject.*[Oo][Tt]\s*:' ?


If Mike did this, he would have missed out on Eric Price's [OT] help
w/ bitwise comparison operators thread, which I think is sufficiently
interesting to be discussed on this mailing list.
Thanks for the support!  But, as I watch this question sink 
unacknowledged into the archives of the Java help forums,  I'm beginning 
to suspect that there's no mental shortcut for  or | or ^, that it has 
to be done out by hand or computed.  Which I'm not looking forward to 
WRT the exam   :(

Erik

PS: someone did mention that ~x (bitwise NOT of x) can be represented as
-x - 1
which is good to know.
PPS: actually my close-bracket would have failed the regex.  But point
taken ;)
___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Top posting

2003-03-10 Thread Erik Price


[EMAIL PROTECTED] wrote:

Regardless, AFAIK, all lists managed by MailMan add the following 
lines to the header:

	X-BeenThere:
	X-Mailman-Version:
	List-Help:
	List-Post:
	List-Subscribe: 
	List-Id:
	List-Unsubscribe: 
	List-Archive:
I really like mailing lists that use MailMan and I think it's pretty 
great software.  Also, I use those headers for filtering my email to 
specific folders in my mail client.

If you've ever 
been a list manager and inundated with requests from subscribers to 
'please unsubscribe me from this list', then you'd quickly come to 
appreciate these footers.
It's funny b/c I see these happen all the time on lists that /do/ offer 
the footer.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Top posting - was Re: sendmail vulnerability

2003-03-07 Thread Erik Price
On Friday, March 7, 2003, at 03:45  PM, Derek Martin wrote:

  One thing I've noticed is that any discussion about this sort of 
thing
invariably causes more aggravation and uses more bandwidth than the 
original
transgression.  :-)
More often than not, said aggravation is, I think, the result of the
ego of the OP being unwilling to take being corrected/criticized.
Let's keep dragging this on.

As such, I think public response is more efficient, and
hence better.
I agree.  A little humility once in a while is good for the soul.

Erik





--
Erik Price
email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]
___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: the book thing

2003-03-05 Thread Erik Price


Michael Bovee wrote:

b) I grew up on Macintosh (groans from the peanut gallery :0) and so I 
expect to be able to get work done pretty quickly, and learn finer ways 
of doing things as I go.
Hey me too.  I only first used Unix in college because that's how you 
checked email.  My first forays beyond that were using vi to write text 
file-based auction listings to upload to rec.games.card.magic.trade or 
whatever.

c) I have resigned myself to learning the most universal unix skills 
through MacOS X, and I'm doing pretty well.
Me too.  The nice thing about it is that you're not forced to wrestle 
with the hard stuff until you invite it onto yourself.  Want to run a 
web server?  Click.  It's running.  But if you want to learn more about 
what's really going on, you can custom-compile your own with mod_perl 
etc to really get your hands dirty with it.  Yadda yadda.

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: For the newbies (book question)

2003-03-05 Thread Erik Price


Mark Komarinski wrote:

Programming Perl (Wall, Christiansen,  Schwartz, O'Reilly)
  Excellent combination of tutorial and reference.  I don't code
  in perl as much as I used to, but when I do, this book gets cracked
  open.
I've been reading Programming Perl on and off in my free time.  I'm 
going cover-to-cover trying to pick up little details that I might have 
missed in my inital inquiries into Perl.  But I have to say, although 
it's comprehensive WRT the language, I really think that the Perl 
Cookbook is a better book if you're actually sitting down to do some 
Perl coding.  It has great example code to model from, solutions to a 
lot of common problems, and most of the stuff in Programming Perl can be 
found at perldoc.com.

(Sure would be nice to /own/ the Perl Cookbook.  But I just got the 
Python Cookbook so it looks like it'll be a while before I pick that one 
up. ;)

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: For the newbies (book question)

2003-03-04 Thread Erik Price
On Tuesday, March 4, 2003, at 09:29  PM, Mark Komarinski wrote:

But I don't think it's just the typical home user.  I think everyone
would love this.  Martin Fowler himself wrote so in his short-n-sweet
UML Distilled.
185 pages is a lot more than 5.  But the point is taken.
Right, well I was just saying what I would like.

Unfortunately,
the thing going against this is the thought (which I want to prove or
disprive) that bigger is better, at least in terms of books that take
up a lot of shelf space being better.
No, really, I hate the thick books.  I'm being completely honest when I 
say that one of the best books I own is The Python Essential 
Reference.  It's not as small as an O'Reilly pocket reference, but it 
really does fit into the back pocket of my rave-era jeans.

The problem is that publishers think they can't charge $40 for a book 
unless it's giganto.  I disagree, because I'll pay that much for a book 
much thinner if it's really good.  Some of the most-recommended books 
I've read are Kernighan and Ritchie's The C Programming Language, 
Jeff Friedl's Mastering Regular Expressions, Josh Bloch's Effective 
Java, even the micro-sized The Elements of Java Style is considered 
one of the best Java books available.  None of these books are 700-page 
monsters, but they are all best of breed.

That's not to say I can't appreciate a book if it's big, because 
Thinking in Java (Eckel), MySQL (DuBois), JavaScript: The 
Definitive Guide (Flanagan) are each around a thousand pages and well 
worth every minute spent reading them.  All I'm saying is that what 
matters is that a book is good.  But thickness of a book /really/ 
doesn't add anything for me.

Until a book (like UML Distilled)
gets known within its group of readers as a good book, it won't sell.
No, I think this is true of all books to some extent.  At least in my 
case, I generally blow ~$50 on a book only when I have heard in several 
places that it's good.  From a friend, a LUG, even enough amazon 
five-star reviews will catch my attention.  Once in a while I've picked 
up a book that sounded cool even without knowing if it would be any 
good, but after a few chapters I take it back to the store if it 
wasn't.  Fifty bucks isn't chump change.

[...]

In retrospect, though, I have to say that perhaps from a marketing 
perspective the thicker books /are/ a better idea [for newbies].  
Before I started buying these books, I didn't really think about any of 
them being better than any others -- after all, they're just computer 
books, right?  How good can they be?  Why not go for one of the 
biggest so I can get my money's worth and try to learn it all in one 
go...

Erik





--
Erik Price
email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]
___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Great Article on Open Source/Linux stuff

2003-02-21 Thread Erik Price


Ben Boulanger wrote:

In business

http://yahoo.businessweek.com/magazine/content/03_09/b3822601_tc102.htm




I hadn't heard about this part:

excerpt
What could derail Linux? The biggest risks are intellectual-property 
issues. SCO Group, holder of the original patents for Unix software upon 
which Linux is based, has announced plans to form a licensing division 
and hire superlawyer David Boies to press its claims against sellers of 
Linux.
/excerpt




Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: C libraries

2003-02-07 Thread Erik Price


[EMAIL PROTECTED] wrote:

 Incidently, that's exactly what the Subversion project aims to do;
 write a replacement for CVS.  And, rather than trying to fix the
 brokeness of CVS's networking capability, they decided to chuck it
 all, and write a replacement.  But, rather than write all that
 networking code from scratch, they're using the APR, which already
 has an inherent understanding of things like URL parsing, etc.

Too funny that you should mention that, because that's exactly what I 
was reading up on.  I've been using CVS and I like it, but was thinking 
about installing Subversion and putting it through its paces.  But it'd 
take some planning since I'd have to run Apache 2.0, perhaps off some 
high-numbered port or something.

I think the term portable runtime is a little misleading in this 
sense.  You still need to compile your code with APR.  It's portable 
I think, in that it's not restricted for any one particular use, like 
a web server.

Oh, I see.  I had made the assumption that it was some kind of C-based 
version of the JRE.

Also, the Subversion architecture docs might be pretty informative 
about how they're using the APR as well.  You can find subversion 
here:

	http://subversion.tigris.org/

It was these very docs that first led me to the APR a half hour ago.

Thanks Paul, that clarifies a lot.


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



Re: home dir in cygwin

2003-02-06 Thread Erik Price


[EMAIL PROTECTED] wrote:


I'm curious why you think that is arcane[1]?  I was about to remark 
something amazingly similar to mod, but got distracted and Derek beat 
me to it[2] :)

That knowledge is indispensable to anyone who needs to debug user 
environments (e.g. a sysadmin).

Are you saying it's arcane just because you didn't know it, or 
because you do, but didn't expect anyone else to.

(I'm just trying to figure out where you're coming from, no insult is 
meant by this line of questioning.)

Because I didn't know it.  And I had never heard of a getpwent() 
function, nor did I know that sysadmins often resorted to knowledge of C 
structs and pointers in the course of their work.  (I don't run a Linux 
box, I just have an account on a friend's, so this man page isn't 
something I've ever seen before.  And the machine I *do* run is MacOS X, 
which doesn't use an /etc/passwd file for user info.)

Arcaneness is just relative, I guess.


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: home dir in cygwin

2003-02-06 Thread Erik Price


[EMAIL PROTECTED] wrote:


And the machine I *do* run is MacOS X, which doesn't use an /etc/passwd
file for user info.)



Really?  I thought OS X was BSD?  Where is user info stored?  Is 
there an /etc/passwd file?

NeXT machines used a database called NetInfo to store information that 
you'd normally think of going in the /etc/passwd file.  I know I know, 
when I first heard about it, I was like what the heck?.  Apparently 
the point is that the information in the database can be propagated 
across a network so that a user can log into any machine on the LAN 
using the login information stored on any of the systems.  MacOS X uses 
NetInfo, though there *is* an /etc/passwd file (just blank).  I must 
admit, I really have no idea how it works, since I have never seen a 
network of more than 2 or 3 Mac OS X boxes.

But someone told me recently that the Mac is moving to an LDAP-style 
system, not sure


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Red Hat End-of-Life

2003-01-30 Thread Erik Price


[EMAIL PROTECTED] wrote:



RANT=HIGH

Okay, first, let me say that I love Debian, and I love apt.  That 
being said:

	APT IS NOT A PACKAGE MANAGEMENT TOOL!!!

It's DEPENDANCY RESOLUTION TOOL.  There is a HUGE difference.  Saying 
you like apt better than rpm is like saying my house is better than 
your sports car.  There is no comparisson here, they are totally 
different.

Now, compare dpkg to rpm.  Which one of those do you prefer?  Do you 
even know the difference?  Do you care?

If you want something to do dependancy resolution for RH, get up2date 
or current.  Then, compare those to apt.

/rant


rant level=not that high
   Your lt;rantgt; tags aren't well-formed.
/rant


:)



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



shell script question

2003-01-20 Thread Erik Price
Hi,

I am probably overlooking something obvious but it seems that when I try 
to execute a command-line for loop, the do command part is not 
executed from the current directory.  Is that normal?  Here is what I mean:

[erikprice@host:/home/erikprice]$ for i in `ls`; do `which du` -khs 
$i; done
bash: /bin/du -khs bak: No such file or directory
bash: /bin/du -khs bin: No such file or directory
bash: /bin/du -khs cvs: No such file or directory
bash: /bin/du -khs dev: No such file or directory
bash: /bin/du -khs docs: No such file or directory
bash: /bin/du -khs down: No such file or directory
bash: /bin/du -khs ip-up: No such file or directory
bash: /bin/du -khs java: No such file or directory
bash: /bin/du -khs mail: No such file or directory
bash: /bin/du -khs pub: No such file or directory
bash: /bin/du -khs public_html: No such file or directory
bash: /bin/du -khs tmp: No such file or directory

As you can see in the above, I've had to put `which du` in the do 
section (because for some reason the du command isn't found if I don't 
specify an absolute path), and the filename arguments passed to the do 
section aren't found.  If I just type du -khs bak then it works fine.

My shell is bash 2.05 and I set my $PATH in ~/.bashrc (Gentoo Linux).

Thanks,

Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: shell script question

2003-01-20 Thread Erik Price


[EMAIL PROTECTED] wrote:



  First, a pet peeve of mine: Use

	for i in * ;

instead of

	for i in `ls` ;


I always forget that it can be done that way, but in fact, in this case 
I was ls'ing a diff't directory.  I just posted a simplified version to 
the list.  Also, I recall from an earlier discussion on this list that 
find is generally better to use in situations like this than ls but 
ls takes less arguments, and I just wanted to quickly get an estimate 
of a directory's disk usage, not write a true full-blown shell script. 
I'll try to remember that I can glob instead.

  A corrected version of your original might be:

	for i in * ; do du -khs $i ; done

  The loop variable is placed in double-quotes to make sure the du command
sees it as a single word.  Otherwise, if one of your directories contained
spaces or other shell meta-characters, it would get mangled by the shell
before it got passed to du.  The rest of the command (du and -khs)  
you want parsed as individual words so they get handled by the shell as the
command to run and said command's arguments, respectively.

Good point.


  Hope this helps,


Yes it does.  Thank you.


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



cygwin

2003-01-16 Thread Erik Price
Does anyone on this list use Cygwin when they are using Windows?  I use 
Win2k at work and was hoping to get that Linux feel with this program. 
Any advice or comments?


Thanks,


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: cygwin

2003-01-16 Thread Erik Price


Erik Price wrote:

Does anyone on this list use Cygwin when they are using Windows?  I use 
Win2k at work and was hoping to get that Linux feel with this program. 
Any advice or comments?

Judging from offlist responses, it sounds like a lot of people use or 
have used it, and that it can make working in Windows more bearable. 
Thanks to all who gave input.


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


removing a cvs working dir

2003-01-11 Thread Erik Price
I've just gotten my feet wet with CVS, and have init'd a repository and 
imported a new project.  It's neat.  But one thing I am wondering -- at 
the end of the day, when I've added all of my files and committed the 
working directory to the repository, am I supposed to use a CVS command 
to remove the working directory or its contents?

The only other version-control system I've used is VSS (they use it at 
my work), and that offers an option to remove the local copy of the 
file after committing.  So that's why I'm wondering if CVS has similar, 
or if I should just use rm.


Thanks,

Erik





--
Erik Price

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Moving files

2003-01-06 Thread Erik Price


Michael O'Donnell wrote:

  perl -e 'opendir DIR,.;@f = grep { ! /^\./  -f $_ } readdir(DIR);\
map {($n = $_)=~ s/\s+/_/g; rename ($_, $n) } @f;'



Heh.  Just for fun I rot13'd that Perl hack and, for my money,
it's just as readable...   ;-


LOL


crey -r 'bcraqve QVE,.;@s = terc { ! /^\./  -s $_ } ernqqve(QVE);\
  znc {($a = $_)=~ f/\f+/_/t; eranzr ($_, $a) } @s;'

On a more serious note, I (for one) would be grateful for
a blow-by-blow analysis of what you've done, since I'm in
trying to learn how to look at Perl code without my eyes
automatically crossing...


codeperl -e/code
executes Perl accepting a script as a commandline argument.

codeopendir DIR, .;/code
opens the directory from which the script was executed and assigns it to 
the file handle named DIR.

code@f = grep { !/^\./  -f $_ } readdir(DIR);/code
readdir(DIR) opens the directory and passes the results (the file names) 
to the grep function.  grep filters the results of an expression (I 
think), that expression being anything that does not begin with a dot 
AND is a file, and assigns those things to an array named f.  (In 
Perl, the @ symbol signifies that a variable is an array, and the $_ 
variable is the default item [passed from the readdir() function].)

codemap {($n = $_)=~ s/\s+/_/g; rename ($_, $n) }/code
assign the default item [passed from the previous grep function] to 
the variable n and then substitute all whitespace in that item for an 
underscore, then rename the default item to the string contained in n, 
but do this for each item in the f array.

This particular one-liner is very readable when properly indented and 
code-formatted, making use of few of the esoteric symbols that make 
reading Perl scripts hard.  I like it quite a bit.


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Moving files

2003-01-06 Thread Erik Price


Bob Bell wrote:



One nit: the $_ in the anonymous block passed to map does not come
from grep.  Rather, it is a reference to each item (in turn) in the
provided list (here, @f).



Upon re-reading my explanation, I came to the same conclusion -- I was 
thinking that the script worked the way that I would have written it, 
rather than how it was written! ;)  On some level it is still true, 
though, since the data in @f comes from the grep call.

[ FWIW, I'm surprised Paul bothered to use @f, instead of just
applying map to the results of grep directly ] 

Guess we're on the same page.


Also: rather than substitute all whitespace in that item for an
underscore, it is more accurate to say substitute each occurance of
a sequence of whitespace characters in that item with a underscore,
though I believe that's what you meant.


A more precise way of saying it.



Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



Re: Moving files

2003-01-06 Thread Erik Price


Derek Martin wrote:


This particular one-liner is very readable when properly indented and 
code-formatted, making use of few of the esoteric symbols that make 
reading Perl scripts hard.  I like it quite a bit.


I disagree, in large part, though I've definitely seen worse. I find
the syntax of the grep and map to be pretty cryptic, and as a result
the purpose of them is obscure to anyone who isn't familiar with the
Perl syntax used.  The version I wrote is much less so, IMO.


Agreed that your version is more straightforward, probably even more 
elegant (who am I to decide), but does not your script require the 
reader to know what the s/// operator does, or what shift() does?  In 
other words, assuming that the reader of the script does know how to 
read Perl including the standard-library functions grep and map, 
then the script is perfectly readable, even using temporary variables 
such as @f and $n rather than taking the obvious Perl shortcuts of 
omitting them and implying the value (something that I think only Perl 
lets you get away with).

A question for you -- do you find

  doSomething if (condition);

to be less readable than

  if (condition) {
doSomething;
  }

?  For someone who has even only a few hours' experience with Perl, the 
former is generally more readable in a larger script with more lines. 
Of course, by itself in an email it's hard to convey how nice it is to 
see a one-line if statement.

Just my opinions...


Erik

PS: FWIW, Python is a friendlier and IMO superior language for writing 
scripts where legibility is important, but you can't write a oneliner 
like the OP's Perl script using Python.  I think a lot of Perl users 
like the way that it is quick to write.

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Moving files

2003-01-06 Thread Erik Price

Kevin D. Clark wrote:

Erik Price [EMAIL PROTECTED] writes:



PS: FWIW, Python is a friendlier and IMO superior language for writing
scripts where legibility is important, but you can't write a oneliner
like the OP's Perl script using Python.  I think a lot of Perl users
like the way that it is quick to write.



Well, again, everybody is entitled to their opinions, but I find that
I am quite successful at writing legible Perl scripts.  I've been
playing around with Python for a while now, but I still prefer Perl
over Python.


Strange, you sound like you are at odds with me but I never questioned 
anyone's ability to write legible Perl scripts.  In fact, I always jump 
ahead to Randal's Perl column in Linux Magazine, because his code is 
often the simplest and easiest to read of all the source code published 
in that magazine.

I did say, however, that Python is superior in my opinion for writing 
scripts where legibility is important.  No offense, but I wasn't 
responding to you at all, but to Derek, who was saying something about 
Perl not being easy to read by programmers who don't know the 
idiosyncracies of Perl, or something.  In that case, yes, Python's a lot 
more straightforward -- as some people like to say, it's executable 
pseudocode.

BTW, where's your Python solution to this problem?  Please make sure
that it is functionally identical to the solution that I posted.


I didn't read the details of File::Find (which is too bad since I've 
heard of it before and it looks like a great module), so I'm not sure if 
this does everything, but I managed to hash this script out.  I think it 
does the same thing.  Let me know if it doesn't.  Also note that Python 
offers the list comprehensions and map and other elegant functional 
programming features that Perl has, but I didn't use them as some of the 
discussion on this list suggested that they aren't very readable. 
(There are definitely less verbose ways to write unspacify.py. 
Criticism welcome.)



Erik




#!/usr/bin/python

import sys
import os
import os.path

def unspacify(somestring):
return somestring.replace(' ', '_')

def unspacifyFile(filename):
if os.path.isfile(filename):
os.rename(filename, unspacify(filename))
# this next condition will never happen if this
# function is called from unspacifyDirectory(),
# but is included in case this function is invoked
# directly (from another script)
elif os.path.isdir(filename):
os.rename(filename, unspacify(filename))
else:
raise IOError

def unspacifyDirectory(directoryname, recurse=False):
if os.path.isdir(directoryname):
thisdir = os.getcwd()
os.chdir(directoryname)
for file in os.listdir(.):
if os.path.isdir(file) and recurse == True:
unspacifyDirectory(file, False)
try:
unspacifyFile(file)
except IOError, ioe:
print Unreadable:  + file
continue
os.chdir(thisdir)


def usage():
print usage: unspacify.py [-r] targetfile

if __name__ == '__main__':
if sys.argv[1] == '-r' and os.path.isdir(sys.argv[2]):
unspacifyDirectory(sys.argv[2], True)
elif os.path.isdir(sys.argv[1]):
unspacifyDirectory(sys.argv[1])
elif os.path.isfile(sys.argv[1]):
try:
unspacifyFile(sys.argv[1])
except IOError, ioe:
print File Unreadable:  + sys.argv[1]
sys.exit(1)
else:
usage()
sys.exit(1)

sys.exit(0)

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: Notable bash $PATH behavior trivia

2003-01-03 Thread Erik Price
Useful, I didn't know that.  Thanks.


Erik

Michael O'Donnell wrote:

I just noticed that I was able to execute
programs in the current directory without
prefixing their names with ./ and without
having . in my $PATH.  After saying WTF?
a number of times I finally figured out that
it's related to my PATH being defined with
a leading colon, sorta like this:

   export PATH=:/bin:/usr/bin:/usr:local/bin

...so those of you who (for security reasons) are
careful to exclude . from your $PATH need also
be careful about leading colons, apparently...

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



Re: dd syntax question (was: ISO Ripping)

2002-12-23 Thread Erik Price


mike ledoux wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On Mon, Dec 23, 2002 at 11:55:35AM -0500, Erik Price wrote:

Why does dd use options named if and of?  I just paged through the
man page but can't seem to find an explanation.  Especially since you
would think of refers to the original (source), not the destination.


 if = input file
 of = output file

RIGHT.  Of course.  Thanks.

(whew!)


Erik

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



Re: replacement for netscrape mail

2002-12-20 Thread Erik Price

On Friday, December 20, 2002, at 01:19  PM, Rodent of Unusual Size 
wrote:

mozilla seems cool as a browser, but does it do mail?  how about
other alternatives?


I've been using Mozilla as a browser since 1.0, and have had nothing 
but positive experiences with it (except for some reason on 
monster.com, where I see some strange rendering errors, but that is the 
*only* site where I see them).  But just last week, on Wednesday, I 
decided to try Mozilla mail.  I was using Outlook at work (the standard 
MUA where I work), and every time I sent a post to gnhlug-discuss, I 
had to manually hit CR at the end of each line or face the wrath of the 
line-wrap nazis.  I was nervous that I wouldn't be able to import my 
old mail, that it wouldn't be compatible with the Exchains servers my 
company uses, and a host of other worries.

Let me just say that it is a great mail client.  No problems with 
importing old mail (though it took over an hour to fetch all my old 
mail).  No problems with the Exchains servers (though I'm on POP3 now 
so I have to make my own backups of my mail).  No complicated 
seven-step wizard to set up a rule for email filtering, and even then 
the filters didn't work half the time.  CNET says Mozilla is actually a 
better mail client performance-wise, but doesn't offer the calendaring 
compatibility with Exchains.  I don't use the calendaring anyway.

Basically, I think it's great.


Erik





--
Erik Price   (zombies roam)

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: replacement for netscrape mail

2002-12-20 Thread Erik Price

On Friday, December 20, 2002, at 08:43  PM, Erik Price wrote:


No problems with importing old mail (though it took over an hour to 
fetch all my old mail).

s/fetch/import/;



--
Erik Price   (zombies roam)

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss



Re: pipe/redirect dumb question

2002-12-11 Thread Erik Price

On Wednesday, December 11, 2002, at 07:00  PM, [EMAIL PROTECTED] 
wrote:

An ordinary redirection opens a file descriptor with regular file 
semantics.
Some shells implement process redirection which is similar to a pipe.

The main difference between pipe file descriptors and file file 
descriptors
is that pipes implement a sort of flow control. Draining a pipe causes 
the
reader to block rather than receive an EOF. Filling up the pipe will 
cause
the writer to block.

Other differences are the way the file descriptors respond to various 
other
syscalls. For instance, you can't do a 'seek' on a pipe.

Thanks for this comprehensive answer.  Originally I asked this question 
from a strictly pragmatic approach (does it make a difference if I 
pipe from a utility or redirect from a file, if it's the same data 
either way), but I had never considered the way piped data works.  
Specifically that it causes the reader/writer to block depending on the 
circumstances.

Does the code that tells the reader or writer to block have to be 
written into the application, or is that somehow built into the shell?  
If it needs to be built into the application, well then say for 
instance I'm writing a Perl script.  I've never programmed my Perl 
script to block if the writer gets full.  So perhaps it's handled 
internally by Perl.  But if I'm writing a C program, I shouldn't make 
the assumption that this will be done for me.

Unless of course I'm totally off the mark here, and the rules of piping 
are handled by the shell or OS or something.


Erik





--
Erik Price   (zombies roam)

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


Re: emacs vi (vim) approaches)

2002-11-16 Thread Erik Price

On Friday, November 15, 2002, at 04:55  PM, Tom Buskey wrote:


I'm amazed at how many places you find emacs style keystrokes.
Mozilla, exmh's sedit, interleaf, bash, ksh, tcsh.  Others?

It's similar to all the editors that used wordstar style keys on DOS -
the Turbo editors, qedit.

How many apps let you use vi keystrokes?  ksh, bash (?), tcsh (?), 
vile?

Since it's modal, I think it's harder for some apps to adjust... but 
IIRC, GNU readline lets you use vi commands... I know there is a vi 
option for bash, and perhaps for other tools that use readline like 
MySQL's mysql and Python's interactive interpreter.


Erik





--
Erik Price   (zombies roam)

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


cheap video card desired

2002-10-21 Thread Erik Price
Hi,

I've had the good fortune of being able to run Linux on a separate hard 
disk at my new job, so when I'm not busy with some task or other, I 
reboot and tweak.  (It's Debian 3.0)

I'd like to do more of my development in Linux because I like to script 
a lot of my workflow (and I'd like to try Mutt) and I'm a bash addict.  
In fact, I never had a Windows box in my house, so the DOS prompt feels 
particularly inflexible after having bash in my MacOSX box for the past 
year (and on my school's servers before that).

However, quite a bit of the work I do requires a web browser, and I've 
been using NetBeans for Java.  If I had access to a GUI from my Linux 
box, I'd be able to switch over full-time (for the most part).  But my 
video card is unsupported.  It's a RealiZm Intense3D card, I guess 
(judging from the Windows Device Manager).  I've tried dozens of 
settings in `dpkg-reconfigure xserver-xfree86`, but no avail.  It's not 
supported.  So I need to get a supported video card.  Does anyone know 
of a good resource for investigating this?  I certainly don't need a 
hot gaming card, just something equivalent to what I've got (it's 
32(24)-bit, does 1152 x 864 at 19 inches) would be great.  Since I'm a 
bonehead when it comes to PC hardware -- a casualty of growing up in a 
house of Apples -- can anyone provide a recommendation?  And if you 
know of a store that sells them used, cheap, that'd be helpful too.

Thanks,

Erik

PS:  I still need to boot into Win for some of the company 
applications, so I need to make sure that there is a driver for Win2k 
too.





--
Erik Price   (zombies roam)

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

___
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss


  1   2   >