PLANET SICK-BOY: http://www.sick-boy.com
1999 was a great year for film, especially when it came to creating refreshingly original scripts. Whether it involved journeys through the brains of superstars or amphibians falling from the sky, screenwriters upped the ante in '99, showing that stuff like The Out-of-Towners and Wild Wild West just don't cut it anymore. Tired stories, usually remakes or film versions of television shows, floundered at the box office, while repeat business for movies like The Sixth Sense and The Blair Witch Project signaled the public's exhaustion with the same ol' same ol'.
Gotcha. Forget that whole paragraph. This is 2000, baby. The 21st century (for those of you that can't count). The Willennium. And what's the first film that comes our way? A harebrained sequel of a movie that was, at best, mediocre. No, I'm not talking about Shaft Returns or Blade 2 (they aren't until later this year). The film in question is Next Friday, a lifeless follow-up to the 1995 underachiever Friday.
Friday wasn't totally devoid of entertainment value. In fact, it was often pretty funny. The plotless mess didn't perform too admirably at the box office, but it was a huge video rental and is probably best known for launching the career of Chris Tucker (Money Talks). Friday also boosted the careers of Boyz in the Hood co-stars Nia Long and Regina King, and was the directorial debut of the marginally talented F.Gary Gray, who later found success helming Set it Off and The Negotiator. But Tucker, Long, King and Gray are all absent from this miserable project.
Making a sequel to Friday without Tucker is like Thanksgiving without the turkey. But, speaking of turkey, Ice Cube returns from the original film, and he's as plump and round as a Butterball bird. Mr. Cube (Three Kings) reprises his role of Craig Jones, a dumpy, perpetually unemployed, wannabe playa from the hood in south central Los Angeles.
 As the film ended, Craig beat Deebo with a brick and became somewhat of a neighborhood hero as the tyrant was hauled off to prison. Next Friday's story is remarkably similar to its predecessor.  The sequel takes place years after the original, and the hapless Craig is still unemployed, his buddy Smokey is conveniently in rehab, his foul-bowel dad is still catching dogs and his arch-enemy Deebo is still in the clink. But the word on the street is that Deebo plans to bust out of the joint and mess up Craig real good. So, to protect his son, Mr. Jones (John Witherspoon) decides to send his boy to live with his brother Uncle Elroy (Don `D.C.' Curry).
A recent resident of the hood, Uncle Elroy escaped his past by winning a cool million in the lottery and paying cash for a giant house on a cul-de-sac in posh Rancho Cucamonga. Or, as Craig says after rolling up on his peeps crib, `fake-ass Brady Bunch.' Of course, the secluded street still offers both a love interest (Tamala Jones, Blue Streak) and an antagonistic Latino family as neighbors. No wonder the only white person in the whole film is the guy that delivers the notice that Uncle Elroy's house is being foreclosed on due to delinquent taxes. And the white guy (Michael Rapaport) doesn't even appear in the credits.
The strange thing about the Friday films is that the characters can never think of an original way to get the money they need to get out of trouble.  Films like Risky Business or The Brady Bunch or even Deuce Bigalow: Male Gigolo offer characters that are motivated to earn those frogpelts. I guess that's what you get when you have a rapper write the script to your film.
Next Friday is the directorial debut of Steve Carr and, quite frankly, the film shows the uneven pacing of a novice. Toss in Day-Day's psycho pregnant ex-girlfriend and her chubby sidekick sister, a killer pit-bull, numerous pot scenes and a flurry of cheap jokes and derogatory female characters, and you've basically got yourself an R-rated, three-part episode of The Fresh Prince of Bel-Air. Hey, I warned you that it was the Willennium.
1:35 - R for adult language, drug use and deviant sexual content
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


Celtic and Rangers among Europe's top performers as passing stats underline domestic dominance
Steven Gerrard and Neil Lennon have their sides flying at the top of the Premiership and their style of football appears to be a big reason why.
by Mark McDougall, https://www.dailyrecord.co.uk/authors/mark-mcdougall/Celtic and Rangers are among the top 10 most dominant teams in European football.
Passing stats show the pair are way ahead of any other team in Scotland with Rangers sitting third in Europe - just behind Pep Guardiola’s Manchester City and Dutch side Ajax.
The data from CIES Football Observatory shows that Rangers have made 179 passes in the final third of the pitch while their opponents have made just 59 in the Ibrox side’s third.
That means Steven Gerrard's men make an average of 3.03 passes in the opposing team’s third for every one of theirs.
Man City top the list with 3.56 while Ajax are second with 3.43.
Celtic also rank highly on the table with Neil Lennon's side having a ratio of 2.52. They’ve made 161 passes in their opponents third compared to conceding just 64 in theirs.
Hearts and Aberdeen are the only other teams in the league with a positive ratio, making with the managerless Tynecastle outfit on 1.22 and Derek McInnes’ Dons on 1.02.
Hamilton have the worst ratio in the Premiership, with just 0.39 passes in the final third for every one conceded.
Top 10 in Europe
Manchester City - 3.56
Ajax - 3.43
Rangers - 3.03
Shakhtar Donetsk - 2.88
PSG - 2.62
FK Partizan - 2.53
Celtic - 2.52
Bayern Munich - 2.40
Slavias Prague - 2.37
Maccabi Haifa - 2.35
How the Premiership ranks
Rangers - 3.03
Celtic - 2.52
Hearts - 1.22
Aberdeen - 1.02
Kilmarnock - 0.97
Motherwell - 0.94
St Johnstone - 0.93
Hibernian - 0.87
Ross County - 0.87
Livingston - 0.78
St Mirren - 0.65
Hamilton Academical - 0.39


SweetFreeStuff.com
///////////////////////////////////////////
Free Dont Text and Drive Bumper Sticker
Posted: 24 Sep 2013 10:45 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/PfvnOy1D-BA/?utm_source=feedburner&utm_medium=email
Complete the form on the right side of their page for a free Dont Text and
Drive Bumper Sticker.
The post Free Dont Text and Drive Bumper Sticker appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Living Life Water at Thorntons
Posted: 24 Sep 2013 07:47 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/nxg_dRnGXt0/?utm_source=feedburner&utm_medium=email
Print or scan the coupon on your mobile device to redeem a Free 16.9oz
Living Life Water at Thorntons. Good through 9/30. View Locations.
The post Free Living Life Water at Thorntons appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Bodycology Charmed Apple Samples
Posted: 24 Sep 2013 05:18 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/eBnudJLDGr8/?utm_source=feedburner&utm_medium=email
*Update: Live Now!* Starting sometime next week Bodycology will be giving
away a Free Charmed Apple Sample to their Facebook fans. Limited amount
daily.
The post Free Bodycology Charmed Apple Samples appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Atkins Quick Start Kit
Posted: 24 Sep 2013 04:00 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/iARcTL48ImM/?utm_source=feedburner&utm_medium=email
Register for the Atkins Community to get your Free Atkins Kit, which
includes a Quick-Start Guide, Atkins Carb Counter 3 Atkins Bars. Sign up
link is on the right side of their homepage.
The post Free Atkins Quick Start Kit appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Subscription to Family Circle Magazine
Posted: 24 Sep 2013 03:20 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/Gk0CC7BU0og/?utm_source=feedburner&utm_medium=email
The post Free Subscription to Family Circle Magazine appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Rubbermaid Hygen Disposable Microfiber Sample Kit
Posted: 24 Sep 2013 02:27 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/1QP09NbXElk/?utm_source=feedburner&utm_medium=email
Complete the form for your free Rubbermaid Hygen Disposable Microfiber
Sample Kit. A company name is required to receive this freebie.
The post Free Rubbermaid Hygen Disposable Microfiber Sample Kit appeared
first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Snapple Brew Over Ice K-Cup Pack
Posted: 24 Sep 2013 01:32 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/Kwg7cLOa38s/?utm_source=feedburner&utm_medium=email
Another free sample of Snapple K-Cups, this time from Target.com.
The post Free Snapple Brew Over Ice K-Cup Pack appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Subscription to Arthritis Today
Posted: 24 Sep 2013 12:32 AM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/O1V4me0DoZ8/?utm_source=feedburner&utm_medium=email
Free Subscription to Arthritis Today
The post Free Subscription to Arthritis Today appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Depend Sample Pack
Posted: 23 Sep 2013 11:00 PM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/7pdSR9eNHeA/?utm_source=feedburner&utm_medium=email
Sign up to get a free sample of Depend underwear for men or women. Will
arrive in a discreet package.
The post Free Depend Sample Pack appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
2 Free Golf Balls Sample from Pinnacle
Posted: 23 Sep 2013 10:50 PM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/L-c0cuVQgNU/?utm_source=feedburner&utm_medium=email
Complete the form below to receive your free 2-ball sample of the New
Pinnacle Exception golf ball while supplies last. Allow 3-6 weeks for
delivery.
The post 2 Free Golf Balls Sample from Pinnacle appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Bandana from Marlboro
Posted: 23 Sep 2013 10:01 PM PDT
http://feedproxy.google.com/&;r/SweetFreeStuff/&;3/vXN2YCZcyL4/?utm_source=feedburner&utm_medium=email
Login or register. Check your offers to see if if there are any bandanas
left. They are giving out 2,000 a day at noon until October 31st. If you
dont get one today, you can try again tomorrow. Free Bandana
The post Free Bandana from Marlboro appeared first on SweetFreeStuff.com.


We have : {{cars.length}} cars in the dealership
| Id | N° Seats | Price | Brand | Model | HorsePower | Weight | Detail | Car Update | Car Delete | Direct Car Delete |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ car.id }} | {{ car.nbSeats }} | {{ car.price }} | {{ car.brand }} | {{ car.model }} | {{ car.horsePower }} | {{ car.weight }} | {{ car.model }} details | {{ car.model }} update | {{ car.model }} delete | {{ car.model }} delete |


is a self-propelled submerged arc welding system applicable for bottom-up and Top-down constructed wall storage tanks. This type Of machine can serve both construction methods. The large tank, metallurgical blast furnace and hot stove which have the large steel construction are made of plate, the joint form of main structure mostly is long linear weld. The construction project is huge, but it’s especially fit for automatic welding. Conventional automatic welding technique hardly achieves the high efficient welding. Automatic submerged arc weld of transverse seam machine is designed for the transverse level linear weld and girth weld, and it is especially suitable for level weld of cylindrical steel structure. Using combined with vertical position gas-electric welding machine, it is the ideal equipment of automatic welding of large steel structure such as oil tank and blast furnace.
width of plate ：1.4-3.2 m
adjustable diameter of tank ：> 4 m
welding speed ：10-3000mm/min
thickness of plate： 8-80mm
Type of steel ：all steel stucture
seam ：horizional and girth seam
current ：300-550A
Votage ：20-40V
power set ： 380v/50Hz
shape of groove： V or K
Copyright © 2018 | All rights reserved
Site Map


Preparation time
overnight
Cooking time
over 2 hours
Serves
Serves 4
Dietary
For the mushroom stock, dry the sliced mushrooms in a very low oven overnight. Fry the shallots and garlic gently in a little sunflower oil until translucent and then add the thyme and dried mushrooms.
Pour in the madeira and cook until reduced in volume by two thirds. Add 1.5 litres/2½ pints water and simmer for 2 hours, checking that it doesn’t boil dry. Remove from heat and leave to cool to room temperature. Put in the fridge overnight to mature. Next morning pass the stock through a sieve and heat to reduce by half and seasoning with salt and pepper.
To prepare the fermented mushroom juice, freeze the sliced mushrooms then mix them with the salt and leave in a warm place for 24 hours.
For the cabbage, trim and cut the cabbage in half. Boil 2 litres/3½ pints water with the salt to dissolve, let it cool and add the dill. Brine the cabbage in the liquid for 20 minutes, remove and pat dry.
For the mustard emulsion, in a food processor, blend together the eggs, vinegar, salt and mustard and add the oil until a thick emulsion is formed and pour into a heatproof cream whipper. Charge with two bulbs and hold in a bath at 50C.
For the mock teriyaki, gently simmer the stout vinegar until reduced in volume by two thirds. In a separate pan simmer the mead to evaporate away the alcohol then take off the heat. Add the mushroom stock, sugar and fermented mushroom juice and reduce slightly. Whilst constantly stirring, add the kuzu paste bit by bit to thicken. Add the reduced vinegar.
Preheat the oven to 180C/160C Fan/Gas 4. In an ovenproof frying pan, cook the cabbage halves in a little rapeseed oil and butter and then transfer the pan to the oven for 5-6 minutes. Place on a cloth to drain when cooked.
Meanwhile, fry the prepared wild mushrooms and baby onions in butter, wilt over the various garlic leaves, season and drain on a cloth.
Spoon a pool of the mock teriyaki sauce in a bowl and place the cabbage steak in the centre.
Scatter over the mushroom mixture, squirt some mustard emulsion on top and finish with some grated truffle and rapeseed oil.


Autoware.AI 1.14.0 with SVL Simulator
The software and source code in this repository are intended only for use with the SVL Simulator and should not be used in a real vehicle.
Table of Contents
General top#
This guide goes through how to run Autoware.AI with the SVL Simulator.
In order to run Autoware with the SVL Simulator, it is easiest to pull the official Autoware Docker image (see the official guide, Case 1 for more details), but it is also possible to build Autoware from source.
Autoware communicates with the SVL Simulator using the rosbridge_suite, which provides JSON interfacing with ROS publishers/subscribers. The official Autoware Docker containers have rosbridge_suite included.
Setup top#
Requirements top#
- Linux operating system
- NVIDIA graphics card
Install Docker CE top#
To install Docker CE please refer to the official documentation. We also suggest following through with the post installation steps to run docker as a non-root user.
Install NVIDIA Container Toolkit top#
Before installing the NVIDIA Container Toolkit, make sure that you have the appropriate NVIDIA drivers installed. To test if the NVIDIA drivers are properly installed, enter nvidia-smi
in a terminal. If the drivers are installed properly an output similar to the following should appear:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.59 Driver Version: 440.59 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:65:00.0 On | N/A |
| 0% 59C P5 22W / 250W | 1490MiB / 11175MiB | 4% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1187 G /usr/lib/xorg/Xorg 863MiB |
| 0 3816 G /usr/bin/gnome-shell 305MiB |
| 0 4161 G ...-token=7171B24E50C2F2C595566F55F1E4D257 68MiB |
| 0 4480 G ...quest-channel-token=3330599186510203656 147MiB |
| 0 17936 G ...-token=5299D28BAAD9F3087B25687A764851BB 103MiB |
+-----------------------------------------------------------------------------+
The installation steps for the NVIDIA Container Toolkit are available from the official documentation.
Install SVL Simulator top#
This guide outlines the steps required to setup Autoware.AI for use with the SVL Simulator. If you have not already set up the simulator, please do so first by following the instructions in Installing the SVL Simulator.
Install Autoware top#
Make sure you have Git Large File Storage (LFS) installed before cloning the repository in the next step. If git lfs
outputs git: 'lfs' is not a git command.
, then you need to install it:
-
Instructions for installation are here.
-
Verify the installation:
$ git lfs install Git LFS initialized.
Create a directory called shared_dir
in your home directory to hold HD maps and launch files for the simulator. The Autoware Docker container will mount this folder.
mkdir ~/shared_dir
cd ~/shared_dir
git clone https://github.com/lgsvl/autoware-data.git
If there wasn't a line beginning with Filtering content:
output, then Git LFS hasn't been installed. Remove the autoware-data
directory, install Git LFS with git lfs install
, and then re-issue the git clone
.
Clone the docker
repository from autoware.ai
into a working directory:
cd $WORKING_DIRECTORY
git clone https://github.com/Autoware-AI/docker.git
Launch Autoware Alongside SVL Simulator top#
Run the Autoware 1.14.0 container and enter into it:
cd $WORKING_DIRECTORY/docker/generic
./run.sh -t 1.14.0
If you get the usermod error as follows:
usermod: user autoware is currently used by process 1
Check if the $UID is 1000
$ echo $UID
If your $UID is 1000, you would not have usermod error. Otherwise, it's better to build container locally to avoid usermod error as follows:
$ ./build.sh --version 1.14.0
$ ./run.sh -t local
Once inside the container, install a missing ROS package:
sudo apt update && sudo apt install ros-$ROS_DISTRO-image-transport-plugins -y
If you need to check which $ROS_DISTRO you have installed run the following:
ls /opt/ros/
Launch the runtime manager:
roslaunch runtime_manager runtime_manager.launch
A few terminals will open, as well as a GUI for the runtime manager. In the runtime manager, click on the 'Quick Start' tab and load the following launch files from ~/shared_dir/autoware-data/BorregasAve/
by clicking "Ref" to the right of each text box:
my_map.launch
my_sensing_simulator.launch
my_localization.launch
my_detection.launch
my_mission_planning.launch
my_motion_planning.launch
Click "Map" to load the launch file pertaining to the HD maps. An "Ok" should appear to the right of the "Ref" button when successfully loaded. Then click "Sensing" which also launches rosbridge.
- Run the SVL Simulator
- Create a Simulation choosing
BorregasAve
map andJaguar2015XE (Autoware)
or another Autoware compatible vehicle. - Select Autoware.AI under Autopilot selection
- Enter
localhost:9090
for the Bridge Connection String. - Run the created Simulation
A vehicle should appear in Borregas Ave in Sunnyvale, CA.
In the Autoware Runtime Manager, continue loading the other launch files - click "Localization" and wait for the time to display to the right of "Ref".
Then click "Rviz" to launch Rviz - the vector map and location of the vehicle in the map should show.
The vehicle may be mis-localized as the initial pose is important for NDT matching. To fix this, click "2D Pose Estimate" in Rviz, then click an approximate position for the vehicle on the map and drag in the direction it is facing before releasing the mouse button. This should allow NDT matching to find the vehicle pose (it may take a few tries). Note that the point cloud will not show up in rviz until ndt matching starts publishing a pose.
An alternative would be to use GNSS for an initial pose or for localization. Open my_localization.launch file in map folder of autoware-data repository and uncomment nmea2tfpose part and comment ndt_matching instead.
Driving by following vector map:#
To drive following the HD map follow these steps:
- Start
Mission Planning
launch file in Autoware Runtime Manager. - In rviz, mark a destination by clicking '2D Nav Goal' and clicking at the destination and dragging along the road direction. Make sure to only choose a route that looks valid along the lane centerlines that are marked with orange lines in rviz. If an invalid destination is selected nothing will change in rviz, and you will need to relaunch the
Mission Planning
launch file in theQuick Launch
tab to try another destination. After choosing a valid destination the route will be highlighted in blue in rviz. - Lastly, start
Motion Planning
launch file. then ego vehicle starts driving autonomously.
Adding a Vehicle top#
The default vehicles have the calibration files included in the LGSVL Autoware Data Github repository.
Adding an HD Map top#
The default maps have the Vector map files included in the LGSVL Autoware Data Github repository.


A blend of innovative & technical skills. Hire us today for your audio and music production project in Kampala, Uganda and East Africa..
Are you a teacher?. Craete a digital library of all your knowledge and pass it on as your legacy.
Pearl Valley is your #1 source and producer of custom radio commercials.
I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.
Follow us on social media for special offers


| < Day Day Up > |
Chapter 2. Getting SquidSquid is normally distributed as source code. This means you'll probably need to compile it, as described in Chapter 3. The installation process should be relatively painless. The developers put a lot of effort into making sure Squid compiles easily on all the popular operating systems. You can also find precompiled binaries for some operating systems. Linux users can get Squid in one of the various package formats (e.g., RPM, Debian, etc.). The FreeBSD, NetBSD, and OpenBSD projects offer Squid ports. The BSD ports aren't binary distributions but rather a small set of files that know how to download, compile, and install the Squid source. While these precompiled or preconfigured packages may be easier to install, I recommend that you download and compile the source yourself. Anonymous CVS is a great way for developers and users to stay current with the official source tree. Instead of downloading entire new releases, you run a command to retrieve only the parts that have changed since your last update. |
| < Day Day Up > |


Stays in Finland
Downloading data from API...
Superhost
{loading...}
{loading...}
Superhost
{loading...}
{loading...}
Superhost
{loading...}
{loading...}
Superhost
{loading...}
{loading...}
Superhost
{loading...}
{loading...}
Superhost
{loading...}
Helsinki, Finland
Add guests
Superhost
{loading...}
Superhost
{loading...}
Superhost
{loading...}
Superhost
{loading...}
Superhost
{loading...}
Superhost
{loading...}


Toggle navigation
英翻中
字典:e2cTV
e2cTV
翻譯
說明
原文
查詢
The snow glows white on the mountain tonight. Not a footprint to be seen. A kingdom of isolation, and it looks like I'm the Queen. The wind is howling like this swirling storm inside. Couldn't keep it in; Heaven knows I've tried. Don't let them in, don't let them see. Be the good girl you always have to be. Conceal, don't feel, don't let them know. Well now they know. Let it go, let it go. Can't hold it back any more. Let it go, let it go. Turn away and slam the door. I don't care. What they're going to say. Let the storm rage on, the cold never bothered me anyway.
翻譯結果
儲存
忘記
說明
作者 ：陳鍾誠
<EMAIL_ADDRESS>授權 ：採用 Mozilla Public License


Toolkits > com.ibm.streamsx.network 3.0.0 > com.ibm.streamsx.network.dns > DNSPacketFileSource
DNSPacketFileSource is an operator for the IBM Streams product that reads prerecorded DNS packets from 'packet capture (PCAP)' files, parses the network headers and the fields of the DNS message, and emits tuples containing packet data. The operator may be configured with one or more output ports, and each port may be configured to emit different tuples, as specified by output filters. The tuples may contain the entire packet, the payload portion of the packet, or individual fields from the network headers and DNS message, as specified by output attribute assignments.
The DNSPacketFileSource operator expects PCAP files to contain complete ethernet packets, starting with the ethernet header, including all protocol-specific headers, and a DNS message. The operator ignores packets unless they were sent to or from UDP port 53.
The DNSPacketFileSource operator selects packets to process with an input filter, parses individual fields in the packet's network headers and DNS message, selects messages to emit as output tuples with output filter expressions, and assigns values to them with output attribute assignment expressions.
Input filters are PCAP filter expressions, as described here:
Output filters and attribute assignments are SPL expressions. They may use any of the built-in SPL functions, and any of these functions, which are specific to the DNSPacketFileSource operator:
The DNSPacketFileSource operator recognizes these types of packet encapsulation, and steps quietly over their headers:
Files containing complete ethernet packets can be created in PCAP format by a variety of network diagnostic tools, such as the Linux tcpdump command and the Wireshark open-source tools.
The DNSPacketFileSource operator is part of the network toolkit. To use it in an application, include this statement in the SPL source file:
use com.ibm.streamsx.network.dns::*;
The DNSPacketFileSource operator depends upon the Linux 'packet capture library (libpcap)'. The library must be installed on the machine where this operator executes. It is available as an installable 'repository package (RPM)' from the 'base' RHEL and CentOS repositories. It can be installed with administrator tools such as 'yum'. This requires root privileges, which can be acquired temporarily with administrator tools such as 'sudo'.
To install libpcap, enter this command at a Linux command prompt:
sudo yum install libpcap-devel
Alternatively, you can download the source code for a newer version of libpcap and build the library yourself. The new library can then be installed in system directories, or used where built without being installed.
To do this, download the distribution package for the latest version of libpcap from this address:
To build libpcap from source code, open a 'terminal' window and type this at a command prompt:
cd .../directory tar -xvf .../libpcap-X.Y.Z.tar.gz cd .../directory/libpcap-X.Y.Z ./configure make
To instruct the Streams compiler (that is, the 'sc' command) to use your version of libpcap instead of the system version, set these environment variables before compiling an application that contains the PacketLiveSource operator:
export STREAMS_ADAPTERS_LIBPCAP_INCLUDEPATH=.../directory/libpcap-X.Y.Z export STREAMS_ADAPTERS_LIBPCAP_LIBPATH=.../directory/libpcap-X.Y.Z
For more information on configuring, building, and installing libpcap, refer to its 'INSTALL.txt' file.
This operator has been tested with these versions of libpcap:
The DNSPacketFileSource operator contains a separate thread for reporting its metrics to the Streams runtime if the metricsInterval parameter is greater than zero.
When the DNSPacketFileSource operator is configured without an input port, it contains another thread which reads the PCAP file specified by the pcapFilename operator. When the operator reaches end-of-file, it terminates the thread and terminates the operator.
The DNSPacketFileSource operator will throw an exception and terminate in these situations:
An input tuple's first parameter is not of type rstring, or does not specify a valid PCAP recording.
The inputFilter and outputFilters parameters do not specify a valid PCAP filter expression.
The network toolkit includes several sample applications that illustrate how to use this operator.
The ethernet frame format is described here:
The ethernet header and the fields it contains are described here:
The IPv4 header and the fields it contains are described here:
The IPv6 header and the fields it contains are described here:
The UDP header and the fields it contains are described here:
The TCP header and the fields it contains are described here:
DNS messages and the fields they contain are described here:
The Juniper Networks 'jmirror' encapsulation header is described here:
The Cisco Systems ''Encapsulated Remote Switch Port Analyzer (ERSPAN)' encapsulation headers are described here:
The 'Generic Route Encapsulation (GRE)' headers used by Cisco ERSPAN encapsulation are described here:
The Linux tcpdump command is described here:
The Wireshark tools are described here:
libpcap filter expressions, which are used with the inputFilter parameter, are described here:
The result functions that can be used in boolean expressions for the outputFilters parameter and in output attribute assignment expressions are described here:
Optional: initDelay, inputFilter, metricsInterval, outputFilters, pcapFilename, processorAffinity
The DNSPacketFileSource operator has one optional input port.
When the DNSPacketFileSource operator is configured with an input port, the first attribute must be of type rstring, and specifies the pathname of an input PCAP file for the operator to read.
When the DNSPacketFileSource operator is configured without an input port, the pcapFilename parameter specifies the pathname of a single input PCAP file for the operator to read.
The packets in a PCAP file may optionally be filtered as they are read from the file with the inputFilter parameter. The tuples produced by the operator may optionally be filtered with the outputFilter parameter.
The DNSPacketFileSource operator requires one or more output ports:
Each output port will produce one output tuple for each packet read from the PCAP file (and passed by the input filter, if the inputFilter parameter is specified) if the corresponding expression in the outputFilters parameter evaluates true, or if no outputFilters parameter is specified.
Output attributes can be assigned values with any SPL expression that evaluates to the proper type, and the expressions may include any of the DNSPacketFileSource result functions. Output attributes that match input attributes in name and type are copied automatically.
The DNSPacketFileSource operator emits a punctuation marker on each output port when it reaches the end of each input file.
Optional: initDelay, inputFilter, metricsInterval, outputFilters, pcapFilename, processorAffinity
This optional parameter takes an expression of type float64 that specifies the number of seconds the operator will wait before it begins to produce tuples.
This parameter is allowed only when the pcapFilename parameter is also specified.
The default value is '0.0'.
This optional parameter takes an expression of type rstring that specifies which input packets should be processed. The value of this string must be a valid PCAP filter expression, as defined here:
The default value is 'udp port 53', which causes only DNS packets read from the PCAP file to be processed.
This optional parameter takes an expression of type float64 that specifies the interval, in seconds, for sending operator metrics to the Streams runtime. If the value is zero or less, the operator will not report metrics to the runtime, and the output assigment functions for libpcap statistics will be zero.
The default value is '10.0'.
This optional parameter takes a list of SPL expressions that specify which packets should be emitted by the corresponding output port. The number of expressions in the list must match the number of output ports, and each expression must evaluate to a boolean value. The output filter expressions may include any of the DNSPacketSource result functions.
The default value of the outputFilters parameter is an empty list, which causes all packets processed to be emitted by all output ports.
This parameter takes an expression of type rstring that specifies the pathname of a single input PCAP file for the operator to read.
If the operator is configured without an inport port, this parameter is required; if the operator has an input port, this parameter is not allowed.
This optional parameter takes an expression of type uint32 that specifies which processor core the operator's thread will run on. The maximum value is P-1, where P is the number of processors on the machine where the operator will run.
Where the operator runs on a thread of its own, this parameter applies to the operator's thread. This is the situation when the operator does not have an input port (and the pcapFilename parameter is specified). This is also the case when the operator has an input port, and it is configured as a threaded input port, and when the operator has an @parallel annotation.
Where the operator runs on the thread of an upstream operator, this parameter affects the thread of the operator that sends tuples to it. This is the situation when the operator has an input port, and is fused with its upstream operator.
The default is to dispatch the operator's thread on any available processor.
This metric counts number of packets processed by the operator. When an input filter is specified, this includes only packets that pass the filter.
This metric counts number of bytes of packet data processed by the operator. When an input filter is specified, this includes only packets that pass the filter.


Before Change
print(energy_profile)
if USING_VC_SSE2:
expected_profile = \
np.array([144.03694708,<PHONE_NUMBER>7,<PHONE_NUMBER>1, 90.9100989,
93.93705232,<PHONE_NUMBER>7,<PHONE_NUMBER>7,<PHONE_NUMBER>9,
133.87804571,<PHONE_NUMBER>7])
elif USING_GCC_SSE2:
expected_profile = \
np.array([144.03694708,<PHONE_NUMBER>7,<PHONE_NUMBER>2, 90.91010482,
93.93707059,<PHONE_NUMBER>8,<PHONE_NUMBER>9,<PHONE_NUMBER>5,
After Change
that produces a change in the energy profile should be carefully validated
to ensure no accuracy loss.
"""
fname = get_data("t1_coronal_slice")
nslices = 21
b = 0.1
m = 4
image = np.load(fname)
moving, static = get_warped_stacked_image(image, nslices, b, m)
//Create the EM metric
smooth=2.0


"jQuery Bubble Popup" is a plugin to display smart, animated & shadowed, "bubble" popups or tooltips with few lines of code in jQuery. The plugin support HTML5 and it is fully compatible with IE, Firefox, Chrome, Opera and Safari. It needs jQuery v.1.4.2 to run, the fastest and concise JavaScript Library.
First of all, add the following tags in the <HEAD> of the document
<link href="jquery.bubblepopup.v2.3.1.css" rel="stylesheet" type="text/css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> <script src="jquery.bubblepopup.v2.3.1.min.js" type="text/javascript"></script>
Then, to create a Bubble Popup, add the following script in any part of the <BODY> (assuming that exists at least a DOM element with "button" as class attribute)
<script type="text/javascript"> <!-- $(document).ready(function(){ //create a bubble popup for each DOM element with class attribute as "button" $('.button').CreateBubblePopup({ innerHtml: 'This is a Bubble Popup!' }); }); //--> </script>This is a list of the main features of this plugin:
Download the latest version at http://plugins.jquery.com/project/jqBubblePopup
1) copy the content of the folder "Install" in the root of your website
2) in each page where you want to use the plugin, add the following <link> and <script> tags inside the tag <head>:
<!DOCTYPE HTML>
<html>
<head>
...
<link href="jquery.bubblepopup.v2.3.1.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="jquery.bubblepopup.v2.3.1.min.js" type="text/javascript"></script>
...
</head>
<body>
...
</body>
</html>
jQuery Bubble Popup was tested and supports the following browsers:
* Shadowed Bubble Popups are displayed properly in all Internet Explorer versions; due to the incompatibility of certain animating functions of jQuery with IE 9 beta, the shadow is dropped only when the Bubble Popup is fully displayed. Others IE minor versions do not affect this, and the shadow is dropped instantly.
** In KHTML-based browser the only exception is that Bubble Popups are placed in the center of the target elements due to the incompatibility of jQuery with KHTML-based browsers; view jQuery browser compatibility.
// create a Bubble Popup for each element with the class attribute "myclassname" $('.myclassname').CreateBubblePopup({ innerHtml: 'this is a text!' });
// remove any Bubble Popup associated to each element with class attribute "myclassname" $('.myclassname').RemoveBubblePopup();
// return the options of a Bubble Popup that is associated to the first DOM element in the set of matched elements with class attribute "myclassname" $('.myclassname').GetBubblePopupOptions();
// set a Bubble Popup for each element with the class attribute "myclassname" $('.myclassname').CreateBubblePopup({ innerHtml: 'this is a text!' }); // show the Bubble Popup that is associated to the first DOM element in the set of matched elements with class attribute "myclassname" and with "this is a text!" as message $('.myclassname').ShowBubblePopup(); // show the Bubble Popup with new options but do not save them $('.myclassname').ShowBubblePopup({ width: 100, innerHtml: 'text is changed!' }, false); // show the Bubble Popup with old options $('.myclassname').ShowBubblePopup();
//create a javascript object with Bubble Popup options var options = { width: '100px', innerHtml: 'text inside the Bubble Popup!' }; // create bubble popups $('.button').CreateBubblePopup( options ); // show the bubble popup of the first button $('.button').ShowBubblePopup( options ); // set new options for all bubble popups $('.button').SetBubblePopupOptions( options );
The following options change the way in which the popup is displayed :
position, align, distance, width, height, divStyle, tableStyle, innerHtml, innerHtmlStyle, tail, dropShadow, alwaysVisible, selectable
The following options control the mouse and popup events:
manageMouseEvents, mouseOver, mouseOut, openingSpeed, closingSpeed, openingDelay, closingDelay
The following options control the template, themes and other settings:
baseClass, themeName, themePath, themeMargins, afterShown, afterHidden, hideElementId
This is the complete list of all options with description:
| name | datatype | default value | description |
| position | String | 'top' | it sets the Bubble Popup on the left, top, right or bottom side of the target element; |
| align | String | 'center' | it sets the Bubble Popup alignment along the side of the target element; possible values are 'left', 'center' or 'right' when position is 'top' or 'bottom' otherwise 'top', 'middle' or 'bottom' when position is 'left' or 'right' |
| distance | Integer or String | '20px' | it sets the distance of the point from which the Bubble Popup comes |
| width | Integer or String | null | it sets the width of the Bubble Popup, an integer "10" or a string as "10px" is accepted; this option sets a CSS width property for the main <TABLE> in the markup template. |
| height | Integer or String | null | it sets the height of the Bubble Popup, an integer "10" or a string as "10px" is accepted; |
| divStyle | Object | {} | it is an object that contains CSS properties as {color: '#000000', margin:'0px'} the CSS properties inside this object will be added to the main <DIV> tag in the markup template; by default it is an empty object. |
| tableStyle | Object | {} | it is an object that contains CSS properties as {color: '#000000', margin:'0px'} the CSS properties inside this object will be added to the main <TABLE> tag in the markup template; by default it is an empty object. |
| innerHtml | String | null | The inner text inside the Bubble Popup, it can contains HTML tags. |
| innerHtmlStyle | Object | {} | it is an object that contains CSS properties as {color: '#000000', margin:'0px'} the CSS properties inside this object will be added to the <TD> tag container with "{BASE CLASS}-innerHtml" as class attribute in the markup template; by default it is an empty object. |
| tail | Object | { align:'center', hidden: false } |
"tail" is an object that contains the following properties for the Bubble Popup's tail
|
| dropShadow | Boolean | true | Drop the shadow (true) or not (false) for the Bubble Popup. |
| alwaysVisible | Boolean | true | if it's true, the Bubble Popup maintains the position and alignment if it's possible, also when the browser window is resized; otherwise the plugin changes (or restore back) the Bubble Popup's position to make it always visible in the browser's viewport, this works as well when browser window is resized. |
| selectable | boolean | false | when the mouse is over the target element, a bubble popup appears; then, if "selectable" is true you will be able to select the content inside it; if the mouse goes out of the button OR the bubble, the popup will be closed. By default, this option is false, then you will not be able to select the content because when the mouse is immediately out of the button, the popup will be closed. |
| manageMouseEvents | Boolean | true | by default, mouseout and mouseover events are automatically managed, however you can disable it and set this option to false; in this case, you'll need to declare mouseover and mouseout events manually in your code for each target DOM element with a Bubble Popup. Disabling manageMouseEvents is useful when you need to develop customized functions to show or hide the Bubble Popup or to get the full control over that, however you will lose all the checkings that the plugin is running to position and align the popup, so be careful when you turn off this feature.
also the following options don't take effect:
|
| mouseOver | String | 'show' | it adds a managed mouseover event to the target DOM element associated with the Bubble Popup; possible values are 'show' or 'hide' 'show' : when mouse is over the target element, show the Bubble Popup associated with it 'hide' : when mouse is over the target element, hide the Bubble Popup associated with it |
| mouseOut | String | 'hide' | it adds a managed mouseout event to the target DOM element associated with the Bubble Popup; possible values are 'show' or 'hide' 'show' : when mouse is out the target element, show the Bubble Popup associated with it 'hide' : when mouse is out the target element, hide the Bubble Popup associated with it |
| openingSpeed | Integer | 250 | it sets the opening speed. |
| closingSpeed | Integer | 250 | it sets the closing speed. |
| openingDelay | Integer | 0 | it sets a delay in milliseconds when the Bubble Popup is opening. |
| closingDelay | Integer | 0 | it sets a delay in milliseconds when the Bubble Popup is closing. |
| baseClass | String | 'jquerybubblepopup' | it sets the base class name saved in the CSS file "jquery.bubblepopup.v2.3.1.css"; generally You don't need to edit this option, it is only useful if other CSS classes declared inside the document interfere with the main class of the Bubble Popup; in this case, You will need only to choose a new valid name for the base class and set this option with it, then You need to replace all occurrences of the base class name "jquerybubblepopup" inside the "jquery.bubblepopup.v2.3.1.css" file with the new name. See the Template System for more information. |
| themeName | String | 'azure' | it sets the theme for the Bubble Popup; all the themes are saved inside the folder "jquerybubblepopup-theme/" ; possible values are: azure, black, blue, green, grey, orange, violet, yellow, all-azure, all-black, all-blue, all-green, all-grey, all-orange, all-violet, all-yellow |
| themePath | String | 'jquerybubblepopup-theme/' | it sets the relative path of the folder that contains all the themes |
| themeMargins | Object | { total: '13px', difference: '10px' } |
it is an object that contains the following properties
edit "themeMargins" attributes only if you need to edit or create a new theme; See the Template System for more information. |
| afterShown | Function | function(){} | It sets a callback function to execute when Bubble Popup is opened; You can set it as
$('.button').CreateBubblePopup({ |
| afterHidden | Function | function(){} | It sets a callback function to execute when Bubble Popup is closed |
| hideElementId | (String) Array | [] | Insert in the array all IDs of the elements that You want to hide; it is useful if any element interfere with a Bubble Popup. By default, it is an empty array. |
When a Bubble Popup is created with the following function...
$('#mybutton').CreateBubblePopup({ innerHtml: 'this is a text!' });
the plugin attaches a Bubble Popup to the target DOM element, in the above example the element with "mybutton" as id attribute.
The Bubble Popup's layout consists in a <DIV> container with a <TABLE> inside, and each <TD> has a transparent gif or png image as background
the Bubble Popup's markup (HTML) is hardcoded in the script (similar to a jQuery UI widget) then it's not needed to add any markup to your HTML document; it means that
This is the markup of the Bubble Popup created by the plugin:
<IMG> tags highlighted in yellow are optional and they match the tail's image; just one exists among those highlighted, and the plugin chooses what image to display based on the Bubble Popup's position.
When You set CSS properties at runtime with the "divStyle", "tableStyle" or "innerHtmlStyle" options, that properties are added to the inline style attributes highlighted in violet for each corresponding tag.
"divStyle", "tableStyle" or "innerHtmlStyle" options override any predefined CSS property in the stylesheet.
Remember that You can edit CSS properties at runtime, when the Bubble Popup is created/shown, otherwise as well by a CSS stylesheet.
The Bubble Popup's markup is controlled by the CSS file "jquery.bubblepopup.v2.3.1.css";
Inside that file, each CSS class has a prefix as "jquerybubblepopup" and this is the base class name.
If other CSS class definitions in the document are in conflict with the Bubble Popup's CSS class names, You will need only to choose a new valid base name, replace all occurrences of the old base class name "jquerybubblepopup" inside the "jquery.bubblepopup.v2.3.1.css" file with the new base name and set the "baseClass" option at runtime.
CSS classes control the style of each element inside the markup and You can access to each CSS properties of them to customize the layout:
Themes
All the themes are inside the "jquerybubblepopup-theme" folder; each theme can be applied to the Bubble Popup at runtime by the "themeName" option.
Each theme has different colors and background images; You can create your own theme drawing the images and saving them inside a folder's theme. Inside the folder "Themes", You will find the file "bubble-popup-themes.png" and it can help you to create your customized themes.
The CSS file "jquery.bubblepopup.v2.3.1.css" controls the styles of each theme; the plugin adds the class of the theme (for example ".jquerybubblepopup-azure")
to the main <DIV> container in the markup, then you can edit the style of any element inside the Bubble Popup markup for each theme.
Theme Margins
The margins in the following images, control the distance of the Bubble Popup from the target DOM element;
By default, "themeMargins.total" option (highlighted in red) and "themeMargins.difference" option (in orange) are respectively "13px" and "10px"; When the Bubble Popup is loaded, the plugin deletes the margin difference in orange, decreasing the distance from the target element and allowing that the tail is above the element.
if the Bubble Popup is on the left or right side of the target element (in other words, "position" option is 'left' or 'right') then the alignment of the Bubble Popup can be only vertical ("align" option is 'top', 'middle' or 'bottom')
and
if the Bubble Popup is on top or bottom side of the target element (in other words, "position" option is 'top' or 'bottom'), the alignment of the Bubble Popup can be only horizontal ("align" option is 'left', 'center' or 'right')
Remember that if you set correctly a "position" with a wrong "align" option, the plugin corrects it and "align" will be
'center' if the Bubble Popup position is 'top' or 'bottom'
or
'middle' if the Bubble Popup position is 'left' or 'right'
Note: the same rules, for the alignment and validation, are applied to the tail's image alignment.
<IMG> and <MAP> tags
If you create a Bubble Popup for a raw <IMG> tag make sure to set also image's width and height by a CSS stylesheet or inline style attribute, according to HTML5 specifications as <img src="image.jpg" style="width:186px; height:40px" /> ; otherwise, in same browser the plugin cannot get the image dimensions then the alignment will fail.
It's impossible to attach a Bubble Popup to a <MAP> tag because it has no top or left property and it will be still invisible inside the DOM, also jQuery cannot get any coordinates for a <MAP> tag; however you can attach a bubble popup to an <IMG> tag that uses that map tag and reposition the Bubble Popup where you want, getting the Bubble Popup's ID inside the DOM and set new top/left CSS properties.
About .CreateBubblePopup() method...
You can create obviously an empty Bubble Popup also with ".CreateBubblePopup()" without a themePath option; however I suggest you to set always a valid path for the theme, because if the path does not exists and for any impredictable reason the browser load it, you'll get an error!
Adding customized mouse events...
If you need to add customized mouseover or mouseout events to the target element, you don't need to disable managed events, because customized events do not affect managed events, then just add them with the jQuery syntax as "$('#element').mouseover(function(){ ... });" .
Bubble Popup plugin is strongly linked to the .data() function of the jQuery Library, this implies that it is not possible to create Bubble Popups for <object>, <applet> or <embed> elements in the DOM: "Due to the way browsers interact with plugins and external code, the .data() method cannot be used on <object>, <applet> or <embed> elements" , for more information, see: http://api.jquery.com/data/
However, You can wrap an <object>, <applet> or <embed> element with a <div> and attach to it a Bubble Popup.


Contents
The official page of SMaLL Team documentation.
Quick start
Python 3 for beginners
to do [0 %]
Linux for beginners
Workststions guide
doing [5 %]
Introduction to MD
Advanced topics
Set up workstation from scratch
High Performance Computing
Introduction to DFT
Tutorials
How to contribute


Air Art Drones offers full service videography. From raw drone footage to post-production editing, Air Art uses advanced techniques in videography to make a video you will love.


If you are planning to deploy your Rails application using Capistrano 3, RVM, Unicorn, and Nginx then this is for you. You can follow these steps to help you automate your deployment to your cloud server. If you want to secure your server, you can read through this.
Install RVM
Log in to your system and install RVM. RVM has a good installation guide which you can find in detail here.
Or, you can just run this on your server.
$ curl -sSL https://get.rvm.io | bash -s stable --ruby
To verify
$ rvm version
rvm 1.25.14 (stable) by Wayne E. Seguin<EMAIL_ADDRESS>Michal Papis<EMAIL_ADDRESS>[https://rvm.io/]
Install Git
For Ubuntu:
$ sudo apt-get install git
If you are running on CentOS
$ sudo yum install git
To check whether it installed correctly
$ git --version
git version <IP_ADDRESS>
Setup Nginx
Nginx is a reverse proxy server. It basically serves all the client requests coming in to your server, and directs it to the appropriate backend server. In this case, your backend server would be Unicorn which hosts your Rails application.
Installing Nginx is simple with the package management tool.
For Ubuntu
sudo apt-get install nginx
For CentOS
sudo yum install nginx
Once you have this installed, you will need to add default.conf
.
$ sudo vim /etc/nginx/conf.d/default.conf
Add the following content. Make sure to edit it to match your configurations
upstream unicorn {
server unix:/tmp/unicorn.[APP_NAME].sock fail_timeout=0;
}
server {
listen 80 default deferred;
# server_name example.com;
root [APP_DIRECTORY]/[APP_NAME]/current/public; # e.g. /var/apps/rails_blog/current/public
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
location ~ ^/(robots.txt|sitemap.xml.gz)/ {
root [APP_DIRECTORY]/[APP_NAME]/current/public; # e.g. /var/apps/rails_blog/current/public
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
After adding this config, try to start nginx
sudo service nginx start
You can check whether nginx is running correctly
$ ps aux|grep nginx
You should see nginx listed in the result.
Setup your App
Configure Unicorn in your Rails application
Add the unicorn
gem into your Gemfile
$ vim Gemfile
gem 'unicorn'
Then add the unicorn configuration:
$ vim config/unicorn/production.rb
root = "[APP_DIRECTORY]/[APP_NAME]/current" # e.g. /var/apps/rails_blog/current
working_directory root
pid "#{root}/tmp/pids/unicorn.pid"
stderr_path "#{root}/log/unicorn.log"
stdout_path "#{root}/log/unicorn.log"
worker_processes 8 # update this with your preference
timeout 30
preload_app true
listen '/tmp/unicorn.[APP_NAME].sock', backlog: 64
before_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end
# Force the bundler gemfile environment variable to
# reference the capistrano "current" symlink
before_exec do |_|
ENV['BUNDLE_GEMFILE'] = File.join(root, 'Gemfile')
end
Add Capistrano 3 to your app
Add the gem
$ vim Gemfile
group :development do
gem 'capistrano-rails'
gem 'capistrano-rvm'
gem 'capistrano3-unicorn'
end
Generate the necessary Capistrano files
$ bundle exec cap install
Update the generated Capfile
$ vim Capfile
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano3/unicorn'
# Load custom tasks from `lib/capistrano/tasks' if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
Update deploy.rb
$ vim config/deploy.rb
lock '3.3.5'
set :application, [APP_NAME]
set :repo_url, 'git@github.com:[GITHUB_ACCOUNT_NAME]/[APP_NAME].git' # change this to your git server
ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }.call
set :use_sudo, false
set :bundle_binstubs, nil
set :linked_files, fetch(:linked_files, []).push('config/database.yml')
set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system')
after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
task :restart do
invoke 'unicorn:stop'
invoke 'unicorn:reload'
end
task :stop do
invoke 'unicorn:stop'
end
end
Update capistrano production.rb
$ vim config/deploy/production.rb
set :port, 22
set :user, [username] # e.g. 'deploy'
set :deploy_via, :remote_cache
set :use_sudo, false
set :branch, [BRANCH_TO_DEPLOY] # e.g. 'master'
server [HOST_IP], # e.g. 192.xxx.xxx.xxx
roles: [:web, :app, :db],
port: fetch(:port),
user: fetch(:user),
primary: true
set :deploy_to, "[APP_DIRECTORY]/#{fetch(:application)}" # e.g. "/var/apps/rails_blog"
set :ssh_options, {
forward_agent: true,
auth_methods: %w(publickey),
user: 'deployer',
}
set :rails_env, :production
set :conditionally_migrate, true
Setup Git Server
To make sure that the deployment script runs smoothly, you need to add your server’s pub key to your git server.
Generate your pub key if you have not done so:
ssh-keygen -t rsa -C "[EMAIL_ADDRESS]"
This will generate a public key: ~/.ssh/id_rsa.pub
Copy the content of this file onto your git server profile.
Verify deploy
Once everything has been setup, try to verify everything by running this
cap production deploy:check
If everything runs smoothly, then you are more or less set.
Deploy application
To deploy this in production
cap production deploy
That should deploy your app in production. Once you access the IP address of your server on a browser, you should be greeted by your app’s home page.
Many thanks to Chuck J Hardy for his guide which helped me tremendously.


Version 5 is now available and contains a series of major updates:
Version 4 is not supported anymore. Version 5 is available from the following places:
SHAPEIT4 is a fast and accurate method for estimation of haplotypes (aka phasing) for SNP array and high coverage sequencing data. The version 4 is a refactored and improved version of the SHAPEIT algorithm with multiple key additional features:
If you use the SHAPEIT4 in your research work, please cite the following paper:
SHAPEIT4 is available under the MIT licence on the github repository https://github.com/odelaneau/shapeit4.
Previous versions of SHAPEIT are still available on original webpages: SHAPEIT2 and SHAPEIT3.
Version 4.2.2: Small update, it contains the following changes compared to previous version:
Version 4.2.1: Small update, it contains the following changes compared to previous version:
Version 4.2.0: Fourth release. This is a major update, it contains the following changes compared to previous version:
Version 4.1.3: Third release. Contains the following changes compared to previous version:
Version 4.1.2: Second release. Contains the following changes compared to previous version:
Version 4.1.1: Contains the following changes compared to previous version:
--pbwt-mac
and --pbwt-mdr
). See documentation.
Version 4.0: First release.
Important notes before starting:
cat /proc/cpuinfo
in order to check.g++ --version
in order to check. I've never tried to compile it using Intel compiler.Make sure that the two following libraries are installed on your system:
Make sure that the following standard library flags can be used by g++ on your system:
-lz
, -lbz2
and -llzma
for reading/writing compressed files.-lm
for basic math operations.-lpthread
for multi-threading.You can do so by checking the outcome of the following commands:
locate -b '\libz.so'
locate -b '\libbz2.so'
locate -b '\liblzma.so'
locate -b '\libm.so'
locate -b '\libpthread.so'
Then, download the last stable version of the SHAPEIT4 code here: RELEASES
Navigate to the downloaded folder using cd shapeit4
.
You'll find there the following folders and files:
bin
: folder for the compiled binary.docs
: source code of this website.maps
: genetic maps for human taken from HapMap.obj
: folder with all binary objects.src
: folder with all SHAPIT4 source code.test
: folder with small example datasets.README.md
: front page of the GitHub.LICENSE
: copy of the MIT license.makefile
to compile the code.Edit the makefile
at lines 5-6 and 9-11 so that the following variables are correctly set up (look at the paths already there for an example):
HTSLIB_INC
(line 5): path to the HTSlib header files,HTSLIB_LIB
(line 6): path to the static HTSlib library (file libhts.a
),BOOST_INC
(line 9): path to the BOOST header files (often /usr/include
),BOOST_LIB_IO
(line 10): path to the static BOOST iostreams library (file libboost_iostreams.a
),BOOST_LIB_PO
(line 11): path to the static BOOST program_options library (file libboost_iostreams.a
),The static libraries (*.a files) can be located with this command:
locate libboost_program_options.a libboost_iostreams.a libhts.a
Once all paths correctly set up, proceed with the SHAPEIT4 compilation using make
.
To do so with default parameters, use the following command line:
shapeit4 --input unphased.vcf.gz --map chr20.b37.gmap.gz --region 20 --output phased.vcf.gz
All four options are mandatory and their descriptions are:
--input
specifies the input file containing unphased genotype data.--map
specifies the genetic maps. Maps for humans can be found HERE.--region
specifies the genomic region to be phased.--output
specifies the output VCF/BCF file containing the phased genotype data (i.e. haplotypes).The file provided to --input
needs to be indexed. This can be done using bcftools index unphased.vcf.gz
.
To phase the 1Mb of input data located in the genomic interval 2Mb-3Mb, use:
shapeit4 --input unphased.vcf.gz --map chr20.b37.gmap.gz --region 20:2000000-3000000 --output phased.vcf.gz
Of note, the --region
option is mandatory. Double check that the chromosome ID matches one of those specified in the VCF file. A common mistake is to use chr20 for chromosome 20 for example, while it is specified as 20 in the VCF file.
SHAPEIT4 file automatically detects the format of the input file. To tell it to use BCF as output file, just use the correct filename extension as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf
To phase the example dataset on 4 CPU cores using 4 threads, use the --thread
option as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --thread 4
To specify your own iteration sequence, use the --mcmc-iterations
option:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --mcmc-iterations 6b,1p,2b,1p,2b,8m
The three different kinds of iterations are:
b
: burn-in iteration. Only haplotype sampling and no storage of transition probabilities. To be used for convergence purpose.p
: pruning iteration. New haplotype are sampled and transition probabilities are used to trim unlikely paths in the genotype graphs. Using few of them once the algotrithm has converged helps to get better estimates. They have to be used after few burn-in iterations and before main iterations. It is recommended to run them paired with burn-in iterations, i.e. 1b,1p
.m
: main iteration. New haplotype are sampled and transition probabilities are stored and averaged in memory. To be used as final iteration stage to produce final estimates.By default, the sequence used by SHAPEIT4 is 5b,1p,1b,1p,1b,1p,5m
. It provided a good trade-off between speed and accuracy in our experiments. If running time is not an issue, you may consider increasing the number of iterations using --mcmc-iterations 10b,1p,1b,1p,1b,1p,1b,1p,10m
for instance.
Reducing the number of conditioning neighbours in the PBWT can be achieved using the --pbwt-depth
option. The default value is 4. Decreasing it results in faster runs at the cost of some accuracy. Conversely, increasing it to 8 for instance can lead to better accuracy:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --pbwt-depth 8
Changing variants at which PBWT indexes are stored can be done using --pbwt-modulo
. The way this option works differs from v4.0. Now variants at which PWT arrays are stored depend on cM distances between them. This distance is given by --pbwt-modulo
. By default, PBWT storage happens every 0.02cM. Decreasing this distance leads to higher memory usage.
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --pbwt-modulo 0.005
Some variants can also be ignored when storing PBWT indexes based on (i) their Minor Allele Count (--pbwt-mac
) and/or (ii) Missing Data Rate (--pbwt-mdr
). Defaults are (i) MAC>=2 and (ii) MDR <= 0.5. This can be changed as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --pbwt-mac 5 --pbwt-mdr 0.2
You can also change the size of the genomic window into which phasing is carried out using the option --window
. The way this option works differs from v4.0. Now the size of the window is based n cM and not anymore on Mb. The default value is 2.5cM. Increasing it results in more conditioning haplotypes being used and therefore increased running times. It is preferable to use --pbwt-depth
instead of --window
to increase the number of conditioning haplotypes in order to increase accuracy. Anyway, this can be done as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --window 5
Long tracks IBD2 shared between pairs of samples can seriously harm accuracy, which typically occurs in the cases of siblings or in more extreme cases, twins or duplicates.
SHAPEIT4 implements an automatic screening to detect long runs of genotype matching between pairs of samples, so that it can account for it during the phasing procedure.
In practice, assuming two individuals I1 and I2 to be IBD2 in a given region, SHAPEIT4 will never use haplotypes from I2 to phase I1 in this region nor use haplotypes from I1 to phase I2.
This procedure, that we call IBD2 blacklisting, can be tuned with the options --ibd2-*
.
You can first specify the minimal length of IBD2 tracks to be considered in the blacklisting as shown below for 5cM tracks:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --ibd2-length 5
You can also control the set of variants to be considered in the IBD2 matching in terms of MAF (ex. 5%), missing data rate (ex. 20%) and mininal number of SNPs (ex. 500):
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --ibd2-maf 0.05 --ibd2-mdr 0.2 --ibd2-count 500
Finally, if you want to have a view of the blacklisting done, use --idb2-output
as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --ibd2-output myIBD2blacklist.txt.gz
Most of the default parameters are set up to work well in case of SNP array data (low variant density). In case of sequencing data, some adjustements are required, notably for the PBWT array storage (--pbwt-*
).
See the relevant sections in the documentation to know more about them. For simplicity, we now have the option --sequencing
to adjust the default parameters for sequencing data. Example:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --sequencing
By default, SHAPEIT4 uses a quick PBWT based algorithm to initialize the haplotypes. This can be disabled using --pbwt-disable-init
. This is particularly useful if you want to specify your own starting point for the MCMC or if you want to refine some haplotypes you estimated in the past. Initial haplotype estimates are specified in the input VCF/BCF using the option --input
and phased genotypes, e.g. 0|1
. Example command line:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --pbwt-disable-init
Of note, this option is not available in v4.1
Making reproducible runs can sometimes be useful. To do so, you need to specify the random generator seed using --seed
and to use a single thread. Using multi-threading prevents reproducibility.
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --seed 123456
Taking into account reference haplotypes when phasing can improve the accuracy of the estimates, especially when the number of reference haplotypes is much large than the number of individuals to be phased. To do so, proceed as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --reference reference.bcf --output phased.bcf
SHAPEIT4 only retain variants that are in the overlap (i.e. intersection) between the two panels specified with --input
and --reference
. In practice, it proceeds exactly the same way than bcftool isec -c none
and therefore keeps only variants with chromosome ID, position, REF and ALT alleles that perfectly match between the two panels.
The file specified by --reference
needs to be indexed. This can be done using bcftools index reference.bcf
.
Haplotype scaffolds can be used to incorporate prior information about the phase of some heterozygous genotypes, coming from large reference panels of haplotypes or family information for instance. A scaffold is usually defined at a sparser set of variants than the main panel. Example run:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --scaffold scaffold.bcf --output phased.bcf
Similarly to --reference
, only variants that are in the intersection with the main panel are retained. Variants in the scaffold and the main panels are not phased and remain unchnaged. Variants not in the scaffold but in the main panel are phased onto the scaffold. Intersection is done similarly to bcftool isec -c none
. Only individuals that appear in the two files are scaffolded (IDs need to match), those that are in the main panel and not in the scaffold are not scaffolded but appear in the output. Those that are in the scaffold and not in the main panel are not used and do not appear in the output.
The file specified by --scaffold
needs to be indexed. This can be done using bcftools index scaffold.bcf
.
Phase sets are groups of heterozygous genotypes at which phase have been infered using haplotype assembly. To achieve haplotype assembly, we recommend using WhatsHap but other software can also be considered. Phase sets are specified in the VCF/BCF file format using the PS
field. Note that the PS
needs to be defined in the VCF/BCF as a 32bits integer since we read them using the C function bcf_get_format_int32
. If you define them as string, they won't be taken into account. Example run:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --use-PS 0.0001 --output phased.bcf
The argument of the --use-PS
defines the expected error rate in the phase sets. You need to change the value depending on your confidence in the haplotype assembly calls. In most of the cases, we recomment using 0.0001.
SHAPEIT4 allows using all combinations of options described above, such as:
shapeit4 --input unphased.bcf \
--map chr20.b37.gmap.gz \
--region 20 \
--reference reference.bcf \
--scaffold scaffold.bcf \
--use-PS 0.0001 \
--thread 4 \
--log phased.log\
--output phased.bcf
This command allows phasing the example dataset using (i) a reference panel, (ii) a scaffold of haplotypes and (iii) the phase sets specified in the input file, all this in a multi-threaded manner.
To record all the verbose that appear on the screen, use the --log
option as follows:
shapeit4 --input unphased.bcf --map chr20.b37.gmap.gz --region 20 --output phased.bcf --log phased.log
We strongly recommend to use this option for any run.
The full list of options can be obtained by running the command:
shapeit4 --help
This should output this list of options:
| Long form | Short form | Argument | Description |
|---|---|---|---|
--help |
NA | NA | Brief description for the options. |
--seed |
NA | INT | Seed for random number generator. Default is 15052011. |
--thread |
-T |
INT | Seed for random number generator. Default is 15052011. |
--input |
-I |
STRING | Input VCF/BCF file to be phased. |
--reference |
-H |
STRING | Reference haplotypes in VCF/BCF. |
--scaffold |
-S |
STRING | Haplotype scaffold in VCF/BCF. |
--map |
-M |
STRING | Genetic map. Mandatory in v4.0. In v4.1, constant rate of 1cM per Mb is assumed when the map is omitted. |
--region |
-R |
STRING | Target region (e.g. chr20:1000000-2000000). |
--use-PS |
NA | FLOAT | Use phase sets in input files assuming an error rate of FLOAT. |
--mcmc-iterations |
NA | STRING | Iteration scheme for the MCMC. Default is 5b,1p,1b,1p,1b,1p,5m. |
--pbwt-disable-init |
NA | NA | Do not initialise haplotypes by PBWT (rephase input haplotype data). Only available in v4.0. |
--pbwt-depth |
NA | INT | Depth of PBWT indexes to condition on. Default is 4. |
--pbwt-modulo |
NA | INT | v4.0: Storage frequency of PBWT indexes in variant numbers. Default is 8 (i.e. storage every 8 variants). v4.1: Storage frequency of PBWT indexes in cM. Default is 0.025 (i.e. storage every 0.025 cM). Use a low value for sequencing data and the default value for SNP array data. |
--pbwt-modulo |
NA | INT | v4.1: Default value for Storage frequency of PBWT indexes in cM for SNP array data (storage every 0.02 cM). |
--pbwt-mac |
NA | INT | v4.1. Storage of PBWT arrays only happens at variants with this Minor Allele Count. Default is 2, this excludes singletons and monomorphic sites. |
--pbwt-mdr |
NA | FLOAT | v4.1. Storage of PBWT arrays only happens at variants with this Missing Data Rate. Default is 0.05 (5%), this excludes sites with more than 5% missing data. |
--sequencing |
NA | NA | v4.1: Set up better default settings for sequencing data (--pbwt_modulo 0.0005 --ibd2-maf 0.0001 --ibd2-count 10000). |
--window |
NA | FLOAT | Minimal size of the phasing window. v4.0: Default is 2Mb (i.e. 2e6). v4.1: Default is 2.5cM. |
--output |
-O |
STRING | Phased haplotypes in VCF/BCF format. |
--log |
NA | STRING | Log file. |
Using short form options, the complex command line described above (section 12) is:
shapeit4 -I unphased.bcf \
-M chr20.b37.gmap.gz \
-R 20 \
-H reference.bcf \
-S scaffold.bcf \
--use-PS 0.0001 \
-T 4 \
--log phased.log \
-O phased.bcf
SHAPEIT has been developed by multiple researchers over the years:
SHAPEIT has been developed across the following institutions:
In 2011, version 1 has been released. This version introduced the compact graph representation of the sampling space so that Hidden Markov Model computations can be efficiently done [1].
In 2012, version 2 has been released. This version included the approach introduced in Impute2 to select subsets of conditioning haplotypes by Hamming distance minimization and therefore to speed up computations [2].
In 2013, version 2 has been extended to leverage phase information contained in sequencing reads [3].
In 2013, version 2 has been extended to process datasets with closely related individuals [4].
In 2014, version 2 has been extended to handle genotype likelihoods and use haplotype scaffolds in the frame of the 1000 Genomes project [5].
In 2016, version 3 has been released. This version was designed to process biobank scale datasets in the frame of the UK Biobank study [6].
In 2018, version 4 has been released. This version was completely refactored, includes most previous extensions into a unified framework and is open source [7].
[1] O. Delaneau, J. Marchini, JF. Zagury (2012) A linear complexity phasing method for thousands of genomes. Nat Methods. 9(2):179-81.
[2] O. Delaneau, JF. Zagury, J. Marchini (2013) Improved whole chromosome phasing for disease and population genetic studies. Nat Methods. 10(1):5-6.
[3] O. Delaneau, B. Howie, AJ. Cox, JF. Zagury JF, J. Marchini. Haplotype estimation using sequencing reads. Am J Hum Genet. 2013 Oct 3;93(4):687-96.
[4] J. O'Connell, D. Gurdasani, O. Delaneau, N. Pirastu, S. Ulivi, M. Cocca, M. Traglia, J. Huang, JE. Huffman, I. Rudan, R. McQuillan, RM. Fraser, H. Campbell, O. Polasek, G. Asiki, K. Ekoru, C. Hayward, AF. Wright, V. Vitart, P. Navarro, JF. Zagury, JF Wilson, D. Toniolo, P. Gasparini, N. Soranzo, MS. Sandhu, J. Marchini. A general approach for haplotype phasing across the full spectrum of relatedness. PLoS Genet. 2014 Apr 17;10(4):e1004234.
[5] O. Delaneau, J. Marchini; 1000 Genomes Project Consortium. Integrating sequence and array data to create an improved 1000 Genomes Project haplotype reference panel. Nat Commun. 2014 Jun 13;5:3934.
[6] J. O’Connell, K. Sharp, N. Shrine, L. Wain, I. Hall, M. Tobin, JF. Zagury, O. Delaneau, J. Marchini. Haplotype estimation for biobank scale datasets. Nat Genet. 2016 Jul; 48(7): 817–820.
[7] O. Delaneau, JF. Zagury, M. Robinson, J. Marchini, ET. Dermitzakis. Integrative haplotype estimation with sub-linear complexity. BioRxiv 2018.
Prof. Olivier Delaneau
Department of Computational Biology
University of Lausanne
<EMAIL_ADDRESS>+41 21 692 40 55
https://odelaneau.github.io/lap-page/


