LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices

Reply
 
Search this Thread
Old 03-04-2011, 01:59 PM   #796
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233

Quote:
Originally Posted by MTK358 View Post
So SigTerm thinks there should be only one API?
Yes, there should be one generic API supported everywhere that is guaranteed to exsit on distribution, and this API should cover most of the common application needs (installation, desktops, settings, file associations, removable device locations, etc). This will make platform "solid".
It doesn't mean that every distro should use Qt or GTK. It means that distribution internals should provide support for this generic interface, no matter how it is implemented and no matter what libraries it uses internally. The end goal is to be able to use same application installer on every distribution.
An example would be Direct3D/OpenGL. You don't know how your videocard's driver works, but as long as driver supports programming interface, you can request interface, ask for capabilities and use GPU through this interface.

Last edited by SigTerm; 03-04-2011 at 02:02 PM.
 
Old 03-04-2011, 02:01 PM   #797
MrCode
Member
 
Registered: Aug 2009
Location: Oregon, USA
Distribution: Arch
Posts: 864
Blog Entries: 31

Rep: Reputation: 147Reputation: 147
Quote:
So SigTerm thinks there should be only one API?
I'm not necessarily agreeing with SigTerm's opinion, I'm just trying to point out what (I think) he's trying to say. I could be wrong on this one, though.

EDIT: nvm, SigTerm beat me to the post. I was (kinda) wrong.

Last edited by MrCode; 03-04-2011 at 02:04 PM.
 
Old 03-04-2011, 02:14 PM   #798
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
Quote:
Originally Posted by SigTerm View Post
Yes, there should be one generic API supported everywhere that is guaranteed to exsit on distribution, and this API should cover most of the common application needs (installation, desktops, settings, file associations, removable device locations, etc). This will make platform "solid".
I don't know what you mean by "installation" and "desktops".

As for settings, if you mean a way to store the application's settings, then use whatever file format you like and store it under $XDG_CONFIG_HOME.

For file associations, use the xdg-* command line utilities.

About removable devices, I don't know. I've heard of HAL and DeviceKit, but I don't really understand them or what they even do.

Quote:
Originally Posted by SigTerm View Post
It doesn't mean that every distro should use Qt or GTK. It means that distribution internals should provide support for this generic interface, no matter how it is implemented and no matter what libraries it uses internally.
Or you can have a solid, reliable package manager that will install the library the API that the application uses automatically.
 
Old 03-04-2011, 02:22 PM   #799
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by MTK358 View Post
Or you can have a solid, reliable package manager that will install the library the API that the application uses automatically.
Information used by package managers is maintained by people. I do not approve such technology - this should be done automatically. Plus it won't necessarily solve dependency hell in situation where two different versions of library are necessary at same time.

Quote:
Originally Posted by SigTerm View Post
Yes, there should be one generic API supported everywhere...
Detailed explanation. I probably forgot a few critically important things, but you'll get overall idea.
  • It should be possible to install same binary package on every distribution, or at least on every distirbution with same cpu architecture.
  • Figuring out dependencies(if applies) should not require human attention, it should be automated.
  • Making such installation package should not require living sacrifices. It should be easy.
  • Program should not rely on #ifdefs internally (as it happens gnu autotools)
  • Program should behave in same fashion on every distribution where it is installed.
  • Program should have access to multimedia functions, input devices and 3d graphics. (think DirectX)
  • Program should be able to support gui.
  • It should not be necessary to include source code into installation package. It should be possible to implement binary installation package that still would work the same way.
  • Program should have a way to auto-update itself.
  • Program should have a way to check for existence of additional component and ask for its installation.
  • Programming interface should be backwards-compatible. It should be possible to install and run the package 10 years later on top hardware.

I.e. "compile once, use everywhere".

Implement this and you'll get a superior platform suitable for commercial development.

Or you could try to attract enough people to the platform, so a new market will appear and eventually software developers will be forced to support your platform, no matter how horrible your platform is.

Last edited by SigTerm; 03-04-2011 at 02:38 PM.
 
Old 03-04-2011, 02:49 PM   #800
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
Quote:
Originally Posted by SigTerm View Post
Figuring out dependencies(if applies) should not require human attention, it should be automated.
Is this even technically possible?

