Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Comment Re:Not convinced (Score 1) 176

Put differently - the human assumes that the other human will understand him or ask for clarification. Sometimes they are wrong in this assumption but no harm is done. With a computer: if the human takes the chance that the computer understands him OR will ask for clarification and the computer assumes a different meaning then there will be hell to pay.

Why? Why does the human get to slide but the computer doesn't?

Because the human is nondeterministic and the computer isn't. A computer, given a certain input, will always respond with a certain output. Humans, dogs, cats and most other animals don't do this. I'm finding it hard to understand why you have trouble with determinism vs non-determinism.

For the input "fruit flies like a banana", the computer must always EITHER ask for clarification OR assume what the sentence means. It cannot do ask for clarification some of the time and not others as a human will do.

Comment Re:Not convinced (Score 1) 176

The human would ask for clarity.

The computer can be built to do the same as the human in any of these cases.

No, it can't. In order to ask for clarity it first has to recognise that there is a 0.00000000000000000000000000000000001% chance of ambiguity. This would result in it always asking for clarity. A human is allowed to make mistakes in comprehension because the producer of the sentence might recognise that there was incorrect understanding. Then again, they might not. The computer doesn't have the luxury of taking the chance that there is no ambiguity.

Put differently - the human assumes that the other human will understand him or ask for clarification. Sometimes they are wrong in this assumption but no harm is done. With a computer: if the human takes the chance that the computer understands him OR will ask for clarification and the computer assumes a different meaning then there will be hell to pay. In essence, what you are saying is "given the sentence 'I once saw a deer riding my bicycle' I want the machine to sometimes ask for clarification and sometimes not, but the machine won't be told in advance which time to ask for clarification and which time to assume non-ambiguity." This is clearly impossible.

TLDR: You're asking a deterministic machine to perform non-deterministic actions; mathematically this is impossible, hence it will never be a reality.

Comment Re:Not convinced (Score 1) 176

I'll repeat myself: Since I am able to figure it out, it stands to reason that sufficiently intelligent algorithm can do the same.

I'll repeat myself too: You haven't figured it out, you're only convinced that you have. How can you know that I'm not saying "All fruit have the same trajectory as a banana?".

Your problem is probably lack of interaction with the real world. Go to court some day and watch proceedings of a trial - there is no such thing that a sentence is "obvious". In even the most trivial of defences the defence attorney is going to argue, sometimes successfully, that a much structured and mostly unambiguous piece of legislation is too vague to apply to his client.

Comment Re:Not convinced (Score 1) 176

Humans can distinguish such ambiguous language constructs. For example: "I once saw a deer riding my bicycle." Although there are at least two ways to interpret the sentence, only one makes sense in nearly all contexts. Now since I am able to figure it out,

No, you haven't.

it stands to reason that sufficiently intelligent algorithm can do the same.

Well, you thought that I meant "I was out on my bicycle when I saw a deer", but what I actually meant was "I was in my yard when a deer rode past on my bicycle". How the hell can you be sure that I meant the former and not the latter?

Worst case scenario, if the language interpreter cannot figure it out, it does what humans do in the same situation: it asks for clarification.

Nope, wrong again - worst case scenario is that the language interpreter does not figure it out, and doesn't realise that it hasn't figured it out!. Best case scenario in case of errors is the interpreter managing to figure out that it got the incorrect meaning.

Comment Re:Next Big Thing! (Score 1) 176

Emacs' shell wrapper is just that: shell wrapper. Typing anywhere but at command prompt makes no sense. Command goes at the bottom. Output after it. Command at the bottom. Output. Rinse and repeat. You can't have (a) commands/outputs out of order, (b) non-shell commands or (c) re-execute in-place part of output as command.

Well, perhaps my emacs is broken then, because it lets me type anywhere and accepts the line as a command upon pressing enter. I can also scroll up and position the cursor on any line in the emacs window and press enter and it will accept that line as a command to execute, even if that line was not a command previously but the output of a command.

Probably you simply never met with such problems so it is hard for you to even realize where from I'm (and apparently authors of xiki are) coming.

I'm afraid you are correct - I simply cannot see anything in that video which I cannot also do using a shell from emacs, and I'm way too lazy to make and post a video of myself doing emacs-as-a-shell. There's a slime video on youtube somewhere that shows the user using emacs exactly as the FA video shows, but with more functionality (and with software from over a decade ago).

Comment Re:Next Big Thing! (Score 1) 176

From TFA

Ruby is a wonderful language for [...] mobile devices, like phones, tablets, smart watches, smart glasses, and all the "Internet of things" that the buzzspeakers are so excited about.

It's hard to take a 'reviewer' seriously when they make goofs of such epic proportions, such as these. This blogger is obviously unaware that the IoT devices (along with a lot of the 'smart' devices) aren't going to be able to run ruby crap.

Comment Re:Next Big Thing! (Score 1) 176

I dunno about the rest, but for filesystem browsing you can use vim :e on a directory which vim will then let you navigate

Well, you really have to try it first to understand the difference.

Browsing a directory in VIM - ':E' - shows you the content of directory in a buffer. What xiki demo shows is more of ^X^F (because you edit the path right in the editor window, with the rest of your text) but allowing you to actually dynamically run ^X^F on different parts of the dir/file name, changing content of the window accordingly. IOW, while ':E' is a dedicated browser, xiki does something like ^X^F to allow to edit/browse/etc inline, right in the middle of the text file, at any time when you need it.

And that's where the "innovation" comes. The tools to do all the things exist. But they all have different (and typically graphical) user interfaces. Xiki/etc try to combine the tools by putting them into an text editor, and making their output interactive and/or ready to be fed to the another tool. Because despite all the chrome, the basic nature of the content of the editor's window doesn't change: it is plain text. Commands are just text lines. Output are just text lines. It all becomes alive when special macro is run, which looks at the current line and tries to decide what to do with it.

