LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 08-18-2004, 08:32 PM   #91
infamous41md
Member
 
Registered: Mar 2003
Posts: 804

Rep: Reputation: 30

Quote:
Originally posted by llama_meme
Sure, but then when you change your compiler, you're screwed. It's a rather unreliable method of developing. If you already know what assembly you want, why not write it directly?

YOU DON'T CHANGE YOUR COMPILER WHEN YOU'RE DEVELOPING LINUX DEVICE DRIVERS, YOU USE GCC ON W/E PLATFORM YOU'RE ON. WHY WOULD YOU WRITE IT DIRECTLY? THEN YOU LIMIT YOURSELF TO A SINGLE PLATFORM.


Exactly my point: the C standard says nothing about it, so it's a compiler/hardware issue, not a language issue. There is no reason whatsoever to expect a close mapping between C and assembly. It entirely depends on how the compiler processes the code, and the hardware the compiler is targetting. Really the whole point of a modern optimising compiler is to do something better than a simple step-by-step translation of C into assembly.

THERE IS NO REASON TO EXPECT... ARE YOU JOKING? SHOW ME A SINGLE EXAMPLE ON A SINGLE PLATFORM.


ML or Lisp can be compiled, have C-like efficiency and can be used for low-level programming. Probably other languages too, can't think of any off the top of my head.

INTERESTING, I'LL HAVE TO TAKE YOUR WORD ON THE EFFICIENCY PART AS I DON'T WANT TO WRITE ANY TEST LISP CODE.


Can't really respond to that.

YOU COULD SAY "YES, YOU'RE CORRECT. I HAVE NEVER WRITTEN A DEVICE DRIVER AND THEREFORE I HAVE NO IDEA WHAT IM TALKING ABOUT."

Why? Device drivers have been written in high level languages (e.g. Lisp). Of course you couldn't realisticly write a Linux device driver in anything other than C, but that's just because the Linux kernel happens to be written in C. If you had a Lisp kernel or an ML kernel, there'd be no (insoluable) problems writing device drivers in those languages.

AND WHO IN STEVEN'S NAME RUNS THOSE KERNELS? I DID JUST DO SOME GOOGLING AND READ ABOUT LISP OS'S, AND THEY'RE BASICALLY A FAILURE IN THE BUSINESS WORLD FROM THE SHORT BITS I READ. SURE YOU CAN DO IT, BUT I'M TALKING ABOUT EVERYDAY, REAL WORLD PROGRAMMING HERE, AND NOBODY WRITES DEVICE DRIVERS IN THOSE LANGUAGES ON OS'S 99.99% OF US RUN.

Alex
 
Old 08-19-2004, 02:09 AM   #92
ADS
LQ Newbie
 
Registered: Aug 2004
Posts: 14

Rep: Reputation: 0
Infamous41md, it seems obvious that you are fairly young. Before you go around claiming that "C is the best language for anything that touches hardware" you should do a bit more reading. I love C/C++, it's actually my favorite language, but "I'm right and everyone else is wrong" attitudes like yours annoy me. C/C++ is not the perfect language, and those who don't like it usually have valid reasons. If you're going to argue, argue intelligently about the language itself, and try to back up your statements with facts.

Last edited by ADS; 08-19-2004 at 02:11 AM.
 
Old 08-19-2004, 11:17 AM   #93
infamous41md
Member
 
Registered: Mar 2003
Posts: 804

Rep: Reputation: 30
with facts? what are you talking about? every single device driver i have ever looked at uses C. what other facts do you need? where are your facts? so tell me what language device drivers would be written in, please. read more? u don't know shit about me. i've read and audited the source for countless drivers this summer. you want facts, RTFS. who ever said C was perfect? did you see those words my posts? i said C is most suited for the type of programming i enjoy, kernel and exploit development. since im so youing and inexperienced, why don't you drag ass to comp.os.linux.development.system and ask some _real_ developers what language they use to write their drivers in. if you guys are gonna sit and bust out obscure references to operating systems written in lisp or w/e that 100 people in the world use as playtoys, i'm not even going to waste my time in this thread anymore. let's talk about real world operating systems. linux, *bsd, aix, solaris, even winblows. the highest level language you'll see is C++.

Last edited by infamous41md; 08-19-2004 at 11:37 AM.
 
Old 08-19-2004, 12:53 PM   #94
llama_meme
Member
 
Registered: Nov 2001
Location: London, England
Distribution: Gentoo, FreeBSD
Posts: 590

Rep: Reputation: 30
Quote:
YOU DON'T CHANGE YOUR COMPILER WHEN YOU'RE DEVELOPING LINUX DEVICE DRIVERS, YOU USE GCC ON W/E PLATFORM YOU'RE ON. WHY WOULD YOU WRITE IT DIRECTLY? THEN YOU LIMIT YOURSELF TO A SINGLE PLATFORM.
You do, whenever you upgrade to a new version of gcc (which may well be obligatory, since the Linux kernel uses gcc-only features). Also bear in mind that someone else may want to compile your code on another compiler (e.g. Intel's Linux version of their compiler, which IIRC can compile the kernel now).

By writing the assembly directly, you would no more be limiting yourself to a single platform than you would be if you were writing C code to get a particular assembly output. I'm not suggesting you write the whole thing in assembly, just the bits where the precise assembly output matters.

Quote:
THERE IS NO REASON TO EXPECT... ARE YOU JOKING? SHOW ME A SINGLE EXAMPLE ON A SINGLE PLATFORM.
An example of what? I was making a general point, that compilers have free reign to write any kind of assembly that preserves the semantics of the code. This gives a lot of scope for variation between different compilers and versions of compilers.

Quote:
INTERESTING, I'LL HAVE TO TAKE YOUR WORD ON THE EFFICIENCY PART AS I DON'T WANT TO WRITE ANY TEST LISP CODE.
Why take my word for it when you could look at all the benchmarks available on the net?

Quote:
YOU COULD SAY "YES, YOU'RE CORRECT. I HAVE NEVER WRITTEN A DEVICE DRIVER AND THEREFORE I HAVE NO IDEA WHAT IM TALKING ABOUT."
Only if I wanted to descend to your level of (non-)argument.

Quote:
AND WHO IN STEVEN'S NAME RUNS THOSE KERNELS? I DID JUST DO SOME GOOGLING AND READ ABOUT LISP OS'S, AND THEY'RE BASICALLY A FAILURE IN THE BUSINESS WORLD FROM THE SHORT BITS I READ. SURE YOU CAN DO IT, BUT I'M TALKING ABOUT EVERYDAY, REAL WORLD PROGRAMMING HERE, AND NOBODY WRITES DEVICE DRIVERS IN THOSE LANGUAGES ON OS'S 99.99% OF US RUN.
Why does it matter who uses them? You were saying that only C was really any good for low level work (you appear to have changed your argument now), and I was showing that other languages are also suitable. Whether or not people choose to use C is a separate issue. You're a good example of the main reason why people dogmatically believe that C is the one true language: ignorance of the alternatives.

Quote:
every single device driver i have ever looked at uses C. what other facts do you need?
How about facts that aren't anecdotal evidence from a biased source? I.e. actual facts, as opposed to your opinions.

Quote:
i said C is most suited for the type of programming i enjoy, kernel and exploit development. since im so youing and inexperienced, why don't you drag ass to comp.os.linux.development.system and ask some _real_ developers what language they use to write their drivers in.
Real developers don't engage in childish macho posturing. If they want to make a point, they use evidence, they don't look to authority. If you have an argument, let's hear it.

Quote:
if you guys are gonna sit and bust out obscure references to operating systems written in lisp or w/e that 100 people in the world use as playtoys, i'm not even going to waste my time in this thread anymore. let's talk about real world operating systems. linux, *bsd, aix, solaris, even winblows. the highest level language you'll see is C++.
You should read up on the various Lisp operating systems. They were way ahead of their time, and were very much "real world" (at least, they were used by real people in the real world to do real and important things; maybe you have some other definition of "real" in mind). They were indeed used as playtoys, but mostly by extremely intelligent people at MIT.

Basically, you're only argument for using C seems to be that C is popular, and that "real programmers" use it. Now, as I said before, of course if you want to write a Linux device driver you have to use C, and of course most device drivers are written in C. I was working on the assumption that we were debating a separate issue, i.e. the suitability of C for writing device drivers and other low-level code. By emprical observation, it is clear that C is not the only viable choice, unless one is restricted to using C by external circumstances (e.g. the operating system the driver is being written for).

Alex

Last edited by llama_meme; 08-19-2004 at 12:57 PM.
 
Old 08-19-2004, 04:37 PM   #95
infamous41md
Member
 
Registered: Mar 2003
Posts: 804

Rep: Reputation: 30
Quote:
Originally posted by llama_meme
You do, whenever you upgrade to a new version of gcc (which may well be obligatory, since the Linux kernel uses gcc-only features). Also bear in mind that someone else may want to compile your code on another compiler (e.g. Intel's Linux version of their compiler, which IIRC can compile the kernel now).

By writing the assembly directly, you would no more be limiting yourself to a single platform than you would be if you were writing C code to get a particular assembly output. I'm not suggesting you write the whole thing in assembly, just the bits where the precise assembly output matters.
Alex
not necessarily. many platforms have nearly identical instructions for common operations, and the code generated on one platform may not need to be reworked on another. and even if it did have to, and you need some hairy #ifdef's, you would STILL rather write it in C than asm. what's easier to read and maintain, asm or c? i don't understand how you can sit here and actually argue this point. you tell me that i'm making my arguments based on opinions rather than facts?? where in the hell are your facts to back up what you're saying? i've read in at least 2 programming books that say using asm is an absolute last resort. you should always try and write C first, and then, only if you cannot truly get the desired output asm, then move to pure asm. clearly you're demonstrating not even a basic knowledge of how to optimise C code. one of the few places in the linux kernel where you will find pure asm is the network checksumming code. why? b/c that is one of the rare situations where gcc could not be made to generate the exact code desired. why don't you read some kernel code? why don't u see JUST HOW MANY PLACES HAVE COMMENTS LIKE THIS:
" if you edit this code, make sure you view the output of gcc -S ..."
what do you think that means?


Quote:
Originally posted by llama_meme
An example of what? I was making a general point, that compilers have free reign to write any kind of assembly that preserves the semantics of the code. This gives a lot of scope for variation between different compilers and v
Alex
an example of this ever happening in the real world. your point is pointless.


Quote:
Originally posted by llama_meme
Why take my word for it when you could look at all the benchmarks available on the net?
Alex
b/c i don't care. i played with lisp in my ai class and i despised it.

Quote:
Originally posted by llama_meme
Only if I wanted to descend to your level of (non-)argument.
Alex
...

Quote:
Originally posted by llama_meme
Why does it matter who uses them? You were saying that only C was really any good for low level work (you appear to have changed your argument now), and I was showing that other languages are also suitable. Whether or not people choose to use C is a separate issue. You're a good example of the main reason why people dogmatically believe that C is the one true language: ignorance of the alternatives.
Alex
those words never came out of my mouth. i said C is BEST SUITED. go back and read. i never changed my argument. and now you're just filling in blanks that don't exist. i never said C is the one true language. i program in perl and java as well. i have nothign against other languages. i just happen to prefer C for the day to day things that i do.



Quote:
Originally posted by llama_meme
How about facts that aren't anecdotal evidence from a biased source? I.e. actual facts, as opposed to your opinions.
Alex
dude you're the one without any facts. all i hear is opinions. i'm going on things i have read in programming books, source code that i have read, and yes, a bit of my own personal experiences.

Quote:
Originally posted by llama_meme
Real developers don't engage in childish macho posturing. If they want to make a point, they use evidence, they don't look to authority. If you have an argument, let's hear it.
Alex
how much more damn evidence do you need? every popular operating system is written in C/C++. nearly every driver for those systems is written in C/C++. C IS the language most suited for those tasks. can you do it in another language, OF COURSE YOU CAN.

Quote:
Originally posted by llama_meme
You should read up on the various Lisp operating systems. They were way ahead of their time, and were very much "real world" (at least, they were used by real people in the real world to do real and important things; maybe you have some other definition of "real" in mind). They were indeed used as playtoys, but mostly by extremely intelligent people at MIT.
wow that's great. i/m sure you and 17 geeks at MIT feel the same. so what major companies use lisp OS's for their servers?

Quote:
Originally posted by llama_meme
Basically, you're only argument for using C seems to be that C is popular, and that "real programmers" use it. Now, as I said before, of course if you want to write a Linux device driver you have to use C, and of course most device drivers are written in C. I was working on the assumption that we were debating a separate issue, i.e. the suitability of C for writing device drivers and other low-level code. By emprical observation, it is clear that C is not the only viable choice, unless one is restricted to using C by external circumstances (e.g. the operating system the driver is being written for).

Alex
it certainly is the MOST viable choice.
 
Old 08-19-2004, 05:13 PM   #96
Strike
Member
 
Registered: Jun 2001
Location: Houston, TX, USA
Distribution: Debian
Posts: 569

Original Poster
Rep: Reputation: 31
I vote for infamous41md to stop talking in this thread, and llama_meme, shame on your for playing along so long
 
Old 08-19-2004, 05:38 PM   #97
infamous41md
Member
 
Registered: Mar 2003
Posts: 804

Rep: Reputation: 30
thanks for your valuable input. you can go stick your head in the blender now. every word i have uttered in this thread has been true. well, ok fine, maybe you don't think C is sexy; i won't argue with you about that. but if you're in the (sinking)boat with dude trying to convince me that you should be writing asm before trying to tune your C, well have a nice ride down. you obviously have some chip on your shoulder when it comes to C/C++.
 
Old 08-19-2004, 09:49 PM   #98
deiussum
Member
 
Registered: Aug 2003
Location: Santa Clara, CA
Distribution: Slackware
Posts: 895

Rep: Reputation: 32
I've been following this thread, meaning to stay out of it, but I'm starting to feel bad for infamous because I tend to side with him. I like C/C++ and usually use that for most of my personal projects, unless some feature of another language is clearly more suited to the app I'm writing. I like playing with OpenGL programming in my spare time, so C/C++ is generally my preferred language for those apps. C/C++ might not always be the best choice, but it seems to me that for device drivers, it is the perfect choice.

Also, some of you that think it has no use at all should take a look at something like programming for Palm OS... I recently started to look at that, and though I haven't yet written anything for it, I just can't see trying to use Java or VB to write Palm OS apps. Palm has utilities that let you use those languages, but they caution that it increases the size of the image. When writing apps for programs with limited resources like a PDA or smart phone, I just can't see writing in anything other than C or C++...

Part of the Palm OS documentation even talks about tricks you have to use because of some sort of 32k limit when jumping from one part of code to another. Tricks they suggested to help get around this included making sure that functions where close by to the functions that they called. I have to admit I didn't completely understand that section because I'm still just getting into this area of programming, but it seems to play into Infamous's arguments...

P.S. I had to use Lisp for a few programs in school years ago... If I never have to do anything with it again, I will die happy... Ugly, ugly looking language, in my personal opinion.

Last edited by deiussum; 08-19-2004 at 10:06 PM.
 
Old 08-20-2004, 12:11 PM   #99
perry
Member
 
Registered: Sep 2003
Location: USA & Canada
Distribution: Slackware 12.0
Posts: 978

Rep: Reputation: 30
alot of people jump on the C & C++ bandwagon like it's the coolest place to be... they end up learning just enough to be dangerous and end up destroying entire projects all in the name of speed & efficiency....

little to they realize that by using the wrong tools for the job and the only thing that will be speedy is them loosing their jobs....

- perry
 
Old 08-20-2004, 01:18 PM   #100
llama_meme
Member
 
Registered: Nov 2001
Location: London, England
Distribution: Gentoo, FreeBSD
Posts: 590

Rep: Reputation: 30
Quote:
not necessarily. many platforms have nearly identical instructions for common operations, and the code generated on one platform may not need to be reworked on another. and even if it did have to, and you need some hairy #ifdef's, you would STILL rather write it in C than asm. what's easier to read and maintain, asm or c? i don't understand how you can sit here and actually argue this point.
I don't really get what you're saying. I can certainly understand someone looking at the asm output of a C compiler (just as they might look at the asm output of a Lisp compiler) in order to see if the compiler is generating OK code (although compilers are generally better judges of this than humans these days). However, if you want to get a particular assembly output on platform X, why not write it directly in assembly? I'm not sure why we're arguing this point really, I guess if trying to write C code that translates into some particular assembly output works for you, then fine, do it. but C doesn't have any particular advantage in this area: you could do the same thing in ML or Lisp.

Quote:
i've read in at least 2 programming books that say using asm is an absolute last resort. you should always try and write C first, and then, only if you cannot truly get the desired output asm, then move to pure asm
I agree, of course you should use ASM as a last resort. But that surely includes groveling through the ASM output of a C compiler to try and get your compiler to give a particular output, just as much as it includes actually writing assembly.

Quote:
why don't u see JUST HOW MANY PLACES HAVE COMMENTS LIKE THIS:
" if you edit this code, make sure you view the output of gcc -S ..."
what do you think that means?
It means either:
a) The person who wrote the comment is wrong.
b) That bit of kernel code only compiles correctly with a particular version of a particular compiler, and is therefore badly written by any sane criterion.

Quote:
an example of this ever happening in the real world. your point is pointless.
Do you really want an example of two different compilers generating different code for the same program?

Quote:
b/c i don't care. i played with lisp in my ai class and i despised it.
Try writing some AI code in C and you'll despise it far more than Lisp You were probably taught badly. I think a lot of introductory Lisp classes emphaise the functional aspects of Lisp (lists, recursion, etc.) and don't make it clear that Lisp is a very flexible multi-paradigm language.

Quote:
those words never came out of my mouth. i said C is BEST SUITED. go back and read. i never changed my argument. and now you're just filling in blanks that don't exist. i never said C is the one true language. i program in perl and java as well. i have nothign against other languages. i just happen to prefer C for the day to day things that i do.
You said "and your 2nd argument makes no sense. the relationship between C and asm is very close, while the relationship between pick_your_high_level language and asm is not as close", implying that only C (or C-like) languages would be very suitable for driver development (given that you believe a predictable programming language -> assembly mapping to be a requirement). As I've pointed out before, the fact that people have successfully written drivers in various high-level languages shows that this is not the case.

Quote:
dude you're the one without any facts. all i hear is opinions. i'm going on things i have read in programming books, source code that i have read, and yes, a bit of my own personal experiences.
My arguments have generally been based on facts. Any specific examples you have in mind? Note that going on things you have read does not mean you're arguing using facts. "This must be true because I read it in a book" is not an argument based on a fact.

Quote:
how much more damn evidence do you need? every popular operating system is written in C/C++. nearly every driver for those systems is written in C/C++. C IS the language most suited for those tasks. can you do it in another language, OF COURSE YOU CAN.
Every popular application has a Windows version. Windows IS the OS most suited for application development. Can you use other OSs? OF COURSE YOU CAN. Argument by popularity and argument by assertion.

Quote:
wow that's great. i/m sure you and 17 geeks at MIT feel the same. so what major companies use lisp OS's for their servers?
Quite a few. If you're interested, go and look at some of the success stories on the websites of some of the major Lisp vendors. I know C weenies find Lisp-bashing fun ("I was forced to use it in a class for a few weeks, and I learned about 5% of the language and it sucked, and I never want to use a language which allows any level of abstraction again...") but believe it or not, many people who know better have used it for real, useful and interesting tasks. See for example http://www.franz.com/success/custome.../harvard.lhtml

Quote:
it certainly is the MOST viable choice.
Ooh, argument by assertion again...

Last edited by llama_meme; 09-02-2004 at 07:53 AM.
 
Old 08-20-2004, 01:42 PM   #101
Xagafinelle
LQ Newbie
 
Registered: Aug 2004
Distribution: SlackWare
Posts: 11

Rep: Reputation: 0
Wowee, this is really impressive.

