• Programming - WAYWO - March 2013
    1,001 replies, posted
[QUOTE=gparent;39809719]Tamschi is literally living proof that GUIs make your life needlessly harder. He wouldn't have needed to post here if he were using CLI because "--all" is the first option that appears when you type "git push --help". One thing I've noticed is that the people who say git is complicated are usually GUI users. Once you learn what you're doing instead of taking wild guesses at a GUI frontend, that's when the simplicity of git really shines. At that point you realize that the GUI abstractions were hurting you, not helping. EDIT: If you want to use a GUI, go for it, but the real reason is that people are too lazy to type and learn what they're doing. When you take efficiency into account, GUI dies a rapid death.[/QUOTE] It's true for Git because the GUIs are bad. A very good GUI like TortoiseHg, Visual Studio or the Windows 8 Task-Manager can present much more information much faster than a CLI could ever hope to, without being being disorganized or hiding information. And it's not that I'm too lazy or don't know what I'm doing. If I use TortoiseHg I have to click about twice for 90% of what I do. That's faster than to use the console no matter how you look at it. (FYI, TortoiseHg has a console integrated into the main interface, so you can always see what exactly it's doing behind the scenes. The only thing it adds is a list of files that are updated and a bit of more progress indication, everything else is already visible from the GUI alone.)
[QUOTE=gparent;39809719]Tamschi is literally living proof that GUIs make your life needlessly harder. He wouldn't have needed to post here if he were using CLI because "--all" is the first option that appears when you type "git push --help". One thing I've noticed is that the people who say git is complicated are usually GUI users. Once you learn what you're doing instead of taking wild guesses at a GUI frontend, that's when the simplicity of git really shines. At that point you realize that the GUI abstractions were hurting you, not helping. EDIT: If you want to use a GUI, go for it, but the real reason is that people are too lazy to type and learn what they're doing. When you take efficiency into account, GUI dies a rapid death.[/QUOTE] Evidently I'm not getting the core concept either way. However, isn't the GUI a superset of the commandline? Surely there is nothing a properly designed GUI can't do that commandline can (hell, you can simply have a passthrough to the commandline if you really wanted to). Knowing nothing about GIT GUIs, doesn't your argument mean that they are simply designed poorly? EDIT: Conceptually ninja'd
[QUOTE=Map in a box;39809465]You mean this one? [url]https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking[/url] [editline]5th March 2013[/editline] [sub][sub][sub]don't hurt me.[/sub][/sub][/sub][/QUOTE] Someone had to do it. It's probably the best resource around.
[QUOTE=Mega1mpact;39809781]It takes seconds to make a commit and push it to GitHub.[/QUOTE] Takes seconds regardless of what interface you use. What about non-trivial cases? [QUOTE=Tamschi;39810032]If I use TortoiseHg I have to click about twice for 90% of what I do. That's faster than to use the console no matter how you look at it.[/QUOTE] See above. Unless you have an extremely slow typing speed, trivial operations in GUI are trivial operations on CLI as well. So yes it entirely depends how you look at it. Do you have any actual examples, or is this all just wishful thinking? I've tried both approaches, I know enough CLI to get by, and so far I've literally done -nothing- that was faster from a GUI. I'd really like to know what is it that people are finding slow. [QUOTE=redx475;39810590]Someone had to do it. It's probably the best resource around.[/QUOTE] It's pretty good, but at some point you need to gain a better understanding than "this is how valve did it"
[QUOTE=Tamschi;39810032]It's true for Git because the GUIs are bad. A very good GUI like TortoiseHg, Visual Studio or the Windows 8 Task-Manager can present much more information much faster than a CLI could ever hope to, without being being disorganized or hiding information. And it's not that I'm too lazy or don't know what I'm doing. If I use TortoiseHg I have to click about twice for 90% of what I do. That's faster than to use the console no matter how you look at it. (FYI, TortoiseHg has a console integrated into the main interface, so you can always see what exactly it's doing behind the scenes. The only thing it adds is a list of files that are updated and a bit of more progress indication, everything else is already visible from the GUI alone.)[/QUOTE] [QUOTE=DoctorSalt;39810035]Evidently I'm not getting the core concept either way. However, isn't the GUI a superset of the commandline? Surely there is nothing a properly designed GUI can't do that commandline can (hell, you can simply have a passthrough to the commandline if you really wanted to). Knowing nothing about GIT GUIs, doesn't your argument mean that they are simply designed poorly? EDIT: Conceptually ninja'd[/QUOTE] Basically, the whole issue is that many git commands take a whole bunch of flags and arguments: Pushing three specific branches from a command line interface requires typing in three branch names, but in a GUI you might have to subject the user to a checklist of all the branches in the repository. And additionally some extra settings. Because if this is not done, some action that will eventually be critical to a GUI user simply cannot be accomplished using the GUI. Ie. the GUIs are nice but with Git they can only really work as a complement. The command-line interface is, in the end, moderately simple, and understanding it means that you'll be able to use any GUI more effectively as well. And if you can manage to only use the GUI most of the time, you should still know what to do when you find yourself in one of the more absurd situations Git provides you with.
[URL="http://docs.unity3d.com/Documentation/Manual/Example-CreatingaBillboardPlane.html"][IMG]http://docs.unity3d.com/Documentation/Images/manual/Example-CreatingaBillboardPlane-0.jpg[/IMG][/URL] What the... This is from Unity's official manual :V
[QUOTE=BlkDucky;39804751]Your camera deadzone is far, far too big.[/QUOTE] I'll make it smaller. I've been focusing thus far on ironing out bugs in the collision engine, which has been difficult :v:
[media]http://www.youtube.com/watch?v=eGI9TVb-iOg[/media] if you prefer to do cocaine it's your own business the orange rectangles parented to the blue square are sensor bodies and don't collide with anything, they're used to detect whether my entity is touching the floor/walls so i can handle movement/jumping/wall jumping properly.
[QUOTE=gparent;39810799]Takes seconds regardless of what interface you use. What about non-trivial cases? See above. Unless you have an extremely slow typing speed, trivial operations in GUI are trivial operations on CLI as well. So yes it entirely depends how you look at it. Do you have any actual examples, or is this all just wishful thinking? I've tried both approaches, I know enough CLI to get by, and so far I've literally done -nothing- that was faster from a GUI. I'd really like to know what is it that people are finding slow.[/QUOTE] Yes, I type a bit slow, but that's not the problem here. The problem is what I have to do around the core commands that the GUI takes care of for me: [table="width: 500, class: grid, align: left"] [tr] [td]Action[/td] [td]GUI[/td] [td]CLI[/td] [/tr] [tr] [td]Switch to repository[/td] [td]Double-click: There's a panel that lists all my repositories on the computer, hierarchically. Click: If the repository is already open in another tab.[/td] [td]Open the folder in the explorer, shift-rightclick, click on open command line here or Win+R, type cmd, enter, cd to the repository or Use the GUI's command line or the terminal context menu shortcut[/td] [/tr] [tr] [td]Show commit log[/td] [td]Nothing: It's already there, always. The log is coloured by branch and tags, branch heads and bookmarks are clearly visible.[/td] [td]Type hg log | more or hg log -G | more. The original log has some colours, but they are lost in more. Please correct me if there's a better way.[/td] [/tr] [tr] [td]List changed files in working directory[/td] [td]Click on working directory node. [/td] [td]hg status[/td] [/tr] [tr] [td]Add files[/td] [td]Click twice: It asks when an untracked file is selected for the commit, selecting all files is the first click. or Right-click on selected file, click on Add.[/td] [td]hg add, twice if I want a preview[/td] [/tr] [tr] [td]Diff[/td] [td]Click on changeset or working directory node (if not already open), click on file: There are two possible views, one that shows the full file and one that shows changes and the lines around them (default).[/td] [td]hg diff (-r revision) file It's about as good as the other one, but I have to find the file first.[/td] [/tr] [tr] [td]Commit[/td] [td]Click on commit tab, click on commit message area, enter message, strg+enter Files can be checked or unchecked for a commit beforehand. The commit tab stays open.[/td] [td]hg ci -m message Files can be selected with a pattern.[/td] [/tr] [tr] [td]Rollback/Undo[/td] [td]strg+u[/td] [td]hg rollback[/td] [/tr] [tr] [td]Revert file[/td] [td]Right-click on changed file (or select more than one), click on revert, click to confirm[/td] [td]hg revert file for each file or with pattern (twice to get a preview)[/td] I have to list the changed files first, if I don't know exactly which one I want.[/tr] [tr] [td]Update to revision[/td] [td]Right-click on revision, click on update, click or enter to confirm or change options first[/td] [td]hg up -r revision I have to list the revisions first to know which one I want.[/td] [/tr] [tr] [td]Copy code and paste into commit message[/td] [td]Default GUI behaviour, the panels are next to each other.[/td] [td]Open file in different editor or copy from console, which is not user-friendly even with the faster edit mode.[/td] [/tr] [/table] [editline]6th March 2013[/editline] [QUOTE=esalaka;39811400][...] And if you can manage to only use the GUI most of the time, you should still know what to do when you find yourself in one of [B]the more absurd situations Git provides you with[/B].[/QUOTE] What do you mean, exactly? I don't know much Git so I don't know about anything that would absolutely not work in a GUI.
[QUOTE=Tamschi;39812332]Yes, I type a bit slow, but that's not the problem here. The problem is what I have to do around the core commands that the GUI takes care of for me: --snip-- [editline]6th March 2013[/editline] What do you mean, exactly? I don't know much Git so I don't know about anything that would absolutely not work in a GUI.[/QUOTE] In a GUI-centric environment (windows) with a neglected shell (cmd) you are bound to prefer the GUI. When the CLI is a first class citizen (bash in termite(tm) being alt+enter away at all times) and you can organize your workspace in a few keystrokes (tiling WM) you can decide which panels are where and what they show. Just taking the log as an example, I would just open up two terminals, one of which is always displaying the log. Also, you should probably be using less rather than more as your pager (less is more and all that), which has the -R option to output colored ansi sequences (to get this option globally you can export LESS="-R" if you are on Linux). TL;DR Windows is a GUI operating system so you end up comparing apples to oranges.
This is what I did a while back :) toy car controlled by Wifi via PC or Android [video=youtube;BBWMjAR1V6k]http://www.youtube.com/watch?v=BBWMjAR1V6k[/video] Also, a picture of a game I just finished :D [img]http://s11.postimage.org/grwhkpw81/image.png[/img]
Did something semi-interesting. [csharp]repeatN = function [Number n, CodeBlock block] { for {i = 0}{i < n}{i = i + 1} block; }; repeat5 = repeatN 5; repeat5 { printLine i; }[/csharp] This prints [code]0 1 2 3 4[/code] Should that work or not?
[QUOTE=Darwin226;39817368]Did something semi-interesting. [csharp]repeatN = function [Number n, CodeBlock block] { for {i = 0}{i < n}{i = i + 1} block; }; repeat5 = repeatN 5; repeat5 { printLine i; }[/csharp] This prints [code]0 1 2 3 4[/code] Should that work or not?[/QUOTE] What language is that?
[QUOTE=HeatPipe;39818691]What language is that?[/QUOTE] I think you meant to ask if this was source or if I just ripped the operators from source :D
[QUOTE=Darwin226;39819136]I think you meant to ask if this was source or if I just ripped the operators from source :D[/QUOTE] Dear god what have we done...
[QUOTE=Darwin226;39819136]I think you meant to ask if this was source or if I just ripped the operators from source :D[/QUOTE] I think this is C++ but syntax (yeah the f*ckin operators) dont make sense :D Well thanks for blowing my mind for today, much appreciated.
[QUOTE=HeatPipe;39819335]operators) dont make sense :D[/QUOTE] lol [editline]6th March 2013[/editline] and how exactly
[QUOTE=Tamschi;39812332]Yes, I type a bit slow, but that's not the problem here. The problem is what I have to do around the core commands that the GUI takes care of for me:[/QUOTE] I really think it's down to typing speed because other than a few nitpicks there's really nothing I can see in your list that takes longer in CLI than GUI. Just switching from the keyboard to the mouse takes longer than some of the commands you show as "longer". [QUOTE=Rayjingstorm;39813097]In a GUI-centric environment (windows) with a neglected shell (cmd) you are bound to prefer the GUI.[/QUOTE] This is very true. I could see why a neutered shell would be more annoying to some people. (lack of Ctrl-R is very big for me).
[QUOTE=Perl;39819460]lol [editline]6th March 2013[/editline] and how exactly[/QUOTE] Because for(int i=0; i<n;i++) is not same as {i=0}{i<n}{i=i+1}. But I doubt this is even c++ language so yeah, everything is possible :)
[QUOTE=HeatPipe;39819502]Because for(int i=0; i<n;i++) is not same as {i=0}{i<n}{i=i+1}. But I doubt this is even c++ language so yeah, everything is possible :)[/QUOTE] but for isn't an operator
[QUOTE=HeatPipe;39819335]I think this is C++ but syntax (yeah the f*ckin operators) dont make sense :D Well thanks for blowing my mind for today, much appreciated.[/QUOTE] Sorry, I was just referencing the joke where there's always someone asking Layla if his game runs on Source or a custom built engine. This isn't C++. It's my own language, that why I asked :D
My first 3d something ever: [media]http://www.youtube.com/watch?v=VIQrwtDIA14[/media] Made in AS3 using Minko engine.
The editor now highlights fuel tanks (not sure if I've shown it yet), but I also modeled one rocket from Orbiter (Themis-A). It's shape is entirely defined by numbers the guy gave (fuel mass, diameter): [img]http://i.imgur.com/DNuECNt.png[/img] [img]http://i.imgur.com/RYQkdpG.png[/img] [img]http://i.imgur.com/jeht6q7.png[/img] [img]http://i.imgur.com/NyZBeO9.png[/img]
Multiple consoles: [img]https://dl.dropbox.com/u/5013896/forum/Facepunch/Programming%20WAYWO/3.2013/Second%20Console.png[/img] The one in front is remote-controlled via TcpClient. I haven't really worked on input so far. No idea how to get rid of the final empty line. Maybe I'll just put status info there and don't fill it completely.
Well this utterly sucks... I just worked for 2 hours to make the previous example NOT work... I'll have to rethink some stuff.
Do we still have a math discussion thread somewhere? I have some vector reflection questions that might be more appropriate for them than What Do You Need Help With.
[QUOTE=DoctorSalt;39821072]Do we still have a math discussion thread somewhere? I have some vector reflection questions that might be more appropriate for them than What Do You Need Help With.[/QUOTE] It's in GD.
[QUOTE=Darwin226;39819787]Sorry, I was just referencing the joke where there's always someone asking Layla if his game runs on Source or a custom built engine. This isn't C++. It's my own language, that why I asked :D[/QUOTE] oo I see :D yea his engine does kinda looks like source because of dev textures and sounds :) [editline]6th March 2013[/editline] Download for my game, if anyone wants to test it :D [url]https://docs.google.com/file/d/0B3R9MnwhvAJTaTVsaVVaVjJNMXc/edit?usp=sharing[/url] It is based on XNA 4, c# ofcourse :)
[QUOTE=HeatPipe;39821529]oo I see :D yea his engine does kinda looks like source because of dev textures and sounds :) [editline]6th March 2013[/editline] Download for my game, if anyone wants to test it :D [url]https://docs.google.com/file/d/0B3R9MnwhvAJTaTVsaVVaVjJNMXc/edit?usp=sharing[/url] It is based on XNA 4, c# ofcourse :)[/QUOTE] that has got to be the most annoying game over sound Also, I hope the flickering isn't intentional. [editline]6th March 2013[/editline] and why is half of the code in english and the other half in slovenian? How do you manage?
[QUOTE=HeatPipe;39821529]oo I see :D yea his engine does kinda looks like source because of dev textures and sounds :) [editline]6th March 2013[/editline] Download for my game, if anyone wants to test it :D [url]https://docs.google.com/file/d/0B3R9MnwhvAJTaTVsaVVaVjJNMXc/edit?usp=sharing[/url] It is based on XNA 4, c# ofcourse :)[/QUOTE] PLEASE disable the ice effect when you stop. It's impossible to play a platformer without tight controls.
Sorry, you need to Log In to post a reply to this thread.