Sponsored links

Go Back   MP3Car.com > Mp3Car Technical > Linux


Reply
 
Share Thread Tools Display Modes
Old 08-29-2008, 12:35 PM   #16
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,039
kev000 will become famous soon enough
Quote: Originally Posted by 2k1Toaster View Post
IPS is just talking between apps basically. That is the point of a COM object. RoadRunner uses it, that is what all the plugins are. So does almost every app today. Talking over a network can be done with sockets if you wanted too.

And dbus is the same correct? I dont know the terms but the ideas mostly since self taught. And yes dbus is on windows: http://sourceforge.net/projects/windbus if that is infact what you are talking about.

When was the last time you saw the flying multi-coloured window logo? 1995?

COM is not the same as dbus: http://dbus.freedesktop.org/doc/dbus...tml#components

A closer comparison would be to compare dbus to .NET's WCF. While I believe that WCF is a bit more elegant, the main issue is the lack of system utilities and apps that expose an interface. With DBus, I can get info from a number of different system components from networkmanager to the x server (compiz also) to the hardware abstraction layer itself. It's nice that way.

When I wrote the above wiki page, I made a lot of assumptions based on what my current knowledge of window's frontends. Do RR plugins actually run out of process?

NeonDev, this is the kind of discussion that i was hoping to have. There are obvious ups and downs to implementing plugins over IPC vs implementing a traditional plugin model. nGhost does both for a number of reasons. For a good reason why IPC can be important, consider the following:

User X has a multi-carpc system. One for the front, and one for the back for his kids. He wants the front to have ultimate control over everything, but the rear PC is a little more powerful and has more disk space because his kids want to play video games. Because of the large disk space in the rear PC, he stores all his media there.

Now, using a traditional plugin model, how would you enable control of the second PC? There are probably several different ways to do this, IPC over a network seems to be an elegant solution in this case. (given, you could create a traditional plugin that does the network communication...)

nGhost accomplishes this by exposing every command it can perform through it's IPC API. The front pc is simply told to connect to the nGhost instance running in the back, and a special screen allows the front pc to control the playback or anything else of the back pc.

The flexibility of system design and system configuration greatly increases. You can have a headless server act as the main playback device with slim client touchscreens throughout the car all being able to control playback. Or you can have the DB on one machine, the file share on another, the gps/obdII logger on one (there are a number of reasons why you would want a dedicated real-time logging machine separate from media playback and other things...), and the wifi and GUI on another all being able to share the information across the network. Some of these examples are probably not practical, but i hope you see my point. The beauty is nGhost get's all this flexibility for free just by exposing control through it's IPC API.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is online now   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Old 08-29-2008, 12:58 PM   #17
Variable Bitrate
 
NeonDev's Avatar
 
Join Date: Feb 2008
Posts: 431
NeonDev is an unknown quantity at this point
IPC over IP is certainly a necessary function for multi computer setups. Does any windows front end support multi system or even multi display setups?

is there any benefit for single PC systems considering that is all most of us have/want?
__________________
check us out at: www.neonboombox.com
NeonDev is offline   Reply With Quote
Old 08-29-2008, 01:19 PM   #18
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,039
kev000 will become famous soon enough
Quote: Originally Posted by NeonDev View Post
IPC over IP is certainly a necessary function for multi computer setups. Does any windows front end support multi system or even multi display setups?

is there any benefit for single PC systems considering that is all most of us have/want?

Oh, I forgot to mention, plugins that use the IPC interface are language agnostic. I'm writing a wifi plugin for nghost (which is written in c++) in c#. nGhost comes with a command line IPC translator called nghost-cmd written in python. There is a traffic plugin written in perl.

The interface allows plugins to be written in whatever language is most productive for the particular purpose of the plugin. This is a benefit for systems on one machine and multi-machines because it allows for rapid plugin development because of the benefits you gain from the language of your choice.

Of course, you don't get the nice fancy connection abilities that are a part of libnghost's framework, but implementing a socket connection to nghost in most 4th gen languages is just as easy as what the framework provides.

To answer an earlier question, yes the framework includes graphical interface methods. This of course can't be used by plugins written in languages that can't use c++, but in that case, the plugin can just use nGhost itself to provide a gui with the plugin creates using some methods which are exposed through the IPC API.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development

