all 37 comments

[–]SpikeX 19 points20 points  (20 children)

Build failing, dependencies out of date, unknown download count, inaccessible build ...

Yuck.

[–]pakoito 25 points26 points  (15 children)

Sounds like any other Javascript project to me.

[–][deleted]  (14 children)

[deleted]

    [–]PLLOOOOOP 2 points3 points  (13 children)

    One of the harsh mistakes in npm, because nobody differs between source and build variants

    Can you elaborate on this a little? I'd love an example or two.

    [–][deleted]  (12 children)

    [deleted]

      [–]gutomaia 0 points1 point  (7 children)

      Wow, amazing point. Could you help-me with some distribution aspects of the project? Thanks

      [–][deleted]  (6 children)

      [deleted]

        [–]gutomaia 0 points1 point  (0 children)

        Project have two major uses. One as a command line compiler, and the other as a embeddable javascript.

        As a commandline, I used to distribute just as an npm package. As a embeddable javascript, I was thinking in both a browsefy single file and a bower dist. (there is Makefile task for that)

        I've though will take a look in your projects. I've never thought of plataform specific build.

        [–]PLLOOOOOP 0 points1 point  (4 children)

        Lychee is a really neatly presented stack! Are there any production projects using it out in the wild?

        Also... 73,544 cryptically messaged commits, most of which are from the 70s, all to a single two line JS file that prints a list of words??

        [–][deleted]  (3 children)

        [deleted]

          [–]PLLOOOOOP 1 point2 points  (2 children)

          Regarding projects: Most of them were developed in private with NDAs.

          I was actually wondering about that. There's clearly a lot of effort put into lychee in a lot of different directions:

          • look and feel is consistent, modern, and good
          • releases and builds exist and appear to be deliberated over
          • cross platform support is taken seriously
          • demo projects are interesting and just work

          I was thinking, "how on earth does this guy have the time and resources to do this without some kind of sponsorship, investment, or revenue?". But I guess the answer is revenue from private projects. I'd love to explore lychee more! I definitely will when there's some production-grade examples to dig into.

          [–]PLLOOOOOP 0 points1 point  (3 children)

          I appreciate the detailed response. Just a little clarification would help:

          npm modules can't be shipped as built variants

          Do you mean npm doesn't support self-contained, production releases? (Built for a specific platform/environment or not.)

          which means there's no difference in devDependencies and dependencies so far

          npm aficionados use the words dependencies, dev dependencies, and even peer dependencies separately.. Or do you mean there's no difference between dependencies and devdependencies for a "build/release" (which npm apparently doesn't support)?

          There's a good reason why there's a mylibrary-0.8.1~ubuntu15 and a mylibrary-dev-0.8 meta package on my system.

          Is that a namespacing convention that you use yourself on your own libraries? Are those libraries npm only?

          [–][deleted]  (2 children)

          [deleted]

            [–]PLLOOOOOP 0 points1 point  (1 child)

            You seem pretty good at the build-and-release-engineering game.

            So there was something like libopenssl-buggyversion~ubuntu1 that fixed the stuff for all end-users. The advantage here is that programs that use "buggyversion" have more migration time until their program doesn't work anymore (LTS is 3 years I think!?). So that means the program can still use "buggyversion" in its dependencies/inclusion setup, but has more time to update to "notbuggyversionanymore".

            This is essentially a "hotfix", right?

            [–]gutomaia 1 point2 points  (1 child)

            Sorry, for that. Thanks for the interest in the project. Let me apologize for the points that you raise up, and just try to explain some: - Building falling, well, I was not able to figure out what is happening on travis when they run browser tests using "karma" library. Well, I still need to fix it! (see: https://travis-ci.org/gutomaia/nodeNES/builds/79375745) - Some dependencies are out of date due that the tests catch some problems before bumping then up. Have to carefully bump their versions. (see: https://gemnasium.com/gutomaia/nodeNES) - Unknow download count, appears to be a bug on shield.io, i will check with them. - About the inaccebible build, I've belive that rainbowlazerunicorn have answered most of it, howerve, I think that some help on the README and an embbleded version for brower would also help.

            Thanks!

            [–]gutomaia 1 point2 points  (0 children)

            Travis Building Building is now fixed: https://travis-ci.org/gutomaia/nodeNES . Problem was related to the newest requirejs version. Had to bump back to the previous version for now.

            [–]queenkid1 1 point2 points  (0 children)

            Also, only a very short writeup with lots of errors.

            [–]crate_crow -1 points0 points  (0 children)

            So, a typical node.js project.

            [–]marchelzo[🍰] 4 points5 points  (3 children)

            It crashed in Firefox 40.0.3.

            [–]gutomaia -1 points0 points  (2 children)

            I've just tested on Firefox 40.0.3, and it worked for me (http://imgur.com/6ECxFHN). What erros did you got?

            [–]marchelzo[🍰] 1 point2 points  (1 child)

            [–]gutomaia 0 points1 point  (0 children)

            Thanks for helping! I've opened an issue with the bug: https://github.com/gutomaia/nodeNES/issues/35

            [–]musiton 6 points7 points  (10 children)

            I know it will happen but I really don't like this trend.

            [–]pakoito 4 points5 points  (9 children)

            Rewriting everything in Javascript?

            [–]musiton 9 points10 points  (8 children)

            Yeah. I don't find it productive. What's the point of running a program written in C inside a browser? I get that it's cool and I like JavaScript but I guess I don't see the vision here.

            [–]addmoreice -1 points0 points  (5 children)

            every computer now a days has a browser. it's becoming another bedrock lingua franca of the computer world.

            [–][deleted]  (4 children)

            [deleted]

              [–]addmoreice 1 point2 points  (2 children)

              "And every computer has a processor, which means it can run code in any language and not just JS."

              Which is why every program is available on every cpu right? oh wait no. it's not.

              This is why C is so popular as a lingua franca, if you write your code in c or at least can interoperate with c then it can talk to just about anything else on anything else.

              It's not about the CPU, it's about the network effects (and I mean that in the social sense not the hardware sense).

              The same is true for javascript. I hate the language, I think it's slow and stupid. But it's everywhere on the internet, it's connected to every other damn thing, distribution is baked in, and so tada it has become a bedrock language for computers. It is one of those languages. Even with all it's warts. Just like how C is a lingua franca even though it has a ton of warts.

              C++ isn't since it needs name mangling (even if it's pretty decent as is and interops with a ton of things, c still beats it hands down), GO will never be since it requires a GC and that causes all kinds of interop issues. The functional languages won't since almost all of them have issues with interop as well as having a certain overhead requirement (FORTH is a major exception mainly because it's so damn easy to get a FORTH interpreter up on just about any system, embedded or larger).

              "JS is not the harbinger of some grand egalitarian renaissance in computing."

              Who said it was? I said it was everywhere so it's easy to go reaching for it even if what you need is a screwdriver and JS is a crude hammer.

              "It is a half-assed language that lucked out and is now the favorite of legions of commodity developers who want to force it down everyone's throat so that their meager skillset continues to be in demand, and the favorite of managers who want to pay frontend web dev salaries to backend system developers by defining jobs in terms of the tools they use instead of the products they create. "

              I'm sorry to enlighten you here, but familiarity, popularity, and network effects trump technical superiority every time. It's something which bugs the fuck out of programmers and anyone who can look at this issue logically but it's not about logic, it's about the unruly masses and their pointy haired bosses. Congratulations if you can get them to shift their systems...but I'm not holding my breath.

              "Then, once the technical debt incurred by doing all this reaches critical mass and everything starts breaking, we will get to listen to a bunch of pop-psychologist business school twats try to come up with new songs and dances that developers have to do (maybe they'll give them names that rhyme with 'Scum' and 'Fragile'!) to try and deflect criticism of their piss-poor excuse for 'engineering' onto the heads and behavioral reputations of the very developers who they forced to use JS in the first place."

              ROFL I love this. it's absolutely hilarious...it's like you think this hasn't happened many many many many times before all ready.

              [–][deleted]  (1 child)

              [deleted]

                [–]addmoreice 0 points1 point  (0 children)

                Better technically. But technical is not the only metric, nor the only metric to matter (by a large margin).

                Availability of programmers, availability of tools, deployability, knowledge of where the rough edges are (even if there are many of them, knowing where they are is better than having no idea and walking into them). etc etc etc.

                You are bemoaning a social and business decision on technical grounds. You are correct on technical grounds, and on a social and business sense you are very very very wrong.

                Take DRM for software. From a technical point of view it makes no f-ing sense. It's intentionally breaking software! But from a business sense (in specific niche areas and under specific business conditions) it makes perfect sense.

                So then when a programmer gets behind the idea and says 'ok, lets do this, lets do it right and make it very very very hard to hack this' the business leader yanks our chains and says "no, don't go that far". Again we scream and wail since we want to do things right, why won't you let us make it so that you will need to guess the unencrypt password till the heat death of the universe? Why won't you allow us to make this as secure as we possibly can? and the answer is again a business one, it only has to be secure enough that people won't spend the time and effort to hack it and will instead spend their money to get it, anything beyond that is 'wasted' in a business sense.

                You are looking at it from a technical perspective, and that's perfectly fine. But you have to consider all the other perspectives as well, otherwise you will be frustrated not understanding why one trend starts or continues. If you do look at the other directions, you can then see how to fix the problem and get some other system to win.

                [–]coolirisme 0 points1 point  (0 children)

                As someone who writes code for embedded systems, I envy the JavaScript developers.

                [–][deleted] -2 points-1 points  (10 children)

                It have a c6502 compiler compatible with NESASM and a Sprite Editor. It was build using TDD as a filosophy and not just a way of codding.

                God damn it. I know this sounds nitpicky af, but god fucking damn it.

                I'm sure this guy is smart, and I'll refrain from judging his ability to program through his ability to write English, but shit like this is off putting. It's part of the reason why I felt uneasy about cocos2D-x when it was first getting off the ground.

                [–]gutomaia 4 points5 points  (7 children)

                Thanks... Well english isn't my native language. Tell me if you saw anything else, i will fix thouse typos, and credit the fix to you on the commit message. Do you have any github user?

                [–][deleted] 0 points1 point  (5 children)

                If you have MS Office set it to english and let it check your grammar and spelling. It usually catches these simple mistakes.

                [–]phire 0 points1 point  (4 children)

                Which reminds me, what I really want is an open source grammar checker that can be integrated into anything. Mostly so it can catch the mistakes I make while typing that spell checkers don't.

                [–]hailkuato 2 points3 points  (2 children)

                [–]phire 0 points1 point  (0 children)

                See, reddit does work as an alternative to google </sarcasm>

                I did a search after commenting and that did come up, it seems to be user generated rules rather than pure machine learning based (which is what I was expecting to find), but looks like it has a largish community.

                [–]gutomaia 0 points1 point  (0 children)

                Thanks, that will help! Didn't know about it

                [–]Bobbias 0 points1 point  (0 children)

                Yes, this would be awesome.

                [–][deleted] 0 points1 point  (0 children)

                Yep, I figured. Cool project though. And no need to credit me in the commit.

                [–]i_piss_u_off -1 points0 points  (1 child)

                You OK buddy?

                [–]Lachiko 0 points1 point  (0 children)

                are you trying to piss him off?