Re: [SLUG] Re: dynamic vs static type checking

2005-09-26 Thread Bruce Badger
On 9/27/05, Peter Miller <[EMAIL PROTECTED]> wrote:
> On Tue, 2005-09-27 at 12:00 +1000, Bruce Badger wrote:
> As a developer intent on doing the best job possible,  I want to
> discover whole classes of bugs long before the corresponding unit test
> is executed.  (E.g. my keyboard can't spel.)

I certainly share the desire to do a good job!  Wrt bugs, I'm quite
happy if I can find the problems before I check code into my version
control system.  I tend to be running SUnit tests while I am writing
code and debugging.  BTW, the Smalltalk IDE I use does have a spell
checker that picks up many typos (I know - I have clumsy fingers :-/).

> What is essential in a production environment is a way to validate the
> code for trivially stupid mistakes, like a = b.c where b is an int, and
> c is a struct member; or prentf("%g\m", 4)

Right, before we get to the production system.  This is the kind of
thing I had in mind when I said I don't experience the problems one
might imagine static typing would save you from.

> The worst are some interpretive languages where whole code blocks are
> parsed at run time, creating the wonderful situation where customers (!)
> ring up and say "what does syntax error mean?"

[Aside: Languages can be implemented in many ways - e.g. there are
statically compiling Smalltalk IDEs & C can be interpreted.  Yes,
Smalltalk tends to be dynamically compiled and C tends to be
statically compiled, but that's not the fault of the language.]

Production environments can throw up all kinds of surprises, mostly
because users do unexpected things or present unexpected data. 
Neither static typing nor unit tests will give you a 100% guarantee
against a system doing something embarrassing.  I reckon no code
coverage tool can cover 100% of situations either, even if it does
help you cover 100% of the code.  Surprises are inevitable.

Clearly it is possible to build excellent system using all kinds of
tool sets.  It's possible to build crap systems too.  IMO, the best
tool for the job is the one that developer finds to be the best one
for the job.  Of course, a good developer will keep an open mind and
look out for different and perhaps better ways of doing things, but
having a current preferred tool set is important (BTW flitting from
one tool to the next in hope of a silver bullet is as bad as sticking
with what you know and not keeping an open mind, IMO).

For myself, I think the best trade-off is to be found using Smalltalk
as the primary language. :-)

All the best,
   Bruce
--
Make the most of your skills - with OpenSkills
http://www.openskills.org/
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Lindsay Holmwood

Grant Parnell wrote:


For starters what apps do you tend to use the most?


xterminal
leafpad
firefox
thunderbird
nautilus
gaim
gimp
vim
f-spot

Although more recently i've been using epiphany instead of firefox, due 
to its lighter feel. I'm slowly moving away from nautilus to thunar (an 
xfce file manager) as more and more features are being implemented.


F-Spot rocks when it comes to photo management. Almost as good as 
Google's picasa. :-)


Cheers,
Lindsay
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Bruce Badger
On 9/27/05, O Plameras <[EMAIL PROTECTED]> wrote:
> I can RTFM but if I can see the  equivalent of this code, it'd be helpful.
> I wish to have a quick idea of the language.
>
> #include 
>
> int integer_array[] = {1,-2,3,-4,5,-6,-7,8,-9,32727000};
> int *ptr;
>
> int main(void)
> {
> int i;
> ptr = &integer_array[0];
> printf("\n\n");
> for (i = 0; i < 10; i++)
> {
>   printf("integer_array[%d] = %d   ",i,integer_array[i]);
>   printf("ptr + %d = %d\n",i, *(ptr + i));
> }
> return 0;
> }

In Smalltalk:

integerArray := #(1 -2 3 -4 5 -6 -7 8 -9 32727000 9876543210).
Transcript cr.
1 to: integerArray size do: [:index|
Transcript
show: 'integerArray[', index printString, '] = ';
show: (integerArray at: index) printString;
cr].
^0

Notes:
o The index of the first position in an Array is 1
o Objects have a memory address, but only the VM knows what it is
o I popped in a larger number at the end of the Array :-)

Here is the result of evaluating the above:

integerArray[1] = 1
integerArray[2] = -2
integerArray[3] = 3
integerArray[4] = -4
integerArray[5] = 5
integerArray[6] = -6
integerArray[7] = -7
integerArray[8] = 8
integerArray[9] = -9
integerArray[10] = 32727000
integerArray[11] = 9876543210

All the best,
Bruce
--
Make the most of your skills - with OpenSkills
http://www.openskills.org/
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread QuantumG

Erik de Castro Lopo wrote:


You will notice that something like the Array.mapi function is
much less likely to contain errors than the C for loop.
 



What I noticed is that they invented syntax when they could have just as 
easily have used C syntax.  Way to knife your language.