How are you supposed to make a repository without human intervention? And without a repository, how can a package manager find and install dependencies?

Maybe this is a bit off-topic, but how did this "Linux should be easier for commercial software developers" start? Isn't the idea that there should be great open-source alternatives?
 
Old 03-04-2011, 02:53 PM   #801
orgcandman
Member
 
Registered: May 2002
Location: dracut MA
Distribution: Ubuntu; PNE-LE; LFS (no book)
Posts: 594

Rep: Reputation: 102Reputation: 102
Just an FYI, as a professional COMMERCIAL developer for almost 14 years now, trust me when I say linux is a MUCH better development environment. None of what you've listed is a "problem" which exists anywhere but your own head.
 
Old 03-04-2011, 03:10 PM   #802
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by orgcandman View Post
trust me
I prefer to trust my own experience

Quote:
Originally Posted by orgcandman View Post
development environment.
I was talking about application deployment, not development.

Quote:
Originally Posted by MTK358 View Post
Is this even technically possible?
I do not have evidence indicating that it is impossible.

I think I'm done there. Have fun without me.

Last edited by SigTerm; 03-04-2011 at 03:14 PM.
 
Old 03-04-2011, 03:13 PM   #803
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
Quote:
Originally Posted by SigTerm View Post
I do not have evidence indicating that it is impossible.
OK, how would you do it?

And this problem is not nonexistent in Windows, it's just that Windows programs are statically linked and/or instruct the users to manually install dependencies.

Linux, on the other hand, prefers dynamically linking dependencies because experienced users are willing to install them themselves and modern distros now have programs to do it automatically (although a person is still needed to manage the database that the automated dependency installer uses).

Last edited by MTK358; 03-04-2011 at 03:17 PM.
 
Old 03-04-2011, 03:18 PM   #804
blahblalblah
LQ Newbie
 
Registered: Jan 2011
Posts: 2

Rep: Reputation: 1
if people here think linux is not usable like windows then why continue to use it. Just delete it and don't bother with it anymore and just go with your windows full time. Problem solved!

Last edited by blahblalblah; 03-04-2011 at 03:21 PM.
 
Old 03-04-2011, 03:29 PM   #805
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by MTK358 View Post
OK, how would you do it?
If backward compatibility is strictly maintained, you need executable to contain information about version of libraries it is linked with, which could be library's filename.

If backward compatibility is not maintained you'll need generate fingerprints for libraries and compare it against functions being called. Requires static binary/source code analysis and further research (or automated bruteforce build), may not work in 100% cases, would still cut human time.

Quote:
Originally Posted by MTK358 View Post
are statically linked
Incorrect info. Most of the software is dynamically linked.

Quote:
Originally Posted by MTK358 View Post
and/or instruct the users to manually install dependencies.
There aren't many dependencies to begin with (vc redistributable and DirectX, and that's it), and software normally comes with redistributables for required dependencies, and installs them automatically. Applications normally avoid installing system-wide dlls and keep local version that is guaranteed not to be updated (safest approach, IMO, while on linux the standard approach is to install library systemwide and potentially cause problems - say, if you update Qt 4, you may need to rebuild everything Qt related). For system-wide dlls, there is a manifest mechanism.

Anyway, as I said, I'm done with discussion. Have a nice day.

Last edited by SigTerm; 03-04-2011 at 03:37 PM.
 
Old 03-04-2011, 03:41 PM   #806
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
Quote:
Originally Posted by SigTerm View Post
If backward compatibility is strictly maintained, you need executable to contain information about version of libraries it is linked with, which could be library's filename.

If backward compatibility is not maintained you'll need generate fingerprints for libraries and compare it against functions being called. Requires static binary/source code analysis and further research (or automated bruteforce build), may not work in 100% cases, would still cut human time.
So you can get dependency info from an executable (I thought it was possible, but I'm not sure how accurate it would be), but how is a package manager to automatically install them without a human-made database of every library in existence?

Quote:
Incorrect info. Most of the software is dynamically linked.


There aren't many dependencies to begin with (vc redistributable and DirectX, and that's it), and software normally comes with redistributables for required dependencies, and installs them automatically. Applications normally avoid installing system-wide dlls and keep local version that is guaranteed not to be updated (safest approach, IMO, while on linux the standard approach is to install library systemwide and potentially cause problems - say, if you update Qt 4, you may need to rebuild everything Qt related). For system-wide dlls, there is a manifest mechanism.
Since you don't , for example, have to manually install GTK+ when you install GIMP in Windows, I assumed it was statically linked.

