LG is a :barrier: for development



  • As you all know, every single manufacturer wants to force developers to use their tools and follow stupid processes to allow us their all mighty benefit of developing for their platforms.

    Our stupid for today is LG. You see, before yesterday, you had to register and upload your apps to their developers portal so you were able to use your app on their TV's

    OK, this is a pain, but since LG allows hosted apps (your source lives on a server and the package you install on the TV is basically a redirect) you had to do this only once... until yesterday when this weird error message started popping up.

    That's weird, what's up with that? Oh what does it say there?

    While NetCast TV App (zip) is available for all LG Developer site members, webOS TV App (ipk) is available for LG Developer site partner members ONLY.

    #WTF ?!?!?!???!!!! WHY ?!?!?!?!

    We have introduced a new way to test your app using Developer Mode app for all our site members.

    NO YOU DID NOT FORCE ME TO USE YOUR STUPID IDE TOO?!?!?!

    ok, ok, calm down, that error jumps too fast to be server-side. Open up developer tools and there it's in all its glory:

        	var authFlag = $("#authFlag").val();
            var exten10 = $("#webUrl0").val().substr($("#webUrl0").val().lastIndexOf(".")).toLowerCase();
            if(exten10 != ""){
           		if(exten10 == ".ipk"){
           			if (authFlag == "N"){
                   		alert("Not Available File Format");
                   		...
                       	return false;
                   	}
                }...
            }
    

    I guess I don't have to explain how I was able to finally get my stupid package to be processed, right?

    And yes, the JS code is all there as plain text. And no, there's no server side validation for the moment.


    If you're the guy who did this: stop, now, and look for a job disarming mines on the DMZ.


  • Banned

    Well, it's surely a clever way to have this idiotic restriction implemented while letting the developers still ignore it without any obvious (as in, PHB-detectable) disable button.



  • @Eldelshell said:

    As you all know, every single manufacturer wants to force developers to use their tools and follow stupid processes to allow us their all mighty benefit of developing for their platforms.

    I think we have enough evidence to determine that capitalism is incompatible with software development.

    Users of the world, unite! Down with corporate tyranny! Software should belong to the people! Collectivization now! ☭


  • Banned

    Not sure if you're mocking Open Source accidentally or on purpose.



  • @Eldelshell said:

    I guess I don't have to explain how I was able to finally get my stupid package to be processed, right?

    And yes, the JS code is all there as plain text. And no, there's no server side validation for the moment.


    But... but the best practices say thou shall not repeat thyself!!!!!!111



  • "Not available file format" is such a great Lotus Notes-esque error. I love it. I love errors that are so vague and pointlessly confusing that they raise more questions than they could possible solve.



  • @Eldelshell said:

    If you're the guy who did this: stop, now, and look for a job disarming mines on the DMZ.

    It's the GREEN wire! No, wait, the BLUE one - yeah, I'm positive! If that doesn't work, here's a hammer...



  • Exactly, and the explanation is on the previous page in a format that seems like it has been there forever, so someone like me who goes there almost every day, won't read that stupid crap every single time.



  • @blakeyrat said:

    "Not available file format" is such a great Lotus Notes-esque error. I love it. I love errors that are so vague and pointlessly confusing that they raise more questions than they could possible solve.

    When I was just a little lad, my friend and I used to go into Myer's department store in the City and spend hours messing about with the new Commodore PET they had on display in the appliances section. We'd take our own tape cassettes and save our stuff on them and come back the next day and work on it some more. Neither of us had our own computer, neither did our school or library, and this was basically our only option for playing with one. That crunchy little chiclet keyboard was my first introduction to programming.

    One day, Peter the sales guy - who had always been friendly to us, probably because having a couple of kids so clearly fascinated by this otherwise inscrutable device served to drum up more interest than it would otherwise have attracted - told us we couldn't use it any more because "the cursor is broken".

    At the time, I was just crushed with disappointment and thought of that as a completely stupid thing to say. It was years before I worked out that the guy in the suit standing ten feet away at the time had to have been Peter's manager.



  • @Eldelshell said:

    var authFlag = $("#authFlag").val();
    var exten10 = $("#webUrl0").val().substr($("#webUrl0").val().lastIndexOf(".")).toLowerCase();
    if(exten10 != ""){
    if(exten10 == ".ipk"){
    if (authFlag == "N"){
    alert("Not Available File Format");
    ...
    return false;
    }
    }...
    }

    I guess I don't have to explain how I was able to finally get my stupid package to be processed, right?

    And yes, the JS code is all there as plain text. And no, there's no server side validation for the moment.

    If you're the guy who did this: stop, now, and look for a job disarming mines on the DMZ.

    This is exactly how Korean developers(most of them I've met) do their development.
    It even kinda feels familiar now that I've seen that so many times.

    It looks very much like Change Javascript function body with jstl core tag. WTF or no?, with the casual absence of serverside validation.



  • There's no server-side validation but I can bet the "Not Available File Format" message is server-side generated.



  • @flabdablet said:

    When I was just a little lad, my friend and I used to go into Myer's department store in the City

    Did you have an onion on your belt?



  • It was the style at the time. Now, to take the ferry cost a nickel, and in those days, nickels had pictures of bumblebees on 'em. "Gimme five bees for a quarter," you'd say.



  • God damn it. So today I'm trying to install the LG WebOS SDK on a Windows7 VM. Oh my, here's a network installation file:

    WHO THE F*** USES A FIXED IP ADDRESS FOR A ESSENTIAL INSTALLATION PROCESS?!??!?

    Sure I can download the whole thing... which includes the 1.5GB VirtualBox image which I DON'T WANT


  • Discourse touched me in a no-no place

    That rather looks like an RFC1819 address...



  • @Eldelshell said:

    So today I'm trying to install the LG WebOS SDK on a Windows7 VM.

    LG WebOS !!! We've run out of new things to play with or what is the deal ?


  • FoxDev

    @Eldelshell said:

    WHO THE F*** USES A FIXEDUnrouteable IP ADDRESS FOR A ESSENTIAL INSTALLATION PROCESS?!??!?

    unless your local network happens to be on the 10.0.0.0/8 CIDR block that request was never going anywhere



  • This is the stupid SDK which comes with that address... I didn't change anything.



  • This is what I do, at least when $smart_tv_manufacturer lets me do it.


  • FoxDev

    @Eldelshell said:

    This is the stupid SDK which comes with that address... I didn't change anything.

    didn't meant to imply otherwise.

    ;-)


  • Discourse touched me in a no-no place

    @accalia said:

    unless your local network happens to be on the 10.0.0.0/8 CIDR block

    Hmm?


  • FoxDev

    and yet if you try to route that anywhere outside your (V)LAN they won't go anywhere.

    Private IPs are private for a reason.

    The organization that doles out IP addresses to the world reserves a range of IP addresses for private networks. Private networks can use IP addresses anywhere in the following ranges:

    192.168.0.0 - 192.168.255.255 (65,536 IP addresses)
    172.16.0.0 - 172.31.255.255 (1,048,576 IP addresses)
    10.0.0.0 - 10.255.255.255 (16,777,216 IP addresses)

    sauce


  • Discourse touched me in a no-no place

    @accalia said:

    and yet if you try to route that anywhere outside your (V)LAN they won't go anywhere.

    Well exactly. But then again - that's what we use 10/8 for. It's just that the computers on it are all over the world.

    Before this got implemented, first you had to either (1) get onto the homeagent (these, not this) that project's computers were connecting to/using, and then use a public IP from there (:wtf:) to access the computers on there. Doing our bit for IPv4 exhaustion...

    Or, more excitingly, (2) we could use port-forwarding on the HA..

    ssh 203.0.113.3 -p1034 # computer 3 on project Widget - 192.0.2.3
    ssh 203.0.113.3 -p1035 # computer 4 on project Widget - 192.0.2.4
    ssh 203.0.113.3 -p1036 # computer 5 on project Widget - 192.0.2.5
    
    ssh 198.51.100.32 -p6544 # computer 3 on project Gizmo - 192.0.2.43
    ssh 198.51.100.32 -p6545 # computer 4 on project Gizmo - 192.0.2.44
    

    "iptables are overkill, let's go shopping", Barbie didn't say.

    Now we only need a couple of public IPs for each homeagent, and none for the remotes which has cut down a lot on that nonsense.

    Of course, back to 10/8, fun things can happen if the one of the mobile networks on the remote computers are also using a random CIDR block in there. Some of them are more sensible about it though, so I can avoid handing out CIDR blocks in those ranges:

    (The way that's presented is an artifact of how I obtained the numbers from EE (UK operator.) The blurred bit is stuff in another country that isn't affected since it's not in the UK.)

    Oh - and that's just the 'globally accessible IPs for projects' (from the VLAN'). we use the other two ranges as well. Projects are free to use 192.168/16 internally at whim, so yes, it's duplicated across projects, but not within, and 172.16/12 is for inter-office stuff. Company servers, LANs WiFi, phones, the homeagents themselves etc.



  • @PJH said:

    That rather looks like an RFC1819 address...

    Internet Stream Protocol Version 2 (ST2)



  • @aliceif said:

    https://tools.ietf.org/html/rfc1819

    Internet Stream Protocol Version 2 (ST2)

    For the record, the RFC defining private IP ranges is RFC1918: https://tools.ietf.org/html/rfc1918


  • Discourse touched me in a no-no place

    @aliceif said:

    Internet Stream Protocol Version 2 (ST2)

    I can never get the 19 and 18 in the right order...


Log in to reply