Last edited by kev000; 08-29-2008 at 01:21 PM.
kev000 is online now   Reply With Quote
Old 08-29-2008, 01:22 PM   #19
Fusion Brain Creator
 
2k1Toaster's Avatar
 
Join Date: Mar 2006
Location: Colorado, but Canadian!
Posts: 8,862
2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future
Quote: Originally Posted by NeonDev View Post
IPC over IP is certainly a necessary function for multi computer setups. Does any windows front end support multi system or even multi display setups?

is there any benefit for single PC systems considering that is all most of us have/want?

Nobody has implemented it that I know of, but it is possible to do easily. And I think every main frontend supports 1pc -> multiple monitors (control or display only)

And like your last sentence, nobody is going to run 3 or 4 carPC's. Even the kids and dad will use 1 PC almost always. Cost and ease of implementation.

So I can see this being beneficial in Home Automation, but those apps already do networking interfaces so again, not so much new. Maybe in how, but not in end result.
2k1Toaster is offline   Reply With Quote
Old 08-29-2008, 01:25 PM   #20
Fusion Brain Creator
 
2k1Toaster's Avatar
 
Join Date: Mar 2006
Location: Colorado, but Canadian!
Posts: 8,862
2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future2k1Toaster has a brilliant future
Quote: Originally Posted by kev000 View Post
Oh, I forgot to mention, plugins that use the IPC interface are language agnostic. I'm writing a wifi plugin for nghost (which is written in c++) in c#. nGhost comes with a command line IPC translator called nghost-cmd written in python. There is a traffic plugin written in perl.

The interface allows plugins to be written in whatever language is most productive for the particular purpose of the plugin. This is a benefit for systems on one machine and multi-machines because it allows for rapid plugin development because of the benefits you gain from the language of your choice.

Of course, you don't get the nice fancy connection abilities that are a part of libnghost's framework, but implementing a socket connection to nghost in most 4th gen languages is just as easy as what the framework provides.

To answer an earlier question, yes the framework includes graphical interface methods. This of course can't be used by plugins written in languages that can't use c++, but in that case, the plugin can just use nGhost itself to provide a gui with the plugin creates using some methods which are exposed through the IPC API.

RR is written in VB... Plugins have been written in VB, VB.NET, C#, C++, and I think someone had a java something for recording video, but never finished it.
2k1Toaster is offline   Reply With Quote
Old 08-29-2008, 01:50 PM   #21
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,039
kev000 will become famous soon enough
Quote: Originally Posted by 2k1Toaster View Post
Nobody has implemented it that I know of, but it is possible to do easily. And I think every main frontend supports 1pc -> multiple monitors (control or display only)

And like your last sentence, nobody is going to run 3 or 4 carPC's. Even the kids and dad will use 1 PC almost always. Cost and ease of implementation.

So I can see this being beneficial in Home Automation, but those apps already do networking interfaces so again, not so much new. Maybe in how, but not in end result.

Thinking about it more, I can see at least two cases where you would want 2 pc's:

1) for the uber audio-file guy: machine 1 would be a headless system running a real-time OS (linux of course). machine 2 would do nav, obdII logging, gui stuff game playing and everything else.

2) for the uber engine modding guy: machine 1 would do data-critical real-time logging of engine sensors, etc. machine 2 would do everything else.

Most people will probably never use it, but is it because they don't have the need, or is it because that there is not underlying software infrastructure that allows it? Whatever the answer, I think the concept is cool
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is online now   Reply With Quote
Old 08-29-2008, 02:14 PM   #22
Super Moderator & Wal-Mart Greeter
 
Tidder's Avatar
 
Join Date: Sep 2003
Location: New Mexico, USA
Posts: 3,394
Tidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant futureTidder has a brilliant future
I have often thought of the same thing. I have/am seriously considered/ing doing a dual PC setup in my car. My reasons are a little different though. I've noticed my EPIA 800 can play music for almost 3 hours with the car off, and the battery still has enough juice to crank and start the car. It is however slow as hell using it for anything else. But back when I had my P4 system, I got maybe 45 minutes to an hour before I had to start it up otherwise the battery would be too weak to crank. So I've been trying to dream up a way to have an ultra low power system as well as a nice fast beefy system for just that purpose. Maybe someday...
__________________
Tidder

