As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
When it comes to scripting the Mac, are there alternatives to Applescript? Its API seems awesome, but the language itself, from what I've read so far, seems aimed more at non-programmers.
Insights into this would be greatly helpful.
(At the moment, I'm thinking of writing a tiling window manager for the Mac.
Yes, I know some exist, but this will be open source.
Yes, I know of Xmonad, but it only does X11 windows.)
Thanks!
When it comes to scripting the Mac, are there alternatives to Applescript?
Depends what you want to do. If you want to send Apple events to other applications, yes; for running scripts from OSA-aware applications (Mail rules, folder actions, etc.), not really.
The best technical alternative is appscript (my baby), which is available for Python, Ruby and Objective-C on 10.4+. (There's also a MacRuby version, but I've yet to do a public release of that.) Feature-wise appscript's slightly better than AppleScript and its application compatibility is very nearly as good. Third-party project, so you'll need to install it yourself (but that's easy enough as long as you've got Xcode) and MIT licensed so you can redistribute it as needed (e.g. included in your application bundle). Fairly decent tool and documentation support, including an online book by Matt Neuburg, with mailing list support for the Python and Ruby versions and direct email support for the others.
The 'official' alternative is Apple's Scripting Bridge. The API looks very Cocoa-like, but that's really just a lot of smoke and mirrors which ultimately makes it less capable than AppleScript and significantly more prone to application compatibility problems (and tricky to troubleshoot when it does go wrong). Tool, documentation and community support is not so great either (appscript's is better; AppleScript's is better still). SB's main advantage is that it's included in 10.5+ so requires no additional installation to use. I wouldn't recommend it for heavy-duty automation work due to its technical shortcomings, but for modest automation tasks involving obliging apps it may suffice.
Other bridges do exist (e.g. Perl's Mac::Glue, RubyOSA), but they are not as capable, popular and/or actively supported.
All that said, if you want to do any serious application scripting, you will still have to learn AppleScript as that's where you'll find the vast bulk of literature, sample scripts and community expertise. All of which you will need, since the great majority of scriptable applications are notoriously under-documented.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What language, between Go and Rust, would you use to create a library for games (no bindings)?
Go is a simpler language that leans more heavily on garbage collection. Rust is a more complex language that can be safely used without the GC at all which is perfect for low-level systems programming.
I'm biased since I spent two summers working on Rust, but if you're willing to invest the necessary time to keep up with a rapidly changing language, Rust would be really good for games. It has a really nice set of built in concurrency primitives, so it would be easy to separate the different components such as the rendering engine, the AI, etc. and take advantage of multicore computers. It's also possible to avoid the need for garbage collection, so you don't have to worry about unpredictable GC pauses. It's designed to integrate nicely with existing C code, and many of the data types map directly onto C types. Rust's approach to polymorphism leads to some really nice assembly once LLVM is done with it.
Many games nowadays are running in the web browser, which suggests that web browsers and games have similar requirements. Mozilla is designing Rust alongside its new parallel browser engine, which means the language will continue to evolve in ways that would work well for game programming too.
Rust: This is alpha-level software with many known bugs, incomplete features and planned future changes. Use at your own risk, expect some instability, disruption and source-level incompatibility for a while yet.
No good for commercial game.
You can't make library with Go for games at all. There is no support to create library in Go. With Go you can create mobule(library) that you will use only with Go.
You can use C++ library in Go. But you can't use Go lib in C++.
You may ask what language is better for games Rust or Go.
UPDATE 2015 year
Go 1.4 has office/beta support for Android and Go 1.5 (2015 Summer) will have iOS support.
Right now it is tricky to build for android. You have to install docker image
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am searching an HTML5 & CSS3 text editor for Mac OS X. What would you suggest?
Please give a short description as well as some information about pricing (free? commercial? trial?).
By the way, I am aware that there is the ability to take WineBottler/Wine to make certain Windows applications work in OS X. If you definitely know that a certain Windows HTML5 & CSS3 editor works in Mac OS X and it is worth it, please mention it.
Thank you!
Coda, BBEdit, and TextMate are--in my opinion--the most popular text editors for web development. TextMate has a 30-day free trial and is $57 USD. Coda is $99 USD and does not have a free trial (to my knowledge). And BBEdit is $99 USD and has a free trial (don't know how long it is).
For a free text editor, you can use TextWrangler from the same people who made BBEdit.
My personal preference is Vim / MacVim; but learning the Vim language is probably overkill if you're just doing just HTML / CSS. I would recommend trying out all of these and seeing what you like the most.
EDIT: A final note, everything I listed here is highly extensible and if there is a feature you like in one, it has most likely been ported to one or more of the other editors as well. Keep this in mind, because you shouldn't immediately dismiss any particular editor for what it offers as a default install.
If you're really particular about your editor (which you should be, as it's the single most important tool in your arsenal) then you should also look at available plugins for each code editor to get a true picture of what they can and cannot do.
I realise it might be overkill, but I really like using NetBeans for Javascript / HTML5 stuff. The JS completion is really helpful and it handles things like Canvas 2D API methods.
One drawback is that it doesn't seem to support CSS3.
I also recommend Textmate, if you willing to spend money. Its very comfortable to code html/css/js.
Personally I code in jEdit or Eclipse. They're crossplatform compatible and opensource.
edit: both provide tons of plugins :)
I like Aptana Studio. If you take the time to configure it's preferences it's a powerful editor.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am planning to automate some of the functionality of the GUI developed in Microsoft Visual C#.
I am new to Automation with GUI. Would be glad if you share your experience regarding GUI Automation and some of the tools available for the automation.
I plan to develop some programms / scripts in order to realise some of the functionality of the GUI
For automating Windows OS itself, the free AutoIT uses a BASIC type syntax for automation. It is not open source but development is continuing on AutoHotkey, which is open source. Either of these two can be used for Windows GUI Automation without much effort.
I think Microsoft would suggest you use Windows PowerShell, a task automation framework with support for WMI and COM for local and remote computers. Powershell is free. See this guide on performing Windows® UI automation tasks.
You tagged this question with Windows, Shell and Automation. None of these suggestions I made use C#, although AutoHotkey has community support for C# and Powershell is a .NET scripting/programming language.
I've recently done a research on exactly the same topic. I haven't found an ideal tool. Here are the tools I looked at:
QTP. This is the most famous, and so, you can find most answers to your questions in web. It supports function library, object repository, and various technologies. Developing scripts in QTP is slow because of different factors. Licenses cost big $$$. Uses VBscript (pah!)
Coded UI Test. It is a part of Visual Studio 2010 Premium and Ultimate editions. Also costs $$$. Provides function library and object repository features. You'll need some understanding of programming. Uses C# for developing tests (VB as an alt). Microsoft strictly recommends using their recorder to generate tests. Although, if you have some experience in automation, you understand, that using a recorder only is impossible for developing good tests. So you'll need to get into details of the generated code. And it generates a LOT of code. Anyway, it's nice.
Ruby + AutoIt. Costs 0$. I like using Ruby+Rspec+Watir for automating web interface. Very customizable, fast in learning, developing, and executing. Although, couldn't make Ruby+Rspec work with .NET good enough. I tried to use AutoIt to access WindowsForms, but it was very hard to debug and search why something doesn't work.
Ranorex. I didn't look at it much. It seems nice, works similar to QTP, costs $$$. I didn't have time to work with it more closely, and decided not to use it, because I didn't know what problem could arise during real automation (and I already had a QTP license).
I have had some success with the free, open source White. It's support is limited, but the docs have a good guidance section so you'll know pretty quickly it's right for you.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I want to start learning HTML and AJAX using a Linux distribution.
Can anyone recommend a distribution that has these requirements:
Local Host Admin interface (like PHPmyAdmin)
IDE for Javascript... etc
There is no real best distro for web development.
All tools you need will run on any linux distro.
Pick something you have experience with.
If you don't have any experience I'd recommend one of the 'user friendly' distros like Ubuntu or SuSe.
First question - Why do you want to do this on Linux? You can do basic AJAX requests from any platform, simply drop in your JavaScript framework of choice (JQuery, Prototype, or even MooTools and you can be up and running on your existing development platform.
Get familiar with a decent editor, one that will provide basic syntax coloring for you. One tool you may want to look at is the Aptana web development IDE that is based on Eclipse. This will give you the capability to write and debug any AJAX work you do as well as provide you some documentation and access to other dynamic languages like PHP, Rails, Python as well as a basic HTML editor.
That should square you away more than enough for what you're looking to do.
I just setup my first linux hosting to do the same thing. I did a lot of looking around and was recommended by articles and friends to use Ubuntu. So I did and everything has been working just great.
I'm using slicehost They have lots of tutorials to get you going.
http://articles.slicehost.com/ubuntu-gutsy
I can't think of many distributions that won't do what you need. I'd suggest something that has a good package manager, and, works well on your hardware. There will be plenty of choice for your requirements with all the major distributions.
What are you currently using ?
Andrew
Ubuntu should get the job done but you might consider a slightly more server oriented distro. In my shop, we use CentOS 5 which is more of an enterprise-oriented distro.
It exists specialized distributions:
The best one for me: Noys
http://www.noysweb.net/
Other one is Excelixis:
http://excelixis.wordpress.com/excelixis/
Cheers
HTML and AJAx don't need to be on any particular distribution, Ubuntu makes it pretty easy to install all the required features. I like fedora personally.
Try http://www.eclipse.org/webtools and http://www.zend.com/phpide although screem http://www.screem.org/ may well do what you need if it is purely html, javascript and css
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I want to implement an "automatic update" system for a windows application.
Right now I'm semi-manually creating an "appcast" which my program checks, and notifies the user that a new version is available. (I'm using
NSIS for my installers).
Is there software that I can use that will handle the "automatic" part of the updates, perhaps similar to Sparkle on the mac? Any issues/pitfalls that I should be aware of?
There's now a Windows port of Sparkle, see http://winsparkle.org.
There is no solution quite as smooth as Sparkle (that I know of).
If you need an easy means of deployment and updating applications, ClickOnce is an option. Unfortunately, it's inflexible (e.g., no per-machine installation instead of per-user), opaque (you have very little influence and clarity and control over how its deployment actually works) and non-standard (the paths it stores the installed app in are unlike anything else on Windows).
Much closer to what you're asking would be ClickThrough, a side project of WiX, but I'm not sure it's still in development (if it is, they should be clearer about that…) — and it would use MSI in any case, not NSIS.
You're likely best off rolling something on your own. I'd love to see a Sparkle-like project for Windows, but nobody seems to have given it a shot thus far.
Google Chrome auto-update is based on Omaha:
http://code.google.com/p/omaha/
Their overview has a great section on why it was needed:
The browser typically prompted the user with a long series of techy, confusing and scary dialogs all trying to convince the user not to install. Then the user was prompted with a wizard filled with choices that they did not need to or know how to decide amongst. These factors combined to form a bad user experience and large drop-off during the app installation process
It's a good idea to use a third-party solution, cause autoupdates can be a pain, especially with Windows Vista/7 (UAC). For what it's worth, the product my company uses is AutoUpdate+ and it seems to work fairly well.
For .NET, a while back Microsoft Patterns + Practices published the Application Updater Block. This was (to my mind) rather overblown and over-engineered, but did the job quite well.
In essence it used a "stub loader" to check a manifest and a Web service to see if a later version of the program than the one installed was available, then used the BITS background downloader technology to download a new version if one was available on the server.
Once the new version was downloaded and installed (with .NET this is as simple as an xcopy to the relevant folder), the application would update the manifest. The next time the program was loaded the new version would be launched.
While the Patterns + Practices code is .NET specific, there's nothing there that couldn't be copied for a non-.NET application, especially if you have the ability to silently run the install process in the background.
If your application is written in .Net, you could try ClickOnce. However, it's difficult to perform administrative or custom actions during install using this approach.
wyUpdate looks really nice. See video here:
http://wyday.com/wybuild/help/automatic-updates/
For .NET applications you might want to have a look at NetSparkle, a Sparkle variant for .NET programs. It is pretty new (from 2011) and developed actively.
Just came here from an answer to my own question on the same subject - I mention one other updating solution in my question. It uses a stub loader, and an xml file to point to the latest executable.