Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Every application I use daily is scriptable. My OS is scriptable. My shell is scriptable. My text editor is scriptable. I hate to be negative, but I call BS.


Do you run a free software focused system like GNU/Linux? They're much more scriptable than OS X and Windows because (1) a lot of programs embrace the Unix interoperability conventions and (2) free software means that if someone felt that a program's scripting facilities are lacking they can submit a patch.

Even if you don't, I assume that you are a programmer based on context and your comment, which means that the applications you use were designed for people who know how to program and therefore are more likely to be interested in scripting. Also, as a programmer, you're more likely to be using a lot of free software tools even if you're not running a libre system.

Take iTunes for instance. On Windows I'm under the impression that it's not at all scriptable. On OS X there's AppleScript, but it's somewhat underpowered (I remember back in my Apple days I tried scripting it and found that some metadata fields were inaccessible from AppleScript, namely Album Artist. It's also woefully underdocumented.


Windows has Powershell which has an amazing level of power in a system. Everything is an object, everything has properties that can be manipulated. I don't look after Windows infrastructure at all, but people I know who do rave about the level of control they get, and some of the stuff they do makes me jealous. My understanding is that the GUIs for Exchange etc have essentially changed to being skins on top of it and that's one of the changes that is allowing Microsoft to start promoting GUI-less versions of Windows for cloud servers etc.


OS X. Even Spotify is scriptable.


Is Spotify on iOS scriptable?


Why do people keep bringing up mobile devices like it is some kind of trump card? If you really want to script a mobile device, install whatever Linux distro you want on an Android phone and go to town. Congratulation, you just created a tiny under powered laptop with a shitty screen and an even shittier keyboard.

A smartphone is for checking the weather, reading, looking up places to eat, movies, requesting an Uber or figuring out what bus is coming next, and so on. If you're not using your smartphone for that stuff and instead are scripting your music collection, why even leave your house? Just stay at home and use a computer.


> A smartphone is for checking the weather, reading, looking up places to eat ...

I'd like to be able to use it for more. It is, after all, a computer.


Do you use scripting on your smartphone or tablet?


I've definitely looked into it. I bought, with enthusiasm, a tablet with the first version of Android that supported Python. Installing the necessary pieces, and editing programs both seem to be super awkward, and my beloved Tkinter has not been ported. I know there are ways, but if it's not more convenient than just walking back to my desk and doing it on a PC, then it won't happen.

Also, truth be told, since I got a smartphone, the muses just haven't spoken to me with an idea of something to script, that's interesting enough to capture my attention.

Lack of a decent keyboard and editor are barriers for me. I need a larger screen simply to see what I'm doing, in my old age. And most of what I do with scripting, nowadays, has to do with things that are not on my phone anyway, such as processing big files and interacting with measurement instruments.

What's happened instead is that I got a tablet with an OS that's scriptable, and that has a detachable keyboard. Now, all I have to do is wait for those damn muses to speak up. ;-)


You should check out QPython or QPython3 from the Play Store. It includes the Python binary, an editor, and a terminal emulator. It is all bundled up. So easy to setup a child could do it.

Unfortunately installing Python manually has not gotten much easier, though it's certainly doable. You can even use Tkinter, but that is beyond the scope of this comment.


I'll definitely check it out. My dream is to be platform independent, i.e., to be able to write / edit / run the same program on any device. So far so good with Windows and Linux, including Raspberry Pi, but my phone feels left out.


The aforementioned QPython includes Kivy libraries. Kivy is cross-platform across Linux, Windows, Mac OSX, Android, and IOS. Its a Python library but seems mostly oriented towards games/graphics. That's a drawback for me, but some might be interested.

As far as cross-platform across desktop and mobile, that's a difficult challenge. Java used to be the go-to if you want to be platform agnostic but that obviously won't cut it if you want to support mobile. You can check out Qt. I only use it on Linux but it apparently supports Windows, Mac OSX, Android, IOS, and Windows Phone (maybe even more).


I'll check those things out. I only need to make any of them work once, because I'll put a wrapper around my most frequently used functions. And I only used Tkinter because it was sitting there, ready to use, before I even learned how to install packages.


If you're looking at your smartphone or tablet and wanting to script it, put it down and find yourself a desktop or laptop.

Edit: Smartphones and tablets are simply not general purpose computers. I don't want a desktop type OS on either my phone or tablet. I certainly don't want a tablet OS on my desktop. That defeats the purpose. Smartphones and tablets are good at certain things the require _direct user input_. If you really want a smartphone/tablet with desktop capabilities there are vendors that sell that stuff. I just can't see a need for it.


Android smartphones and tablets can most definitely serve as general purpose computers (for developers on the go at least). My daily-driver is loaded up with the latest bash, python2, python3, gcc, openssl, ssh, busybox, etc. I'd never carry around a laptop, but with a phone it is always on me so I can get right to work anytime I have a few spare minutes. Just pull up a terminal and ssh into a development box or work locally. Its as easy as can be... You can even run a full Debian image or distro like XFCE in the background if need be. I usually just ssh in, but you can also connect over VNC for desktop use (this is generally best on a tablet). It works really well for me anyways.


Why? Especially if you ssh into a workstation. That seems to support my point...


Because its just not practical (or desirable) to carry around a laptop everywhere I go whereas my phone is always charged and on me. Nor do I always have a reliable network connection.


"If you're looking at your smartphone or tablet and wanting to [use] it, put it down and find yourself a desktop or laptop."

What you're missing is, for many of us, scripting is fundamentally how we interact with computing devices in a convenient way. I don't know if I want "a desktop type OS" on my phone or tablet, but I definitely (!!!) want an OS that allows me to easily and flexibly compose disparate pieces of functionality across contexts.


The only reason this isn't possible for most people is because the people who sell that hardware have made it difficult, on purpose.


I use scripting all the time on my daily-driver Android phone. I think I'd have a hard time listing all the uses as they are so numerous. I have init scripts to do essential stuff at boot (like mount encrypted volumes) and other scripts for backing up. I also have scripts that execute upon trigger events (e.g. notify my desktop over ssh if X occurs). Scripting may not be absolutely necessary, but it sure is immensely useful.

Then as far as development, its pretty much a necessity.


I script my phone at least as much as I scripted my phone in the '90s. Probably more.


Yes.

(Admittedly, my tablet is a raspberry pi duct-taped to a LCD screen, but I would have the same expectations of a 'proper' tablet. (Which is a major factor in why I am using a raspberry pi duct-taped to a LCD screen.))




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: