How to make a sound when visiting a certain website (Mac)? - youtube

I am trying to think of a creative way to break my Youtube addiction.
How would I create an annoying sound when I visit youtoube.com? I was trying to do this with Applescript, but I got nowhere, so I'm seeing if the internet can help. I mainly just need some way that I can be constantly checking my current website (Safari and/or Chrome) and trigger an event when I am on Youtube. I know how to play my sound, but not the site-checking portion. Preferably I could make this on Automator.
I know there are better ways to break a habit, but I really want to do it this way. I really hope someone can help. Thanks in advance!

I would assert with confidence that this cannot be done. By this, I mean there is no method nor implementation in AppleScript to do this sort of thing efficiently, safely, wisely or in any practical, useful, or usable way.
This includes:
Any script involving an infinite repeat loop, particularly one with no code allowing a user to break out of it;
Any implementation that utilises polling;
And especially any script that polls at a faster rate than the time it would take for the thing being polled to undergo a change in state.

This will make an annoying noise if the front tab of either Chrome or Safari is on a URL containing the word "youtube".
** edit ** to make this work in automator:
Click Actions in the top-left corner of the Automator window, then select Utilities in the Library.
Choose 'Run AppleScript'
Paste the code into the code editor box
(replace all code in the entry box)
on run
set check to "youtube"
repeat
try
tell application "Safari"
set theURLs to URL of current tab of window 1
end tell
end try
try
tell application "Google Chrome"
set theURLc to URL of active tab of front window
end tell
end try
if check is in theURLs then
tell application "System Events"
beep
end tell
end if
if check is in theURLc then
tell application "System Events"
beep
end tell
end if
end repeat
end run

Related

How to exit the program if the user leaves a certain checkbox blank

So I'm going to be writing an IT test tomorrow and we code using Delphi. My IT teacher hinted that one of the questions would involve us using code that would terminate the program if the user leaves the checkbox blank. Just wondering how I would go about doing this in Delphi.
Look at Application.Terminate(). Or, if you simply close the MainForm, the app will terminate itself automatically.
Another possibility to terminate the program is the halt command. But one should use this command very very rarely!
You may also use FatalExit(0);
This command is available for VCL application.
thanks

Lua code runs properly on my advanced computer but doesn't run on the monitor

I run a successful Minecraft Tekkit modded server with computer craft on it.
I'm fairly new to lua and only know the basics, I'm trying to make a menu with pages to display the banned items list and rules list on. I've made a program with arrows that's optimized for advanced computers and monitors.
The code runs properly on my advanced computer but doesn't run on the monitor, when it shows and someone clicks the arrows it doesn't work either.
I just started using stack so I'm not sure on what to do, if you need any info please ask for it :)
The code: http://pastebin.com/gVtPeBCE
By the way I already tried using Mon.write and Mon = peripheral.wrap("top")
For those who don't have tekkit here is a computercraft emulator: https://goo.gl/J0dPq0
I'm sorry to inform you that I haven't read through all of your code. But judging based on your description, I would say that it's likely one of three issues, not including incorrect syntax as a possibility.
Note: Your question is exclusively asking about the programs ability to run on a monitor while the emulator you link to only provides the desktop ComputerCraft computers.
Peripheral
Although you already stated:
By the way I already tried using Mon.write and Mon = peripheral.wrap("top")
I would like to clarify that you can, as a way to simplify the code transition, set the peripheral function table equal to the term variable. For example: term = peripheral.wrap(string_side).
Note: When you use this method, you shouldn't execute the program with the command:
> monitor side program.
You should instead run it as a normal program with no special treatment.
I.e. > program.
Incorrect Mouse Event Detection
Simply put, when using a monitor, you're not supposed to pull for a mouse_click event. You have to pull for a monitor_touch event instead.
while true do
type, side, x, y = os.pullEvent()
if type == "monitor_touch" then
print("Monitor '"..side.."' has been pressed at "..x..", "..y.."!")
end
end
Monitor Size
This just simply means that the program you're trying to execute on the monitor takes up to much space and is therefore unusable when displayed on that size of monitor.
Suggestion: Either update your code for the monitor size or build the monitor to fit the program.
Please remember that all of these ideas might not answer your question, as the code you have provided to look over is too large and I haven't been able to find the time to experiment with it. Therefore, these are only general suggestions.
if i had to guess, it's because term is short for terminal and will auto work with computers so if you set term to be the monitor at the top of the file it should work correctly.
term = peripheral.wrap("SIDE OF MONITOR")
Put that at the top of your code and it should work. but this what i think it is after taking a look at your code (also its not that long of a code sample...)