Another way to look at it, and the way I often use my VIM hack, is that the same text file serves dual purpose: it is at the same time the script and the output of the script. The script and its output are interleaved. (That for example allows a very nice minor perk: rerun any command, flip between undo/redo and see the differences between then and now.)

I've used emacs for that (editing 'uneditable' things in the buffer and then re-executing). See my post above - handy link here

Comment Re:Next Big Thing! (Score 1) 176

Xiki, being a cross of Ruby and a text editor, apparently does more: it recognizes and presents as interactive not only the shell commands, but also the file system hierarchy, the Ruby code, the SQL statements, the CSS, the HTML, and probably more.

I dunno about the rest, but for filesystem browsing you can use vim :e on a directory which vim will then let you navigate

Comment Re:Next Big Thing! (Score 1) 176

Thank you. I've watched the screencast but I really do fail to see any utility in Xiki, only novelty. Can you describe something that Xiki can do that cannot be done with `:r!`? I would really love to add Xiki to my toolbox if it is useful, but I fail to see that.

If you want something better than :r! in vim, use emacs as a shell. I used emacs as a shell for years - you can cut-n-paste (multiple buffers), use the mouse to mark regions, save the entire session as a file, load a previously used session, search back, search forward, edit previous commands before running them, edit the output of previous commands (and then run them), execute the odd elisp expression (need a calculator quickly? It's built in), surf the web, read/send email, read usenet (or read slashdot), play rogue, elisa, snake or tetris, annotate previous commands, run multiple shells.

You still get all the normal stuff too - autocomplete, file and directory browsing, standard piping to forked processes, set/reset/unset variables, syntax highlighting of your shell, normal edit-compile-debug cycle, etc

(I've heard rumours that there's a text editor included with it too ;-)

Comment Re:"Undead" doesn't mean vibrant, though. (Score 1) 283

Sure... the only use for pass is to allow an empty block. But outside of canned examples and temporary debug hacking, empty blocks are not exactly used very often. Hence in the vast majority of cases, python has no "end-brace". Claiming that the pass keyword is a closing brace is disingenuous as it implies that it is always required. It *is* a no-op. You can use the pass keyword absolutely anywhere you want, and it will do nothing. It's only "useful" however in the largely useless case of empty blocks.

That's even worse. 'Exceptions to the rule' are the worst type of program structure rules there are. At least in other languages there is a rule that always applies - a block is delimited by braces. In python you now have to say 'a block is delimited by indentation, except for when the block is empty, or when the interpreter is unable to figure out indentation. When is the interpreter unable to figure out indentation? The interpreter can always figure out indentations, except for when the code is filtered through some third party like web2py".

Frankly, I like the programming language rules to be simple, not filled with exceptions to a general rule. Python has many flaws (what the hell is 'print'? A statement? It acts like a function call but doesn't look like one, except if you're using python 3, or if you import 'print_function') but it's biggest has got to be the people who defend all the exceptions to the general rules. In this regard its closest relation is PHP, which also has general-rules-plus-exceptions-to-them up the wazoo.

Regardless, my original point still stands - python has a non-optional start-brace anyway. They should have just stuck with an actual brace for delimiting 'start of program block' instead of being hipsterish different and using a colon. Of course that wouldn't fix everything but it would be a start.

Comment Re:"Undead" doesn't mean vibrant, though. (Score 2) 283

pass is the equivalent of a nop, it has nothing to do with scoping. Have you ever read or written any python?

According to every single example given on the python documentation page, pass is used to end a block. It get's even more hilarious when you try embedding python into (for example) html pages like web2py does (I've been using web2py hence my discovery that python actually has to have an end brace of sorts).

'Pass' is not a 'noop', according to the documentation; it's simply an empty statement serving only a syntactical function. In other words, had python had an end-brace the way it has a start-brace, 'pass' would not be needed. The only use for 'pass' in python is to serve as an end-brace.

Comment Re:"Undead" doesn't mean vibrant, though. (Score 0) 283

My senior colleague also does not get it. The thing is, with C-syntax you need braces + indentation. So python halves your work out of the box. In C when indentation and braces are mismatched you read the code one way, but the computer interprets it differently. In Python: fixed.

That's incorrect. Python already has open brace in the form of the ':'. The close brace is the keyword 'pass'. In addition to needing at least one brace, it also needs indentation. C-syntax only needs the braces, not the indentation so, technically, the python syntax is double the work, not half.

In python you need to put in the open brace ':' anyway, so why not just use '{' like every other language out there?

Comment Re:Whoredom (Score 1) 158

It has some similarities with the Drugs industry as well.

1. Both industries refer to their customers as "users" 2. If you don't know how to perform a certain task, instructions can be found online 4. Use of cheap components to make a complex product 5. Users always demand more

Not to mention that the first one is free, and before you know it you're hooked on your vendor for life.

Comment Re:What the f*$# is wrong with us? (Score 1) 1198

But have you ever heard someone else say [she was a bitch anyway or any number of inhuman and gross misogynistic streaks]?

No.

Hi, welcome to society. Browse this article discussion on -1 and you'll see plenty of examples.

I think you just disproved your own point - the fact that those sentiments (that you are accusing me and others of) are at -1 shows that:

Yes, we do drown the creeps out.

Yes, they are in a minority and not representative of the nerd group as a whole

Looks like everything else you said in this particular thread is proved incorrect by the above simple statement of yours.

Slashdot Top Deals

The rule on staying alive as a program manager is to give 'em a number or give 'em a date, but never give 'em both at once.

Working...