HNHacker News
TopNewBestAskShowJobs

wdanilo

546 karma · joined October 5, 2014

Founder @ enso.org | Y Combinator S21 | Haskeller | Forbes 30 Under 30

https://www.linkedin.com/in/wojciechdanilo https://twitter.com/wojciech_danilo

submissionscomments
wdanilo··on Luna 1.0 Beta is out
Thank you! <3
wdanilo··on Luna 1.0 Beta is out
Luna is general purpose so it would be possible right now to rewrite the compiler from Haskell to Luna, but there is no plan for it simply because it would give us no benefits at the current stage. I agree that it should be done in long-term vision, just because it is "pure" and "beautiful", but do not expect it to happen anytime soon.
wdanilo··on Luna 1.0 Beta is out
@e3b0c The GUI lives here: https://github.com/luna/luna-studio. It contains code which speaks with our compiler and infrastructure and we will probably extract the barebone GUI to separate repository soon. Anyway, you can play with it and we do want to support such use cases, because it will make the interface even better and would bring benefits to both Luna and your low-level system :)
wdanilo··on Luna 1.0 Beta is out
@executesorder66 I am sorry if you feel we don't respect our user's privacy. We do and we are always searching for the best solution. We did not make the field optional, because we were sure it will not be a problem when testing the beta product. We will release soon a fix which would allow you to progress without providing the mail. The anonymous usage statistics will be optional and disabled by default when Luna will hit the stable release. Does it solve your issue?
wdanilo··on Luna 1.0 Beta is out
@netmask, I do not understand your question, could you please explain it better? :)
wdanilo··on Luna 1.0 Beta is out
I love dogescript (https://github.com/dogescript/dogescript)
wdanilo··on Luna 1.0 Beta is out
@marmaduke that is definitely something you can do in a library. Luna provides two backends - a runtime interpreter and native code generator (the later is not yet available in this release). Both have access to the most primitive OS APIs. If none of our standard libraries provide what you need, you can easily extend them either by writing it from scratch in Luna or connecting to Haskell libraries. We are working to allow you to connect to libraries in other programming languages as well and allow you to do it in the simplest possible form. If you have any further questions - how to do it, how it works, write to us using our forum: https://discuss.luna-lang.org/

We would love to help you create what you need!

wdanilo··on Luna 1.0 Beta is out
@cturner I'm sorry that you have bad experience with installation so far. Please report your issue to our bugtracker and provide as much information as possible. Windows support needs much love and we will improve it as fast as we can. https://github.com/luna/luna-manager/issues
wdanilo··on Luna 1.0 Beta is out
@VladimirGolovin I'm sorry that you have bad experience with installation so far. Please report your issue to our bugtracker and provide as much information as possible. Windows support needs much love and we will improve it as fast as we can. https://github.com/luna/luna-manager/issues
wdanilo··on Luna 1.0 Beta is out
@alexchamberlain Luna is not strongly connected to Atom. In fact, Luna gui runs in HTML and you are able to run it in your browser without Atom right now. However, we do not officially support it. We have chosen Atom just to bring a decent text editor to Luna Studio - thats it. We are planning to release web-based Luna version with some kind of web-text-editor in the future. It is not our priority right now (we want to focus on improving performance and delivering more rich data manipulators), however if you think you could help us with it, we would love to support it as much as we can!

What do you think about it?

wdanilo··on Luna 1.0 Beta is out
@everdev, thank you <3

Luna is a visual language. It is important for us. How it looks like, how it behaves, how you feel with it, how fast you can work in it - these are the things which are most important when designing Luna. In fact, because of these things we have designed a new language instead of using existing one - then we would have to sacrifice some visual elements / behaviors and we do not want to do it.

We are small team, please support us as much as you can! If you want to see Luna succeed, help us do it by contributing to the project - both ideas as well as help with its development are very welcome! And I promise, we will do what we can to make Luna the most powerful and beautiful visual language ever created :)

wdanilo··on Luna 1.0 Beta is out
@bane, thank you for your comment. It is very important to us to work with people who already have experience with visual languages, so please, stay in touch with us and use our forum / chat to tell us about your ideas! We would love to help you create things with Luna!

Your sentence about visual languages that tend to live in a very niche places is a VERY important topic to me. In fact I think I've got a very crisp answer why it is happening:

1) Visual languages are mostly not open and free.

2) Most visual languages are designed for a very specific domain use cases (like sound processing, 3d graphics, etc). People are afraid of limitations! Unless I'm 100% sure that I'm working exactly in this niche, if I want to process data / create software I would never choose a domain specific visual language, because the probability I'll hit its limitations are too high to take the risk. This is why we have developed Luna as a real programming language, so literally if you are able to do anything in C, you should be able to do it in Luna!

3) Almost every visual language is designed just as components you can connect. That's it, they are not tightly integrated with textual representation. This often makes working in these languages tedious - you have to create many nodes to achive what you can within a single line. In Luna, however, you can use any expression to create node. You can for example create node `(2 + _).sqrt`. You will get a node, which will allow you to connect one input and send data to the missing place in expression. It allows you to keep your graph clean and small.

Moreover, we have described in detail why current visual languages fail to succeed in our blog post here: https://medium.com/@luna_language/luna-the-visual-way-to-cre...

What do you think about it?

wdanilo··on Luna 1.0 Beta is out
@bsaul, oh I understand. I think we are not there yet. We do not have many ready use cases built in Luna. We will be working with our community to use Luna in real projects / create interesting examples. Then we would build a video showing Luna possibilities.

Right now think about Luna like about a new programming language with rich, visual representation and a very limited set of available libraries. If you are processing data that could be visualized or you are inspecting data, looking for the best way to modify / understand it - Luna could be the tool you are looking for.

I strongly encourage you to play with Luna, see example demo scenes and try to create something from your field of expertise. We would love to help you do it! Use our chat / forum if you have questions / problems. I would be more than happy to later create a video showing your system in work to demonstrate what Luna is suitable for! :)

What do you think about it? :)

wdanilo··on Luna 1.0 Beta is out
@seanmcdirmid We are not yet there, but we develop Luna to target EXACTLY these use cases - program modification AND very direct data manipulation. We see Luna as an unified platform for building rich DSL's. An example of such rich DSL is what Bret Victor demonstrated in his talk. You can read more about rich DSL's and what Luna is meant to be in our blog post here: https://medium.com/@luna_language/luna-the-visual-way-to-cre...

Regarding your thoughts, Luna is a fusion of both approaches. When you create and connect nodes, you are manipulating the program structure - you define how data flows between components. However, every node has the ability to display an interactive results visualization and input data widgets. Basically these visualizations and widgets allow you to work directly with data – you can create canvas visualization which let you paint on it, you can create a 3D scene visualization which would allow you to not only inspect 3D scenes but also modify them etc. These visualizations can be displayed below nodes or can be detached to be separate windows and are defined as HTML/js snippets.

Does it make sense to you?

wdanilo··on Luna 1.0 Beta is out
@anigbrowl I do not know flowstone DSP, but I see you were thinking much about GUI / nodes design. This is one of the topics I'm passionate about and I we want to make Luna the most powerful visual language available. I would love to chat with you about node design and your ideas. If you think it's interesting, I've just created a topic on our forum for this – I would love to read and discuss your thoughts there! https://discuss.luna-lang.org/t/nodes-design-discussion/69
wdanilo··on Luna 1.0 Beta is out
arnioxux, thanks for sharing your thoughts here! I completely agree, that double representation is the killing feature of Luna. Personally, I do not believe we can progress in the domain of software design by removing the textual form. Because of that, we have designed Luna to be textual-visual, so tightly integrated, it is just one thing. For example, you can write any expression above our nodes, let it be `2+2` or `2+` (a function which will let you connect the missing argument to your node!).

However, I do not agree with your point that people don't want to code with mouse. Actually, connecting high level components visually, tweaking their parameters (with sliders, color choosers and other widgets) and observing how it affects the result you got is MUCH faster than writing code. There is of course some "base level". If you code something low-level it is much better to use code then. Where this "base level" is, depends on you and your preferences.

I would love to hear more from you after you try Luna and try to create something more complex in it! :)

wdanilo··on Luna 1.0 Beta is out
If we think about a programming language then it's universe is what a program can actually do. Luna is a general purpose, real programming language. If you are able to code something in C, you should be able to do it in Luna. From this perspective, Luna is "limitless". In contrast to DSLs or almost every other visual programming language Luna is not limited by it's design. However, if such sentence is a real issue for you or other people, we would change it! What do you think? :)
wdanilo··on Luna 1.0 Beta is out
Samuell, please note that we are shipping Luna together with Atom.io app. Look at `.luna/config/luna-studio/1.0/atom/packages/luna-studio/lib`. The main Luna Studio lib is around 35mb on my computer. There is also a compiler and some small plugins. Everything else are npm's node_modules and Atoms ecosystem. We will distribute Luna Studio without Atom in the future, then it will be super-lightweight.

Does it make sense to you?

wdanilo··on Luna 1.0 Beta is out
The installer is 170mb after unpacking - it is just an electron app (for providing you GUI) connected to our installation manager. The command line installation managar is very lightweight (around 2mb) - we will provide it as an alternative to the graphical one. We will try to make the electron app smaller. The installer downloads Luna Studio - The graphical environment and Luna compiler and installs it on your computer (according to our docs: https://luna-lang.gitbooks.io/docs/content/installation.html). If you want to uninstall it at the moment, just delete the ~/.luna folder - that's it. We will provide option for it in the next installer releases. What spawned processes are you talking about? We spawn processes for our typechecker and other services (like undo-redo manager), but they should be killed if you exit Luna ... until you are on Windows. When you are on Windows the processes are registered globally in order not to ask for root password everytime you start Luna Studio. We would love to chat with you about how can we improve it, Windows support needs the biggest love right now.
wdanilo··on Luna 1.0 Beta is out
@kabes there is a BIG difference between Luna and NoFlow. Luna is purely functional, immutable, lazy, has double representation you can switch any time. NoFlow is visual layer over imperative, mutable JS without ability to swithc reprs. These features dictate how easy it is to do something in the language. You cannot judge a language by trying another slightly similar, its like telling "I don't like Python. I've been programming with Cobol and it was awful. Python is also textual so it's a no-go for me". I strongly encourage you to try Luna and I would be more than happy to discuss your thoughts about it. In fact, there are many people who prefer working in Luna's visual environment when processing data, discovering what is inside data and building high-level components. If you're building something low-level it is sometimes easier to do it in text - you can then just write Luna code instead and use nodes for high level data processing.

Did I address your concerns?

wdanilo··on Luna 1.0 Beta is out
@rayalez thank you for your feedback! It is very interesting for me personally. I would not have thought that video tutorials could be better than interactive ones, but it is probably because of my strong personal preferences towards examples / interactive tutorials. On our short roadmap I see new demo scenes only, but we will talk internally about video tutorials tomorrow. If you think you would like to help us with them – by providing ideas or just helping us create them, we would be more than interested in collaborating with you! :)
wdanilo··on Luna 1.0 Beta is out
@Stratoscope thank you for such a detailed comment. We are fully aware of the topics you've mentioned. I'll try to cover all your questions in the following points: 1. Screenshot contrasts – we will be working on providing setting desired contrast in Luna just by selecting a predefined one from a drop-down menu. We are not there yet, because to make it working properly it is a little tricky thing. However, please keep in mind that the visual part of Luna is one of the most important parts of the whole projects to us (and for me personally). Right now we provide a "default" dark setting, that is suitable for working long hours in Luna without making your eyes tired (please note that we do not use gray, we use red-ish color scheme there).

2. We know that such settings are not the best for everyone, especially for developers older than about 40 years. We would our best to provide appropriate settings, so you can either increase the contrast or change the theme to white one (or write your custom theme from scratch). In fact, if you navigate right now to our theme settings you can already see some contrast settings. They do not work properly yet, but you can see that we are slowly working in that direction. However, we do not want to just "increase the contrast". There is a lot of people who prefer lower contrast, as we ship right now. We want to do it the right way, so you will have control and will be able to easily fine tune the GUI to your preferences.

3.I've read the research you mention. It states in particular, that when your irises are more closed, it is much easier for you to track corners and edges, however your eyes are getting tired easier. Working with white theme a whole day could be a pain, so we started with default dark theme. It is also affected by our personal preference, but as I described above, it is VERY important to us to make Luna easy to work with for everybody in all conditions, which also includes white, high-contrast themes. Please, keep in mind that it will need some time to develop. We are still a small team and we've got some high-priority things on our checklist right now, like improving the typechecking performance.

4. Our docs provide white PDF, but also the HTML version provides a white theme - just click on the "A" latter icon on top of the docs and switch to the light theme there! :)

5. Proportional fonts are a little tricky by definition. The question is - if you really want to use them when writing code. What I mean is that what you write above ndoes could be any code snippet. It could be just a function name, but could also be any expression like `2+2`. We are currently synchronizing the text editor font with nodes font, so if you use monospaced font in your editor, the same font will appear above the nodes. Do you think it is a wrong approach? If so, how would you change it? The best way to tell us about it is to create a github issue / discussion about it.

6. As I described above, we are small team of developers on a mission to bring something incredible for data processing. We are very open for any improvement suggestions. Any suggestsion regarding how the GUI looks like and how readible it is, is very, very important to us. This topic is tricky, because we want to provide flexibility over how the GUI looks like. We would be also very thankful for any help on helping us improve it. So if you tell more about what you think on github issues, we can continue the disusion there. We will tell you in detail what are our ideas and we could then choose the one that is the best (allowing everyone to set up the theme for hes own preferences).

Thank you once again and im looking forward to hearing from you! :)

wdanilo··on Luna 1.0 Beta is out
@Vesnica, we would address this issue tomorrow (it's 2 am here and our team is slowly falling asleep!). I've created an issue for you, so you can easily track its progress here: https://github.com/luna/luna-manager/issues/111 :)
wdanilo··on Luna 1.0 Beta is out
@serverholic, we are happy to hear that! Please share your thoughts with us after you play with Luna! :)
wdanilo··on Luna 1.0 Beta is out
@garyclarke27 if you are interested in helping us create such binding, we would love to support your effort as much as we can. Just tell us about it using our chat / forum (http://chat.luna-lang.org) or (http://discuss.luna-lang.org) and we will figure out the best way to make it happen! :) The basic building blocks are already there!
wdanilo··on Luna 1.0 Beta is out
@bsaul, video tutorials are a very interesting idea. In the first release, however, we have incorporated few toy-projects and interactive tutorial, which guides you step by step inside the product. Do you think video tutorials are better to understand / follow than examples or interactive tutorials ?
wdanilo··on Luna 1.0 Beta is out
@moondoge, if you don't want to provide your mail, just write anything in this field, we do NOT validate it in any way. However, we would be very thankful if you provide your real mail address, so we can track how Luna is used and improve the experience. Every data we collect is described here: http://www.luna-lang.org/alpha-data.html . We try to collect only insensitive data, that tell us how Luna is used and how well it performs.
wdanilo··on Luna 1.0 Beta is out
You are right, I definitely wanted to use the "inconvenience" word here, but it seems my dictionary knows better what is happening :D
wdanilo··on Luna 1.0 Beta is out
thank you!
wdanilo··on Luna 1.0 Beta is out
I'm happy that you are already familiar a little bit with Luna code! Now if you want, you can contribute to the project easily! :D

Answering a little more serious, the installation path on any Unix system is described in our documentation here: https://luna-lang.gitbooks.io/docs/content/installation.html :)

← PreviousPage 3 of 7Next →