Author Topic: Introduce myself... and I'd Like to get started.. Advice?  (Read 1651 times)

mattlindsay

  • Regular Poster
  • **
  • Posts: 18
    • View Profile
Introduce myself... and I'd Like to get started.. Advice?
« on: October 05, 2009, 09:46:22 pm »
Hi guys and gals, this is my polite intro :)

OK, I've NEVER contributed to an Open Source project before but I'd like to give it a go, but need your help to get me going.

My background is actually as a windows programmer {runs for cover} but I'm gonna step up the the plate with whatever LinuxMCE is in (C++ or C# I'm guessing?!) I have some excperience in a stack of other languages (PHP, SQL, Python and some obscure CNC lanaguages) so I'll be a slow starter, but I understand OOP, RAD etc. Oh, I'm a Systems Engineer by trade so I'm a quick learner!

So, I want to start looking through structure and attach to a code repository with Eclipse if possible. Could someone give me some pointers/step by steps to help get me started?

Does any Skype/IM/IRQ so I can meet some current users/Devs please?

Cheers and hi from sunny rainy England

Matt

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #1 on: October 05, 2009, 10:43:20 pm »
Hi and welcome! You have a steep learning curve ahead of you, but all help is greatly appreciated! Its mostly C++, but PHP, Python and SQL will be very helpful as well. Ruby is used a bit, too.

The first thing to understand is the DCE system. This is a communications protocol (using TCP). Most of the LMCE system is modular using "DCE Devices" These are software modules that communicate with one another through the DCE protocol - it is an abstract command and data protocol for doing things like "volume up", "on/off", "turn light on", "play piece of media", etc. Each DCE Device is responsible for interpreting what that means in its context should it receive one of those commands. This way someone can add an entirely new DCE device to the system and the system does not need to understand how it does stuff, it just has to issue the appropriate abstract command and the device handles its interpretation.

Devices can be existing applications/packages/software that just have a DCE "wrapper" around them that translate the DCE commands into whatever control system the existing package has, or can be written from the ground up - using C++ LMCE provides some tools like DCEGen that give you a jump start.... this creates a skeleton/stubb piece of code with methods for all the DCE commands that you want to implement, and then you just drop the necessary code into those methods.

All DCE devices communicate through the DCE Router which sits on the LMCE core. A DCE device can be on the core, next to the DCE Router, on an MD (Media Director) over the network or anywhere else that is addressable on the network. Current DCE Devices can be viewed in the Web Admin under the Devices Tree. It is a hierarchy of devices, however not every object in that tree is a DCE device - some are just representative of functional units within a LMCE environment, and usually the "parent" device is the actual DCE device that sends/receives DCE commands on behalf of the child device.

The telecom subsystem is based on Asterisk and a DCE wrapper was written to interface it with the DCE system; whereas the media subsystem primarily uses xine-lib - the libraries that Xine also uses, and some DCE code was written to create a native DCE player from the ground up using those libraries.

I would advise you do lots of research on LMCE and DCE and how the infrastructure works. Then look into how you set up a Dev environment and collaborate with the other Devs through the CVS system.

mattlindsay

  • Regular Poster
  • **
  • Posts: 18
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #2 on: October 05, 2009, 10:52:07 pm »
Hey thanks Colin, that was an admirable reply!

I have done some reasearch into LinuxMCE (and am having fun building myself a system that works!)

The DCE router seems like a good architecture to me and I can get to grips with most of that I think. I'm sort of interested in replacing some of the presentation layer (if there is any) so am interested in how I can abstarct the application layer from the presentation layer if possible. Has anyone drawn any systems diagrams for this sort of detail?

Mostly though I'm working out how people communicate :) Is there an IRC channel (I've never used IRC btw!) - Do you skype? Is it all on forums?

Cheers Colin

Matt

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #3 on: October 05, 2009, 11:03:55 pm »
Assuming you are talking about the OSI Presentation layer... not sure that there is anything as formal as that documented. Although there are some basic diagrams of a DCE network on the wiki.

Sorry, forgot the comms bit - IRC go to #linuxmce-dev on freenode. Your primary points of contact will be tschak909, hari, posde, radu, zaerc, etc who are located in a mixture of DE, US, NL and UK.

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #4 on: October 05, 2009, 11:14:00 pm »
This is good.

We need a windows developer to take over porting Orbiter to newer windows mobile platforms, and to keep the win32 build of orbiter current.

-Thom

mattlindsay

  • Regular Poster
  • **
  • Posts: 18
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #5 on: October 05, 2009, 11:16:10 pm »
Thanks guys

I did pop onto the IRC channel but it appears no one is there!

Thom, where's the best place to find info on the windows bits then?

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #6 on: October 05, 2009, 11:23:05 pm »
There isn't at present. You can check out the svn tree, and there are visual studio 7 and 8 project files for building the pluto stack on windows, makerelease will also produce the necessary binaries for the different orbiter releases we have now....

however as it stands, we produce windows targets for:

* Win32 desktop
* Windows CE 4.x (arm and x86)
* Windows Mobile 2003 (arm.. this is our PDA orbiter)
* Windows Smartphone 2003 (motoQ) and 2005 (Palm Treo 700wx). These are mobile orbiters, and work differently from the others above.

We need to produce targets for the current windows mobile devices, in addition to our present targets (WinMO 5.x and 6.x).

We will help as much as we can, but please understand, you're on the ground floor, a lot of research will need to be done on your part, and it's not all written down, if you get my meaning. :) A lot of this stuff was simply inherited, we need to figure it all out.

-Thom

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4508
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #7 on: October 06, 2009, 12:40:35 am »
Thanks guys

I did pop onto the IRC channel but it appears no one is there!

Thom, where's the best place to find info on the windows bits then?

You need to got to #linuxmce-devel by the way...Colin made a typo ;-)

Welcome from a fellow Brit ;-)

All the best

Andrew
Andy Herron,
Convergent Home Technologies Ltd

My Blog; http://ellipticalcurve.com

Get RaspSqueeze-CEC or Raspbmc-CEC Wifi enabled for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

For Smart Home consulting advice;
@herron on Twitter, inquiries@ellipticalcurve.com via email or PM me here.

Get a Dianemo License: http://forum.linuxmce.org/index.php?topic=8880.msg100221#msg100221
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk

mattlindsay

  • Regular Poster
  • **
  • Posts: 18
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #8 on: October 09, 2009, 08:45:21 am »
Thanks man.

Fellow Brit hey? Good work. Are there any usr groups in the UK (meet ups)? I'm in South East, near Woking. U?

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4508
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #9 on: October 09, 2009, 01:09:03 pm »
Thanks man.

Fellow Brit hey? Good work. Are there any usr groups in the UK (meet ups)? I'm in South East, near Woking. U?

I dont know of any usr groups here in the UK around LinuxMCE...there are certainly quite a few people in the UK who hang around on the Forum... and we have a growing customer base here in the UK too (but typically our customers are just 'users' and have no interest at all in the systems technical aspects... or Open Source).

We're based in Chelmsford, Essex and we have a full blown demo suite here...so we're the opposite side of the M25 to you pretty much... see the footer in my messages for urls to our Web Sites.

All the best

Andrew
Andy Herron,
Convergent Home Technologies Ltd

My Blog; http://ellipticalcurve.com

Get RaspSqueeze-CEC or Raspbmc-CEC Wifi enabled for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

For Smart Home consulting advice;
@herron on Twitter, inquiries@ellipticalcurve.com via email or PM me here.

Get a Dianemo License: http://forum.linuxmce.org/index.php?topic=8880.msg100221#msg100221
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk

mattlindsay

  • Regular Poster
  • **
  • Posts: 18
    • View Profile
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #10 on: October 09, 2009, 01:27:53 pm »
Your demo suite open on Saturdays? :)

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4508
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Introduce myself... and I'd Like to get started.. Advice?
« Reply #11 on: October 09, 2009, 01:38:31 pm »
Your demo suite open on Saturdays? :)

We dont usually open the demo suite on Saturdays. But we may be opening on some Saturday in a few weeks time - I'll let you know when we have the dates fixed. PM me towards the end of next week to remind me ;-)

Andrew
Andy Herron,
Convergent Home Technologies Ltd

My Blog; http://ellipticalcurve.com

Get RaspSqueeze-CEC or Raspbmc-CEC Wifi enabled for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

For Smart Home consulting advice;
@herron on Twitter, inquiries@ellipticalcurve.com via email or PM me here.

Get a Dianemo License: http://forum.linuxmce.org/index.php?topic=8880.msg100221#msg100221
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk