Showing posts with label math. Show all posts
Showing posts with label math. Show all posts

Wednesday, March 28, 2012

HOWTO: TI-83 Emulator on Linux

When you are trying to show a classroom full of students how to enter a complicated equation into their calculator it is pretty much always best to give an example. In order to do this in an effective manner I like to be able to display the calculator on the projector. Most students today have a TI83/84 model so being able to have an emulator for one of these on my laptop is essential. The following is how I went about getting a TI-83 emulator setup on my Bodhi Linux machine:

First - Download, Compile, and install Tilem

My TI emulator of choice is called "Tilem". It is an open source project and you can download the latest source code here. Extract it's contents and do the:

./configure
make
sudo make install

dance that compiles so much software. If the software doesn't compile for you first try be sure to check the README file and the configure script output - odds are you are simply missing a build dependency. If you can't figure out the issue on your own pastebin the error message and post it in the comments - I'll do my best to lend a hand.

Second - Obtain and use a ROM Image

There are a few different ways to get an image of a TI-ROM. You can dump the ROM off of a physical calculator you own (mildly complicated, check that README file for details on this) or you can hit Google. I found a good TI83 download here.

Next simply launch

tilem2

and point it to the location of your calculator ROM file. Once you select it your TI emulator should appear on screen:




Enjoy!

~Jeff Hoogland

Tuesday, February 7, 2012

LibreOffice Math/Formula Editor Examples

While I love technology another one of my passions is mathematics. I am currently working on a graduate degree in this field. I like to type a good deal of my course work so it looks presentable.

I know the industry standard for typing mathematics is using a software such a LaTex or Lyx, but I haven't quite made the leap from using LibreOffice as my every day word processor as of yet. Thankfully, LibreOffice comes with a fairly power equation editor - if you know how to use it! The following is my personal cheat sheet for using the editor - enjoy!





If you'd like to download a copy of this you can easily copy and paste I've got an ODT version here and a PDF version here.

~Jeff Hoogland

Tuesday, September 21, 2010

HOWTO: wxMaxima on Nokia N900

I mentioned in a post at the beginning of the year that I was attempting to get my favorite CAS functioning on my N900. I am happy today to say that it is indeed possible to run wxMaxima on your N900! The following is a short HOWTO on getting it running.

First - if you have not already done so, install the rootsh package from your application manager and enable the extra-devel repository.

Next, crack open a terminal and run the following in order:

sudo gainroot
apt-get update
apt-get install easy-deb-chroot


Next open your menu and locate the Deb Img Install icon (if you use categorize it is located under System). Upon launching this it will ask you if you want to install the Debian image to your MyDocs or your SD card - pick which ever you prefer just know that it will take up at least 2gig worth of space. Let the package download and extract, the download size is about 300megs and it takes awhile to extract (seriously, go play a video game or watch TV while it does this).

Once that has finished, open up terminal again and run:

debbie sudo apt-get install wxmaxima

Select Y when it asks you to install the packages and then let apt work it's magic. Once it is finished you can access wxMaxima by running

debbie xbindkeys && debbie wxmaxima

Now due to how the N900 keyboard maps it's keys you will need to go to Edit->Configure and check the box Enter Evaluates Cells. After doing this you should be able to enter an equation and have it be evaluated by pressing shift+enter on your N900 keyboard.


If you would like an icon for wxMaxima in your N900 menu (instead of launching it from terminal) run the following in terminal:

sudo gaintroot
apt-get install leafpad
leafpad /usr/share/applications/hildon/wxmaxima.desktop


The last line will open a blank text file, enter the following as it's contents:

[Desktop Entry] Encoding=UTF-8
Name=wxMaxima
GenericName=wxMaxima
Exec=debbie "xbindkeys; wxmaxima"
Icon=maxima-icon
X-Osso-Type=application/x-executable
X-HildonDesk-ShowInToolbar=true
Terminal=true
Type=Application
StartupNotify=true

Press ctrl+s to save the document and then close out leafpad (note you may need to restart your N900 for this icon to appear).


It's just that simple! Enjoy using your N900 as a pocket computer algebra system :)

~Jeff Hoogland
Note: I do not take credit for coming up with this method, I just reorganized the information in an easier to understand matter. The two articles I pulled information can be found here and here.

Friday, February 5, 2010

Linux Advocacy: The Right Way

I am a full time student, one of the primary uses of my computers thusly is for school work. At any given point I typically have my netbook (which runs Ubuntu) and my phone (which runs Maemo) with me. Having and using these devices in the public on a daily basis has made me realize that there is a right way and a wrong way to promote Linux to those who are unfamiliar with it. What is the right way to promote Linux you ask?

Simple: You don't.

In two different instances this past week I've found people are more interested in stimulating a conversation about the operating system if you let them ask the questions - don't force information on someone they very well might not want or even care about.

I'm currently taking a Number Theory class this trimester, the class involves a lot of algebra at times. So I don't get bogged down with such menial work I typically always have my netbook out with wxMaxima. As I was going through some group work with a few other students this past week, I was showing the results of some equations I had the computer solve to a classmate when he made me pause for a moment. The conversation went something like this:

"What was that?"

"What? You want me to double check the numbers?"

"No, not the math. Your window, when you moved it - what did it do?"

He was referring to the "wiggle" my window had when I moved it around. Compiz is a wonderful eye catcher. I then proceeded to show him the desktop cube and a few other effects that are easily enabled. After a couple of moments he asked my favorite question:

"What version of Windows is that? Its pretty neat."

I mentioned that it was not Windows, but something else - Ubuntu. Alright, I lied before then he asked my favorite question:

"Oh, never heard of that before. How much did that cost?"

I smiled.

"It's free."

He then asked:

"Free? Really? What can it do?"

"Oh, you know everything you expect a computer to do. Type a paper, surf the internet, solve math equations, play games..."

He then asked where he could get it from, I gave him the web address and told him if he had any questions about it he could feel free to ask me next week at class.

This is the right way to get someone interested in something. You don't force it down their throat or rant and rave about how it is better than something they are already using. People are often comfortable with things they find familiar and they are naturally resistant to change. Many users (myself included) find themselves over excited when they first discover the world of choices that open source presents them. As such I think they feel it is their "duty" to make others "see the light" and "convert" to this new way. Even though they do not mean to - this attitude hurts the image of the FOSS/Linux community and is where the negative term "Linux Zealot" comes from.

In closing, if you feel you must make the general public aware of Linux remember this: mention - don't preach.

~Jeff Hoogland

Monday, November 9, 2009

(wx)Maxima - An Open Source CAS

The original use for computers when they where first created was to have them compute numbers. When they first came about computers where contained in large rooms and where only able to make the most basic of calculations, as time has progressed how ever our systems have steadily gotten smaller and more powerful. At this point in time there is very little (given enough time) our computers cannot calculate.

How exactly do we make our computers run such calculations? Our systems are useless without software to run on them - enter the world of CASes or Computer Algebra Systems. A CAS is a type of software that allows the computer to perform calculations such as algebra, calculus, generation of two and three dimensional graphs, as well as more simple computations such as basic addition, subtraction, multiplication, and division.

Maxima is an open source, cross-platform, computer algebra system. On its own Maxima is simply a command line interface (CLI) that gives you access to a whole slew of different commands that allow you to perform just about every type of useful math function you can think of. From Maxima's homepage:
"[Maxima] is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors."
From personal experience as a math student I can say that having a CAS at my disposal both in class and for take home work has been invaluable. Such software allows the user to better focus on the new lesson at hand rather than get caught up in sticky, time consuming applications from long past lessons such as algebra.

The syntax for Maxima commands is extremely easy to pick up, especially if you have any kind of programming experience (in fact for the most the the function syntax largely resembles the python scripting language). Maxima also does a great job of defining functions and variables, so if you have a certain complicated number or complex function you are going to be making multiple calls of you do not have to fully type it out more than once. One of my favorite features of Maxima is how it labels inputs (%i1) and outputs (%o1). For each additional input/output the number value is increased by one. By labeling them all as such it makes it very easy to recall a certain value you obtained earlier on, thusly reducing the amount of typing needed and greatly lowering the chance of human error (such as transposing or leaving out numbers/decimal places).

Now a CLI is fine and dandy if you are intimately familiar with the software, however for the beginning user this is not so useful. One solution to such an issue would be to dive in reading documentation detailing the different functions and their syntaxes, however this can be a cumbersome task and for the average user - especially if you just want to do a few calculations and get on with the rest of your work. A more viable solution is something along the lines of wxMaxima, an open source, cross-platform, GUI (graphic user interface) front end for Maxima.

wxMaxima does a good job of organizing the different functions Maxima provides into different categories such as: Equations, Algebra, Calculus, and Plots. Such organization allows for someone who has never used the software before to quickly find the function they are looking for and provides easy dialog boxes for entering the inputs the function requires to be used properly. wxMaxima also helps teach a user the CLI as they use the program, as each function is called it displays how the syntax should look when the command is run. The last feature I want to mention that wxMaxima provides is saving your work, if you have a set of functions you plan to use on a regular basis you can save the file to be reloaded at a later date. Also present is the option to export your work to either an HTML file or a LaTeX file if you wanted to send it to someone else to view.

All in all I think Maxima is a fantastic piece of software and it is easily on par with commercial CASes such as Maple. If you are a math or science student or someone who works with complex functions and numbers in the field Maxima is definitely worth taking the time to check out.

~Jeff Hoogland