9 ms·
Hi guys! My name is Wojciech Danilo and I'm one of the founders of Luna. The timing for this news is a little unfortunate, because we are just before releasing
by wdanilo 9y ago
Hi guys! My name is Wojciech Danilo and I'm one of the founders of Luna. The timing for this news is a little unfortunate, because we are just before releasing Luna as an Open Source project! However, it's great time to answer some questions and give you a short update what has happened for the last couple months:
1. We've raised a seed round of $1M, so we can safely focus on product development and shortly on community building!
2. We've improved our core technologies to be much more robust, open and extensible, including:
- We've re-written our graphical interface to be much more open and extensible (it was previously running on WebGL and now we base just on HTML, so it will be possible to attach any HTML-compatible controls / visualisations directly to nodes)
- We've implemented new, better type inferencer and updated Luna compiler in many ways.
- And much much more, but I don't want to uncover everything before the release, especially when it's around the corner :)
I would love to answer your questions, so If you've got any, just post it here and I'll do my best to cover it. Don't forget to singup for the list at http://luna-lang.org http://luna-lang.org. We'd love to collaborate with you during the upcoming release! :)
Cheers,
Wojciech
- aaron-lebo 9y agoWhat is your business model?
- wdanilo 9y agoFirst of all, we originate from Open Source community and we believe in it so strong, that we set it as a backbone for our business. We also believe in Open Adoption Software model: https://www.slideshare.net/AccelPartners/the-rise-of-open-adoption-software-oas https://www.slideshare.net/AccelPartners/the-rise-of-open-ad... . Answering the question more directly, we will be providing payed support and hosted computing environment with automatic scalability in the future, however now we will be focusing on building community and helping everyone gain from what Luna has to offer, keeping Luna completely open source and free. Did I answered your question deep enough? :)
- joshmarlow 9y agoThank you for the link about the Open Adoption Software model. It was a nice read!
- wdanilo 9y agoI'm glad you like it! :)
- gravypod 9y agoWhat kind of plots can you make with this? This has real potential in the big-data and scientific fields. Plotting is hard and if you can easily tie together many data sources and models that are popular onto time series and geospatial plots this will be a winning combo go scientists.
- wdanilo 9y agoYou can connect to our data ANY HTML/JS compatible visualisation. Moreover Luna has some basic (and they are getting better with every day) bindings to drawing over webgl canvas, so you can define visualisations using our nodes. We will be showing examples how to define efficient heatmaps / custom plots using few nodes interactively in Luna. We will be more than happy to collaborate with you and anyone interested in data visualisations soon, so lets stay in touch! :)
- gravypod 9y agoIf you can, internally, handle adding together multiple data sources you'll win in the academic space with something like this. Especially if you can choose a Python syntax for the "code" portion. In scientific spaces you have many data sources that all mean completely different things. They are all recorded in different coordinate spaces (mag, distances, polar, etc) and you want to plot many of these things into the same plot and have them go where they were meant to be. If you could generate 3D plots as well just by flipping a switch that would be a huge plus. The hard part is that we have many modeling softwares that are written in strange ways and in strange formats. One example of a very popular model with a difficult interface is the IRI (http://irimodel.org/ http://irimodel.org/). If you could just link a node of "IRI" into "Earth Plot" then that would be awesome.
- auggierose 9y agoSounds pretty cool. Looking forward to it. Don't rewrite the graphical interface again, though ;-)
- wdanilo 9y agoWe would not rewrite anything again soon :) We decided to rewrite it because of all the gains we gather from it (including both features as well as much increased speed of development) and it already (almost) payed off.
- jancsika 9y agoHow does this compare to NoFlo?
- pier25 9y agoIs this intended for a general purpose programming?
- wdanilo 9y agoYes, it's one of our core goals! :)
- z5h 9y agoGreat news! What are the hold-ups in going open source? How soon is "just before"?
- wdanilo 9y agoThere are no hold-ups really. We just want to release Luna in a form when you will tell "oh, that's a cool project I would like to contribute to" rather than "interesting, let's wait until it is usable". We are right now finishing installers on all platforms, making examples and working on new website. I don't want to set a deadline, but we work hard to make it just "around the corner" and a you can see, we're almost there :)
- indescions_2017 9y agoReally cool you chose to do an image processing demo with the "color grading" example. That is such a natural fit for visual programming. I could see Luna fitting into a video post-production or digital asset creation pipeline for games. The combination of a visual interface and functional logic could be used to create mind-blowing custom procedural solutions! Have you given any thought as to what media libraries you might use for the final stage rendering of audio, video, bitmaps, 3d scenes, etc. Because I think it's possible it may be entirely done in HTML5 / JS... Keep up the good work!
- CyberDildonics 9y agoThe thing there is that is already how image processing and compositing has been done for 30 years. Check out Nuke, Digital Fusion (which is free), Shake, Flame, etc.
- wdanilo 9y ago@CyberDildonics, I think that @indescions_2017 was referring to pipelines suitable to be run inside game engines, working at "runtime", not batch-processing data upfront. You cannot utilize any of the software you mentioned to do it. You can use Houdini engine, but it's image processing capabilities are super limited currently and even if they improve, you are limited to thinking in the context of SOPs, DOPs, CHOPs etc, without being able to extend it with custom datatypes and procedures.
- thisjeremiah 9y agoTouchDesigner (https://www.derivative.ca/ https://www.derivative.ca/) or vvvv (https://vvvv.org/ https://vvvv.org/) are more comparable, since these systems DO work in realtime environments. But yeah, you still have to think in the context of SOPs, TOPs, CHOPs...
- wdanilo 9y agoYou cannot embed touchdesigner in a game engine (at last with ease). VVVV does not comes with abstraction over DOPs SOPs etc, but both are still very limited regarding what datatypes they can process.
- seanwilson 9y agoCan you elaborate more on the dependent type system? Is type checking decidable? What restrictions does it have to keep automatic type checking feasible?
- wdanilo 9y agoWe were thinking how to answer this question yesterday, but it is just too broad and I've literally cannot afford explaining all the caveats now. I will be supper happy to talk about it after the release on Luna forum, so if we could just move it there and discuss it in some short time, I would be thankful :)
- wdanilo 9y agoWe were thinking how to answer this question yesterday, but it is just too broad and I've literally cannot afford explaining all the caveats now. I will be supper happy to talk about it after the release on Luna forum, so if we could just move it there and discuss it in some short time, I would be thankful :)
- kowdermeister 9y agoHow did you convince VC-s, that there's need for a new programming language? (I'm totally not saying there's no need, but since it's highly technical and I probably would fail at it I'm really curious)
- wdanilo 9y agoWe are not really making a programming language. So, err.. ok, we are. But it is "just" an engine. Luna is a data processing platform. It allows you to prototype, design and deploy data processing applications much faster than it is currently possible, while working in an elegant, interactive data visualization environment. Moreover, we are supported by many cool companies that want to use Luna for their purposes, including IOT, Data Science or Bioinformatics ones. We got a really big interest in our technologies and we've collected the whole round in less than 6 weeks, choosing the investors we liked among many that wanted to contribute. I'm writing about it because I'm really very grateful for their help and super happy that the need for such development is widely recognized.
- k__ 9y agoHaha, I was thinking the same. Well it's not really a programming language, but a data processing platform, business people love that -> VCs love that.
- wdanilo 9y agoLets underline one important thing. Luna really is nut just a language, it really is a data processing / visualization platform! :D
- kowdermeister 9y agoThanks for the response, it makes more sense now. However your site does say it's "just" a programming language with huge font size :) You might want to add what you just posted, there's nothing wrong with it, but it would make more people to get it IMHO.
- xor1 9y agoI really like how the Luna site looks. As someone who knows nothing about web front-end, how was it made? Custom-built? Template?
- wdanilo 9y agoOur programmer designed it and we've just build it using some standard bootstrap. It might seem like a joke, but it's currently not :D
- xor1 9y agoAhh, I actually really like it alot!
- waterpowder 9y agohttp://hyperboleandahalf.blogspot.ie/2010/04/alot-is-better-than-you-at-everything.html http://hyperboleandahalf.blogspot.ie/2010/04/alot-is-better-...
- wdanilo 9y agothanks alot! :D
- mkl 9y agoYou might want to adjust the colours, and look at it on a few more screens. The medium grey on dark grey is pretty unreadable - the only reason I didn't close the page immediately is the number of upvotes it got on HN.
- wdanilo 9y agoWould it help if we put a button "high-contrast"? On vast majority of displays the website looks well balanced and not eye-burning, but of course it does not cover older displays, displays that are dimmed or used in heavy lighting. Would such button solve your problems or do you think we should just strongly re-consider how we present everything?
- bluetwo 9y agoI'm interested in seeing how an open source programming language/platform with a clean GUI will evolve. Curious to see this in a year!
- wdanilo 9y agoWe are also super curious and we hope it will shine. If you hope for it too, let's contribute! We'd love to work with you to polish it as much as possible! :)
- jamiek88 9y agoIs there a way for a beginning developer to help? Maybe with documentation? I could at least help with editing / proof reading and the drudge work you guys are too talented to be doing! Your time is much better spent on the core development.
- wdanilo 9y agoThere is always a way to help and we are very grateful for helping us. It means a lot to me. But please, do not treat us like "too talented to do something". I feel just wrong then :) Drop me a line at wojciech at luna-lang.org and we could work something out :) I do not promise we will be able to collaborate before the release (we've got our hands full of work and we're hardly sleeping in nights now), but in the early days / moths after the release the help would be much needed and we would love to build community around people as passionate as you are! Thank you! :)
- shalabhc 9y agoAh - great to hear you're open sourcing it because I was a bit put off by 'sign up to be selected' form, even though the product is fascinating.
- wdanilo 9y agoSorry for putting off. I will explain that a little bit - we want to build community around people which are active, passionate and determined enough to fill such a form. I understand why it could be perceived negatively, sorry for that! :)
- shalabhc 9y agoBut without giving access, how can you expect passion? :-) Let everyone check it out, the passionate ones will engage more through any channels you have (mailing lists, chat, twitter) and be easy to find, IMO.
- crawfordcomeaux 9y agoI don't disagree with you, though don't necessarily agree, either because I don't know that passionate people are communicative people. I know many passionate people, myself included, who've been known to be rather introverted. After reading some of their comments & the copy on their homepage, the creators of Luna sound like they could be fairly mindful people. I'm betting they're seeking people who enshrine certain values to seed their community with & want to privately establish a relationship with them. I find this approach appealing to my introverted side, as a result. The next mindful step would be to open things up to everyone immediately to allow the ensuing flood of extroverts & introverts alike. This approach seems like it could counter starting off with winner-take-all mechanics in the community's culture. Then again, all I know about the product is from the first bits of text on their site & this post. I didn't know they weren't simply allowing everyone in until this thread. I could be totally off on how they're rolling. If I am, I'll have to take some time to examine my confirmation biases.
- 9y ago
- akavel 9y agoWouldn't it be trouble if I tried to visit you at your office tomorrow? :) Not sure if time (and traffic) will let me, but I'm in the same city, and super interested in your project... would love to talk some... note: not an investor in any way, sorry ;) but I wanted to build something similar in some ways, and now have high hopes that maybe I won't have to, maybe I'll be just able to build on it/extend it! If you're ok, what time would be cool for you?
- wdanilo 9y agoSure, it's a super cool idea. Let's drop me an email to wojciech at luna-lang.org and we set all the details (time / place etc) - we've got a parking place here, but its "hidden" so if you will be driving car, you can park here without problems! :) We are not looking for any investments now but we are looking to collaborate with everyone interested in Luna, so that sounds like a "perfect match" for us! :D
- spuz 9y agoWhat is the largest program written in Luna? How does Luna compare with other mainstream programming languages for complex applications such as compilers, browsers and web applications?
- kustosz 9y agoThe standard library is 3-ish kLOCs (written entirely in Luna) and growing, the biggest use cases we've created so far were around 500 LOCs. Performance-wise, we are letting the GHC compiler infrastructure do most of the heavy lifting. As for the more complex applications, it may be tricky to create a compiler or a web browser in Luna in its current state, but we are constantly working on on improving the performance, with the goal to match Haskell's. Web applications (particularly microservices) are among our main focuses now, so that's entirely within our reach.
- quadcore 9y agoIm just wondering what's the purpose of the language itself. Ideally you would like to use the programming language you want and still have the visualisation stuff.
- shmolyneaux 9y agoVery cool project! What license are you planning on using?
- wdanilo 9y agoWe are considering MIT or Apache v2, what do you recommend?
- spot 9y agoapache2 because of the patent protections.
- delhanty 9y agoStraight question for the uninformed (me): Could you (or anyone else) elaborate on MIT vs Apache V2 and patent protection?
- delhanty 9y agoOK - found this on Quora [1] that gave me some idea. I asked before as googling because there are often very well-informed software legal opinions on HN. [1] https://www.quora.com/Whats-the-different-between-Apache-v2-0-and-MIT-license https://www.quora.com/Whats-the-different-between-Apache-v2-...
- dgreensp 9y agoCan I implement pixel-level video effects with Luna (e.g. warping, time map, segmentation, keying, etc.)?
- wdanilo 9y agoSure! Is webgl good enough for you? If so, I will prepare an example and include it in the official release. If you need more "standard" GPU power, then it will be possible, but a little bit hackish on the beginning (we don't have libraries for it yet and you will need to connect to other language to keep the performance. We will support language interoperability, but in the first reelease it will be hackish. Still if you'll need it, I'll show you how to do it) :)
- dgreensp 9y agoThanks for the reply! So do you have first-class support for video as well as images? It seems like to have fun with video editing in Luna, you'd need to have built-in support for videos an inputs and outputs, and have a way to play the video output on the screen, and maybe scrub through it, and at a minimum be able to run shaders on the "current frame" and export the resulting video out. The next level after that would be being able to load multiple frames into memory at the same time, and being able to do a combination of "offline" and "online" processing with some CPU involvement (e.g. calculating a motion track and storing it, or applying a filter that can't be expressed as a pure shader program). I don't know enough about Luna yet to know what code to do these things would "look" like on the visual side, or come to think of it where the computation is being performed (in the browser?). Much more to learn, but the project looks great, a sort of "holy grail" in a way.
- wdanilo 9y agoHi! Thank you for such great description of the process. In fact I know it well, I originate from the same domain - i was working for few years as FX TD :) You can think of Luna just like about a general purpose programming language. You can define your own types and you can even define how to decode bits from binary files to your structures. The GUI runs in HTML, so you can utilize any html component to display output. Definitely, your use case is doeable, however the amount of libraries currently available is very, very low, so it will need some love :) Did I answered your questions? :)
- amrrs 9y agoWhen you're talking about building a community, I'm wondering how are you going to convince Data Scientists who are pretty much used to R and Python and not any functional programming language, try Luna? Any plans for it? Like a free course on Udemy or any mooc to take this to masses?
- wdanilo 9y agoWe are open to suggestions here. We know that Luna brings a great power to Data Scientists but there have to be a good way to show this power to them. I don't know currently what way would be the best and we've got a little time until we do it. For now, the first milestone for us is to build community around good programmers (including good programmers from the data science field) and later target less technical people. Any suggestions however, are very important to us!
- marmaduke 9y agoI'd be interested in (and have some experience) in bridging Python with other (data-heavy) languages, which would let you pull in a lot of functionality as nodes in your graph, or expose your graph as functions in Python.
- wdanilo 9y agoGreat! I'd like to help make it happen. Please sign to our list and make sure you read mails from spam folder. Let's be in touch after the release, soon. Alternatively, just drop me a line at wojciech at luna-lang.org and let's stay in touch! :)
- crowaycrestcan 9y agoThe power of e.g. matlab for engineering disciplines is in the profound library. The optimized performance of the core language not withstanding, optimizing the library takes many people, often enough graduates, doctorates and professors.
- malberto 9y agoNo gil. Draw your own neural network, pipeline or graphical model in an idiomatic way. If you can display profiling data on top of the code visualization you can go faster toward optimizing the most time consuming parts of your code. For a data scientist all this is gold.
- imhoguy 9y agoOne click deployment example to AWS Lambda or Google Cloud Functions could be killer scenario!
- wdanilo 9y agoThis is what we want to deliver a little bit later. So you could go to our website, click "start", make the graph and everything will be run and scaled automatically for you, delivering you the results. Are we talking about the same functionality? (I'm abstracting over particular hardware provider).
- hustlechris 9y ago1 click deployment to something like golem.network would be even cooler
- kustosz 9y agoInteresting idea! Are you thinking about any specific applications you'd like to deploy there? I'd love to learn more
- deleted 9y ago[deleted]
- bobwaycott 9y agoThis really looks fantastic, and I'd love to give it a spin. I could see this being pretty awesome to both use myself on projects, and with people I spend time with helping them learn to develop serious applications. Looking forward to see where Luna goes. Congrats on a great-looking product!
- wdanilo 9y agoBob I'm happy you like it! We'd love to hear your feedback after your tests :)
- yellowapple 9y ago"we are just before releasing Luna as an Open Source project!" Is there a particular timeline on that? I'd love to see how this is implemented (and - importantly - whether or not this can easily be integrated into other software).
- wdanilo 9y agoWe are right now finishing installers on all platforms, making examples and working on new website. I don't want to set a deadline, but we work hard to make it just "around the corner" and a you can see, we're almost there :)
- agumonkey 9y agoinspirations please ? brett victor ? dataflow / node based modeling ? others ?
- m1sta_ 9y agoI'd love to see unit testing and/or contracts added too. Being able to define a graph, define a requirement for a step, and then outsource development of just that step could be awesome.
- wdanilo 9y agoThis is on our roadmap after the release, but we kindly invite you to help us design and do it the best possible way! :)
- jarym 9y agoNice work, may want to update the copyright on the website - says 2016 still
- wdanilo 9y agoThanks for catching it! We'l be releasing a new website shortly so it will be fixed soon! :)
- mncharity 9y ago> previously running on WebGL and now we base just on HTML, so it will be possible to attach any HTML Just in case anyone else faces this issue, another possibility is to do WebGL-above-HTML two-layer hybrids, with punchouts to see the synchronized HTML. But perhaps not worth the pain for 2D UIs. Hmm. Last year I half-started a quick hack of atom.io with CSS3D in Vive VR. Intended for purescript et al. But the display's angular resolution was painfully low for working with text. It looks like Luna might be an interesting alternative for exploring coding in VR. Also on my infinite todo list are exploring VR direct manipulation of a category-theoretic pushout lattice of <types,ops,laws> theories, and (separately) an interactive editor for string diagrams... Any thoughts on using Luna as a compiler target?
- hutzlibu 9y agoYou said, other languages can't really directly be transformed to graphical luna nodes, can you say why? Because I gave this some thought as well and don't see why not in general, but I don't know how luna works .. or if there are some restrictions I did not encounter yet ..
- wdanilo 9y agoThis is a really good question and to be well covered it needs a really deep answer. I will write a short draft here due to lack of the time, but will be happy to talk more about it after the release. Maybe a blog post would be suitable here, just an idea worth considering by our team :) If you are thinking about visual language you have to think about many constructions that collectively give you user experience, including available basic construction blocks (how looping, branching works etc), structures, lambdas, every language construction, how you give hints to user what is possible and what is wrong and additionally how to do this real 2 way transformation of code and graph. Luna infers types and displays colors according to them. We use algebraic data types, lazy evaluation, pattern matching and purely functional paradigm which suits graph visualization really well. We fine tune performance by allowing lazy data visualisation and many, many more things. I don't know how we can even visualize standard OO abstractions to be usable and pleasant to work in the visual form. It does NOT mean we did not think about it. We did for a long time. Sure you can utilize Luna gui to visualize anything, including python code, but it would be insanely hard to deliver similar functionalities to what Luna offers out of the box (which is available by careful design of both representations). I feel thin answer is very vague, but I hope I put a little light on how complex this task is. Did I answered your question (at last partially)?
- eiffel31 9y agoHow do you cope with syntax errors ? e.g. saving garbage tex as source code ? And reversely, can you have visual informations that can't be pretty-printed as text easily? (e.g. nodes without names) How do you expect the visual syntax to integrate with VCSs? Do you have an algorithm and UI to present visual conflicts? How is the layout after a Git merge? Cheers
- niutech 9y agoCześć Wojtek! Congratulations on raising funds for your very promising project. I am happy that such smart concepts are being developed in Kraków, Poland. Two questions: How does Luna compare with flow-based programming model implementations such as Apache NiFi and its Expression Language or NoFlo? And do you find Luna appropriate for Internet of Things real-time data processing?