Mac OS

There are many different possibilities to answer this question. We will go top down beginning with the browser.
Most of the browsers support the html input tag of type "email" and most of them would automatically warn the user about a wrong format of the address. However there are many standards of email address pattern. Furthermore the user might disable the browser validation, so we should not rely on this.
The second station is the javascript of the browser. Probably the easiest way to validate the email address is to use a regular expression an match the input against this expression. However the user may disable the javascript or send a request in other way than browser. Therefore it's absolutely necessary to validate the email address on the server side. This might be done by a regular expression, but some more sophisticated systems would check the MX record of the domain given in the email address, to be sure it might be a real address of a real mail server.




Use automated UI Test, which is possible with the Selenium library and a browser driver. The browser driver allows us to run actions in a browser while writing code. The Selenium library is an interface to connect many browsers with the same code base. So now we are able to code a simple test, where a robot is automatically clicking through the website and trying out the login functionality. This technique may also apply to test other important and high priority UI features.


Nested tables? Do you actually mean TreeTables? PrimeFaces is throwing out so many new widgets every 6 months, some old features are just not being improved anymore. Check out their new wisget set in showcases. Also, what is maybe not always the best solution, but often helps, is to develop your own custom widget. It is actually easy to do, and will give you the best understanding of how certain components function. I work with JSF for almost 8 years already, I am a senior dev, and I still manage to find enormous amount of bugs within their framework. Some of them I also reported, which were later turned into features in the new versions.



When explaining the highly technical problem such as this, one really must specify all the integrating parts, including the versions of each and every libraries in use. This seems to me as one of those problems that are so simple, that overthinking prevents you from solving it. Have you perhaps tried reaching out to .NET community online (you must know stackoverflow)? But before posting there, read this :). If that doesn't help, I have some friends who are .NET gurus and will be more then wiling to help :)
Also, I must denote, days and days of such agony were my usual weekly routine when I started working as a junior dev.



There is only one universal solution for all the third party libraries in MAC OS, and it's called BREW! :) Check it out. Everything that you can think of is installed by one liner. This is a way you would install it everywhere else (any other linux, windows etc), and is already deprecated if you transfer to mac. From your article, I can conclude that you are a serious and competent developer if you use maven, but also that you are a relatively new to Mac OS. There must be some friends in your circle who are long time Mac OS users, ask them for an advice. Mac OS has some amazing features that you cannot really learn about alone. They concentrate on making your life easier, which is not the case with other operating systems.


OwnCloud for syncing calendars, address book and files

OwnCloud is an Open Source software with a commercial branch. There are many repositories for multiple operating systems and tons of how-to’s on the internet. It is based on the popular MySQL data base and uses Apache and PHP for web publishing. There are clients for file syncing and viewing available for multiple devices including iOS and Android. Syncing calendar and a address book is limited to the calDAV and cardDAV protocol. While Linux, Mac OS and iOS hast built in the protocol, there is also a client for Windows, called eM Client. For Android users, there are also a lot of DAV syncing software available in the Android-Store.

Create android application with phonegap using HTML5, CSS3, JavaScript

PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.
Since the front end of the application is built using web technologies, a PhoneGap application with the exact same source code can be deployed across different platforms. It should be considered that phonegap has also some limitations as the front end of the application is built in JavaScript. A large number of applications rely on background threads to provide a smooth user experience, but as PhoneGap APIs are built using JavaScript which is not multi-threaded background processing is not supported. In addition a number of native APIs are not yet supported by PhoneGap’s APIs

A "Hello World" application can be created as follows:

1. Install SDK + Cordova

Download and install Eclipse Classic (Eclipse 3.4+) from
Download and install Android SDK from
Download and install ADT Plugin
Download the latest copy of PhoneGap from "" and extract its contents. We will be working with the Android directory.

2A. Setup your PATH environment variable on Mac OS

Open the Terminal program (this is in your Applications/Utilites folder by default).
Run the following command

touch ~/.bash_profile; open ~/.bash_profile

This will open the file in the your default text editor.
You need to add the path to your Android SDK platform-tools and tools directory. In my example I will use "/Development/android-sdk-macosx" as the directory the SDK is installed in. Add the following line:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

Save the file and quit the text editor.
Execute your .bash_profile to update your PATH.

source ~/.bash_profile

Now everytime you open the Terminal program you PATH will included the Android SDK.

2B. Setup your PATH environment variable on Windows

From the Desktop, right-click My Computer and click Properties.
Click Advanced System Settings link in the left column.
In the System Properties window click the Environment Variables button.
Select the PATH variable from the System variables section.
Select the Edit button.
You need to add the path to your Android SDK platform-tools and tools directory. In my example I will use "C:\Development\android-sdk-windows" as the directory the SDK is installed in. Append the following text into the text box:


Save your edit. Close the Environment Variables dialog.
Additionally, you may need to include %JAVA_HOME%\bin to your PATH as well. To check to see if this is required, run a command prompt and type java. If the program can not be found add %JAVA_HOME%\bin to the PATH. You may need to specify the full path instead of using the %JAVA_HOME% environment variable.
Finally, you may need to include %ANT_HOME%\bin to your PATH as well. To check to see if this is required, run a command prompt and type ant. If the program can not be found add %ANT_HOME%\bin to the PATH. You may need to specify the full path instead of using the %ANT_HOME% environment variable.

3. Setup New Project

In a terminal window, navigate to the bin directory within the android subfolder of the Cordova distribution.

Type in ./create then press "Enter"

is the path to your new Cordova Android project
is the package name, e.g. com.YourCompany.YourAppName
is the project name, e.g. YourApp (Must not contain spaces)

Launch Eclipse, and select menu item New Project
Select the directory you used for
Click Finish.

4. Hello World

Create and open a new file named index.html in the assets/www directory. Paste the following code:


Hello World

5. Deploy to Emulator

Right click the project and go to Run As > Android Application
Eclipse will ask you to select an appropriate AVD. If there isn't one, then you can create one as follows from the Android Virtual Device Manager:
- click "New" button from the Android Virtual Device Manager
- fill up the required information and click OK

6. Deploy to Device

Make sure USB debugging is enabled on your device and plug it into your system. (Settings > Applications > Development)
Right click the project and go to Run As > Android Application

The instalation tutorial can be found also under:


Using Mac OS version of IE

We don't need to install VMWare.
Here is the link for Mac OS version.


Synchronize SMS from iPhone

With some third party sync tools you can synchronize SMS (and more) with your Computer.

Some examples for Mac OS are:
* MobileSyncBrowser:
* The Missing Sync for iPhone:


VMware Fusion to run Windows on a mac

To run windows programs on Mac OS leopard, you can use the ability of installing Windows on a mac using VMware Fusion.
VMware Fusion makes it possilbe to run the most demanding Windows and Mac applications side-by-side. It is handled like a standard Mac-application to have easy access to all necessary windows programs.


Subscribe to Mac OS