Trent
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Erik de Castro Lopo
O Plameras wrote:

> I do not know O'Caml, so I just want to ask the equivalent of ff code.

Probably the best place to get an idea of the language is the
Pleac project:

http://pleac.sourceforge.net/pleac_ocaml/index.html

> I can RTFM but if I can see the  equivalent of this code, it'd be helpful.
> I wish to have a quick idea of the language.

O'Caml is not a general replacement for C. It doesn't have
pointers for the same reasons Java doesn't have pointers.
You also can't realistically write a Linux device driver 
in O'Caml (although there is a project that attempts this
I personally think its a bad idea.).

The O'caml version of your program therefore doesn't do the
pointer part and reduces to:

let integer_array = [| 1 ; -2 ; 3 ; -4 ; 5 ; -6 ;
-7 ; 8 ; -9 ; 32727000 |] ;;

Array.mapi (fun i x
-> Printf.printf "integer_array[%d] = %d\n" i x
) integer_array ;;

The first part (let ...) is pretty obvious. The second part
probably looks odd to someone who has only programmed in
C, C++ and java. It creates an annonimous function which takes
two integer parameters (i and x) and then mapps that function
onto the array. The anonymous functions gets called once for
each element in the array passing the array index and value
each time.

You will notice that something like the Array.mapi function is
much less likely to contain errors than the C for loop.

Erik
-- 
+---+
  Erik de Castro Lopo
+---+
"I consider C++ the most significant technical hazard to the survival
of your project and do so without apologies." -- Alistair Cockburn
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] BSD packages on Linux installation ????

2005-09-26 Thread Christopher JS Vance

On Mon, Sep 26, 2005 at 06:26:46PM -0700, pesoy misak wrote:

I am wondering about FreeBSD tgz binary packages is
compatible with linux distros such as debian or
fedora. and also can i just unpack the bsd package and
run them on any of these two linux distros


No.  Explanation follows.

BSD *.tgz binary packages are gzipped tar files containing a number of
control files (each has a name starting with '+') and then the stuff
you actually want installed.  The +CONTENTS files may contain several
@cwd directives which change where different files in the archive get
put, so you can't always just untar in /usr/local.  (In order to build
some BSD packages on Linux, I've just had to hack around what looked
like a bug in GNU tar where it couldn't make a BSD package because it
didn't obey multiple -T arguments.)

But even if you could unpack a BSD package in the right place, it will
almost certainly not work for you.  One reason for this is that the
BSD package will almost certainly expect you to have appropriate
libraries installed on your machine.  Most of these libraries will be
part of the BSD base system, and are not available as or in packages.
Your Linux libraries will not be adequate.

BSDs also have different system calls from Linux and from each other.
Unless you have a Linux kernel which knows how to emulate FreeBSD
sufficiently to handle its system calls, you'll be in trouble, even if
you could copy the right libraries in.

As a side note, I will say that all the BSDs successfully emulate most
of Linux, but I've not heard any suggestion that Linux is 
enough to reciprocate.  I build Linux stuff on BSD from time to time.

--
Christopher Vance
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: dynamic vs static type checking (was Re: [SLUG] Your top-ten linux desktop apps)

2005-09-26 Thread Erik de Castro Lopo
[EMAIL PROTECTED] wrote:

> > However, other dynamically typed languages like Python, php and to a
> > lesser extent Perl do not have anywhere near as sane a system. I
> > suspect that the Smalltalk equivalent of the following Python code
> > might actually do the right thing:
> >
> >a = [ 1, "help" ]
> >b = a + 10
> >
> > but Python squeals like a stuck pig (read runtime error).
> >
> 
> So it should ... just because a language is made for the ease to use does not
> mean it should just accept any random input and not to complain.

Yes, I agree that it should complain, but I think it should
complain at compile time in front of the developer, not at
run time in front of the end user.

Erik
-- 
+---+
  Erik de Castro Lopo
+---+
"There are only two things wrong with C++: The initial concept and
the implementation." -- Bertrand Meyer
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread O Plameras

Erik de Castro Lopo wrote:


Peter Miller wrote:

 


C offers you enough rope to hang yourself.
C++ offers a fully equipped firing squad, a last cigarette and
a blindfold.
 


and better type safety that sh, tcl, php and a shit load of other
"advanced" make-the- type-up- at-run-time you-can-only-find- bugs-by-
customers-using- it-for- real-and- suing-you (that some simple compile
time static analysis would have found) scripting languages.
   



Thats why I'm so keen on O'Caml. It offers even more static analysis
than C and C++. Its significantly more difficult to write bugs into
an O'Caml program than a C or C++ program.

 



I do not know O'Caml, so I just want to ask the equivalent of ff code.
I can RTFM but if I can see the  equivalent of this code, it'd be helpful.
I wish to have a quick idea of the language.

#include 

int integer_array[] = {1,-2,3,-4,5,-6,-7,8,-9,32727000};
int *ptr;

int main(void)
{
   int i;
   ptr = &integer_array[0];
   printf("\n\n");

   for (i = 0; i < 10; i++)
   {
 printf("integer_array[%d] = %d   ",i,integer_array[i]);
 printf("ptr + %d = %d\n",i, *(ptr + i));
   }
   return 0;
}


Thanks.
---

O Plameras
http://www.acay.com.au/~oscarp/tutor

--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] Laptop and lspci results

2005-09-26 Thread Bill
Have just tried an MSI M510c notebook with Kanotix (Debian) 2005.03 lite 
and viewing the results of lspci determined that Kanotix found all of the 
hardware.


Does this mean that I can expect that everything that was found will work 
?  Or does it mean that hardware detection has worked and mileage may vary 
in actually trying to utilise the hardware components?


Bill

--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] Re: dynamic vs static type checking

2005-09-26 Thread Peter Miller
On Tue, 2005-09-27 at 12:00 +1000, Bruce Badger wrote:
> [good things about run-time behaviour of modern interpretive languages]

This isn't my gripe, and I'm not certain it's Erik's, either.  I don't
care when in the process the code is compiled (well, I do, for embedded
code) so long as I don't notice.

As a developer intent on doing the best job possible,  I want to
discover whole classes of bugs long before the corresponding unit test
is executed.  (E.g. my keyboard can't spel.)

What is essential in a production environment is a way to validate the
code for trivially stupid mistakes, like a = b.c where b is an int, and
c is a struct member; or prentf("%g\m", 4); information that some simple
static analysis would find.  Of great interest, of course, are the
subtle bugs that more complex static analysis can find.  Preferably in
combination with some process which makes it impossible to put
unvalidated into production; which is an oft-overlooked (and
undervalued) advantage of compiled languages.

The worst are some interpretive languages where whole code blocks are
parsed at run time, creating the wonderful situation where customers (!)
ring up and say "what does syntax error mean?" because no test case went
down that code branch.  This is ZERO improvement on 30 years ago when
customers routinely reported "goto 40: no such line" types of errors in
Basic programs.

-- 
Regards
Peter Miller <[EMAIL PROTECTED]>
/\/\*http://www.canb.auug.org.au/~millerp/

PGP public key ID: 1024D/D0EDB64D
fingerprint = AD0A C5DF C426 4F03 5D53  2BDB 18D8 A4E2 D0ED B64D
See http://www.keyserver.net or any PGP keyserver for public key.


signature.asc
Description: This is a digitally signed message part
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Re: dynamic vs static type checking (was Re: [SLUG] Your top-ten linux desktop apps)

2005-09-26 Thread yiz




However, other dynamically typed languages like Python, php and to a
lesser extent Perl do not have anywhere near as sane a system. I
suspect that the Smalltalk equivalent of the following Python code
might actually do the right thing:

   a = [ 1, "help" ]
   b = a + 10

but Python squeals like a stuck pig (read runtime error).



So it should ... just because a language is made for the ease to use does not
mean it should just accept any random input and not to complain.

b = a + 10 isn't exactly  programmingly intuitive, it could potentially mean:

I) b = [l, "help", 10]

II) (if l is of type int) b = [l+10, "help"]

III) b is the address of a plus 10 units.

yiz







--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] Re: local Ubuntu apt server

2005-09-26 Thread Matthew Palmer
On Tue, Sep 27, 2005 at 11:16:24AM +1000, Carlo Sogono wrote:
> I need to setup a local Ubuntu apt server but don't know where to start.
> I need something that syncs with official Ubuntu servers but I only want
> it to sync packages I define. Is this possible?

You want "apt-proxy".

- Matt


signature.asc
Description: Digital signature
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

[SLUG] Re: local Ubuntu apt server

2005-09-26 Thread Mary Gardiner
On 2005-09-27, Carlo Sogono <[EMAIL PROTECTED]> wrote:
> I need to setup a local Ubuntu apt server but don't = know where to
> start.  I need something that syncs with official Ubuntu servers = but
> I only want it to sync packages I define. Is this possible?

I searched Google for "setting up a partial apt mirror" and found the
following possibility: a command named apt-move, which is mentioned on
http://wclp.sourceforge.net/documentation/adminguide.wclin/node10.html .

Linux Planet also has a tutorial at
http://www.linuxplanet.com/linuxplanet/tutorials/5667/2/

However, what is your use case for this? If it's the common one that you
have a bunch of machines and don't want to download the same packages
for each machine gets updated, then you should look at using the
apt-proxy program, which is available on Ubuntu. apt-proxy works like
this:

 1. you point apt-proxy at a full apt repository (can be the official
one, can be a full mirror, it's not a bad idea in Australia to use a
local mirror)

 2. you point all your Ubuntu machines at the apt-proxy server

 3. each time they update, the apt-proxy will store the files it
downloads. if another machine requests the same package, it will use
the stored one. So packages are only downloaded the first time
they're requested, and apt-proxy only downloads the package onces

If you do use apt-proxy, be sure to check its cache expiry time. It has
a limit on how long it will store the packages for before it deletes
them (so that it doesn't fill your hard disk with five year old package
files). I find 3-6 months is a sensible value, but one SLUG user
reported that it was set to 2 minutes by default, which is useless!

-Mary

-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: dynamic vs static type checking (was Re: [SLUG] Your top-ten linux desktop apps)

2005-09-26 Thread Bruce Badger
On 9/27/05, Erik de Castro Lopo <[EMAIL PROTECTED]> wrote:
> There are large classes of problems where running speed is an
> important issue. Static typing does make for faster run times
> and in cases where that moves your program from being too
> slow to being fast enough, that is not a premature optimisation.

Modern VMs (e.g. many of the Smalltalk VMs) dynamically compile code,
i.e. they JIT.  The more sophisticated ones use type inferencing to
tighten up the compiled code at runtime.  This adds the runtime
benefits of having type information to the coding time benefits of
dynamic typing.  In fact, the very best of the JITing VMs can get
performance that exceeds that attainable by static compilation -
because there is more information available at run time to base the
tuning decisions upon.

The down side to JITing is that there is a start-up cost.  Every time
a program starts, the process of compiling and tuning begins. 
Statically compiled code is therefore much faster out of the blocks. 
This is very much like the story of the tortoise and the hare - the
quality JIT will overtake the statically compiled code, but whether it
will do it before the end of the race depends on the length and nature
of the race.

Horses (or tortoises) for courses.

Of course, languages like Ocaml bring bring significant coding time
benefits to the table too!  The declarative nature of Objective Caml
suits some kinds of problems really well.

> Correct me if I'm wrong, but my understanding of Smalltalk is that
> all objects live in a class heirarchy that inherits from a base
> class.

Given a sane programmer - yes.  There are ways to create new root
classes, but anyone doing this in code destined for a production
environment should scolded, and perhaps even spanked.

> That means that given an operation on two objects A and
> B that is not defined on A and B, then the runtime system can
> walk back along the class heirarchy of both A and B until (hopefully)
> it finds parent classes of A and B that do allow the required
> operation.

Exactly

All the best,
 Bruce
--
Make the most of your skills - with OpenSkills
http://www.openskills.org/
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] BSD packages on Linux installation ????

2005-09-26 Thread pesoy misak
Hi all Slugger

I am wondering about FreeBSD tgz binary packages is
compatible with linux distros such as debian or
fedora. and also can i just unpack the bsd package and
run them on any of these two linux distros

many thanks in advance




__ 
Yahoo! for Good 
Donate to the Hurricane Katrina relief effort. 
http://store.yahoo.com/redcross-donate3/ 

-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] Monthly Meeting: Friday, September 30th

2005-09-26 Thread Chris Deigan

When:
Friday, September 30, 7:00pm - 9:30pm
Where:
UTS Broadway 

SLUG's monthly meeting featuring talks and SLUGlets. Meetings are open to the 
general public, and free of charge.

Room 2.4.10 (Building 2, Level 4, Room 10), at UTS Broadway (There is a map of 
UTS availible here).

General Talk: Matthew Palmer will be speaking on Your own personal Mainframe: 
Virtual Machines for fun and profit

The increasing availability of cheap, powerful hardware has made it
practical to consider running multiple, completely independent instances
of an Operating System on a single piece of hardware. Why would you want
to run multiple Operating Systems on one machine? For security,
stability, testing, ease of disaster recovery, or a whole range of other
reasons. There are many technologies available for virtualising
operating systems, especially Linux systems. This talk will compare and
contrast several of the technologies available, along with the pros and
cons of each. There will also be discussion of the use cases of
virtualisation, and live demonstrations of several of the technologies.

Special Interest Talk Newbie Orientation - Desktop Introduction

As a followup to the recent Software Freedom Day activities SLUG is
presenting a short introduction to the Linux Desktop and popular
applications for the home and office user.

As usual, SLUGlets will be running in another room during the 2nd half of 
the meeting for those who do not wish to attend the 2nd talk.

6:30pm: Doors Open
6:45pm: The Usual Suspects
Q&A - Introduction to SLUG + "What has Linux done for/to me lately?" + SLUG 
News & Discussion 
7:00pm (approx): General Talk
Matthew Palmer - Your own personal Mainframe: Virtual Machines for fun and 
profit 
8:00pm (approx): Break
Refreshments in the foyer, for a small covering charge. 
8:20pm (approx): Split into two groups for:

* Special Interest Talk: Newbie Orientation - Linux Desktop Introduction
* SLUGlets: quick talks and discussion of Linux and Free Software.

9:30pm (approx) Dinner
Dinner at Spice Boys (Indian), $20 per head. 

Cheers,
-Chris.

--
linux.conf.au 2006 - http://linux.conf.au/ - Dunedin, NZ
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] local Ubuntu apt server

2005-09-26 Thread Carlo Sogono



I need to setup a local Ubuntu apt server 
but don't know where to start. I need something that syncs with official Ubuntu 
servers but I only want it to sync packages I define. Is this 
possible?
Thanks,Carlo



This email has been scanned for all viruses by the MessageLabs SkyScan
service. For more information on a proactive anti-virus service working
around the clock, around the globe, visit http://www.hi-speed.net.au


-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Re: dynamic vs static type checking (was Re: [SLUG] Your top-ten linux desktop apps)

2005-09-26 Thread Erik de Castro Lopo
Bruce Badger wrote:

> Nah.  In fact the oposite is true.  Static typing is just another form
> of premature optimisation!

There are large classes of problems where running speed is an
important issue. Static typing does make for faster run times
and in cases where that moves your program from being too
slow to being fast enough, that is not a premature optimisation.

> I make extensive use of dynamically typed languages (Smalltalk mostly)

Smalltalk is actually one of the more sane dynamically typed languages
and one of the few where the above comment actually makes sense.

Correct me if I'm wrong, but my understanding of Smalltalk is that 
all objects live in a class heirarchy that inherits from a base
class. That means that given an operation on two objects A and
B that is not defined on A and B, then the runtime system can 
walk back along the class heirarchy of both A and B until (hopefully)
it finds parent classes of A and B that do allow the required 
operation.

However, other dynamically typed languages like Python, php and to a 
lesser extent Perl do not have anywhere near as sane a system. I 
suspect that the Smalltalk equivalent of the following Python code
might actually do the right thing:

a = [ 1, "help" ]
b = a + 10
  
but Python squeals like a stuck pig (read runtime error).

> and the class of problem one might imagine that static typing save you
> from I just don't encounter in practice.

My criticisms of dynamic typing are particularly aimed at the most 
commonly used dynamically typed languages which means Python, PHP
and Perl.

Erik
-- 
+---+
  Erik de Castro Lopo
+---+
C++: The power, elegance and simplicity of a hand grenade.
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread yiz



C offers you enough rope to hang yourself.
C++ offers a fully equipped firing squad, a last cigarette and
a blindfold.


Our system architect calls me crazy,
But coding in C makes me feel pretty.

Since I always remotely log on to a linux box, I am command line junkie. The
things I use most are:

1) vim/vi

2) gdb
The more buggy your code is the more useful this debugging tool is ^_^

3) cvs
That's ... if you have more than 1 person working on the code.

As for programming languages I recommand:

C/C++ (gcc/g++)
perl
shell (script)

I am not sure these are the "desktop" apps you are refering to, but I 
use linux

mainly for programming purposes.

cheers,

yiz







--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: dynamic vs static type checking (was Re: [SLUG] Your top-ten linux desktop apps)

2005-09-26 Thread Bruce Badger
On 9/27/05, Erik de Castro Lopo <[EMAIL PROTECTED]> wrote:
> The problem with dynamic typing is that it postones testing for an
> important class of errors (type errors) until run time.

Nah.  In fact the oposite is true.  Static typing is just another form
of premature optimisation!

I make extensive use of dynamically typed languages (Smalltalk mostly)
and the class of problem one might imagine that static typing save you
from I just don't encounter in practice.

Each to their own, of course :-)

--
Make the most of your skills - with OpenSkills
http://www.openskills.org/
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


dynamic vs static type checking (was Re: [SLUG] Your top-ten linux desktop apps)

2005-09-26 Thread Erik de Castro Lopo
QuantumG wrote:

> Erik de Castro Lopo wrote:
> 
> >Thats why I'm so keen on O'Caml. It offers even more static analysis
> >than C and C++. Its significantly more difficult to write bugs into
> >an O'Caml program than a C or C++ program.
> 
> Sounds like the antithesis of Objective-C and other dynamically typed 
> languages.

Yep, thats right.

The problem with dynamic typing is that it postones testing for an
important class of errors (type errors) until run time. The main
way of avoiding type errors in dynamically typed languages is by
using a test suite (or face the possibility of sending a program 
with unchecked type errors to your customers). Even if you have a 
test suite, how sure are you that it will catch all errors? How
much effort are you putting into the development of the test 
suite?

Contrast the above with O'Caml (or Haskell) where you cannot create
an executable with type errors [0]. You still need a test suite for
programs written in O'caml, but the set of possible problems to
test for is much smaller and hence requires less effort [1].

Erik

[0] : Well you can, by using the O'caml Marshall module (which most
  O'Caml programmers don't use very often if at all) or by 
  linking O'caml to C code.

[1] : Yes, I'm lazy.



> 
> Fun.
> 
> Trent
> -- 
> SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
> Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
> 


-- 
+---+
  Erik de Castro Lopo
+---+
"The object-oriented model makes it easy to build up programs by
accretion. What this often means, in practice, is that it provides
a structured way to write spaghetti code." -- Paul Graham
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread QuantumG

Erik de Castro Lopo wrote:


Thats why I'm so keen on O'Caml. It offers even more static analysis
than C and C++. Its significantly more difficult to write bugs into
an O'Caml program than a C or C++ program.
 



Sounds like the antithesis of Objective-C and other dynamically typed 
languages.


Fun.

Trent
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Erik de Castro Lopo
Peter Miller wrote:

> > C offers you enough rope to hang yourself.
> > C++ offers a fully equipped firing squad, a last cigarette and
> > a blindfold.
> 
> and better type safety that sh, tcl, php and a shit load of other
> "advanced" make-the- type-up- at-run-time you-can-only-find- bugs-by-
> customers-using- it-for- real-and- suing-you (that some simple compile
> time static analysis would have found) scripting languages.

Thats why I'm so keen on O'Caml. It offers even more static analysis
than C and C++. Its significantly more difficult to write bugs into
an O'Caml program than a C or C++ program.

> (Don't you just love Erik's language trolls?)

They keep me entertained :-).

Erik
-- 
+---+
  Erik de Castro Lopo
+---+
"There are two kinds of large software systems: those that 
evolved from small systems and those that don't work."
-- Seen on slashdot.org, then quoted by amk
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Graham Smith

Konqueror - using  fish to transfer files - fish://@host
Konqueror - to display man/info pages
freenx 


-- 
Regards,

Graham Smith
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Hal Ashburner
Desktop apps? For this I read gui, gentle learning curve, suitable for
people who dislike learning about the computer.
In no special order the ones I use regularly and like are

firefox
rhythmbox
sound juicer
sweep
gqview
wesnoth
 oowriter or abiword (equally good in different ways)
lifrea
xine
gnumeric --I liked the app so much I... etc.

and for non-free software
ut2004
quake3
Wolfenstein Enemy-Territory (free beer)
I wish evolution were in the above list.

vim, gcc, valgrind, cscope, gdb, ddd, perl, latex, gnome-terminal,
ssh, mutt, irssi all probably get more of a workout than the desktop
apps :)

 --
Kind regards,
Hal Ashburner
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Peter Miller
On Mon, 2005-09-26 at 19:45 +1000, Erik de Castro Lopo wrote:

> I'll bite :-). My somewhat unorthodox list:
> 
>   gcc

of course.

Plus:

vim - because my 20-something year unix veteran fingers already know the
key strokes 

> Valgrind

How did we ever live without it?

wget / curl - because some web sites make it far too hard to download
via a browser

The Gimp - because I can (and do) add my own plugins

timex - I have yet to find a better minute minder (after I hacked it
slightly).  Some have more features, but I haven't found a *significant*
improvement.

Aegis - everyone should be useing a VC/SCM for all programming tasks:
pick one, there are now over a dozen F/OSS possibilities


> C offers you enough rope to hang yourself.
> C++ offers a fully equipped firing squad, a last cigarette and
> a blindfold.

and better type safety that sh, tcl, php and a shit load of other
"advanced" make-the- type-up- at-run-time you-can-only-find- bugs-by-
customers-using- it-for- real-and- suing-you (that some simple compile
time static analysis would have found) scripting languages.
(Don't you just love Erik's language trolls?)

-- 
Regards
Peter Miller <[EMAIL PROTECTED]>
/\/\*http://www.canb.auug.org.au/~millerp/

PGP public key ID: 1024D/D0EDB64D
fingerprint = AD0A C5DF C426 4F03 5D53  2BDB 18D8 A4E2 D0ED B64D
See http://www.keyserver.net or any PGP keyserver for public key.


signature.asc
Description: This is a digitally signed message part
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Ken Foskey
On Mon, 2005-09-26 at 15:57 +1000, Grant Parnell wrote:

> gnome-terminal
> firefox (squirrelmail,google)
> qfaxreader
> nautilus
> xv (old, small image viewer)
> gimp
> openoffice
it's openoffice.org 
> gnumeric
> xmms
> grip

evolution
terminal server client (remote desktop for windows)
project

Must have utils:

xkill
diff
grep
find
df

Techo stuff...
ssh
gpg  (gpgedit script)
gvim & cream (cool gvim extensions...)

Programming:

cvs
valgrind
perl
gcc
g++
apache

-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Pia Waugh


> For starters what apps do you tend to use the most?
> Here's my top 10 list:-
> 
> gnome-terminal
> firefox (squirrelmail,google)
> gimp
> openoffice
evince
gaim
evolution
palm sync
xchat
rhythmbox

I also suggest showing off f-spot, totem, and some cool stuff like celestia,
the tux series of kid foo, and maybe gramps (genealogy application).

Cheers,
Pia

-- 
Linux Australia http://linux.org.au/
 
  Jeff: Whatchootalkin'boutwillis?
Pia: What's Willis?
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] request contact from computerbank

2005-09-26 Thread Grant Parnell
Well Dan's still working on the website(s) so things might be up by now.
I've been doing a lot of stuff and have joined the committee. Perhaps I
can field some questions you have for now.

In terms of donation, yep we should be able to accept some stuff again
soonish. We're aiming to get a schedule going that includes at least one
day during the week and one or two days of a weekend, people like myself
will be  booking one day's annual leave about every 6 weeks to man the
drop site.

Until the official Wiki goes up, feel free to read and add your comments
here:-
http://www.slug.org.au/wiki/ComputerBankSydney

Folks that have been helping a lot lately are Mark Willis, Terry Collins,
Dan Treacy and myself. We got some good suggestions at a meeting last
Tuesday and are planning to have more meetings with the core group
including an all day planning session at Pia Waugh's place.

On Fri, September 23, 2005 4:43 pm, QuantumG said:
> Taryn East wrote:
>
>>anyway - hopefully the right somebody will see this message and respond
>>offlist :)
>>
>>
>
> I'd like to hear from them too, my partner comes into a lot of old
> (pentium II/III) systems which the company she works for just throws
> away.  She's started to bring them home but we don't have the space.
>
> Thanks,
>
> Trent
> --
> SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
> Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
>
>


-- 
--
Electronic Hobbyist, Former Arcadia BBS nut, Occasional nudist, Linux
Guru, SLUG President, AUUG and Linux Australia member, Sydney
Flashmobber, Tenpin Bowler, BMX rider, Walker, Raver & rave music lover,
Big kid that refuses to grow up. I'd make a good family pet, take me home
today!

Some people actually read these things it seems.


-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Re: Your top-ten linux desktop apps

2005-09-26 Thread Sridhar Dhanapalan
On Mon, 26 Sep 2005 18:58, Ben Buxton <[EMAIL PROTECTED]> wrote:
> Grant Parnell <[EMAIL PROTECTED]> uttered the following thing:
> > xv (old, small image viewer)
>
> Ye!! In the 11 (yes eleven) years since its last release, I have
> found nothing to be faster, smaller or more convenient than XV. The
> keybindings are fast and it's a lot faster and easier than loading up
> gimp for very basic image manipulation functions.
>
> My only two gripes are that its alpha support is limited and a mouse
> scroll wheel doesnt work in listboxes. Otherwise it's classic software.

Have you tried QIV? I think it's a wonderful tool for simple image viewing. 
For more serious viewing, I use GQview.


-- 
Sridhar Dhanapalan  [Yama | http://www.pclinuxonline.com/]
  {GnuPG/OpenPGP: http://dhanapalan.webhop.net/yama.asc
   0x049D38B4 : A7A9 8A02 78CB AB1B FCE4 EEC6 2DD9 249B 049D 38B4}

"Resource utilization. It's true that Windows requires a more powerful 
computer than Linux or FreeBSD."
-- Microsoft, 'Converting a UNIX .COM Site to Windows', 2000-22-08


pgp3VODpm91Kq.pgp
Description: PGP signature
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Sridhar Dhanapalan
On Mon, 26 Sep 2005 15:57, "Grant Parnell" <[EMAIL PROTECTED]> wrote:
> For this Friday's SLUG meeting we're doing a newbie oriented talk for the
> second half of the meeting and SLUGlets will be where all the tech guru's
> head for a chat on random stuff like coding and key signing etc.
>
> It just occurred to me that we should get a run-down of some likely apps
> to talk about, and if you really like maybe a 3-5 minute talk from you
> about some of them.
>
> For starters what apps do you tend to use the most?
> Here's my top 10 list in order of use:-

My most used apps (in no particular order):

RXVT
Konsole (when I need more than a single terminal)
Konqueror
Nedit
Kate
OpenOffice.org
QIV (Quick Image Viewer - similar to XV)
GQView (when I want to view many images at once)
The GIMP
Galeon (uses Firefox's renderer but has a better UI)
Downloader for X (D4X)
Kontact
Gkrellm
EasyTAG
XMMS
Madman (Music organiser, like Rhythmbox or iTunes)
Xine
MPlayer
K3B
GNOME Disc Catalogue



-- 
Sridhar Dhanapalan  [Yama | http://www.pclinuxonline.com/]
  {GnuPG/OpenPGP: http://dhanapalan.webhop.net/yama.asc
   0x049D38B4 : A7A9 8A02 78CB AB1B FCE4 EEC6 2DD9 249B 049D 38B4}

Windows: Designed for the Internet.
The Internet: Designed for UNIX.


pgpiUOzTRaGdL.pgp
Description: PGP signature
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Re: [SLUG] (OT) Looking for supplier of small computer parts

2005-09-26 Thread James
On Monday 26 September 2005 17:43, [EMAIL PROTECTED] wrote:
> Dear List,
>
> I am looking for a supplier of single board computers to play with embedded
> linux and home automation.
>
> The  box will be put into a living room so it should be similar to a DVD
> player.
>
> I need to incorporate a GSM module as well as some other 'weird'
> connectors.
>
> Any ideas suggestions are welcome.

http://www.elx.com.au

look at els1000

James
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] Your top-ten linux desktop apps

2005-09-26 Thread Erik de Castro Lopo
Grant Parnell wrote:

> For this Friday's SLUG meeting we're doing a newbie oriented talk for the
> second half of the meeting and SLUGlets will be where all the tech guru's
> head for a chat on random stuff like coding and key signing etc.
> 
> It just occurred to me that we should get a run-down of some likely apps
> to talk about, and if you really like maybe a 3-5 minute talk from you
> about some of them.
> 
> For starters what apps do you tend to use the most?
> Here's my top 10 list in order of use:-

I'll bite :-). My somewhat unorthodox list:

  gcc
  Nedit text editor
  GNU Octave
  Ocaml
  Valgrind
  
Erik
-- 
+---+
  Erik de Castro Lopo
+---+
C offers you enough rope to hang yourself.
C++ offers a fully equipped firing squad, a last cigarette and
a blindfold.
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


Re: [SLUG] great code to learn from

2005-09-26 Thread Erik de Castro Lopo
Glen Turner wrote:

> Taryn East wrote:
> 
> > What FOSS projects (or parts therof) do you know that have really great
> > code in them? The kind of excellent code that a person with reasonable
> > but not brilliant skills could read/study and learn nifty things from?
> 
> Samba.

Tridge gave a talk about Samba4 at LCA this year.

Things that I found interesting were:

   - 25% of all the C code passed through the compiler was
 autogenerated using a higher level descritpion language.
 The autogenerated code had thorough error checking.

   - Heavy use of valgrind. In particlar they stopped using
 things like calloc and used malloc instead and then 
 use valgrind to make sure that no unititialised data
 ended up on the wire (potential data leakages).

   - Talloc ( http://talloc.samba.org/ ) a heirarchical memory
 pool manager. This had huge wins for samba where each new 
 incoming connection was given an allocation context and all
 related allocations are attached to the same context. When
 the request has been completed a single talloc_free releases
 all memory (and other resources like file descriptors) in
 one go.

   - Runtime selction of asynchronous event handling which can
 mix processes, threads and state machines.

Tridge is a great speaker, but few people give a keynote that is 
this technical. I loved it.

Erik
-- 
+---+
  Erik de Castro Lopo
+---+
"Web (hosting), security and high-performance computing are the 
three areas where Linux has more strength." -- 
Bob Muglia, senior VP in charge of Windows Server development.
http://news.com.com/Microsoft+targets+Apache+Web+server/2100-1010_3-5735805.html
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html


[SLUG] Re: Your top-ten linux desktop apps

2005-09-26 Thread Ben Buxton
Grant Parnell <[EMAIL PROTECTED]> uttered the following thing:
> For starters what apps do you tend to use the most?
> Here's my top 10 list in order of use:-
> 
> gnome-terminal

I stick with Eterm - smaller footprint.

> firefox (squirrelmail,google)

Naturally

> nautilus

Don't use any "file managers" at all. Purely command line for all my
file manipulation.

> xv (old, small image viewer)

Ye!! In the 11 (yes eleven) years since its last release, I have
found nothing to be faster, smaller or more convenient than XV. The
keybindings are fast and it's a lot faster and easier than loading up
gimp for very basic image manipulation functions.

My only two gripes are that its alpha support is limited and a mouse
scroll wheel doesnt work in listboxes. Otherwise it's classic software.

> gimp

For when xv isnt good enough :)

> xmms

For when I need a pretty gui, otherwise it's mpg123/321 all the way.

> grip

Yep - agreed here. It just works and is simple.

Others on my list of oft-used gui software:

- gaim
- cinelerra (like unix, a b**ch to learn but then very powerful video
  editing)
- xten softphone (not free but i've had bad issues with all the free
  ones)

BB

-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html