Jump to content


Photo

Quality of applications in general.


  • Please log in to reply
72 replies to this topic

#1 Huevos

  • PLi® Contributor
  • 4,644 posts

+161
Excellent

Posted 6 March 2018 - 20:13

Elke developer vindt zichzelf het beste sinds gesneden brood, dus dat is niet nieuw. ;)

 

En hij heeft gelijk dat ABM zowel qua design als qua implementatie niet de schoonheidsprijs verdiend. Maar dat is niet zo relevant als er geen alternatief is, dus dat moet er dan komen als dit niet goed genoeg is.

Why does this discussion start every time someone mentions ABM? ABM is very clean, easy to understand, Python code. Much cleaner and easier to understand than a lot of C-layer code found in enigma2. And apart from Fastscan/Cablescan I don't know of any plugin that has any CPP code. And locking plugin code in the enigma2 binary means the plugin can't be shared between images.

 

Anyway, the end result is it can read LCNs from some 50 providers, and there is no other solution that can do that.



Re: Quality of applications in general. #2 littlesat

  • PLi® Core member
  • 57,120 posts

+698
Excellent

Posted 6 March 2018 - 20:29

simple. Because the same can be made in a more structured way with hundreds of code lines less... you don’t need to parse the tables in python as good old dmm’s authors made a nice cpp libary for it... see cablescan. It’s just a pitty I’m also limited in time resources and cpp experience here... so I lack of demonstrate it again... (see hotkey, online flashing, fall back tuner channels import, etc...)
For me it is more than just the end result... for me it is also imported what engine is doing it!

Edited by littlesat, 6 March 2018 - 20:34.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Quality of applications in general. #3 Frenske

  • Forum Moderator
    PLi® Core member
  • 27,489 posts

+397
Excellent

Posted 6 March 2018 - 20:49

I moved this topic from the dutch to the english section.
One request to all, please behave like adults and respond with respect to eachother.

Mijn schotel is een T90 met 10 LNB's. Daarnaast voor de fun nog een draaibaar systeem met een Triax TD 78.

Dreamboxen heb ik niet meer echt actief. Verder heb ik ook nog een een VU+ duo2 met 500Gb harddisk + een VU+ Uno, Zero, Solo 4K, Ultimo 4K, Zero 4K, Uno 4Kse. + ook nog een Xtrend ET7x00. Daarnaast heb ik ook nog diverse andere modellen w.o. een Formuler F4, ET8500, ET7500, Mut@nt 2400HD, Xsarius Fusion HD se en verder nog wel het e.e.a. waarmee op verzoek vanalles wordt getest. Iemand moet het tenslotte doen. ;) :)
Los van de eerder genoemde modellen heb ik nog wel een rits aan testsamples als Mut@nt 2400HD, HD60, GB UE4K, GB Trio4K, Maxitec Multibox combo en Twin, Octagon sf8008, sf8008 mini en last but nog least enkele modellen van het Grieks Duitse Edision.

Voor centrale opslag van media gebruik ik een Qnap 219P 
met tweemaal 2 Tb harddisks + een Synology DS414 met 12 Tb Totale opslag.

-------------------------------------------------------------------------------------------
Many answers to your question can be found in our wiki: Just one click away from this "solutioncentre".

Als ik alles al wist hoefde ik ook niets te vragen. If I had all the knowledge I had no questions at all.


Re: Quality of applications in general. #4 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 7 March 2018 - 06:18

The problem is clear: Littlesat always asks for help/patches/pullrequests/bb-files, and when he gets what he wants he always starts a huge complaint about how bad/inefficient/ineffective the result is, and how much better and shorter the code should be, instead of showing happiness about the offered help.

 

Let me be clear: I'm not able or even willing to judge the quality of code; I can only judge the quality of the end result as it's being presented to the user, i.e. the functionality and user-friendliness.

But what I can be the judge about, is that always being greeted with negativism drains the enthusiasm of any coder to help PLi. And I know quite a few of them who refuse to offer any help/pushing-back to PLi, solely for this very reason.

 

Of course there can be criticism about code, and there usually is (especially if it's not your own code). But is it always necessary to show this criticism so clearly? There are better ways to handle critics. It's all about the way criticism is presented and about the amount of it.

 

What about the following guideline on receiving help:

1- Show being content, being happy about the offered help (instead of the current habit of complaining).

2- See if the help (in whatever which form it took pace) can be used without much difficulty. If so: apply the code.

3- Evaluate the code, make an invent of the goodies and the baddies of it, but do that in an inner circle. There's no need to spread all the critics around the world.

Of course: in this stage contacting the original author can be usefull, but should take place in a respectful way.

4- Start enhancing the code; in the end this may even mean replacing it completely with your own.

 

IMHO this would be a much more pleasant approach than the current continuous bashing of offered 3rd-party code.

After all: c'est le ton qui fait la musique!



Re: Quality of applications in general. #5 littlesat

  • PLi® Core member
  • 57,120 posts

+698
Excellent

Posted 7 March 2018 - 06:30

The problem seems not to be clear you. Pleas stop bashing me in person. Stay objective on the code itself.
Yes it is working and yes it is a good reversed engineering project and yes it is helpfull and yes it is currently the only thing that does more than service scans, cable scans and m7 fastscan... and yes it was a lot of work and lot of time to make such complete plugin... and yes I appreciate it!
But please look at the code and compare it how cablescan and fastscan is done... I’m sure when you do it that way you can do the same faster with less more structured code. So I only try to motivate the community to get it beyond the next level... but it seems that this is not appreciated the way I’m attacked in person... :(

Edited by littlesat, 7 March 2018 - 07:23.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Quality of applications in general. #6 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 7 March 2018 - 07:00

I'm very sorry I can't seem to get my meaning over to you. 

IMHO "c'est le ton qui fait la musique" should be clear; it's an expression even used in Dutch.

 

To say it in clear English words: It's not about criticism; it's about the way you present criticism.

 

 

Anyway: I can't explain any better/easier/clearer why coders walk away from PLi.



Re: Quality of applications in general. #7 littlesat

  • PLi® Core member
  • 57,120 posts

+698
Excellent

Posted 7 March 2018 - 07:29

I cannot change your meaning, but I’m afraid you make a big mistake here as you really don’t know me... probably the ‘hard’ words on a platform like this forum do not help here...
but again this is persoon against person with loosing the real ‘objective’...
Please listen to your own music. I’m the one who is shot in this case as it seems It is crime I deliver critism as I’m littlesat from openpli...
I asked to stop attacking me in person... but it seems it did not stop!
And now back on the topic instead of shooting me... the Q of applications in General....

Edited by littlesat, 7 March 2018 - 07:38.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Quality of applications in general. #8 Huevos

  • PLi® Contributor
  • 4,644 posts

+161
Excellent

Posted 7 March 2018 - 09:25

The way I see it the thing always getting bashed is ABM.

 

The truth is, it does what it is supposed to do. It does it quickly enough. It reads the SI tables as fast as they come up on the transponder. It would be impossible to do it quicker whatever language the code were written in. The code is clear and easy to read. And there is extra code so users can customise their bouquets to exactly how they want. When you add features, you add code.

 

Please show me the hundreds of lines of code that could be stripped from the plugin, without losing the current feature set.

 

And like almost ever plugin since the start of enigma2 it is written in Python.



Re: Quality of applications in general. #9 littlesat

  • PLi® Core member
  • 57,120 posts

+698
Excellent

Posted 7 March 2018 - 14:53

Just to give it one direction to one of my points....

 

https://github.com/o...uquetswriter.py

 

It looks almost duplicate to and it hacks 'around' this...

 

https://github.com/O.../lib/dvb/db.cpp

 

Why not use this to add services and create the bouquets/lamedb? This can be done from python as well... 

 

But why do I continue to defend my opinion? I'm doing it always wrong...!


Edited by littlesat, 7 March 2018 - 15:01.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Quality of applications in general. #10 arn354

  • Senior Member
  • 146 posts

+12
Neutral

Posted 7 March 2018 - 15:23

someone might be able to do it "his" way with the knowledge and capabilities he has, but he probably is not capable doing it "your" way.



Re: Quality of applications in general. #11 WanWizard

  • PLi® Core member
  • 70,396 posts

+1,807
Excellent

Posted 7 March 2018 - 15:23

Apart from all the good, bad, emotional discussions going on, this is actually a good example.

 

There is an official API to write to bouquet files and the lamedb. If in the future we decide to change to a central SQL database (or key/value store), everything that uses that API will keep working, as the backend is hidden from the frontend via the API. All other solutions will break.

 

This is a similar issue to the entire editor discussion: just because you can, doesn't mean you shoud. These files are internal to Enigma.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Quality of applications in general. #12 WanWizard

  • PLi® Core member
  • 70,396 posts

+1,807
Excellent

Posted 7 March 2018 - 15:24

someone might be able to do it "his" way with the knowledge and capabilities he has, but he probably is not capable doing it "your" way.

 

That suggests (more) documentation is needed so everyone knows the core API's that exist, and how to use them. Which might be a valid point.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Quality of applications in general. #13 Pr2

  • PLi® Contributor
  • 6,179 posts

+261
Excellent

Posted 7 March 2018 - 15:52

Hi,

 

Enigma2 is thousands of code lines (C and python) with nearly no comments in the source code.  So if somebody wants to make a change, there is first a huge reverse engineering search to know where and how to change things.  When you have commented out lines, most of the time, those are debugs print out that are commented out to be disabled.

 

If code itself is well commented there is no real need for an external documentation, but for Enigma2 both are missing.

 

So indeed a developper can (normally) understand what is done by looking at the code but this is not the better approach since it is time consuming. If there was valuable comments in the source code this will ease life for people that want to add/modify/improve features.

 

Pr2


NO SUPPORT by PM, it is a forum make your question public so everybody can benefit from the question/answer.
If you think that my answer helps you, you can press the up arrow in bottom right of the answer.

Wanna help with OpenPLi Translation? Please read our Wiki Information for translators

Sat: Hotbird 13.0E, Astra 19.2E, Eutelsat5A 5.0W
VU+ Solo 4K: 2*DVB-S2 + 2*DVB-C/T/T2 (used in DVB-C) & Duo 4K: 2*DVB-S2X + DVB-C (FBC)

AB-Com: PULSe 4K 1*DVB-S2X (+ DVB-C/T/T2)
Edision OS Mio 4K: 1*DVB-S2X + 1*DVB-C/T/T2
 


Re: Quality of applications in general. #14 WanWizard

  • PLi® Core member
  • 70,396 posts

+1,807
Excellent

Posted 7 March 2018 - 16:04

It is worse than that, the codebase is also one big bowl of bad-tasting spafhetti (what Littlesat calls "GhostWare" ;)), so even for a good programmer it is very difficult to understand what it does, the code isn't self-documenting at all.

 

Furthermore, there is a complete lack of architucture and design, even simple design and coding principles like encapsulation, separation of concern, dependency injection and loose coupling aren't followed.

 

Ideally, we should pool all expertise together, have a professionally structurered team, and rewrite the whole damned thing!


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Quality of applications in general. #15 Huevos

  • PLi® Contributor
  • 4,644 posts

+161
Excellent

Posted 7 March 2018 - 22:12

Apart from all the good, bad, emotional discussions going on, this is actually a good example.

 

There is an official API to write to bouquet files and the lamedb. If in the future we decide to change to a central SQL database (or key/value store), everything that uses that API will keep working, as the backend is hidden from the frontend via the API. All other solutions will break.

 

This is a similar issue to the entire editor discussion: just because you can, doesn't mean you shoud. These files are internal to Enigma.

If it is a proper SQL database it will be available to Python and have an external port so other applications, bouquet editors etc can use it. If not it will be a nail in PLi's coffin.



Re: Quality of applications in general. #16 littlesat

  • PLi® Core member
  • 57,120 posts

+698
Excellent

Posted 8 March 2018 - 07:47

When ghost was not one of the creators I would call it AtticWhere...;)
In e1 we had a nice database for the epg... which was never ‘ported’ after all these years to e2...

Edited by littlesat, 8 March 2018 - 07:48.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Quality of applications in general. #17 WanWizard

  • PLi® Core member
  • 70,396 posts

+1,807
Excellent

Posted 8 March 2018 - 10:06

If it is a proper SQL database it will be available to Python and have an external port so other applications, bouquet editors etc can use it. If not it will be a nail in PLi's coffin.

 

Then you haven't understood it at all. Hacking your way into that SQL database would be as bad, if not worse, than hacking your way into text files.

 

The point of having an API is to have unified, validated and controlled access to the backend. An API should completely encapsulate the backend.

 

This is exactly the problem I have with the way everything has been built, and is continued to be build. There is no architecture, there is no design, there is no design authority, there are no development guidelines and programming standards, there is no quality control (and @Littlesat gets bashed when he attempts to say something about quality, sometimes awkard but always with the best of intentions), and the code is a mess because everyone hacks it's way in to get things done without looking at the bigger picture.

 

And the fact that multiple development groups compete instead of work together doesn't really help either, instead of moving forward together we keep reinventing each others wheels... 


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Quality of applications in general. #18 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 8 March 2018 - 10:32

What annoys me most is the absence of abstraction. In other words: no API. They all reverse engineer the internals of enigma and start to use it, very wrong (but there is no alternative (yet)).


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: Quality of applications in general. #19 Huevos

  • PLi® Contributor
  • 4,644 posts

+161
Excellent

Posted 8 March 2018 - 13:02

My point is if you somehow modify OpenPLi so the bouquets, etc, are only editable from the GUI, PLi would die overnight.



Re: Quality of applications in general. #20 WanWizard

  • PLi® Core member
  • 70,396 posts

+1,807
Excellent

Posted 8 March 2018 - 20:34

I didn't think anyone mentioned the word "GUI"?

 

The remarks are about programming, and programming principles. If there is a decent CRUD API, code on the box could use it in a unified way. And it would be peanuts to create a HTTP/JSON interface for it, so code outside the box could talk to it to. While keeping Enigma in control and the data consistent.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users