Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror

Comment XMPP/Jabber (Score 1) 360 360

It sounds like XMPP (also called jabber) is what you need. XMPP is an open standard for instant messaging, and there are free/open source implementations for both clients and servers. One option for servers is jabberd. One option for a client is Pidgin (which runs in Windows and Linux).

Comment Re:Layoffs (Score 1) 640 640

Can you give examples of good Exchange replacements?

Have a look at the PostPath Email and Collaboration Server. It is a mail server that runs on Linux and acts as a drop in replacement for Exchange (i.e. it implements the MAPI protocol so no special plugins are needed). They were recently acquired by Cisco, so I'm not sure what that has done to the availability of their server.

Admitting my biases, I am former employ of PostPath.

Comment Re:Don't forget the ninjas (Score 1) 486 486

Than there's the problem of "lowering" that massive cable to the ground.

Actually, I think the idea is that cars would run up and down the cable -- even as simple as, the cable stays put, and the cars use motorized wheels.

I expect he was referring to lowering the cable to the ground during the initial construction of the elevator, rather than for each trip.

Comment Re:Java (Score 4, Insightful) 997 997

The reason to fear Java doesn't really have much at all to do with any merits of the language itself. The reason you should fear Java is that it doesn't really add anything to your resume to distinguish you. There are, frankly, a LOT of extremely mediocre programmers on the market, and a common attribute they share is that they only know Java.

That said, DO learn Java. Not knowing how to use one of the most popular tools in your field is also not a smart idea. Just don't by any means think that your education is done.

For what it's worth, here are the four major things I look for when interviewing programmers.

1. Do you know C? (whether you are going to be programming in C is irrelevant)

If you don't know C, you probably have very little understanding of how computers work. C is language you can depend on to be on pretty much every platform; C is the language external APIs and foreign function interfaces are specified in; C gets the job done when all your layers of abstraction fail you.

2. Do you know a functional language such as Lisp, Scheme, or Haskell?

Programming in a functional language changes the way you think about programming in general. Programmers that understand functional programming generally are able to produce better solutions to problems even in imperative languages. Structure and Interpretation of Computer Programs is available online for free. Read it today and improve your skillset.

3. Can you write a compiler from start to finish?

The theory surrounding language parsing (automata, state machines, regex, grammars, etc) is fundamental to computing. In fact, computing itself is usually defined in terms of it. Once you understand it, you find you apply it all the time.

The ability to translate high level languages into optimized machine instructions requires that you understand your platform at every level. This is important because it lets you understand the tradeoffs you are making when you choose one tool or method over another.

4. What is your current personal project?

What your project is doesn't matter all that much, as long as you have one. Good programmers are usually always working on some personal project that excites them.

A right is not what someone gives you; it's what no one can take from you. -- Ramsey Clark

Working...