Anyway, if each program will carry its own copy of dynamic libs, why not statically link them?

EDIT: Since SigTerm doesn't want to discuss this any more, feel free to answer my questions in this post.

Last edited by MTK358; 03-04-2011 at 03:50 PM.
 
Old 03-04-2011, 11:29 PM   #807
Emerald-Rose
Member
 
Registered: Jan 2011
Distribution: Arch linux, Ubuntu, Debian
Posts: 38
Blog Entries: 1

Rep: Reputation: 0
O.K. every System has its bugs, and every system takes a lot of trial and error to perfect. Here let me give you an example. I dual booted my laptop as it was my only computer at the time. Since arch cannot run easytether(at least not to my knowledge) i had to use windows 7. Now let me stop right here and bring back up the "people generally do not buy windows" issue. last time i checked (about 2 weeks ago) every copy of windows 7 on the shelf says "upgrades up to three computers" so when i could not get my product key to accept, i called microsoft, who said "windows 7 was made to be an upgrade only disk" so how you "installed" 7 is beyond me. Now as for the problem i have with 7. Often times if my screen times out and goes into sleep mode, it takes like 10 minutes just to get control of my cursor again. Ubuntu, debian and arch....maybe a couple seconds to regain control after sleep. Now as i said everything has its bugs. right now i am having a very bizarre issue with games in ubuntu making ubuntu revert to a login screen(i have an open thread on this topic STILL waiting for a solution) and ive even had a bug with arch. XFCE desktop environment doe not seem to like me. I updated it, and it kept causing my gui to crash. i replaced it with gnome and it fixed it. As for the debate there needs to be one Super OS for novice to advanced users, well last time i checked Linux has many very novice friendly distros and has multiple advanced such as arch or say sorcerer. I am not saying everyone should use Linux and im not saying everyone should use Windows. I am simply saying there is no such thing as perfection.
 
Old 03-05-2011, 01:44 AM   #808
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: CrunchBang & Slackware
Posts: 373
Blog Entries: 2

Rep: Reputation: 89
Quote:
Originally Posted by SigTerm View Post
Install it for a clueless user and see what happens. "Why doesn't my game run?" "Why can't I install this thing?" "why can't I install aquarium screensaver?" "Where is word/excel?" "I got an exe-based ebook (unimplemented wine functionality) and I can't see text, help?". "I accidentally assigned opera as default application for avi/music files (5th time), what do I do now?" Grr.... 50x times attention required compared to windows machine.
Come, come, now- We are speaking of the inherent differences between Winders and Linux. The fact that many consumers of computers may be borderline retarded is another story. Your premise is like saying that a car with manual transmission is inferior to an automatic because if a person who doesn't know how to drive a stick hops into the manual car, he will be helpless. I assume that most people who have the capacity to discover Linux and the desire to try it, will have at least somewhat of a clue.



