Need wise expert advice

Need wise expert advice

Post by Thomas Flahaul » Thu, 22 Apr 1999 04:00:00



Thanks for reading my post. I will not bother you with all the details of
what for and why, but I will need to describe my position to make my
question worthwile.

I have a commercial background and have still very little experience, mostly
in logistics and marketing. However I met some companies in a Employement -
Forum and were all looking for IT consultants. Information Technology is a
broad subject but in few words it could be very interesting to work in it.
However companies require more than an interest in computers, like mine,
they require programming experience. OH yeah? Well I 've said to myself why
shouldn't I try? Learn some stuff... Could be cool?

So my question will have to resume all the unknown of programming. I would
like to make myself a experience in Unix to be able to deal when everybody
will use Linux. At least that's the only reason I could give, because I
don't know about other languages and what they are for...

So, could you give me a simplistic view of the programming languages
"market" (what purpose and environnement) and may be an advice of what I
could try to learn first?

Thanks

Thomas

 
 
 

Need wise expert advice

Post by Frank Meisschae » Fri, 23 Apr 1999 04:00:00


: However companies require more than an interest in computers, like mine,
: they require programming experience. OH yeah? Well I 've said to myself why
: shouldn't I try? Learn some stuff... Could be cool?

I like your attitude.

: So, could you give me a simplistic view of the programming languages
: "market" (what purpose and environnement) and may be an advice of what I
: could try to learn first?

As far as I can see (I'm a user of free unix stuff) these are the main
streams in programming. (at the current state; there is of course always
some evolution)

C is used for the programming of the operating system (unix) with some
assembler support, but the last is very minimal and used for hardware
programming only. The second use of C is for (relatively) little programs
which are expected to be fast, e.g. filter programs (translation of
character sets, compression, counting of stuff (words, lines, ...), ...).

For the developement of larger general purpose programs, the usual languages
are C++, Delphi (Borland), or some other object oriented language. If the
program is to be a multimedia application, then Java is also much used,
especially if internet support is desired.

For large programs which run on the internet, Java is mostly used (Remark:
The programs which run the internet are written in C, since the internet has
its roots in unix). Smaller programs are written in some scripting language
such as Javascript, perl, tcl.

Perl, Tcl, and the unix shell languages are used for administrating tasks.
For graphical support there is Tk (toolkit) which is an extension (not
entirely correct, but it serves the current story) of Tcl. The main
advantage of Tcl/Tk is that there is support of and for other languages.
Python is also a much used language here, but has its own culture in use
(deserved or not, I don't know).

For the more theoretically minded programmer there are the functional
languages such as Lisp, Scheme, ML, Haskell (= a great language), ...

Of course, there is a great deal of overlap, also because of personal
favorites.

The most important concepts of programming are client-server model, linked
lists, streams and tree structures.

The languages I recommend are C,C++ (one of these should suffice) and perl.

If you have the time, have a look at Haskell. It isn't used generally but
can be very powerful, provided you are at ease with functional programming.

Frank Meisschaert

 
 
 

1. I need some advice of a wise person and iptables

 Hi..

 Well,, I have setup a slow linux machine to act as a router for my other
machines connected to it. I have my own private news server running on it's
own internal address of 192.168.0.20, and have the main router box (static
ip) forwarding any requests to port 119 to the news server. Instead of
rewriting all of the firewall rules, I just kept the linux default running
and added these lines to my rc.firewall;

## Masq
$IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

$IPTABLES -A FORWARD -s 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -s ! 192.168.0.0/24 -j DROP

## Make sure to turn on ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

echo " Route incoming ppp0 at port 119 NEWS SERVER, to 192.168.0.20:119"
$IPTABLES -A PREROUTING -t nat -p tcp -i ppp0 --dport 119 -j DNAT --to
192.168.0.20:119

# DROP HTTP packets related to CodeRed and Nimda viruses silently
$IPTABLES -t filter -A INPUT -i ppp0 -p tcp -d 67.140.137.30 --dport 80 -m
string \
   --string "/default.ida?" -j DROP
$IPTABLES -t filter -A INPUT -i ppp0 -p tcp -d 67.140.137.30 --dport 80 -m
string \
   --string ".exe?/c+dir" -j DROP
$IPTABLES -t filter -A INPUT -i ppp0 -p tcp -d 67.140.137.30 --dport 80 -m
string \
   --string ".exe?/c+tftp" -j DROP

 My 2 problems are that I can not access the newsserver from inside my own
network, but can from the outside. How do I fix this so I can access it
from any machine inside AND out?

 Also,  with this forwarding;

echo " Route incoming ppp0 at port 119 NEWS SERVER, to 192.168.0.20:119"
$IPTABLES -A PREROUTING -t nat -p tcp -i ppp0 --dport 119 -j DNAT --to
192.168.0.20:119

 Does the above say to allow both in and out? (receive from news peers and
send back to peers), or do I need to add something I missed for both
in-out??

 Any HELP will be greatly appreciated..

 Paul

2. Q: Env variables list for web servers

3. Need Routing Expert Advice

4. HP Deskjet Printers - Price and Features

5. Expert Advice Needed Urgently

6. I did a live upgrade on a server but apache still needs to be upgraded. Is there a tool to pick out the packages for a particular application or must we figure out which packages are required and find them on the DVD. packages off the DVD

7. Expert advice needed

8. Trouble with Definite Linux 7.0

9. I need some expert Unix shell advice...

10. Advice needed from Lunix Experts..

11. Expert Advice needed!!

12. Need expert advices on routing questions

13. Need Expert Advice on Bourne Shell Exit Status Checking