MathJax – Beautiful Equations in all Browsers

MathJaxHistorically including equations on a web page has been a pain. The simplest and best approach was often to just create an image graphic of the equation using something like LaTeXiT. This was far from ideal, especially when you wanted to insert an equation or symbol within text. Happily there is now a mature, well supported, solution: MathJax.

MathJax is an open source Javascript display engine for mathematics that works in all browsers. No plugins, no special setup or font installations required! With MathJax you define your equations using TeX, MathML or AsciiMath. Wrapped in MathJax Javascript encoded equations are scaled and rendered. MathJax can be used either by pointing to the latest version on the Web, or locally installed on your web server or WordPress. For more about MathJax visit: http://www.mathjax.org

This html
mathjax-html

displays this
mathjax-sample

TechNote #37

Acrobat Pro – PDF Portfolio

PDF-logoPDF Portfolios are a great way to assemble a wide range of different content types into a single customizable document. A good analogy is a zip archive with cool front-end navigation. While the Portfolio format has been around for a number of Acrobat Pro versions, Adobe continues to enhance and refine features.

Supported Portfolio content formats include PDFs, MS Office documents, images, and more. When you create a Portofolio you can select from a number of template layouts that can then be customized (e.g., branding logo, background graphics). Consider a PDF Portfolio whenever it would be desirable to bundle a body of work. For example course materials for a class you are teaching, or a collection of professional work. For more info…

http://www.adobe.com/products/acrobat/combine-pdf-files-portfolio.html

TechNote #36

Microsoft Office for iPad

iPad OfficeAs you may have heard Microsoft has at long last released Office ( Word, PowerPoint, Excel ) for the iPad. The view-only versions of all three apps are free to download from the App Store. To create and edit documents, you must have a Microsoft Office 365 Home or Business subscription.

In general I think Microsoft did a reasonable job of porting the Office suite to the iOS touch environment. There are some glaring omissions however. Amoung these are no ability to print and poor document collaboration features. Given the Apple, Google and other productivity app alternatives it is hard to see how iOS Office will be worth the storage space unless you are deeply entrenched in the Microsoft ecosystem.

TechNote #35

Cygwin – Linux, Posix API, X11 Functionality on MS Windows

cygwinCygwin is a collection of Open Source and GNU tools, and a Posix API which provide Linux like functionality on Microsoft Windows systems. While Cygwin will not run native Linux applications, you can rebuilt an application from source to take advantage of Cygwin features. Project home page: http://cygwin.com

One of the most useful features of Cygwin is Cygwin/X. As the name implies Cygwin/X is a port of the X Window System to the Cygwin Windows API. It consists of an X server, X libraries, and many of the standard X clients. Cygwin/X is installed using either Cygwin’s setup-x86.exe (32-bit version), or setup-x86_64.exe (64-bit version) installers. The installation process is documented in the Cygwin/X User’s Guide. Tip: On the Select Packages dialog page I recommend installing all of the X11 category, openssh in the Net category, and the defaults for everything else. To select install for a given item click the little cycle icon.

To start the X server, open a Cygwin Terminal and enter startxwin. An Xterm window should appear. To run an X client on a remote system enter something like the following at the Xterm prompt.

$ xhost +remotehost – Add the host to your X server accept connection list.

$ ssh -Y username@remotehost.edu – Log on to a trusted remote system.

TechNote #34

Mac OS X – Connect to Server…

Mac OS X has the built-in capability to connect to different types of network file servers. Supported file protocols include:

  • afp (Apple File Protocol – OS X Servers, Macs with file sharing turned on)
  • nfs (Network File System – usually running on Unix/Linux)
  • smb or as it is sometimes called cifs
    (Server Message Block / Common Internet File System – usually running on a Windows server)
  • ftp (for read-only access to File Transfer Protocol servers)
  • http (WebDAVWeb Distributed Authoring and Versioning)

To connect to a server select

  Finder –> Go –> Connect to Server…

In the Connect to Server dialog box enter the server address. The address syntax is

  protocol://internet_address-or-IP_number/optional-volume|directory-path

So for example to connect to a Linux nfs server you would enter an address like

  nfs://linuxcomputer.myschool.edu/data2

For a Windows server the address would look like

  smb://windowsserver.myschool.edu/

Click the Connect to Server dialog [+] button to add the server to your Favorite Servers. Click the Connect button, select a volume and enter username/password info to mount it. Check “Remember this password in my keychain” if you want to simplify the log in process.

Once you have a server defined you can set it up to automatically mount at start-up. To do this select:

  System Preferences… –> Users & Groups –> You –> Login Items

Drag a mounted volume to the list area in the dialog box to add it to your Login Items.

TechNote #33

SMS Messaging Using curl

Using the curl command (Unix, Linux, OS X terminal) and the Web-based API from TextBelt.com you can send text messages to any phone that supports SMS, for free. Here is an example:

curl http://textbelt.com/text -d number=4445556666 -d message=”Hello World”

In the above, the message “Hello World” will be sent as an SMS message to the number (444) 555-6666. If the message is sent successfully, the command will return {“success”:true} and if not, then the return will read “false” followed by an error message.

You are probably already thinking of uses for this service. Are you running a cron job or script and want to be notified when it is complete or if there was an error? Just embed a curl command.

Note that TextBelt does have a few limitations. First, you are limit to 75 texts per IP address per day, and only three texts can be sent every three minutes. In addition, some cell carriers are not supported. However the following should be fine:

Alltel, Ameritech, AT&T Wireless, Boost, CellularOne, Cingular, Sprint PCS, Telus Mobility, T-Mobile, Metro PCS, Nextel, O2, Orange, Qwest, Rogers Wireless, U.S. Cellular, Verizon, Virgin Mobile.

For more info go to the TextBelt.com web site.

TechNote #32

Windows XP Support

XPOn April 8, 2014, support and updates for Windows XP will no longer be available. After this date your XP system will continue to work. However, since Microsoft will no longer be providing security updates your system will be vulnerable to new security threats. Additional information can be found at

I recommend that XP users upgrade to Windows 7 as soon as convenient. The minimum system requirements for Windows 7 are a 1 GHz CPU, 1 GB RAM, and 16 GB free disk space. While Windows 7 will run on this minimum configuration, for acceptable performance you really need a 2 GHz CPU and 4 GB RAM. In addition your display has to have a 1024 x 768 resolution. To see if your PC is ready for Windows 7, download the free Windows 7 Upgrade Advisor from Microsoft. URL:

The upgrade procedure from Windows XP to Windows 7 is not simple. For more information visit

Windows XP was introduced in 2001 and is ubiquitous in many industries. For example, it is currently in 95% of all US ATMs. Hopefully these systems will be upgraded in a timely fashion. Otherwise some of the predicted Y2K doom and gloom may finally be realized in compromised XP devices.

TechNote #31

Google Image Search

Google ImagesSearching for images on the Internet is simple with Google Images. URL: https://www.google.com/imghp

Need an image of Abramis brama for a poster? Just enter the term in Google Images search. You can then use the Search tools to filter your results. For example, set Usage rights to “Labeled for noncommercial reuse” to find images that are free to use without copyright worries.

TechNote #30

Windows XP – exFAT

The extended File Allocation Table (exFAT) file system is the successor to FAT32. Unlike FAT32, exFAT handles large files and external media greater than 32 GB. To install exFAT support on your Windows XP system go here: support.microsoft.com/kb/955704

Note: If you need a flash drive to transfer files between a Mac and a Windows system, then the exFAT format is currently your best option. The reason for this is that OS X does not natively support writing (i.e., read only) to a NTFS formatted volume. Also exFAT is the only Windows format supported by the OS X Disk Utility application.

TechNote #29

MATLAB: OS X Simple Installer

matlab
MathWorks provides a noninteractive installer (aka silent installation) for MATLAB. This installer can save you time and prevent errors in environments where there are many installations to perform, and the information you need to enter for each installation is the same.

The steps for this are pretty simple:

  1. Edit the installer input text file (e.g., installer_input.txt) provided by MathWorks, changing the parameters as appropriate for your site.
  2. Place you license file in the folder pointed to by the licensePath parameter.
  3. From a Terminal window, cd to the MATLAB installer folder, and enter
    ./install -inputFile installer_input.txt

You can take this one step further by putting an Applescript frontend on the command-line installer. Bundle everything together in a zip archive or dmg disk image and you have a simple, easy to distribute, double-click installer.

Here is the Applescript (matlab-installer)

tell application "Finder" to get folder of (path to me) as Unicode text
set workingDir to POSIX path of result
tell application "Finder"
  if (not (exists folder "/usr/local/bin")) then
    do shell script "mkdir -p '/usr/local/bin' " with administrator privileges
  end if
end tell	
tell application "Terminal"
  activate
  do script "cd " & workingDir & "matlab_folder; ./install -inputFile installer_input.txt"
end tell

Assuming a folder tree like

matlab-folder

TechNote #28