Try RevFE
The best frontend I've ever used, period.

Best Quote EVER!!
Quote: Originally Posted by bramlet View Post
I try to search but I usually only find posts where people ask questions and darquepervert tells them to search.

Tidder is online now   Reply With Quote
Old 08-29-2008, 03:12 PM   #23
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,039
kev000 will become famous soon enough
Quote: Originally Posted by Tidder View Post
I have often thought of the same thing. I have/am seriously considered/ing doing a dual PC setup in my car. My reasons are a little different though. I've noticed my EPIA 800 can play music for almost 3 hours with the car off, and the battery still has enough juice to crank and start the car. It is however slow as hell using it for anything else. But back when I had my P4 system, I got maybe 45 minutes to an hour before I had to start it up otherwise the battery would be too weak to crank. So I've been trying to dream up a way to have an ultra low power system as well as a nice fast beefy system for just that purpose. Maybe someday...

That's a good point. You could have a super low powered embedded system running nghost that acts as the audio player which is on all the time. Then a full carpc that connects to it for everything else.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is online now   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Old 08-29-2008, 10:44 PM   #24
Admin. Don't bug or I'll byte.
 
Bugbyte's Avatar
 
Join Date: Sep 2004
Location: Corning, NY
Posts: 6,143
Bugbyte is a splendid one to beholdBugbyte is a splendid one to beholdBugbyte is a splendid one to beholdBugbyte is a splendid one to beholdBugbyte is a splendid one to beholdBugbyte is a splendid one to beholdBugbyte is a splendid one to behold
I realize that the architecture of nGhost is completely different, but everytime I look at the demos, it does less stuff than RR. What is so unique about it?

Aside from the architectural elegance of nGhost, what is it that is so innovative? I think RR is incredibly innovative from a functionality standpoint.

I should point out that I'm not criticizing, just asking. Help me to understand.
__________________
Want to:
-Find out about the iBug?
-Stop being a newbie? Take a look at the FAQ Emporium?
-Find out about carPC's in just 5 minutes? View the Car PC 101 video
-Help me kill my car PC
-Watch live video streams from my mobile PC? Check it out here.
-Where is the iBug?
Bugbyte is offline   Reply With Quote
Old 08-30-2008, 12:56 AM   #25
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,039
kev000 will become famous soon enough
Quote: Originally Posted by Bugbyte View Post
I realize that the architecture of nGhost is completely different, but everytime I look at the demos, it does less stuff than RR. What is so unique about it?

Aside from the architectural elegance of nGhost, what is it that is so innovative? I think RR is incredibly innovative from a functionality standpoint.

I should point out that I'm not criticizing, just asking. Help me to understand.

you are 100% correct in your observation. RR implements more features than nGhost does. Bear in mind RR is one of the oldest frontends in existence (possibly the oldest with a sizable following?). The nGhost 2 series is almost a month old now. It's superior in every way architecturally than ng1, but that's not saying much... The idea is, with a good solid core of functionality, additional features will be easy to add. With an innovative core, in theory, you can get more innovative features.

Also, I'm a firm believer that architecture attracts developers. We are a small bunch right now, but growing. The more devs, the faster we will catch up with RR. Then, the world !

Right now, nGhost has one feature that will really set it a part, it integrates better with your OS. It is your mobile desktop.

In the end, when each has equal features (without regard to who implements what better...), the choice will amount to this: "with which can I build the leanest, fastest, and most useful system." At that point, there will only be one choice: nGhost.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is online now   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Reply

Bookmarks

Thread Tools
Display Modes

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 On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
New Frontend for Windows and Linux gbr Other Cool Front Ends 68 01-21-2009 09:55 PM
How to: Change windows shell IntellaWorks WinNT Based 39 10-13-2008 04:41 PM
Vista experiences anyone? Nomader Road Runner 80 01-10-2008 09:01 PM
Installing Windows 2000 Pro on a 1GB Microdrive JeremyM WinNT Based 2 05-07-2005 10:56 PM
A few observations in OS and why I'm now using Windows 2003... Mastiff Software & Software Development 12 01-21-2004 10:11 AM



All times are GMT -5. The time now is 12:10 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.2
Copyright © 1999 - 2008 Mp3Car.com Inc.Ad Management by RedTyger
Message Board Statistics