- Load Annotations
- Select chapter to load text and annotations.
- Delete Annotation
- Simply click on annotation to remove highlight.
- Add Annotation
- Select text and choose category to save new annotation.
- Export Annotations
- Click the Export Annotations JSON button to print JSON to console.


Videostretch jQuery plugin - Stretch HTML5 Video videostretch is called for all video elements but works only on the last one and restores the rest


This will be a short blog about my values and how I perceive my moral system.
I worked as a restaurant manager for ten or so years it caused me to come across many situations where I had to make meaningful morally weighted decisions.
One such instance was as follows . I had a fellow employee who i was in charge of managing who i actually got along quite well, she still has a positive impression of me to this day.
The problem I had was this person had no motivation or desire to do her job competently at all,
she would come in late everyday be very unproductive and was completely uncoachable this is a nightmare in a hospitality environment because it creates a toxicity amongst the staff who were putting in real effort.
After many weeks of trying to improve matters to no avail eventually I decided she had to go, it was my job to fire her not an easy one at that because we were actually friends .
I had to tap into my animus and let her go despite it creating a lot of hardship for her. If you can't say no to people you can't negotiate.
It was hard to do but necessary and the consequences were a lost friend. The Anima i was projecting made the job hard my job had to override my compassion.
That of the pakeha, A colonizer? A frontiersman?
Idk the political answers and i cant say you whos right but i can say my part .
In my view the culture of the pakeha is the culture of someone whos trying to create something from a blank slate, no proper heritage.
The queens country discarded and the maori country negotiated... perhaps unfairly.
What does this mean for my values? Im a pragmatist, I consider truth the highest value tradition to me is only as valuable as far as its use. And I don't just mean its physical use it could mean its place of importance in our identity and culture.
On a myers briggs test i am an intp and i found that to describe my personality perfectly:
I expect i may be able to get a handle on conceptual systems easier than some. Im in a lucky positions in that ive had a lot of practise in working on my limitations through my previous job.
However i think my main obstacle will be keeping my unwieldy brain on the right track . Its mediated by unconscious forces that are out of my control. so the obstacle is to figure out a system where i can make that work.
In a previous project in an IT course i did i was the project manager for a research project, i was one of three in our group. Unfortunately half way through our research projecrt one member was falling behind .
The way i got around this wasw to ratchet up the communication.
Explain in detail step by step what was required and by when and do it in a way that was considerate of that persons mental state.But i left it too late to kick this startegy into gear, i would probably monitor this situation more closely if i was put in the same situation again.


Antz
Starring Woody Allen, Sharon Stone and Gene Hackman Directed By Eric Darnell and Lawrence Guterman Running Time: 1 hour 42 minutes.
(Dreamworks SKG)
Dreamworks latest picture, after Small Soldiers, is another children's flick. And again, like Small Soldiers, most of the gags will probably go right over your kids head.  By a chance encounter, he meets and falls in love with Princess Bala (voiced by Stone.) They split company, but Allen wants to meet her again, so he convinces a soldier ant voiced by Sylvester Stallone to swap places with him, so he has a better chance of meeting the princess again. However, he manages to get both himself and the princess in a variety of adventures in the outside world.
Like Toy Story (1995), Antz is completely computer generated by a company called PDI, and looks brilliant. The graphics are superb, witty and easy on the eye. There are literally hundreds of details in every scene. Although the ants look like they are made out of wood, they move and act perfectly. The voices behind the ants are excellent also. Woody Allen makes Z completely hilarious, and although his angst may seem slightly out of place in this movie, it's toned down from his previous work (although he somehow manages to get erotic fantasies into the script.) Stallone is also good, and the teamwork between Allen and Stallone is great, playing each other off perfectly. Gene Hackman and Christopher Walken as the evil Soldier leaders bring an edge to the movie, and Dan Ackroyd, John Mahoney, Jennifer Lopez (as Stallone's lady) and Danny Glover (good as an ill-fated soldier ant) all play a part in bringing to life the characters. The only weak link is Sharon Stone, who seems to give no effort to her performance. Being a major character in the film, this is slightly annoying to adults, although children will probably not care.
The film is directed well, although it is much easier to direct on computer when you have full control of what happening. The battle scenes are excellent, the romantic scenes are well handled and not too sickly, and the comedy is well done aswell. It's hard for a Woody Allen film not to be funny however (apart from Scenes From A Mall.) Also, the wild visuals always make sure that the film is a delight to watch. Although the script is occasionally cliched, and there's the occasionally slow bit, Antz will probably not be sending you to sleep.
The main flaw with the film, though, is that it's a little too adult for kids, but a tiny bit childish for adults. Woody Allen's comedy is really not for young ones, but the look and feel of the film is certainly aimed for children. There's also a smattering of bad language in there for no apparent reason, and Z talking about erotic fantasies is clearly out of place in this movie. Generally, however, Antz is an unexpected delight. A Bug's Life, the new film from Toy Story creators Pixar, has quite a bit too live up to. Worth a look.
RATING=***1/2 OUT OF *****
A David Wilcock Review ©1998
DAVID WILCOCK<EMAIL_ADDRESS>Visit the Wilcock Movie Page! http://wilcockmovie.home.ml.org -OR- http://www.geocities.com/Hollywood/9061 Recieve Wilcock Movie Page Reviews via E-MAIL Send a blank E-MAIL to<EMAIL_ADDRESS>to join the mailing list!
"You know, for kids"- Norville Barnes
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