I would really hate to say it, but I honestly don't think it matters which languege you use. If you really love one in particular, then you'll probably be more effecient when writing in that languege than any other. And as far as "speed" issues are concerned, well...I know you'll hate this, but that really doesn't matter either. If you look at the big picture instead of the languege, the languege provides the tools, no languege will think for you. If you create an algorythm that has a big-O of n*n*n (n-cubed), then it will always be slower then n*n (n-squared) or n (linear), or the holy grail log n.

I've seen programs written in java beat the living snot out of programs written in C as far as speed goes. I've seen programs written in C beat the living snot out of programs written in java in many other respects as well, and I've seen loads of other langueges win out in a variety of ways.

Frankly, I really like Java, I wish I could write more code in java, but the company I work for wants windows programs using MFC 7.1 and written entirely in C++. Java has many, many nice features that make it worth using. However, I've also used and appreciated cobol, fortran, pascal, c, c++, java, python, and a few others that elude me at the moment.

Frankly, I don't use fortran or cobol much any more at all, I just find things easier to do in other langueges. Pascal, honestly, still has some charm for me here and there, but it's often fleeting. I generally stick to C++ and Java anymore, although for my personal projects I almost always use C++, really just personal preference, that and the reaaaaaly-old machine we're using as a server can't run the java quite as well (run-time is fine, but startup is a pain...I heard the new sun version was faster, but I'm lazy).

But really, it doesn't matter, it's like asking people why they choose to speak german all the time, or english, or french...well, maybe not french, but you get my point, eh?

It's all a holy-war, and no matter what people are going to play their favorites all over the place, and that's really what this is about. At some point, if you really want a languege to be able to do something, someone will create some extension to make it do it.

Adendum:
I learned BASIC first, great fun, that is, and you never have to worry about memory. then C, and that really messed me up, but I grew to love it. Now I teach and tutor C, C++, and Java to many people, and as far as learning goes, people have the same issues with all of them, just exhibited in different ways...if you get it, you get it, and you're lucky, so feel special, and ignore people who tell you your languege of choice sucks!
 
Old 08-20-2004, 01:42 PM   #102
Xagafinelle
LQ Newbie
 
Registered: Aug 2004
Distribution: SlackWare
Posts: 11

Rep: Reputation: 0
I also just thought I'd mention how funny it is to me that when I started C *was* the high-level languege...how times change...
 
Old 08-20-2004, 02:17 PM   #103
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
But really, it doesn't matter, it's like asking people why they choose to speak german all the time, or english, or french...well, maybe not french, but you get my point, eh?
Not french ? I'm confused ...
 
Old 08-20-2004, 02:19 PM   #104
Xagafinelle
LQ Newbie
 
Registered: Aug 2004
Distribution: SlackWare
Posts: 11

Rep: Reputation: 0
...it was a joke, or at least, it was an attempt...

...I just never learned french, nothing against the french.
 
Old 08-20-2004, 02:42 PM   #105
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Pas de problème, I took it as a joke too

Actually, I like the language analogy.

You never choose what you mother tongue is, and usually stick with it and defend it against the other, whatever its strengths and weaknesses.

On the other hand, travelling, learning and practising more than one helps opening the mind.

That said, java is cool
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
DISCUSSION: How To Do Eveything With DD AwesomeMachine LinuxAnswers Discussion 23 03-09-2017 06:50 AM
Discussion LinuxRam General 5 08-24-2004 06:58 AM
A Discussion On Certification LinuxRam Linux - Certification 2 07-31-2004 11:49 PM
webmail discussion illtbagu Linux - Software 2 11-11-2003 11:03 PM
Serious Discussion nbjayme Linux - Newbie 2 09-24-2003 10:49 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 03:25 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration