Live data from Hacker News

Show HN: DeepUI Programming Studio – A different approach to programming

deepui.io

81–90 of 136 posts

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#81
post #71
post #39

Earlier quoted context omitted.

Linux is a made-up name.

No, Linus created a piece of software and called it Linux. It is his creation and he named it.

Funnily enough, he didn't :)

Initially, Torvalds wanted to call the kernel he developed Freax (a combination of "free", "freak", and the letter X to indicate that it is a Unix-like system), but his friend Ari Lemmke, who administered the FTP server where the kernel was first hosted for download, named Torvalds's directory linux.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#82
post #40

Earlier quoted context omitted.

Your comment attacked an entire user base, their collective crime being that they don't share your particular (weak) moral values about the distribution of software intended for use on the Linux desktop. Worst of all, you now insinuate that a problem suffered by one author of one application that is used on the GNU/Linux desktop is a problem for all. Not everybody can "pay for" (support monetarily) free software. I p…

Because users like yourself feel entitled to have access to the work of others without regard how we manage to pay our bills. All nice and good when it is possible to sell books, consulting services or hide the software behind a SaaS pay-wall that helps to pay the bills, which is absolutely not the case for desktop software unless it is web based applications behind that pay-wall. Thus preventing any kind of long ter…

Where is this bitterness and hostility coming from? How do you know what kind of user I am, and what kinds of works I may or may not be personally responsible for within the free software community?

I happen to know the struggle you speak of first-hand. I paid my bills early on in my journey by teaching courses related to the subject matter my project touched upon. Free software has _no opinions_ on the adequate income model for developers who involve themselves in its world. The beauty of free software is that it is agnostic to your kind of ethics-mongering, which is why I have chosen to be so intimately involved in it myself.

We all need to make a living, and I don't have any presumptions over how someone chooses to do it. However, I think you would be better to not force your particular difficulties and decisions on this front on the entire GNU/Linux user base.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#83
post #40

Earlier quoted context omitted.

Your comment attacked an entire user base, their collective crime being that they don't share your particular (weak) moral values about the distribution of software intended for use on the Linux desktop. Worst of all, you now insinuate that a problem suffered by one author of one application that is used on the GNU/Linux desktop is a problem for all. Not everybody can "pay for" (support monetarily) free software. I p…

Because users like yourself feel entitled to have access to the work of others without regard how we manage to pay our bills. All nice and good when it is possible to sell books, consulting services or hide the software behind a SaaS pay-wall that helps to pay the bills, which is absolutely not the case for desktop software unless it is web based applications behind that pay-wall. Thus preventing any kind of long ter…

Why should one feel entitled to use software legally available for free? Do you feel guilty for using HN without paying YC for it? What a weird concept.

Yes, there's a lack of money in Free Software. Yes, there are consequences from that, like the abandonment of certain projects. That doesn't mean non-paying users are somehow guilty of something, that's a poisonous attitude.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#84
post #20

This seems quite similar to LabView. So I imagine it'll have similar pros and cons: LabView is great for putting together quick prototypes for e.g data collection or visualization, but it quickly becomes unmanageable as the complexity increases; you need to 'tidy up' the placement of the various operators or it ends up being a rat's nest.

No, they explain that LabVIEW and other visual languages are just different ways of representing the code. The idea here, I think, is that there's far greater coupling between the output of the program and the program itself. It's similar to some of Bret Victor's ideas: https://www.youtube.com/watch?v=PUv66718DII

I'd like to incorporate this coupling idea into my own visual dataflow language (http://web.onetel.com/~hibou/fmj/FMJ.html), but haven't yet decided how to implement it. My approach has been to design the language from the bottom-up, so that simple programs can be simply drawn, and there are higher level programming constructs which simplify more complex code, avoiding the complexity problem (the Deutsch limit) you've seen with LabVIEW.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#85
post #20

This seems quite similar to LabView. So I imagine it'll have similar pros and cons: LabView is great for putting together quick prototypes for e.g data collection or visualization, but it quickly becomes unmanageable as the complexity increases; you need to 'tidy up' the placement of the various operators or it ends up being a rat's nest.

If it were "only" for the spatial relationship between "variables" and logic, LabVIEW wouldn't be such a pain to use.

What's really annoying about LabVIEW is, that its programming paradigm is kind-of functional, but it doesn't go the full effort and forces you to do things, which one kind of expects are abstracted away, and things become a mess. Let me explain my top pet peeve:

In LabVIEW the main concept are so called VIs: Virtual Instruments. A VI consists of a number of inputs called "Controls", some logic in between and outputs called "Indicators". Inside a VI you have the full range of programming primitives like loops (which interestingly enough can also work like list comprehensions through automatic indexing, but I digress) "variables" (in the form of data flow wires) but no functions. VIs are what you use as function. And if everything happens through VI inputs and outputs and you don't use global variables, feedback nodes or similar impure stuff it's pretty much functional.

Somewhere your program has to start, i.e. there must be some kind of "main" VI. But VIs mostly behave like functions, so if you hit "run" for the main VI it will just follow its data flow until every input has reached what it's wired to and all subVI instances have executed and thats it. That's perfect for a single shot program, like you'd have on the command line or executing to serve a HTTP request, however it's kind of the opposite of what you want for an interactive program that has a visual UI. Sure there is that "run continuously" mode which will just loop VI execution. But all what it does is re-evaluate and execute each and every input and subVI again and again and again. If you're using LabVIEW in a laboratory setting, which is its main use, you probably have some sensors, actuators or even stuff like lasers controlled by this. And then you do not want to have then execute whatever command again and again. There is a solution to this of course, which are called "event structures". Essentially its like a large "switch" statement, that will dispatch exactly once for one event. Of course this caters only toward input manipulation events and some application execution state events. And you can not use it in "run continuously" mode without invoking all the other caveats. So what you do is, you place it in a while loop. How do you stop the while loop? Eh, splat a "STOP" button somewhere on the Front Panel (and don't forget to add a "Value Changed" event handler for the stop button, otherwise you'll click STOP without effect until you manipulate something else).

And then in the Event structure you have to meticulously wire all the data flows not touched by whatever the event does through so called "shift registers" in the while loop to keep the values around. If you forget or miswire one data flow you have a bug.

What seriously annoys me about that is, that in principle the whole dataflow paradigm of LabVIEW would allow for immediate implementation of FRP (functional reactive programming): re-evaluation and execution of only those parts of the program that are affected by the change.

The other thing that seriously annoys me is how poorly polymorphism is implemented in LabVIEW and how limited dynamic typing is. I'd not even go as far as saying that LabVIEW does type inference, although at least for primitive types it covers a surprisingly large set of use cases. Connect numeric type arrays to an arithmetic operation and it does it element wise. Connect a single element numeric type and an array and it again does things element wise. Have an all numeric cluster (LabVIEW equivalent of a struct) and you can do element wise operations just as well. So if we were to look at this like Haskell there's a certain type class to which numeric element arrays, clusters and single elements belong and it's actually great and a huge workload saver! Unfortunately you can't expose that on the inputs/outputs of a VI. VI inputs/outputs always have to be of a specific type. Oh yes, there are variants, but they're about as foolproof to use as `void*` in C/C++. So the proper way to implement polymorphism in LabVIEW is to manually create variants of your VI for each and every combination of types you'd like to input and coalesce them in a polymorphic VI. And since you have to do it with the mouse and VIs are stored in binary this is not something you can easily script away. Gaaahhh…

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#87

Earlier quoted context omitted.

Because with open source software: - You can run the program as you wish, for any purpose. - You can study how the program works, and change it so it does what you want. - You can redistribute unmodified copies without fear of the publiher suing you. - You can distribute copies of your modified versions to others without fear of the publiher suing you. Who wouldn't want to have all that in a tool that will be the bas…

I understand when we're talking about crypto or security. You want your data to be safe. You want to know that it is what they're selling. But this? A guy is building something that might be cool one day. One should he make his engine/IDE opensource? He can but doesn't have to. I don't see people screaming why SublimeText, AbletonLive, Photoshop or many other tools aren't open source. There is still that thing called…

Even through I love open-source, I can't argue this point.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#88
post #76

Is it just me? Or does this look 10 times geekier than writing actual code? I think the project is trying to be a user friendly way of writing programs, and I think that's an awesome idea, but the actual product looks otherwise. I finished the video and still have no idea what the hell was going on through out the entire video.

I think they pursue a similar approach to programming or implementing programming logic as DRAKON. If you believe their website it has been used in the Russian Space Program. But I have to agree with you, this DeepUI looks a PITA to work with in comparison to DRAKON. http://drakon-editor.sourceforge.net/

Visual languages are very diverse. Drakon and DeepUI have very little in common beside both being visual.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#89

Earlier quoted context omitted.

I actually disagree about the fullscreen video. Why would I ever want to watch video not fullscreen? Vimeo also behaves like this on mobile and it's far superior to Youtube, which often totally hides the fullscreen button.

>Why would I ever want to watch video not fullscreen? Because you're doing other stuff while listening to the audio. >Youtube, which often totally hides the fullscreen button. It's in the bottom right.

>It's in the bottom right.

Not in OP's video. There's literally no way to escape the full-screen without pressing the escape key. You can't even double-click. I'm actually impressed by how user-hostile that video is.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#90

Some feedback on the website: IMO, it's obnoxious and disrespectful to play full screen video like you're doing. That just made me close it immediately and leave after reading through the text. Considering the complexity involved in developing a an advanced IDE or similar, have you considered publishing an open source community version? Similar to JetBrain with IntelliJ. They seem to be doing great. Since we're on th…

I actually disagree about the fullscreen video. Why would I ever want to watch video not fullscreen? Vimeo also behaves like this on mobile and it's far superior to Youtube, which often totally hides the fullscreen button.

> Why would I ever want to watch video not fullscreen?

Because the way they are doing it there is no minimize button. A less technically inclined person may not know that they have to press Escape (and now, it seems, some laptops have no hardware Esc button at all). In addition, the first time I played it, for some reason, Esc did not work and I had to Alt-Tab in order to leave the video.

Post reply on HN