Quote:
Originally Posted by SigTerm View Post
On ubuntu 9 ubuntu guys managed to break language switching taskbar applet at least twice during updates (ubuntu 9), so this distribution gets zero respect from me. It also had a very nice habit of not deleting older kernel versions (ate up disk on machine with limited hdd space, and you know that linux distro doesn't work well with zero hdd space). Not to mention package manager voodoo required to install old version of wine (to make some older game run). Overall, experience with ubuntu system was mostly negative - slow, can't be easily tweaked as slackware and gentoo (is not suitable for me), isn't stable enough and can't be easily maintained by a newbie (not suitable for non-geeks, no matter what ubuntu maintainers say).
You've lost me here. What exactly is all this maintenance that you speak of needing to be performed in Ubuntu?


Quote:
Originally Posted by SigTerm View Post
One of the most hilarious bugs I ever got on computer happened on linux.
If you managed to configure pen tabled for the linux system, then touching tablet's surface will crash X-server instantly, if tablet wasn't plugged in before X-server started (slackware 12, g-pen 450, wizardpen 0.9). Mozilla firefox on both slackware/ubuntu systems was extremely prone to hangups (resulted in "screen painting") and frequently needed to be killed manually. Maybe this problem has been fixed since then, but I'm not in the mood to check.
I can't tell you the number of not-so-hilarious bugs I've experienced with Win-D'ohs. I've only experienced one so far with Ubuntu- and it is of no consequence, as it merely affects the video output of a particular game. (And that is likely due to my video card...not Ubuntu)


Quote:
Originally Posted by SigTerm View Post
It is a reality. In a past, I honestly thought that ubuntu might be a good choice for a normal human, tried two linux versions (installed onto parent's machine). After 8 months of experiment I concluded that ubuntu(especially ubuntu) is not suitable for daily usage(because it combines worst from linux and windows words), and it should be definitely removed from existence. Windows is not perfect, but it definitely did the job better. Slackware, compared to ubuntu worked better, but slackware upgrade procedure is horrible, so I ditched it. As a result of experiment I concluded that a normal user can use linux system (any system, in fact), as long as there is at least one sysadmin doomed to maintain it till the end of times. Also, now I hate computers.
My experience has been quite the opposite. I've been using Ubuntu daily for over 8 months now.....and my computing experience is much more trouble-free and pleasant than when I used Winders. I've become somewhat of a Linux evangelist, because I am so elated at how it just works, and allows one to concentrate more on the tasks at hand, instead of battling the OS.


Quote:
Originally Posted by SigTerm View Post
Not a good example. Learning linux/computer was interesting for you (which makes you a "geek"), so you picked up skills. Unlike you, "normal" computer user doesn't want to learn *anything* about computer. They want to get things done ("where is the button to do everything I want at once?")
Well, my glasses are pretty thick- so I may qualify for entry into the ranks of geekdom - and yes, the average user doesn't want to learn anything...but fact is, they did have to learn to use Winders....and the only reason they likely stick with it, is because they: A)Know of no alternatives, except perhaps for expensive Macs, and B)Just don't want to learn something new, again. If a new user were to start with Linux, they would learn it just as easily as others learned Winders; in fact, probably even more so, because there is such a wealth of info on the net and Linux "just works". And in fact, for the average clod who does nothing more than check emails; surf the web and watch videos/play music, I contend that Linux would be easier for them, and require virtually no additional knowledgte/skills than that which they already possess if they are Winders users. (I'm just waiting for someone to come over and use my PC one day....to see if they even realize that they are using Linux instead of Winders!


Quote:
Originally Posted by SigTerm View Post
Also incorrect. Have you ever configured USB scanner on linux (SANE)? How about graphic tablets? Or a webcam?
No...didn't need to configure my scanner with Ubuntu- it worked "out of the bix" after installing Ubuntu- and to think, I was really dreading trying it for the first time under Ubuntu- expecting the usual Win-D'ohs nightmare of having to install drivers twice...and restarting the 'puter and hoping and praying it would work without taking hours to get it functional. Winders claims to be plug and play...but Ubuntu makes good on the claim!


Quote:
Originally Posted by SigTerm View Post
YOur choice, but if it works for you, don't start claiming that it is some kind of "silver bullet". Linux doesn't work for everyone. If linux was significantly superior, it would be widely used, which is not the case. Linux is not complete as an operating system, but windows is. In case of linux a "bill gates" is needed that would make one decent distro suitable for novice users and business purposes (why do you think major titles aren't ported to linux?) and push it to the market. And currently I don't see this happening - at best distribution is a construction kit, or a toy, or something to spend a lot of time tinkering with. God damn it guys, if you like linux, why don't you already make another evil corp, turn linux into a GOOD product, push it onto the market and replace windows with it? It looks like there was plenty of time to do that.
Agreed. No operating system can be all things to all people.

But no, I don't think Linux needs a Bill Gates. I like Linux for it's not being Windows- and for the fact that it is not dumbed down to the lowest common denominator. Actually, I feel that Ubuntu may be flirting with the Bill Gates mass-appeal idea...which is why I am planning on switching to Debian. (Although Ubuntu's mass-appeal may be good for garnering converts). Linux does not need to become Window's-like; being Unix-like is good enough- and it really doesn't matter whether it has mass-appeal. It fulfills my needs...and it exists for me to use......so it is right where I want it. The more they tailor it to the masses and the more they try and make it like Winders, the less it will appeal to those of us who love it the way it is.

I do find, that even among my largely computer-illiterate circle of friends, when I tell them that an alternative to Windows exists, they are quite happy and eager to try it. They are even willing to learn some new things, to escape the world of Winders, and it's perpetual parade of OS-induced computer problems, which keep the techies in business, and the new computers selling. (In the past, I'd witnesed many friends and acquaintances throw out perfectly good, non-obsolete 'puters, just because Windows was creating problems. From now on, I am going to avail myself of such discarded computers when offered, and install Linux and resurrect them!)

To sum-up, your argument seems to be that Windows users are too lazy and ignorant to use Linux, rather than that Linux is inherently inferior to Windows. My own experience refutes that- as I have used Windows exclusively for over 11 years and was quite skilled at it- and am having a much better experience with Linux, even though I am less skilled/less knowledgeable about it.

In conclusion: Linux! Linux! Linux! Damn it!

(Even though we may disagree, I enjoyed your thoughtful and well-written post very much!)

Last edited by Sumguy; 03-05-2011 at 01:45 AM. Reason: Added profanity
 
Old 03-05-2011, 02:04 AM   #809
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: CrunchBang & Slackware
Posts: 373
Blog Entries: 2

Rep: Reputation: 89
Quote:
Originally Posted by silvyus_06 View Post
....
the guy who said that his ubuntu gets better while being installed for longer time on that rig is just in a nice dream. i guess he never installed any software appart from the default set.
try installing google chrome, chromium, xsensors, audacity , GIMP, and lots and lots of software then compare the slow down to a windows machine. heh. got results?
Actually, I (the guy whom you quoted) HAVE installed GIMP and Chromium; K3B, VLC.....yada, yada.....

The only complaint I have with my current experience, is not a fault of Linux, but is with Flashplayer (seemingly making Chromium about like the dreaded MS Internet Exploder)
 
Old 03-05-2011, 02:10 AM   #810
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: CrunchBang & Slackware
Posts: 373
Blog Entries: 2

Rep: Reputation: 89
Quote:
Originally Posted by silvyus_06 View Post
i know! and that is one super awesome thing about ubuntu and linux in general (or at least with debian package management )

but you see, the windows user is used to that. many would find it far easier searching google , downloading an exe, double clicking then next next next
than learning to use a CLI command to install all their programs . and for the average user that would take far more time to learn how to use apt-get openofficeorg wuala virtualbox chromium because i'm pretty sure all guides would want to tell the user first what apt-get does, then tell him the awesome way it lets you install multiple programs at once and walk you through all the features but at the final never tells you at least an example of how to install your progs

that being said, it would take 1 hour at least for the user to learn to use apt-get while in windows the programs would already be installed and ready to use (perhaps the user may have to restart after installing some programs, but you can install all programs you need then reboot once for all programs)
Oh nay, NAY! As a rather computer-illiterate slob myself, newly switched to Ubuntu after 11+ years of Windows-only, upon needing to install my first program under Ubuntu, I merely Googled how to do it.....found the appropriate CLI command...pasted it in, and viola![sic]. No hour....two minutes.

Now compiling from source might be another matter- I haven't a clue- but when and if the occasion arises and there is no alternative, I'm sure I can learn....
 
  


Reply

Tags
64bit, cloud, linux, microsoft, windows


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
LXer: Tutorial: Four Easy Fun Useful Things You Can Do With Linux LXer Syndicated Linux News 0 09-30-2008 11:41 PM
LXer: KDE 4: The Shiny New Linux (and Windows) Desktop LXer Syndicated Linux News 0 09-17-2007 06:10 PM
media server or other fun things. doralsoral Linux - Software 1 11-05-2005 07:55 AM
most fun & excited things about Linux woranl Linux - General 2 07-27-2004 08:28 PM


All times are GMT -5. The time now is 01:00 AM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration