Reading the clipboard with every keystroke
-
@pie_flavor said in Reading the clipboard with every keystroke:
In contrast, the vanilla client is only accessible if you have been authenticated as a legitimate game owner.
While I'm waiting, I've been pondering this statement. Why though? Do you the fuck know about that too?
There's nothing stopping anyone from rehosting the files once downloaded "legitimately". The login process is what's "protecting" the game, not whether you legitimately obtained the binaries.
-
@pie_flavor said in Reading the clipboard with every keystroke:
you went with an outdated OS on purpose, while the tool is modern.
Damn. Guess I'm going to need to download 20H1 (or whatever they're calling it now).
Got any others?
-
@Tsaukpaetra Nope. I don't mentally catalog programs by what they're written in; I just run them and they work.
Actually, come to think of it, BON2 might require the JDK instead of just the regular install.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
There's nothing stopping anyone from rehosting the files once downloaded "legitimately". The login process is what's "protecting" the game, not whether you legitimately obtained the binaries.
Except it is proprietary software so rehosting it is illegal.
If you are familiar with mods and unfamiliar with Minecraft, the concept of the modding scene giving a shit about licensing might be alien, but the Minecraft license explicitly allows for modding and things like that, so the community tries to keep up with it in exchange.
-
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra Nope. I don't mentally catalog programs by what they're written in; I just run them and they work.
Actually, come to think of it, BON2 might require the JDK instead of just the regular install.
@pie_flavor said in Reading the clipboard with every keystroke:
And what the something or other is will be informative in whether this is genuinely a problem with Java, or just the standard problem with you breaking your computers.
Yes. The answer is clear. That error message totally tells me this is genuinely a problem with Java.
At least .Net programs all come with a stub that says "Hey, dumbass, you need X version, click here to get it!" (if Windows doesn't detect that stub and silently do the needful for you).
-
@Tsaukpaetra Yep! And that functionality is not cross-platform.
-
@pie_flavor said in Reading the clipboard with every keystroke:
Except it is proprietary software so rehosting it is illegal.
Could put a word or two of explanation about that. "Hey, couldn't find Minecraft. Perhaps you need to download the client first using the Official Launcher? Or tell us where it is below".
But that's a dev failure and implementation detail, again.
-
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra Yep! And that functionality is not cross-platform.
Hooray, we're back to the beginning of the goddam discussion. Congrats!
-
@Tsaukpaetra If you are installing a mod loader for Minecraft, and have not yet installed Minecraft, you are TRWTF.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra Yep! And that functionality is not cross-platform.
Hooray, we're back to the beginning of the goddam discussion. Congrats!
Wheee!
-
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra If you are installing a mod loader for Minecraft, and have not yet installed Minecraft, you are TRWTF.
Well, I did specifically ask for a java program that wasn't Minecraft, and you went and said "Well fuck, Minecraft ain't the best example of a working program, here's Forge!" so I ran with it.
-
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra Yep! And that functionality is not cross-platform.
Hooray, we're back to the beginning of the goddam discussion. Congrats!
Wheee!
Let's start again, shall we?
Zenith said in Reading the clipboard with every keystroke:
@Tsaukpaetra It's just amazing how much is so trivial in WinForms and so stupidly difficult/half-baked in a browser. How the hell did the browser end up being the only platform anybody develops anything for?
It's the closest anyone has gotten to a truly platform-independent way of running arbitrary applications on the widest array of operating systems and machines.
Edit: Hell, if Microsoft cared enough to have ported .Net to Mac and Linux back in the day the browser probably wouldn't have even evolved further than a nifty way to read books.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Edit: Hell, if Microsoft cared enough to have ported .Net to Mac and Linux back in the day the browser probably wouldn't have even evolved further than a nifty way to read books.
Bull. .NET may be much better to use from a programmer's perspective, but from a user's perspective it's indistinguishable from Java, which is usually indistinguishable from a regular program, and that's been around since 1995. It's not about platform compatibility, it's about instant feedback and app discoverability.
-
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Edit: Hell, if Microsoft cared enough to have ported .Net to Mac and Linux back in the day the browser probably wouldn't have even evolved further than a nifty way to read books.
Bull. .NET may be much better to use from a programmer's perspective, but from a user's perspective it's indistinguishable from Java, which is usually indistinguishable from a regular program, which is now indistinguishable from a website, and that's been around since 1995.
but that's my point. Developers were bred from users that tinkered, and since Javascript became the easiest language you could reasonably expect anything to support (and accessible to the masses!), web browsers became king.
It's not about platform compatibility, it's about instant feedback and app discoverability.
Please expand, I don't understand what you mean by this. There is nothing standing in the way for any language to create an application that provides instant feedback (whether in a "you clicked button, now have spinning icon!" or whatever), and discoverability is at the behest of the programmer who wrote it and is not determined by the platform the program runs on.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Let's start again, shall we?
The Java code I've got in my current project is deployed as an executable JAR with all required dependencies (other than a baseline Java runtime) baked into it during the build process. This includes some native code (because SQLite). However, it has no GUI because the program doesn't need one (instead I've got Python code to surface it in our architecture in the right way) and its input and output are a mix of databases and JSON files.
The real trick is that the code is built to work with any version of Java from 8 onwards. That is non-trivial, and yes, that's tested…
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Installing games in Administrator's roaming profile... *cringe*
And then you wonder why your computers don't work.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Edit: Hell, if Microsoft cared enough to have ported .Net to Mac and Linux back in the day the browser probably wouldn't have even evolved further than a nifty way to read books.
You're an idiot.
-
@pie_flavor said in Reading the clipboard with every keystroke:
FWIW, a nontechnical user does not really care about the difference between a button and a link other than being slightly concerned about form data being lost.
You must have different nontechnical users over on Earth #whatever, because over here I, as a technical user, cannot tell what a button is half the time. And no, I don't mean any technical distinction between a link and a button, I mean I don't know what parts are static and what parts I should be able to interact with.
-
@Gąska said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Installing games in Administrator's roaming profile... *cringe*
And then you wonder why your computers don't work.
It's a throwaway VM. I didn't spend any time "doing it right".
-
@Gąska said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Edit: Hell, if Microsoft cared enough to have ported .Net to Mac and Linux back in the day the browser probably wouldn't have even evolved further than a nifty way to read books.
You're an idiot.
Better than a retard moron?
-
@Tsaukpaetra I guess? But still bad.
-
@Gąska said in Reading the clipboard with every keystroke:
@Tsaukpaetra I guess? But still bad.
Well when you have something more interesting than name-calling to say perhaps more enlightened discussion can be experienced.
-
@Tsaukpaetra okay. You're wrong. Better now?
Okay, I'm done. I'll tell you. The reason you're wrong is because web apps' dominance has nothing to do with availability on Macs and Linux and everything to do with ease of access (you don't even have to install anything before using), the rise of smartphones and lobbying from Google and (to a lesser extent) some other companies.
-
I'm sure when I was doing some browser app creation a while ago, it was impossible to access the clipboard (to the extent that getting Ctrl+V to work involved some interesting hackery to create a text field to redirect the keystroke to, so the text got pasted into it). And that was for good sandbox/security reasons.
Why would a website ever be given access to my clipboard?
-
@Gąska said in Reading the clipboard with every keystroke:
The reason you're wrong is because web apps' dominance has nothing to do with availability on Macs and Linux and everything to do with ease of access (you don't even have to install anything before using)
I implied that later:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Developers were bred from users that tinkered, and since Javascript became the easiest language you could reasonably expect anything to support (and accessible to the masses!),
Besides, yes you did have to install something: the browser. Just because operating systems now do that for you (see Microsoft antitrust bullshit), doesn't really change the fact that if the same thing were to have happened with (for example!) .Net (e.g. Became ubiquitously installed on every possible machine like Java claims it is) it could be very conceivable that browsers would not have risen to the pedestal they are now.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@Gąska said in Reading the clipboard with every keystroke:
The reason you're wrong is because web apps' dominance has nothing to do with availability on Macs and Linux and everything to do with ease of access (you don't even have to install anything before using)
I implied that later:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Developers were bred from users that tinkered, and since Javascript became the easiest language you could reasonably expect anything to support (and accessible to the masses!),
It's somewhat funny, actually. Yes, you are right that you mentioned it. But you approached it from a completely different side, the one that doesn't matter at all. No one cares what's easy for the developers. People only care what's easy for end user. Especially the people in charge of business decisions. And what's easy for end user is that they put something in Google and click one of the results and they can start using the app immediately. Either from their laptop or their phone.
Besides, yes you did have to install something: the browser.
If we're going that pedantic, you might also mention you have to install the operating system too. Or better yet, the computer itself - those parts aren't going to connect themselves. Hell, you can't even access the internet if you don't install the router first! Now, can we go back to talking why web apps won? Part of the reason is that you don't have to install anything except the absolute basics (operating system etc.)
-
@bobjanova said in Reading the clipboard with every keystroke:
Why would a website ever be given access to my clipboard?
Because you're pasting its contents.
-
@Gąska said in Reading the clipboard with every keystroke:
Part of the reason is that you don't have to install anything except the absolute basics (operating system etc.)
Which was my original point, in fact. I don't have to install anything to run a .Net App, assuming reasonable constraints. If Microsoft made that happen on other operating systems.... You do see where I'm going with this, don't you?
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@Gąska said in Reading the clipboard with every keystroke:
Part of the reason is that you don't have to install anything except the absolute basics (operating system etc.)
Which was my original point, in fact. I don't have to install anything to run a .Net App, assuming reasonable constraints.
You have to install the app itself. Or at least download it. By which I mean clicking the "download" button and the locating the executable/installer and running it. Which is a lot more involving than just visiting the fucking website.
If Microsoft made that happen on other operating systems.... You do see where I'm going with this, don't you?
I do, and that's why I said what I said.
-
@Gąska said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@Gąska said in Reading the clipboard with every keystroke:
Part of the reason is that you don't have to install anything except the absolute basics (operating system etc.)
Which was my original point, in fact. I don't have to install anything to run a .Net App, assuming reasonable constraints.
You have to install the app itself. Or at least download it. By which I mean clicking the "download" button and the locating the executable/installer and running it. Which is a lot more involving that just visiting the fucking website.
Implementation detail. The only reason you have to do all that is you're using a sideband method to obtain the data first.
Picture if you will the following scenario:
User clicks Start
User types "google.com"
Operating system uses DNS to search for the .net App descriptor that has all the information on how to load the Google.com App (resources, data files, etc.) basically the same as what happens with the implicit http:// request. Except we'll call it.... Hmmm.... App://
Operating system transparently downloads and caches the necessary resources (Hmmm, what else does this?)
Operating system runs application.
Operating system expires cache files if not need.There's no reason it needs to be involved for the user at all.
-
@Zenith said in Reading the clipboard with every keystroke:
"I am being doing only what is being in the ticket of needful."
What the hell does this mean?
-
@Tsaukpaetra Worked so well for Java applets
-
@abarker said in Reading the clipboard with every keystroke:
@Zenith said in Reading the clipboard with every keystroke:
"I am being doing only what is being in the ticket of needful."
What the hell does this mean?
I'm only doing what the ticket has described I should be doing.
-
@loopback0 said in Reading the clipboard with every keystroke:
@Tsaukpaetra Worked so well for Java applets
I blame politics and shit like that.
Someone should do a cross case study!
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@Gąska said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
@Gąska said in Reading the clipboard with every keystroke:
Part of the reason is that you don't have to install anything except the absolute basics (operating system etc.)
Which was my original point, in fact. I don't have to install anything to run a .Net App, assuming reasonable constraints.
You have to install the app itself. Or at least download it. By which I mean clicking the "download" button and the locating the executable/installer and running it. Which is a lot more involving that just visiting the fucking website.
Implementation detail.
And the implementation that won was HTML5 and not your hypothetical App:// protocol. Partly because of backward compatibility with the rest of WWW, partly because Google invested in HTML5 and Microsoft didn't invest in your hypothetical App:// protocol. Still nothing to do with either Mac or Linux.
Also. Capital letter in protocol name? Eww.
-
@abarker said in Reading the clipboard with every keystroke:
@Zenith said in Reading the clipboard with every keystroke:
"I am being doing only what is being in the ticket of needful."
What the hell does this mean?
As ESL, I understood that perfectly. Hingrish for "I'm only doing what's listed in the ticket."
-
@Gąska said in Reading the clipboard with every keystroke:
Capital letter in protocol name? Eww.
I'm on mobile, sew me.
-
-
@dkf said in Reading the clipboard with every keystroke:
@Tsaukpaetra said in Reading the clipboard with every keystroke:
sew me
There ain't no strings on me!
-
@abarker said in Reading the clipboard with every keystroke:
@Zenith said in Reading the clipboard with every keystroke:
"I am being doing only what is being in the ticket of needful."
What the hell does this mean?
@Gaska and @Tsaukpaetra are close but I mean super literal without any of the humor of Amelia Bedelia.
If the ticket says "add ship date to the table," you add the date to the table. You don't format it. You don't make sure the column is wide enough to display it. You don't place it horizontally where it might make sense. You don't enable sorting or filtering even if it applies to every single other column. If there is no ship date field immediately apparent (it's outside the current query or called "ShippedDate"), you write "ship date" or 01/01/0001 or NOW() down every row instead of thinking or asking a question. That way every fucking minor update takes 20 tickets and 20 workflow/approval processes and everything looks like a hodgepodge when it's "done."
-
@pie_flavor said in Reading the clipboard with every keystroke:
@Tsaukpaetra again: by discoverability, I was referring to that of a webpage itself, not of the individual elements in it.
Like...how do you find the website? You've used this phrase multiple times now and it's not any clearer what you mean by it.
FWIW, a nontechnical user does not really care about the difference between a button and a link other than being slightly concerned about form data being lost.
OK, but those are individual elements so who cares here? (Right?)
-
@Zenith said in Reading the clipboard with every keystroke:
If the ticket says "add ship date to the table," you add the date to the table. You don't format it. You don't make sure the column is wide enough to display it. You don't place it horizontally where it might make sense. You don't enable sorting or filtering even if it applies to every single other column. If there is no ship date field immediately apparent (it's outside the current query or called "ShippedDate"), you write "ship date" or 01/01/0001 or NOW() down every row instead of thinking or asking a question. That way every fucking minor update takes 20 tickets and 20 workflow/approval processes and everything looks like a hodgepodge when it's "done."
And look how many tickets I completed!
-
@abarker said in Reading the clipboard with every keystroke:
@Zenith said in Reading the clipboard with every keystroke:
"I am being doing only what is being in the ticket of needful."
What the hell does this mean?
And you really need the other part that you didn't quote for the full context.
And no, I'm not stupid enough to put up a message box anywhere but at submission. They're irritating as hell when they're all over the place. That sort of crap is what happens when you have some idiot that doesn't realize the code is part of a process and just thinks "I am being doing only what is being in the ticket of needful."
Filling out a form is a process. You fill out field A, then B, then C, and eventually submit. Somebody with a narrow focus, like "validate field C," will do something like:
if (A.value == "") { alert("Hur dur A iz teh bad!1one"); } if (B.value == "") { alert("Hur dur B iz teh bad!1one"); } if (C.value == "") { alert("Hur dur C iz teh bad!1one"); }
Somebody that understands C is just one of several fields will do something like:
L = new List(); if (A.value == "") { L.add("Hur dur A iz teh bad!1one"); } if (B.value == "") { L.add("Hur dur B iz teh bad!1one"); } if (C.value == "") { L.add("Hur dur C iz teh bad!1one"); } if (L.count != 0) { alert(L.join("\n")); }
They both validate the input but one does it without constantly getting in your face in an irritating way.
A system level equivalent would be returning an error code versus throwing an exception all the way up the stack. Which code block is more usable (or even reusable), the one that lets you react to or ignore it or the one that instantly crashes everything?
-
@Zenith said in Reading the clipboard with every keystroke:
@bobjanova said in Reading the clipboard with every keystroke:
Why would a website ever be given access to my clipboard?
Because you're pasting its contents.
You don't need to give the website access to the clipboard in that case, just let the OS put the contents into the textbox
-
@hungrier said in Reading the clipboard with every keystroke:
@Zenith said in Reading the clipboard with every keystroke:
@bobjanova said in Reading the clipboard with every keystroke:
Why would a website ever be given access to my clipboard?
Because you're pasting its contents.
You don't need to give the website access to the clipboard in that case, just let the OS put the contents into the textbox
And then the site reads out of the textbox. I really don't see what you're guarding against by making it difficult to see what's being pasted until after it's been pasted. I get that you don't want a site just randomly calling GetClipboard() and, arguably, might not want it calling SetClipboard(), but at the point you've decided to click Paste (or press Ctrl+V), the site is getting the data.
-
@Zenith That's just it, I only want the website to get a single piece of data that I choose to input, at the moment I paste it. Nothing else before or after. It's like the difference between opening your door to let in a plumber vs leaving the door wide open while you go out of town
-
@hungrier Then we may be on the same page here? I just wanted to intercept what's been pasted after the click/keypress but before it lands in the textbox.
-
@Tsaukpaetra said in Reading the clipboard with every keystroke:
Edit: Hell, if Microsoft cared enough to have ported .Net to Mac and Linux back in the day the browser probably wouldn't have even evolved further than a nifty way to read books.
Silverlight trailer – 01:37
— djguapo@Tsaukpaetra said in Reading the clipboard with every keystroke:
Picture if you will the following scenario:
-
@TwelveBaud Silverlight was the wrong thing in the wrong place at the wrong time. They weren't trying to make .NET a cross-platform desktop development system; they were trying to make it compete with Flash, in a market that had been well and truly saturated by Flash for something like 15 years already.
-
@Zenith said in Reading the clipboard with every keystroke:
@hungrier Then we may be on the same page here? I just wanted to intercept what's been pasted after the click/keypress but before it lands in the textbox.
Sounds like you want the paste event.
EDIT: I made a fiddle from their sample code. Have fun.