Is there any way to automate scanning of barcode from appium?

I require my app to Scan barcode automatically , i have the barcodes, i have the app required, how can i make the App read physical bar codes using automation in appium,
In manual i can scan the code by pointing out the camera to an bar code.
I dont know how to do it while executing an test suite.
i got idea of placing Mobile device on an Stand, tripod and placing barcode in front of it.
But the problem is we can test only one barcode. i want to run for about 100-200 barcodes ans see app performance does not decrease, can any one suggest some ways?
This is a very interesting case. If you really want to test your app scanning the bar codes through camera then I think instead of looking for a solution through appium you have to look for a solution to exactly match your manual process.
You can click scan button using appium(I assume) - for example you can write a script to click on this button every 10 seconds.
Challenge is to point the camera to the next barcode as soon as first scan is complete. Possible solutions- I believe that all the bar codes can be captured in a file in a pc. Copy these bar code images in a ppt or using any other program so that these images can automatically displayed one by one.
Put your device in front of this pc as you are already planning to use tripod stand etc. Focus them on screen(may be first time you might need to do all these adjustments). Run your script. Do some trial runs. Synchronize the process with correct time outs. I think this should be feasible though really not the best way to automate this scenario.
I haven't tested it, but this blog post can be your answer http://www.mobileqazone.com/profiles/blogs/simulating-camera-in-android-emulator. If not, you can try bypass it by creating API to upload an image to your server instead of reading it from the camera. I think the impact on your QA will not change dramatically (besides, it's very easy and fast to check that part manually)
We do have an app that scans plenty of items such as bar codes plus tracking the dimensions of objects through the camera.
I read the idea of synchronizing images into a slideshow which is absolutely hilarious. The way I do it, is by using my own node server app with websockets that will toggle images through http requests. When this app is hosted in a laptop/ipad positioned exactly in front of the AUT, the test will have full control on which barcode to be shown at particular time frame.
No synchronization required at all and does the job.
It is a modified version of https://github.com/JangoSteve/websockets-demo

(iOS) Way of viewing log messages directly on an iOS device?

As nice as debuggers have gotten these days, sometimes the best way of finding out what is going on in an app is still ye olde NSLog. Doing this is easy when you're tethered to your computer; Xcode helpfully pops up the Log Viewer panel and there you go. Not so easy to do when you're away from your desk, as you sometimes have to be when testing an app (for example, when you are testing CoreLocation functionality). Sure you can pop open Xcode and check the Console section of the Device Organizer as soon as you get back from a testing run, but then you have to wait, and by the time you can get back to view the logs you forgot what was going wrong with your app; also odds are that by the time you are able to do this, the log messages you are looking for have scrolled off into oblivion.
Is there any way of checking the console logs on the device itself? I'm guessing the answer is "no, unless you jailbreak" (IIRC there are at least one or two terminal apps in jailbreak-land that I could use to do this sort of thing). Unfortunately jailbreaking is not an option for me.
Alternatively, is there some sort of Objective-C framework or library or whatnot that handles log collection and on-device displaying? Ideally this would come in the form of a drop-in replacement for NSLog, whereby I could simply do a search-and-replace and change all occurrences of NSLog to SomeFancyPantsLoggingTool or whatever and be done with it.
A good example of the kind of functionality I am looking for can be found in the podcast client Downcast. If you tap the "More" tab, then tap on the version number string at the bottom of the screen, a new view slides up that contains a scrollable view of accumulated log messages. It even has an easy way of mailing said logs to a support e-mail address.
Take a look at LibComponentLogging which you can configure to output logging at different levels and to different destinations.
There is a file for the SysLog. You can simply open it and read from it. The file is at /var/log/syslog. If the file does not exist there are instructions on how to set it up here.

Disable Sending keypresses to an application using Delphi

I'm looking for a line of code in Delphi which can disable sending keys to an application. For example I have a game.exe, I want to disable sending keys to it, so you can not play it.
How to do that? Please Guide me step by step :)
Hiding and blocking input should be separate questions. Your question is so vague that I'm tempted to vote to close it, but here are some general ideas instead;
If you want to block all input from getting to an application,you can simply grab the focus away from that particular application, or keep your window on top and make it full screen. This is often called "Kiosk mode".
You could also forcibly hide all the application's windows.
You could intercept the window messages that are bound for that application and handle them yourself. See the link from Johan on Keyboard hooking.

Resources