**PALETTE** From Chord to Color ([GitHub](https://github.com/weissa7/palette)) Shaun Cardone, Aaron Weiss, Alex Cretella, Sarah Almeda ![](saas.png) ************************************************* * _______ * * | ▉ ▉ ▉ | ░░░░░░ ▒▒▒▒▒▒ ▓▓▓▓▓▓ * * | ▉ ▉ ▉ | ------> ░░░░░░ ▒▒▒▒▒▒ ▓▓▓▓▓▓ * * |_______| ░░░░░░ ▒▒▒▒▒▒ ▓▓▓▓▓▓ * * * ************************************************* # Introduction Palette is a simple application created in Java to provide therapeutic entertainment by providing color representations of audio. By providing MIDI input through a MIDI keyboard or from a file, Palette will generate a color palette unique to what is played. # User Guide ## General Information: This program is intended to be used with a MIDI keyboard and it used to help translate a song in the MIDI format into a color palette to be used by artists or musicians for whatever purpose they may need. ## System Overview: The program uses MIDI input through a file or the MIDI keyboard and reads the data that is sent/read from the MIDI input or file. The program uses the data in the MIDI file such as the note, velocity, and other characteristics of the note to determine what the color of the note is. This application can be used on any operating system as long as Java is installed onto the device. ![](images/UI.png) ## Requirements Java [https://www.java.com/en/download/](https://www.java.com/en/download/) is required to run Palette. Optionally, a MIDI keyboard may be connected via USB to enhance interaction with the application. Keyboard sold separately. ## Functionality ### From File ![](images/upload.png) Using the upload feature, you can upload any music track stored in MIDI format (.mid extension). Palette will automatically create various color palettes that demonstrate the song. ### Live Play ![](images/record_stop.png) With a MIDI keyboard attached to your computer, pressing the 'record' button will begin a live session where the color palettes will be dynamically updated as you play! Before playing, a window will prompt asking which MIDI device you would like to use. Select the one that has a name closest to your device. The application will inform you if the device you selected was incorrect. If no input is detected, there may be a different device that will work. Once the Live Play session has started, you may begin playing on your keyboard. The application does not produce sound, so an external program or speaker for the keyboard is needed for audio feedback. Once completed, press the 'stop' button. You now have the option of saving your play to a MIDI file, or cancelling. ### Algorithms ![](images/algorithms.png) Palette offers multiple algorithms to generate colors for you. Using the dropdown, select which algorithm you would like to see. Algorithms may be switched at any time, and do not reset upon switching. This lets you compare colors for the song you are currently viewing. Current Algorithms available: * NoteDistance * ColorDrift * Scribian See the Source Descriptions section in the Developer portion of this page for more details on what the algorithms are and how they work. ## Output ![](images/output.png) The output of uploading / recording a song is a 5-color palette of colors. The hex values of each color are displayed. !!! Tip You can click on each generated color to copy the hex value into your operating system's clipboard! # For Developers ## Getting Started Palette is open source, and is easy to get started working on. The following technologies are required: * [IntelliJ IDEA](https://www.jetbrains.com/idea/download/) - A professional Java IDE by JetBrains. * [Java 11 SDK](https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html) - Oracle's Java SDK, latest release. ### Project Setup Once IDEA is installed, execute the program. On the New Project page, select "Checkout from Version Control" and choose Git. Provide the project's GitHub URL: [https://github.com/weissa7/palette](https://github.com/weissa7/palette) and the project will be initialized! Build the project, and the program should be ready to execute. ## Project Overview ## Source Descriptions This section covers the descriptions of every relevant file available in the project. It is to provide a brief overview of said file. More descriptive documentation may be found within the files. (###) ColorDrift (class)) A simple algorithm that generates a color palette based on small movements from a gray center. (###) HSBColor (class)) A class that utilizes the hue - saturation - brightness color system for holding color information. (###) NoteDistance (class)) A complex algorithm that utilizes the distance between music notes to generate a complementary color palette. The best way to describe this algorithm is visually because it splits a color wheel into 12, 30 degree sections, 1 for each note. The orientation of the sequence is arbitrary, based on where the note with the highest count is placed on the wheel, so the angles wont necessarily look as pretty as 30, 60, 90; however, they will always be the same 30 degrees from one another ![](images/degrees.png width="400px" height="400") If we consider a song example where: C is our most hit note with 100 hits, D# is our 2nd most hit with 80 hits, G# is our 3rd most hit with 70 hits, F is our 4rd most hit with 50 hits, A# is our 5th most hit with 40 hits, then we have: ![](images/with_numHits.png width="400px" height="400") To generate a color palette from this information, we will travel a percentage of the distance between the base color and each of the other 4 most hit notes. To determine the percentage, we divide each note's number of hits by the base note's number of hits and then multiply the result by 100. For example, the distance to A# is calculated by taking it's number of hits (40) and dividing it by the base's number of hits (100) and then multiplying the result by 100 The resulting color is highlighted by a teal box ![](images/continuous_A.png) The same calculation is followed for each of the other notes: ![](images/continuous_G.png)![](images/continuous_F.png)![](images/continuous_D.png) This is the color palette generated: ![](images/color_palette.png) (###) PaletteAlgorithm (interface)) An interface to be used when implementing new color-generating algorithms. (###) PaletteForm (class)) The main program, using Swing to create a GUI interface. (###) Scribian (class)) This algorithm represents Scribian Correspondence of the notes played. More info on this may be found [here](https://www.flutopedia.com/sound_color.htm). # Support Having trouble? Leave a GitHub issue, or contact one of us: Person | Email | -------------|----------------------| Shaun |<EMAIL_ADDRESS>| Aaron |<EMAIL_ADDRESS>| Alex |<EMAIL_ADDRESS>| Sarah |<EMAIL_ADDRESS>|


Life is precious!
Over one million deaths occur every year due to dengue and Malaria, spread by mosquitos.
Recently, the Zika virus has resulted in severe birth defects and life threatning diseases, primarily spread by mosquito bites.
Prevention Measures:
1. Prevent accumulation of stagnant water near yourself.
2. Use mosquito repellants.
3. Don't go out in the late evenings.
4. Maintain cleanliness.


Biometric check System
Select Form:
Form 1
Form 2
Form 3
Form 4
Select Stream:
WEST
EAST
SOUTH
South
Submit


class: center, middle  # Introduction to Machine Learning ### Raphael Cobe ### Advanced Institute for Artificial Intelligence ### June, 2019 --- class: center, middle  # http://advancedinstitute.ai --- class: center middle, inverse # More advanced Regression strategies --- # Multiple Linear Regression * Extend the simple linear regression model to directly accommodate multiple predictors `\(X_i^1, X_i^2,...X_i^n\)`: In R (define a more complex formula): ```r formula = sales ~ TV + radio + newspaper; ``` $$ sales = \theta_0 + \theta_1 \times TV + \theta_2 \times radio + \theta_3 \times newspaper + \epsilon $$ ??? Do the demo. --- # Multiple Linear Regression  --- # Multiple Linear Regression * The values of `radio` and `TV` better explain the variance; * Fitting a separate simple linear regression model for each predictor is bad; * Each of the three regression equations ignores the other two media; --- # Quick Challenge * Use the `Prestige` dataset in `cars` dataset; * Answer the questions: 1. Is at least one of the predictors X1 , X2 , . . . , Xp useful in predicting the response? 2. Do all the predictors help to explain Y, or is only a subset of the predictors useful? 3. How well does the model fit the data? --- # Polynomial Regression * Fitting a higher degree function to the data; * Differs from the simple linear cases by having multiple degrees for each feature in the dataset; `$$\widehat{y_i} = \theta_0 + \theta_1X_i^1+ \theta_2[X_i^2]^2+...+\theta_n[X_i^n]^n$$` --- # Polynomial Regression in R Use the `poly()` function while defining the formula: ```r lm2 <- lm(pop$uspop ~ poly(pop$year, 2)) ``` Alternative: * Add the terms by hand: ```r lm3 <- lm(pop$uspop ~ pop$year + I(pop$year^2))) ``` --- class: center, middle, inverse # Classification Methods --- class: middle # Linear Regression Review ## Matrix Notation `$$\widehat{y_i}=\begin{bmatrix} \theta_0 & \theta_1 &\theta_2 & ... & \theta_n\end{bmatrix} \begin{bmatrix} X_i^0 \\ X_i^1 \\ X_i^2 \\ ... \\ X_i^n\end{bmatrix}+\epsilon_i$$` `$$\widehat{y_i}=\Theta^TX_i + \epsilon_i$$` --- class: middle # Linear Regression Review ## Matrix Notation - For all observations: `$$\begin{bmatrix}\widehat{y_1} \\ \widehat{y_2} \\ ... \\ \widehat{y_m}\end{bmatrix} = \begin{bmatrix}X_1^0 & X_1^1 & ... & X_1^n \\ X_2^0 & X_2^1 & ... & X_2^n \\ ...& ... &... & ...\\X_m^0 & X_m^1 & ... & X_m^n \end{bmatrix} \begin{bmatrix}\theta_0 \\ \theta_1 \\ ... \\ \theta_n\end{bmatrix} + \begin{bmatrix}\epsilon_1 \\ \epsilon_1 \\ ... \\ \epsilon_m\end{bmatrix}$$` `$$\widehat{Y}=X\Theta+\epsilon$$` --- class:middle #Simple Linear Regression A usual way of calculating `\(\theta_0\)` and `\(\theta_1\)` is based on the minimization of the residual sum of squares (*RSS*): `$$\begin{eqnarray} RSS &=& \frac{1}{2m} \sum_{i=0}^{m}(\theta_0 + \theta_1X_i^1-y_i)^2 \end{eqnarray}$$` --- class: center, middle, inverse #Logistic Regression ### Some examples from Andrew Ng Coursera Course --- class: left #Logistic Regression ## Problems with the Logistic Regression * Imagine a case where the output of the regression is a **yes or no question**: + Classify tumors according to their size: after a certain size, a tumor is considered malignant; + *(Sorry for the handwritten charts)*  --- class: left # Logistic Regression ## Problems with the Logistic Regression * This seems almost right + Answer `\(Yes\)` if the predicted value is over `\(0.5\)`;  --- class: left # Logistic Regression ## Problems with the Logistic Regression * ... but if we have outliers in the dataset: + The slope starts to be very small + Hypothesis can be larger than 1 or smaller than zero  ??? * By adding a far right point the new regression line (blue) misses a few positive points * The naming is confusing but it is a classification problem! --- class: left # Logistic Regression ## The Logistic Model * We want `\(0 \leq \widehat{y_i} \leq 1\)`; * The *Sigmoid function*:  ??? * Also known as Logistic function * Assintotes at 1 and 0; --- class: left # Logistic Regression ## The Logistic Model * We want `\(0 \leq \widehat{y_i} \leq 1\)`; * Define a `\(g()\)` function that maps the *Score* of the linear regression to the 0..1 interval: `$$\widehat{y_i} = g(\Theta^T X_i)$$` * Where `\(g(Z)\)` is the **Sigmoid function**: `$$g(Z)=\frac{1}{1-e^{-z}} = \frac{1}{1-e^{-\Theta^TX_i}}$$` * The new `\(\widehat{y_i}\)` between 0 and 1 meand the probability of this example belonging to a class; --- class: left # Logistic Regression ## The Logistic Model * Interpreting the output of the output `\(\widehat{y_i}\)`: + The probability of the `\(y_i=1\)` on input `\(X_i\)`: `$$\widehat{y_i} = p(y=1 | X_i; \Theta)$$` + Probability of `\(\widehat{y_i} = 1\)`, on input `\(X_i\)`, parameterized by `\(\Theta\)` + Predict `\(\widehat{y_i}=1\)` if `\(g(\Theta^TX_i)\geq0.5\)` (when `\(\Theta^TX_i \geq 0\)`) + Predict `\(\widehat{y_i}=0\)` if `\(g(\Theta^TX_i)<0.5\)` (when `\(\Theta^TX_i < 0\)`) ??? * The sum of P(y=0)+P(y=1)=1 + P(y=0) = 1 - P(y=1) --- class: left # Logistic Regression ## The Decision Boundary * Boundaries are properties of the output not the data set;  + Decision boundary: `\(p(\widehat{y_i}=1)=0.5\)` `\(\rightarrow\)` `\(X_1+X_2=4\)` + Predict `\(\widehat{y_i}=1\)` if `\(-4+X_1+X_2\geq0\)` `\(\rightarrow\)` `\(X_1+X_2\geq4\)` + Predict `\(\widehat{y_i}=0\)` if `\(-4+X_1+X_2<0\)` `\(\rightarrow\)` `\(X_1+X_2<4\)` ??? * The value chosen for `\(\Theta=[-4, 1, 1]\)` * Depends on the hypothesis, not the dataset (the full equation, including `\(\Theta\)`) --- class: left # Logistic Regression ## The Decision Boundary * What if it is not linear? * `\(\widehat{y_i}=g(\theta_0X_i^0+\theta_1X_i^1 + \theta_2X_i^2+\theta_3(X_i^1)^2+\theta_4(X_i^2)^2)\)` * With `$$\Theta = \begin{bmatrix}-1 \\ 0 \\ 0\\ 1\\ 1\end{bmatrix}$$` * Predict `\(\widehat{y_1}=1\)` if `\(-1+(X_i^1)^2+(X_i^2)^2=0\)`; --- class: left # Logistic Regression ## The Decision Boundary * The decision boundary: `\((X_i^1)^2+(X_i^2)^2=1\)`  --- class: left # Logistic Regression ## The Decision Boundary * The decision boundary: `\((X_i^1)^2+(X_i^2)^2=1\)`  ??? * Circle of radius 1, centered at the origin * By addind more complex features, can get more complex Decision Boundaries; * The decision boundary is defined with `\(\Theta\)` --- class: left # Logistic Regression ## The Cost function * The same formulaton: + The training set with `\(m\)` observations: `\({(y_1,X_1), (y_2, X_2), ..., (y_m, X_m)}\)` + and `\(X_i\)` in `\(\begin{bmatrix}X_i^0 \\ X_i^1 \\ ... \\X_i^n\end{bmatrix}\)`, with `\(X_i^0=1\)`; + The new `\(\widehat{y_i}\)`: `$$\widehat{y_i}=\frac{1}{1-e^{-\Theta^TX_i}}$$` --- class: left # Logistic Regression ## The Cost function * We need to (heavily) penalize when we predict it wrong, and have `\(0\)` cost when the prediction is correct; * For the case of `\(y=1\)`: + if `\(\widehat{y_i} = 0\)` and `\(y_i=1\)`, then Cost should be `\(\infty\)`; + if `\(\widehat{y_i} = 1\)` and `\(y_i=1\)`, then Cost should be `\(0\)`; * For the case of `\(y=0\)`: + if `\(\widehat{y_i} = 1\)` and `\(y_i=0\)`, then Cost should be `\(\infty\)`; + if `\(\widehat{y_i} = 0\)` and `\(y_i=0\)`, then Cost should be `\(0\)`; `$$Cost(\widehat{y_i}, y_i)=\begin{cases} -log(\widehat{y_i})\ \ if\ \ y_i=1 \\ -log(1-\widehat{y_i})\ \ if\ \ y_i=0\end{cases}$$` ??? * We need to separate in two cases, since we have two classes; * The cost function -> the cost my algorithm has to pay if it output the wrong `\(\widehat{y_i}\)` * Also, the cost function, i.e., the error would be non convex, thus the gradient maybe wont find the minimum; --- class: left # Logistic Regression ## The Cost function `$$Cost(\widehat{y_i}, y_i)=\begin{cases} -log(\widehat{y_i})\ \ if\ \ y_i=1 \\ -log(1-\widehat{y_i})\ \ if\ \ y_i=0\end{cases}$$`  ??? * Penalize hard when get it wrong; + Pay ver large cost when, e.g., y=0 and we predict y=1; --- class: left # Logistic Regression ## The Cost function and the Gradient descent: The error: `$$\epsilon = \frac{1}{m}\sum_{i=0}^{m}Cost(\widehat{y_i}, y_i)$$` The values of `\(y_i\)` is always either `\(0\)` or `\(1\)`, thus: `$$Cost(\widehat{y_i}, y_i) = -y_i log(\widehat{y_i}) - (1-y_i) log(1-\widehat{y_i})$$` * If `\(y_i=0\)`, then `\(Cost(\widehat{y_i}, y_i) = -(1-y_i) log(1-\widehat{y_i})\)` * If `\(y_1=1\)`, then `\(Cost(\widehat{y_i}, y_i) = -y_i log(\widehat{y_i})\)` ??? * Compress into one equation the Cost; --- class: left # Logistic Regression ## The Cost function and the Gradient descent: The error: `$$\epsilon = -\frac{1}{m}\sum_{i=0}^{m}y_ilog(\widehat{y_i}) + (1-y_i)log(1-\widehat{y_i})$$` We need to find `\(\Theta\)`, in order to get a minimum error `\(\epsilon\)`. Thus, the rule to update, during the gradient descent algorithm becomes: `$$\theta_j^{(t+1)} = \theta_j^{(t)}-\alpha\sum_{i=0}^{m}\left(\frac{1}{1-e^{-\Theta^TX_i}}-y_i\right)X_i^j$$` **Identical to Linear Regression** ??? * Can be derived from Maximum Likelihood Estimation; --- class: left, middle # In R * Using the mtcars dataset, discover whether or not a car is automatic by examining its Fuel Efficiency and its Weight; * Fitting a linear regression model to this data would not work, because we cannot have half a transmission value; * Logistic regression model; - **Logit Function**; --- class: left, middle # Challenge: ### Perform the same analysis using the `iris` dataset. Classify try to classify the *setosa* species in terms of Sepal Width and Length; * Remember to first create a new variable, defining if that observation is from de *setosa* species or not: ```r iris.binary <- iris iris.binary$setosa <- as.numeric(iris[, 5] == "setosa") ``` --- # Decision Trees * A tree is a structure that has nodes and edges; * * As simple as “if-then” statements related to data.; ```r library(party) tree <- ctree(mpg ~ ., data = mtcars) plot(tree) ``` ![](Slides_files/figure-html/unnamed-chunk-14-1.png) ??? We are plotting engine fuel efficiency (mpg), but we’re using all features in the dataset to build the model instead of just one; hence, the mpg ~ . call in the ctree() function. The output is a distribution (in the form of a box-and-whisker plot) of the fuel efficency as a function of the major features that influence it.  In this case, the features that are most important to mpg are disp (the engine displacement) and wt (the car’s weight). You read this chart from top to bottom. --- # Decision Trees * A collection of decision nodes connected by branches, extending from the root node and terminating at the leaf nodes. * Attributes are tested at each decision node * each possible outcome results in a branch. * Decision trees are mostly used for classification problems, where the outcome is categorical; * widely used in the medical and finance domains; * One the most important tools for physicists; --- # Decision Trees Example ### Bike race outcome prediction according to the weather conditions  ??? Let’s begin by looking at an **example of a set of data that describes my bike races** this year. We could have a **variety of parameters just related to the weather**. If I had a **robust enough sample of data** and I had a bike race coming up where **I knew the forecast to a reasonable degree**, should I expect a good or bad result to my bike race? --- # Decision Trees Example ### Forecast conditions for the Race day: * Sky Condition: rainy * Wind speed: low * Humidity: high ??? if this data were in a spreadsheet, would be to filter our data on those exact conditions and see what the results look like --- # Decision Trees Example * Start by subseting the data by certain criteria; * then build a tree so that when we have new data, it follows the branches of the tree to a result. * On the example: first split being on the Sky Condition variable. --  ??? shows three leaves in the tree: Sky Condition = rainy, Sky Condition = cloudy, and Sky Condition = sunny. The response you want to model is whether I’m going to have a good result in my race. A decision tree looks at these subsets and examines whether the Result variable contains all of one particular class For cloudy races, I have a good result being yes for each one. This indicates that the subset is **pure** and that you don’t need to split it any further. However, the sunny and rainy subsets have a mix of yes and no results. You’ll want to split these further to get a subset with higher purity. Purity is defined as how many positive or negative examples you have that you’re try‐ ing to model for (in this case, Result) out of the total values in the table. You want to continue to split the tree until you have as many pure leaves as possible. --- # Decision Trees Example * Splitting up the rainy and sunny subsets further: by wind and humidity; * Five terminal points to the tree; --  ??? read like an “if-then” statement, * starting at the top. what you want to predict: want to know if I’m going to have a good race result if it’s **rainy**, with **low wind speed**, and **high humidity**. * Begin at the top of the tree * Move along the path of Sky Condition = rain, * split on the wind speed being low. * That brings you into a bucket that has all of its data having a good result status of yes. --- class: left, middle # Challenge: ### Use the Iris dataset to perform an analysis of their species using Decision Trees. --- # Classification: types of errors ## Basic Terms: * True Positive: correctly identified * True Negative: correctly rejected * False Positive: incorrectly identified * False Negative: incorrectly rejected ### Medical Testing Example: * True Positive: Sick people correctly identified as sick * True Negative: Healthy people correctly identified as healthy * False Positive: Healthy people incorrectly identified as sick * False Negative: Sick people incorrectly identified as healthy ??? If it was inside the medical domain, the positive would mean: identify, and the negative would mean reject; --- # Classification: types of errors ## Confusion Matrix:  --- ```r mtcars$am <- as.factor(mtcars$am) cars.log_reg <- glm(am ~ mpg, data=mtcars, family = "binomial") X <- as.data.frame(mtcars$mpg) names(X) <- "mpg" predict_prob <- predict(cars.log_reg, X, type="response") predicted_values <- rep(0, length(predict_prob)) predicted_values[predict_prob >= 0.5] <- 1 predicted_values <- as.factor(predicted_values) confusionMatrix(mtcars$am, predicted_values) ``` ``` ## Confusion Matrix and Statistics ## ## Reference ## Prediction 0 1 ## 0 17 2 ## 1 6 7 ## ## Accuracy : 0,75 ## 95% CI : (0,566, 0,8854) ## No Information Rate : 0,7188 ## P-Value [Acc > NIR] : 0,4334 ## ## Kappa : 0,4553 ## ## Mcnemar's Test P-Value : 0,2888 ## ## Sensitivity : 0,7391 ## Specificity : 0,7778 ## Pos Pred Value : 0,8947 ## Neg Pred Value : 0,5385 ## Prevalence : 0,7188 ## Detection Rate : 0,5312 ## Detection Prevalence : 0,5938 ## Balanced Accuracy : 0,7585 ## ## 'Positive' Class : 0 ## ``` --- class: center, middle # Thanks! Slides created via the R package [**xaringan**](https://github.com/yihui/xaringan).


THE PHANTOM
A film review by Michael Dequina
Copyright 1996 Michael Dequina
(PG) * 1/2 (out of ****)
After the colossal box office disappointments The Rocketeer and The Shadow, one would think that Hollywood would have given up on bringing fairly obscure comic book characters to the big screen. Alas, that isn't the case, but one wishes that were after seeing The Phantom, a silly, unexciting film treatment of Lee Falk's comic book hero of the same name.
Billy Zane plays Kit Walker, the latest in his family to assume the mantle of the Phantom--purple-clad defender of the jungle's riches against pirates, looters, and greed in general. The latter is personified in one Xander Drax (Treat Williams), a wealthy business tycoon of some sort who is determined to find three sacred skulls which, when joined, are a source of immense supernatural power. Needless to say, it's up to "the ghost who walks" to prevent Drax from gaining possession of the three skulls.
Simon Wincer's (Lonesome Dove, Free Willy) film does move very quickly and efficiently; the film opens with a concise introduction to the legend of the Phantom that lasts little more than a minute, and he keeps the action moving accordingly. However, the film, for all its effects and stunts, is strangely unexciting and devoid of fun. The action set pieces, especially the fights, look and feel scripted and staged, lacking any spontaneous energy that would make it the slightest bit convincing; it's hard to have fun with comic book antics that are so forced and calculated. Wincer also fails to create a distinct tone; at times he appears to be going for a tongue-in-cheek comic book that's in on the joke and aware of its ridiculous excesses (which would have been the best choice), but at other times he plays it too straight, which doesn't suit a film about a guy wearing purple tights who rides on horseback in the jungle in the 1930s. But it's not as if Wincer had a great script to work with. Jeffrey Boam's script is little more than Batman meets Indiana Jones, or, more appropriately, The Shadow meets Congo--by-the-numbers, predictable action scenes involving a mysterious costumed hero in the wilds interspersed with city scenes set against Art Deco architecture and vintage automobiles.
The performances also reflect this unevenness of tone. A dark-haired Kristy Swanson, as the love interest, Diana Palmer, goes the straight route and comes off stiff and out of place. On the other side of the coin is Williams, who camps it up as Drax in an apparent attempt to reach the entertaining, manic heights a la Alan Rickman in Robin Hood: Prince of Thieves. Problem is, though, while Rickman chewed the scenery, he still came off as a menacing, formidable villain; Williams just comes off as a laughable caricature. Early on, Catherine Zeta Jones's Sala has the makings of a fun femme fatale along the lines of GoldenEye's Xenia Onatopp, but her character makes an inexplicable, abrupt change for the worse late in the game. The only one who achieves the appropriate balance is Zane, who never takes himself too seriously (how could he, given that ridiculous outfit?) while still investing a certain amount of serious conviction to the role. Zane has an appealing, self-effacing sense of humor; he is as credible firing guns as he is tossing off one-liners. If only screenwriter Boam gave him more opportunities to do the latter.
One thing that did strike me about The Phantom were its connections to--yes--Showgirls. Al Ruscio, who played the owner of the Stardust in that disastrous film, turns up as the corrupt New York police commissioner, and Showgirls costume designer Marlene Stewart came up with the duds for this picture; also, the end credits are printed in the same typeface as those of Showgirls. But that's where the connections end, for the blah The Phantom is not nearly as much fun as that awful, awfully entertaining howlfest.
-- Michael Dequina<EMAIL_ADDRESS>Visit Mr. Brown's Movie Site at http://members.tripod.com/~MrBrown/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I'm a RPC Sift!
Open a new terminal and run the command below to perform a RPC request:
$> curl http://localhost:8356/simple -H 'Authorization: Api-Key sdk'
The node that serves this request can be found at <SIFT_PATH>/server/simple.js


Note: Line numbers are not included in program but used just for explanations !
1 -- This must be in the first line 2 include c16f877 3 4 5 6 7 -- config fuses 8 pragma target protection off 9 pragma target debug off 10 pragma target cdp off 11 pragma target lvp off 12 pragma target bor off 13 pragma target powerup on 14 pragma target watchdog off 15 pragma target osc xt 16 17 -- Fosc definition 18 pragma target clock 4_000_000 19 20 -- PORTB and TRISB definitions 21 var volatile byte PORTB at {0x06,0x106} 22 var volatile byte TRISB at {0x86,0x186} 23 24 -- B0 pin definition 25 var volatile bit pin_b0 at PORTB : 0 26 27 -- B4 pin definition 28 var volatile bit pin_b4 at PORTB : 4 29 30 31 -- Button at pin_b0 32 var volatile bit Button is pin_b0 33 34 -- Led at pin_b4 35 var volatile bit LED is pin_b4 36 37 38 -- Reset PORTB 39 PORTB = 0b_0000_0000 40 41 -- PORTB => b7 ..b1 = output, b0 = input 42 TRISB = 0b_0000_0001 43 PORTB = 0b_0000_0001 44 45 -- main loop 46 forever loop -- pressed button pulls pin low, see schematic 47 if ! Button then ; Check if Button pressed 48 LED = on 49 else ; ... if not pressed 50 LED = off 51 end if 52 end loop
IF ! Button THEN ...
of the IF statement
will be true. Button contact bouncing is not prevented in this program.


REGISTER NOW
while seats are available
FIRST NAME
LAST NAME
COMPANY
EMAIL
PHONE NUMBER
MEAL PREFERENCE
Lunch details
Vegetarian
Muslim
Kosher
Jain
Non Vegetarian
Japanese
PAYMENT MODE
Payment details
Cash
Cheque
Demand Draf
DD / CHEQUE NO
DRAWN ON ( BANK NAME)
PAYABLE AT
DONATE US
Donation amount is $
0
SUBMIT
RESET


{% extends 'base.html' %} {% load export_tags %} {% block title %} | Export{% endblock %} {% block main %} {% include 'export_header.html' %}
We couldn't find any exports you are eligible to manage.
You can create a new export to allow data to be accessed.
Create a new export


Enthusiastic entry level web developer eager to contribute to team success through hard work, attention to detail and excellent organizational skills. Equipped with a diverse and promising skill-set. Proficient in an assortment of technologies, including Javascript, Node, mySQL, Sequelize, Express, APIs, Handlebars, HTML5, CSS, and Bootstrap. Able to effectively self-manage during independent projects, as well as collaborate in a team setting.
Her educational background is in full stack web development at the University of Minnesota Web Development Bootcamp. At the end of the program, she will have the tools to design and create professional, easy to use websites.
On her days off she enjoys gardening, playing bass guitar, listening to audiobooks, and cuddling with her two cats.
Connect with Lita