THE REAL BLONDE
A Film Review by James Berardinelli
RATING: *** OUT OF ****
United States, 1998 U.S. Release Date: beginning 2/27/98 (limited) Running Length: 1:30 MPAA Classification: R (profanity, sexual situations) Theatrical Aspect Ratio: 1.85:1
Cast: Matthew Modine, Catherine Keener, Maxwell Caulfield, Bridgette Wilson, Daryl Hannah, Elizabeth Berkley, Marlo Thomas, Christopher Lloyd Director: Tom DiCillo Producers: Tom Rosenberg and Marcus Viscidi Screenplay: Tom DiCillo Cinematography: Frank Prinzi Music: Jim Farmer U.S. Distributor: Paramount Pictures
With THE REAL BLONDE, director Tom DiCillo places another interesting title onto a diverse resume which already includes JOHNNY SUEDE, LIVING IN OBLIVION, and BOX OF MOONLIGHT. THE REAL BLONDE, which examines the difference between illusion and reality, and satirizes the acting industry, is easily the lightest of DiCillo's films, and, although the seams in the plot are visible (the movie plays best as a series of loosely-connected comic vignettes), there's enough light substance and lighter humor to warrant a recommendation.
The principals are Joe (Matthew Modine) and Bob (Maxwell Caulfield), a pair of out-of-work actors who are making a living waiting tables for the ever-stern Ernst (Christopher Lloyd). Joe believes in the purity of his craft – the only kinds of acting jobs he's interested in are "serious" ones. His resolve is tested, however, when Bob gets a plum role on the soap opera PASSION CREST. There's nothing remotely respectable about the part, but it offers Bob a regular income of $3600 per week and turns him into an overnight heartthrob.  So he goes to his agent (Kathleen Turner) and tells her he's willing to do anything – even a TV commercial or a music video.
The title comes from an obsession of Bob's – for him, Ms. Right has to be a "real blonde." His on-again, off-again girlfriend, insecure supermodel Sahara (Bridgette Wilson), is a sweet, gorgeous girl, but she's got a dye job. Bob finds what he thinks he wants in Kelly (Daryl Hannah), his leading lady on the soap. He soon learns, however, that just because a woman really has blond hair doesn't mean that there's nothing artificial about her personality.
One aspect of American culture that THE REAL BLONDE successful captures (and skewers) is the hollowness of what we're exposed to through the media. Image and fantasy are everything; reality is valueless. Bob is obsessed with a "real blonde" because he's tired of fake women – the irony is that he's just as artificial as any of the girls he goes out with. Meanwhile, Joe complains that "everyone around me is false, so I'm constantly lowering my ideals." Photo shoots are exposed as far more grueling and unpleasant than the sexy, glossy images would indicate. And a Madonna music video features a body double (Elizabeth Berkley) lip-synching the words. What's authentic in an industry of make-believe?
The acting is a mixed bag. Matthew Modine is decidedly unappealing as Joe, and, since we're supposed to sympathize with him (even though he's a whiner), this is a source of minor irritation. On the other hand, Catherine Keener (who has appeared in all of DiCillo's films) is luminous. Mary is down-to-earth and likable, which helps compensate for the lack in Modine's performance. Max Caulfield and Bridgette Wilson give effectively comic turns as shallow people. Daryl Hannah, not known as an actress of great range, is also surprisingly good, perhaps in part because she's essentially lampooning an image of herself. There are also a number of cameos: Christopher Lloyd, Denis Leary, Kathleen Turner, Steve Buscemi, Buck Henry, and Marlo Thomas.
Of course, while THE REAL BLONDE has a message, that's not its most noteworthy aspect. The comedy in the film, which varies from clever and insightful ("Empty V" – say that aloud) to downright silly (Joe's bathing suit), frequently works. I especially loved a scene in which just about everyone in a restaurant contributes to a deconstruction of THE PIANO. That sequence alone is almost worth the price of admission. Overall, however, THE REAL BLONDE would have been even more satisfying if it had seemed like a coherent whole rather than a batch of skits loosely connected by DiCillo's story arc of a struggling actor trying to remain true to both his calling and the woman he loves. Nevertheless, in part because of Keener's appeal and in part because DiCillo gets his point across with a successful portion of humor, THE REAL BLONDE is enjoyable and inviting.
Copyright 1998 James Berardinelli
- James Berardinelli e-mail<EMAIL_ADDRESS>Now with more than 1400 reviews... The ReelViews web site: http://movie-reviews.colossus.net/
"My belief is that no movie, nothing in life, leaves people neutral.
-- David Puttnam
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


WITNESS LIST Natural Resources Committee March 7, 2001-3:00P HB 702 For: Le Blanc, Richard P. (Jefferson County Drainage District #6) MacNelly, Rayburn (Self and Drainage District Panel of Texas Water Conservation Association) HB 1764 For: Hagood Jr., Charles L. (Self) Roberts, Delbert R. (Kimble County Commissioners Court) HB 1784 For: Ausley, Nathan (Burleson County Farm Bureau) Doonan, Bob (Burleson County) Jones, Al (Brazos County) McDonald, Ronnie (Bastrop County) Neely, Cecil N. (Self and Madison, Leon, & Freestone Counties) Norman, Monique (Bickerstaff, Heath, Smiley, Pollan, Kever & McDaniel, L.L.C.) Riley, Bill (Brazos Valley Groundwater Conservation District) Summers, Frank (Milam County) Against: Gangnes, Michele G. (Self) Woods, Billie (Self and Neighbors for Neighbors) On: Smith, Sheril (Self and Sierra Club)


(iframe without Shutterbug support)
It should be still visible in the screenshot. But its state won't be preserved (if there was any).


{% extends 'changelogs/_base.html' %} {% block content %}
Automate Changelogger via a simple API.
API requests should be prefixed with api.
Example of a valid API request using cURL: curl "https://yourchangeloggers.com/api/projects/"
The API uses JSON to serialize data. You don’t need to specify .json at the end of an API URL.
Most API requests require authentication, or will only return public data when authentication is not provided. For those cases where it is not required, this will be mentioned in the documentation for each individual endpoint. For example, the /projects/:id endpoint.
There is one way to authenticate with the Changelogger's API: Token Authentication.
This authentication scheme uses a simple token-based HTTP Authentication scheme. Token authentication is appropriate for client-server setups, such as native desktop and mobile clients.
For clients to authenticate, the token key should be included in the Authorization HTTP header. The API token you can copy on your Profile page. The key should be prefixed by the string literal "Token", with whitespace separating the two strings. For example:
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
Unauthenticated responses that are denied permission will result in an HTTP 401 Unauthorized response with an appropriate WWW-Authenticate header. For example:
WWW-Authenticate: Token
API endpoint that allows projects to be viewed or edited. No authentication is required.
GET /api/projects/
API endpoint that allows to add new version.
POST /api/versions/
Parameters:
| Attribute | Type | Required | Description | Example |
|---|---|---|---|---|
| title | string | yes | Title of release | v1.7.2 |
| date_time | datetime | yes | Datetime of release | 2020-01-10 07:14:24.310236 |
| body | string | yes | Body of changelog | Some small changes |
| project | integer | yes | ID of project to add version | 5 |


INDUSTRY PARTNERS & ADVISORS
- Regina Benjamin, MD Former US Surgeon General
- John Brooks III, Managing Director, Health Care Capital LLC, Former President and CEO Joslin Diabetes Center
- Tom Raffin, MD, General Partner, Telegraph Hill Partners, Professor Emeritus Stanford
- Jukka Valkonnen, Former Director Innovations Blue Shield CA
- Nicholas Vassilakis, Founder & CEO, Astute Inc, Wireless Business Development, Cambridge Consultants, Ltd
- Tom Sounhein, JD, CEO XIMED
- Thomas Sammon, Consultant Francisco Partners, Former Vice President, AOL Products AOL
- Todd Bennett, Principal Barney and Barney a division of MARSH
- Richard Minoff, Managing Partner, 1 Global Partners, Board of Directors Oxbridge Pharma, Project Faculty Wharton
- Anthony Maida, PhD, MA, MBA, Senior Vice President, Clinical Research Northwest Biotherapeutics, Inc
- Winnie Wan, PhD Former CEO OncoHealth Corp, President Becton Dickinson Cellular Imaging Systems, COO Systemix
- Allan Goodman M.D., Cardiothoracic Surgeon, Sharp Healthcare
- Jason Fung, M.D., Founder IDM, Author of Best Selling Book Obesity Code
- John Barron, Founder and CEO, Baseline Nutritionals
- Sandra Carter, M.A., MPH, Ph.D., CEO M2 Ingredientsover
- Tara Sheahan, Founder Conscious Global Leadership
- Sunjya K Schweig, MD Co-Director & CEO California Center for Functional Medicine
- Sergio Fernandez de Cordova Co-Founder & CEO Innovators Fund, IMGH, P3GM and the Public Foundation
- Stella Sung, PhD Managing Director, Pearl Street Venture Funds
- Peter C. Farrell, PhD, DSc, AM Founder & Chairman of the Board of ResMed
- Daniel Chiu, Forward Deployed Engineer, Palantir Technologies, Harvard InciteHealth Fellow
- Rick Soni, CEO, Cellular Logistics


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.Here is how to use the strong tag. HHere is how to ise the emphasis tag. Here is to use the strikethrought tag
Cleaver content goes here
Cleaver content goes here
My favorite fruit flavors
here is a picture
Pictures by Picsum Photos
| Fisrt Name | Last Name | |
|---|---|---|
| John | Doe |<EMAIL_ADDRESS>|
| Jimmy | Doe |<EMAIL_ADDRESS>|


Captain Hendricks holds a USCG 50 Ton Masters license with commercial towing endorsement and has been sailing since 1969. Experienced with vessels between 44 and 26 feet, he is a retired US Army Lieutenant Colonel (he started out in the US Marine Corps, but that's another story). He has a Masters Degree in Management, is a graduate of the US Army Command and General Staff College, and has additional doctoral related education at the Columbia University. In short, competent and professional.
Professional Captain Services offered include
• Movement of vessels
• Captained charters on Winsome or other vessels
• Sailing instruction
He also loves:
• Myers's Rum
• Key Lime Pie (the real stuff!)
• Raven's Brew Coffee - "Dead Man's Reach", "Wicked Wolf" blends (Lordy you gotta try this stuff!)
• Jimmy Buffett, good jazz, island music, classic rock, classic R&B
• Classic sailboats
• His crew
• Dogs (salty dogs), cats, birds, hedgehogs, manatees - this list could get long...


$ npm install pixel-borders --save-dev
After installation you can import it into your Sass files with the statement below.
@import "node_modules/pixel-borders/src/styles/pixel-borders.scss";
You can also just import the mixins without the demo styles.
@import "node_modules/pixel-borders/src/styles/pixel-borders/pixel-borders-mixins";
// Add pixel borders with default options
@include pixel-borders();
// Available options
@include pixel-borders(
$corner-size: 1,
$border-size: 4px,
$border-color: #000,
$border-inset-color: false
);
// Helper method to create custom styles e.g. colour themes, inset border, highlight
@include pixel-box(
$corner-size,
$border-size,
$background-color,
$border-color: false,
$border-inset: true,
$border-inset-size: false,
$border-inset-color: false,
$border-inset-sides: false,
$border-inset-color-br: false,
$border-inset-color-tl: false
);
| Property | Default | Type | Description |
|---|---|---|---|
$corner-size |
1 | Number | Number of pixels taken out of the corner. |
$border-size |
4px | Number(px) | Border size. |
$border-color |
#000 | Hexadecimal color | Border colour. |
$border-inset-color |
false | False/Hexadecimal color | Add a inset border to the bottom right in this colour. |
| Property | Default | Type | Description |
|---|---|---|---|
$corner-size |
Number | Number of pixels taken out of the corner. | |
$border-size |
Number(px) | Border size. | |
$background-color |
Hexadecimal color | Background colour for the box, this is used as a base for colour theme. | |
$border-color |
Darkened $background-color |
False/Hexadecimal colour | Border colour. |
$border-inset |
true | Boolean | Add a inset border. |
$border-inset-size |
$border-size |
False/Number(px) | Inset border size. |
$border-inset-color |
Darkened $background-color |
False/Hexadecimal color | Inset border colour. |
$border-inset-sides |
'bottom-right' | String | Which sides to add inset border to, 'all', 'top-left' or 'bottom-right'. |
$border-inset-sides-br |
$border-inset-color |
False/Hexadecimal color | Bottom right inset border colour. |
$border-inset-sides-tl |
Lightened $background-color |
False/Hexadecimal color | Top left inset border colour. |
A class of .pixel-borders is applied all elements with a pixel border for demo purposes only, you should be able to add pixel borders to any elements.
The pixel borders mixin comes with a number of classes defined to demonstrate how it can be used. These can be used as is but I would encourage users to create their own customized classes.
Clone or download from Github.
$ npm install
$ gulp serve
Inspired by the excellent NES.css which is a full NES-style CSS framework. Pixel borders is intended to be used where only the borders are required.


HEAD <<<<<<< HEAD
======= ======= >>>>>>> refs/remotes/origin/master
{% for user in user_data %}
{{user.name}}
{{user.likes}}
{% endfor %}
<<<<<<< HEAD >>>>>>> a44e84a1e5588d0c4ac742afc03a39d385790712 ======= >>>>>>> refs/remotes/origin/master


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
IN THE HIGH COURT OF KERALA AT ERNAKULAM WP(C) No. 21528 of 2006(K) 1. TATA TELESERVICES LIMITED, ... Petitioner Vs 1. THE OMBUDSMAN FOR LOCAL SELF ... Respondent 2. THE SECRETARY, OLAVANA GRAMA 3. SHRI.ABDUL JALEEL, 4. STATE OF KERALA, REPRESENTED BY For Petitioner : . For Respondent :SRI.P.V.KUNHIKRISHNAN The Hon'ble MR. Justice PIUS C.KURIAKOSE Dated :01/02/2007 O R D E R PIUS C.KURIAKOSE, J. ---------------------------------- W.P.(C)NO. 21528 of 2006 ---------------------------------- Dated this 1st day of February , 2007 JUDGMENT
Ext.P5 order passed by the Ombudsman for Local Self Government Institutions, is under challenge. Ext.P5 is a general order wherein the Ombudsman ordered that providers of teli communication service shall produce no objection certificate from the Automic Energy Commission so as to enable the Panchayat to issue licence to them for installation of mobile tower and for energizing the same.
2.Heard Sri.A.M.Shaffique the learned Counsel for the petitioner, Sri.P.V.Kunhikrishnan, the learned Standing Counsel for the Panchayat and Sri.Mathew G.Vadakkal, the learned Government Pleader for the 4th respondent. Even though the 3rd respondent had filed complaint regarding the installation and commission of the mobile tower by the petitioner he has not entered appearance before this court for resisting this writ petition. My attention was drawn by Sri.A.M.Shaffique to the judgment of the Division Bench of this court in Reliance WPC No.21528/2006 2 Infocom Ltd. v. Chemanchery Grama Panchayat ( 2006 (4) KLT 695). Paragraphs 5 and 8 were highlighted before me by the learned counsel. I notice that the issue is decided by the Division Bench in favour of the petitioner.
3. Having regard to the principles laid down in Reliance case ( supra), Ext.P5 cannot be sustained at all. Ext.P5 therefore will stand quashed. However, it is made clear that all the observations and direction in paragraph 8 of the Reliance Case which I quote as follows;
"We notice that the Panchayat has as on today no scientific data or relevant materials to cancel the licence already granted on the ground that the installation of the Tower would cause any health hazards. Licence granted has been cancelled by the Panchayat based on an apprehension that the radiation may cause health hazards to the people of the locality. Further Ext.P5 also says that installation of generator would cause sound pollution. Petitioner has not installed any generator as on today and if the installation of generator would cause any sound pollution, evidently Pollution Control Board can give appropriate direction and the petitioner will have to obtain necessary consent from the Pollution Control Board for installation of generators, so that it would not cause any sound pollution. So also, if the installation of Tower and the emission of elctromagnetic waves causes any WPC No.21528/2006 3 air pollution, affecting human health the Pollution Control Board can take appropriate measures under Air ( Prevention and Control of Pollution) Act 1991".
shall be binding on the writ petitioner also.
The writ petition stands allowed subject to the above quoted directions and observations.
PIUS C.KURIAKOSE Judge dpk


Stalking victims feel 'betrayed' as more than half of offenders avoid prison
EXCLUSIVE - CONTAINS GRAPHIC IMAGE: The Sunday People can reveal that despite a record number of convictions for stalking last year, 58 percent got community or suspended sentences
by Dan WarburtonStalking victims accused the justice system of a cruel betrayal as more than half of offenders dodge jail.
The Sunday People can reveal that despite a record number of convictions for stalking last year, 58 percent got community or suspended sentences.
It comes just a year after tougher sentences for stalkers were rolled out.
Victim and anti-stalking campaigner Zoe Dronfield suffered a horrific attack by her former partner – and later found he had 13 previous stalking victims.
She said: “Stalking ruined my life and almost led to my murder.”
The 42-year-old, from Coventry, was held captive for eight hours by Jason Smith in 2013.

The brute – who was calling her a hundred times a day – got 14 years in 2015, ten in jail and four on licence.
Slamming the latest figures, Zoe said: “Offenders should have harsher and longer sentences.
"Stalking is like murder in slow motion. It’s a betrayal of victims that so many are let off without custodial sentences.”
London’s Independent Victims’ Commissioner Claire Waxman – herself harassed for 12 years – also blasted the figures.
She said: “It’s disappointing to see a shockingly lenient approach. It’s crucial more is done to ensure sentencing reflects the severity of this crime.”
And the Suzy Lamplugh Trust’s Suky Bhaker said: “Community sentences should never be considered as an alternative to prison if the risk cannot be managed appropriately – and what victims tell us is risk management is not always adequate.”
In September last year, the maximum sentence for stalking was raised, doubling prison time from five to ten years.
In total, 1,022 people were convicted of stalking in England and Wales in 2018.
But MoJ data shows 396 (36 percent) got community sentences while 250 (23 percent) got suspended terms. And 58 people got just a fine, while a further 80 were just cautioned.
In August, police were told not to give fixed penalty notices in stalking and harassment cases following the murder of Shana Grice, 19.
She complained about stalker ex Michael Lane five times in six months – but was fined for wasting police time.
Lane slit her throat in 2016 in Portslade, East Sussex. He was jailed in 2017 for a minimum 25 years.
The Tory government has long promised to clamp down on domestic abusers with a raft of measures in their Domestic Violence Bill, which has been delayed since its introduction in 2017.
David Spencer, of the Centre for Crime Prevention, said: “There has been tough talking from the MoJ but it is time to follow up with action.”
The Ministry of Justice said it was down to each individual judiciary to determine sentences based on the full facts of each case.


This is a go get routing service which allows packages from multiple github organizations to appear to be centralized in one location. This also allows the packages to be moved to other locations without breaking imports.
This service tracks the packages from the following GitHub organizations:


setfocus is not being correctly targeted to the current repeat index
-
Click on the button labelled 'Test'.
-
If focus is passed to the third input field and the result field displays the text 'TEST PASSED', the test has passed. Otherwise, the test has failed.
FALSE
Test
Input:
Result:
Ready:


Chuck McCallum
places I've helped
things I've helped with
Morrow
Northfield
Gould
Arboretum
College Park
Mt. Vernon Sq.
Inman Park
Mansfield
Dupont Circle
St. David
Salt River
Osceola
Van Pelt
St. Botolph's
Area Four
Central Square
Divinity Ave.
Brighton
Countway
Firestone
North End
Resume
Projects
Diagrams
Verse?


Meet our Valuable speakers who will be each giving 10 minutes sessions on different subjects regarding being a digital product author, working at envato and marketing your business. Hope you will have a great time listening to our presentations!


Welcome to Nanocloud Software's documentation & support hub! You'll find comprehensive guides and documentation to help you start working with Nanocloud Software as quickly as possible, as well as support if you get stuck. Let's jump right in!
Get started


This SLIP implementation requires two functions for accessing the serial device: slipdev_char_poll() and slipdev_char_put(). These must be implemented specifically for the system on which the SLIP protocol is to be run.
Files | |
| file | slipdev.c |
| SLIP protocol implementation. | |
| file | slipdev.h |
| SLIP header file. | |
Functions | |
| void | slipdev_char_put (u8_t c) |
| Put a character on the serial device. | |
| u8_t | slipdev_char_poll (u8_t *c) |
| Poll the serial device for a character. | |
| void | slipdev_init (void) |
| Initialize the SLIP module. | |
| void | slipdev_send (void) |
| Send the packet in the uip_buf and uip_appdata buffers using the SLIP protocol. | |
| u16_t | slipdev_poll (void) |
| Poll the SLIP device for an available packet. |
|
|
Poll the serial device for a character. This function is used by the SLIP implementation to poll the serial device for a character. It must be implemented specifically for the system on which the SLIP implementation is to be run. The function should return immediately regardless if a character is available or not. If a character is available it should be placed at the memory location pointed to by the pointer supplied by the arguement c.
|
|
|
Put a character on the serial device. This function is used by the SLIP implementation to put a character on the serial device. It must be implemented specifically for the system on which the SLIP implementation is to be run.
|
|
|
Initialize the SLIP module. This function does not initialize the underlying RS232 device, but only the SLIP part. |
|
|
Poll the SLIP device for an available packet. This function will poll the SLIP device to see if a packet is available. It uses a buffer in which all avaliable bytes from the RS232 interface are read into. When a full packet has been read into the buffer, the packet is copied into the uip_buf buffer and the length of the packet is returned.
|
Here is the call graph for this function:
|
|
Send the packet in the uip_buf and uip_appdata buffers using the SLIP protocol. The first 40 bytes of the packet (the IP and TCP headers) are read from the uip_buf buffer, and the following bytes (the application data) are read from the uip_appdata buffer. |
Here is the call graph for this function:


At Nutanix, security is a first-class citizen that drives best practices providing both defense in depth and a hardened by default posture for releases. In efforts to stay agile and effective when fighting the ever-increasing cyber security threads, Nutanix’s Security Development Life Cycle addresses security at every step of the development process instead of applying it at the end as an afterthought. This includes automated security testing during development and threat modeling to assess and mitigate customer risk from code changes.
Nutanix provides additional platform security capabilities, including:
Nutanix also provides administrators with Security Technical Implementation Guides (STIGs), which are security tools encoded in a machine-readable format to facilitate automated validation, ongoing monitoring, and self-remediation. These reduce the time required to verify security compliance from weeks or months to days without slowing down product evolution. STIGs are based on well-established standards by National Institute of Standards and Technology (NIST) that can apply to multiple baseline requirements for DoD and PCI-DSS. However, Nutanix STIGs are specific to the Acropolis platform and therefore more effective.
In this lab you will see STIGs in action in order to see first-hand how they harden the Nutanix Enterprise Cloud OS and help reduce zero-day vulnerabilities.
Note
Nutanix AOS and AHV STIGs can be downloaded here from the Nutanix Portal.
Follow the exercise below to manually run a STIG report on your Nutanix cluster. By default, these checks run on a Nutanix cluster once every 24 hours, whereas in a typical legacy infrastructure environment, STIGs would be applied manually at the time of deployment and have no automated means of ensuring the original configuration is unchanged over time.
Connect to Controller VM (CVM) as nutanix user via SSH (Using Terminal, putty, or similar program)
Change to the root directory of the CVM
cd /
List the files available to the root user to execute within the /root directory.
sudo -u root ls -l root
You should see a similar output:
nutanix@NTNX-14SX35100046-A-CVM:<IP_ADDRESS>:~# sudo -u root ls -l root
total 248
-rw-------. 1 root root 3314 Sep 11 2017 anaconda-ks.cfg
drwxr-x---. 2 root root 4096 Dec 13 23:04 filesystems
-rw-r-----. 1 root root 1132 May 3 2018 homeaudit.pp
-rw-r-----. 1 root root 1231 May 3 2018 my-runcon.pp
-rw-r-----. 1 root root 464 May 3 2018 my-runcon.te
-rw-------. 1 root root 3222 Sep 11 2017 original-ks.cfg
-rwxr-x---. 1 root root 10034 May 3 2018 report_open_jre8_stig.sh
-rwx------. 1 root root 132760 Aug 30 23:50 report_stig.sh
-rwxr-x---. 1 root root 72376 May 3 2018 report_web_stig.sh
drwxr-x---. 2 root root 4096 Dec 13 23:17 sretools
-rw-r-----. 1 root root 840 May 3 2018 sshdlocal.pp
There should be three .sh files that end in _stig.sh and you’ll want to run the one that outputs the report in the format you prefer.
In this example, we’ll run the generic text output “report_stig.sh”
sudo -u root /root/report_stig.sh
The output will go into the root user log folder.
.. note::
The command will take ~1 minute to complete.
List the files in the folder and note the name of the report.
sudo -u root ls -l /home/log | grep STIG
Copy the report to the nutanix home directory, substituting the actual file name for the asterisks.
sudo -u root cp /home/log/STIG-report-**-**-****-**-**-** /home/nutanix
List the files in the /home/nutanix folder.
ls -l ~
Change the owner of the report file to be the Nutanix user, substituting the actual file name for the asterisks.
sudo -u root chown nutanix:nutanix /home/nutanix/STIG-report-**-**-****-**-**-**
Use a secure copy tool (SCP, WINSCP, PSCP, etc) to copy the report results file to your workstation from the CVM. Alternatively you can open and view the text file in your SSH session using vi
, more
, cat
, etc.
Note
Be sure to login to the CVM using the nutanix username and browse to its home directory to find the file we created above.
The STIG report can be used for validation and accreditation requirements for security compliance.
The format of each result within the report is as follows:
Below is an example of a non-finding in the STIG report, meaning that the check did not discover an unwanted configuration:
CAT II RHEL-07-021030 SRG-OS-000480-GPOS-00227 CCI-000366 CM-5 (1)
All world-writable directories must be group-owned by root, sys, bin, or an application group.
The result of the check should be yes. If no, then it's a finding
yes
Completed.
And an example of a finding, where the check was found to have an unwanted configuration:
CAT I RHEL-07-021710 SRG-OS-000095-GPOS-00049 CCI-000381 CM-7 a, CM-7 b
The telnet-server package must not be installed.
The result of the check should be yes. If no, then it's a finding
no
Completed.
In this final exercise you will embrace your inner dark side and compromise the security of the cluster by making non-compliant changes - and you would have gotten away with it too, if it weren’t for you pesky STIGs (any Scooby Doo fans in the audience? No? OK just me then, fine.).
The following text was extracted from one of the security checks under the AOS STIGs:
In a Linux OS, secure user data, specifically encrypted passwords, are stored in the /etc/shadow file - making it a bad idea to provide non-root users with access to this sensitive file.
Change to the root directory of the CVM
cd /
Verify the current ownership:
sudo -u root ls -l etc/shadow
----------. 1 root root 943 Dec 18 15:37 /etc/shadow
Change the group ownership to nutanix:
sudo -u root chown root:nutanix /etc/shadow
ls -l /etc/shadow
----------. 1 root nutanix 943 Dec 18 15:37 /etc/shadow
Manually run the salt call to fix this vulnerability:
sudo -u root salt-call state.sls security/CVM/fdpermsownerCVM
Note
While the calls to remediate the identified issues are made manually in this lab, all STIG related automation takes place once every 24 hours by default.
Verify the file is once again owned by the root group and not nutanix:
sudo -u root ls -l etc/shadow
This example focuses on the following check from the previously created report:
All world-writable directories must be group-owned by root, sys, bin, or an application group.
The result of the check should be yes. If no, then it's a finding
yes
Completed.
If a world-writable directory, such as /tmp, were taken over by a bad actor, it could impact system operations and compromise security.
Change to the root directory of the CVM
cd /
You can search for this specific report from the CVM console where the report was run and using the following command, substituting the actual file name for the asterisks:
sudo -u root grep -A 4 -B 1 "All world-writable directories " /home/log/STIG-report-**-**-****-**-**-**
Observe that the output matches the beginning of the example. Let’s compromise the system so that this check says “no” and then manually fix the issue.
Note
If there is currently a finding for this check, another user may be in the middle of this exercise. You may still proceed.
Verify the current ownership:
sudo -u root ls -l / | grep tmp
drwxrwxrwt. 14 root root 1024 Dec 21 02:59 tmp
Change the group ownership:
sudo -u root chown root:nutanix /tmp
Verify the ownership change:
sudo -u root ls -l / | grep tmp
drwxrwxrwt. 14 root nutanix 1024 Dec 21 03:16 tmp
After we have achieved this, let’s re-run the report to see if this change has been detected
sudo -u root /root/report_stig.sh
sudo -u root grep -A 4 -B 1 "All world-writable directories " /home/log/STIG-report-**-**-****-**-**-**
Observe the result of the check is now no, indicating a finding.
Manually run the salt call to fix this vulnerability:
sudo -u root salt-call state.sls security/CVM/fdpermsownerCVM
List the / directory again and note that the ‘compromise’ has been reverted back. Optionally you can re-run the report and verify there is no longer a finding for the check.
sudo -u root ls -l / | grep tmp
drwxrwxrwt. 14 root root 1024 Dec 21 03:42 tmp
Data at Rest Encryption is a critical platform security capability:
Nutanix provides a number of different options for delivering Data at Rest Encryption.
Software-based encryption with Nutanix’s integrated key management service (KMS) can provide a frictionless experience for enabling encryption without impacting performance.
Enabling software-based encryption is a one time operation at a per cluster level, so cannot be performed in a shared, lab environment. However, the brief, narrated video below walks you through the few steps required to enable this feature.
System auditing is not only a good practice but often a security compliance requirement. Getting the history of changes or accesses made to a system (files, directories, system resources and system calls) into a service which can present those logs in a legible format is something your customers are going to want to do, and most likely within the first week of deploying their Nutanix cluster.
Nutanix can forward detailed system events to a syslog server in a few short minutes. In this narrated video you will learn what audit logs are available, where to configure a syslog server and what actions you can take to troubleshoot common problems.
New in AOS 5.16, Secure Boot for user VMs is a security feature in which AHV checks that the guest OS boot loader is signed with a cryptographic key authorized by a database contained in the UEFI firmware, verifying and trusting the integrity of the OS boot loader.
In 5.16, Secure Boot is not yet available through the Prism interface. In this brief, narrated video you will learn how to enable this feature for a VM using acli
.
Nutanix is committed to providing a secure platform out of the box, including:
- Automated application and remediation of STIGs
- Multiple options for providing Data at Rest Encryption, including a simple to enable software-based option
- Audit logging, including the ability to ship system and Flow logs to an external syslog server
- Trusted boot technology for guest VMs running on AHV


RAT RACE RATING: 5/10
For more reviews and movie forums, visit http://www.joblo.com/
PLOT: An eccentric billionaire places $2 million inside a locker in New Mexico, assembles a bunch of losers in Las Vegas and tells them that whoever reaches the locker first, can keep all of the money. And they're off to the races!
CRITIQUE: A very cool premise, some half-decent gags here and there, a few major stunt pieces and a fun score just aren't enough to recommend this movie all the way. Why? Well, I just didn't think that most of this film was funny, that's why. The basic idea is a good one, gather a bunch of people and ask them to reach the same point in order to win $2 million. Check. But once everyone hits the road, it's basically just a bunch of sketches, each involving one of the characters or another, getting into outrageous situations (most of which are extremely farfetched if you really start thinking about them-a Nazi museum in the middle of the desert?) in order to stir up laughs. Unfortunately for me, I just didn't think that most of it was all that funny (but being as humor is very subjective, who knows...maybe you will enjoy the laughs). In fact, I spent the first half of this movie looking at my watch, other than the scenes with Cuba Gooding Jr. (who's very funny here), and only started "getting into" it during the film's second half.
It's basically a matter of the characters being humorous or not, and most just weren't for me. Rowan Atkinson for example, was abysmally unfunny to me as the "Italian" tourist, but many in the audience were cracking up at every facial gesture that he made. Not me! (and don't get me started on that inane bit with Wayne Knight and the human heart...yeesh!). Whoopie Goldberg and her daughter in the film were also not funny, and the whole ongoing joke about Seth Green's brother not being able to speak, was also not a part of my humor list. Cuba Gooding Jr., on the other hand, did make me laugh, as did some of the Hitler jokes from Lovitz's camp (although some will be offended, no doubt), and I really liked how all of the rich guys were betting on pretty much anything under the sun (the "maid bets" were the absolute tops). I also liked the whole bus full of Lucy Balls...brrrr, creepy and funny at the same time.  Like the whole helicopter thang and the scene featuring Seth Green's car being pulled upwards by a radar.
And the reason that I'm talking about the characters and the scenes specifically in my review is because that's basically all that this movie is about. You either like the characters and think that most of what they're doing is funny, or you don't. It's not a plot-driven film and it certainly doesn't ask that you invest anything into the characters (i.e leave your brain at the door). It's mindless (but it doesn't pretend to be anything otherwise) with some laughs and a horrible ending.  This feels like the umpteenth film to which they've sold their "hit" single "All-Star". Enough already! Anyway, you just gotta see the goofy ending to believe it, easily one of the most contrived things that I've seen in some time. Check it out on video, only because of the cool premise and some of the gags clicking, but otherwise, stick to the "Whoopie Goldberg" rule of movies, and stay away from this one in the theaters (for those uninitiated to the guideline: "If Whoopie's in a film, stay away!"). I think it would also have been much greater if they had used A to B list actors and made the chase cross-country, as opposed to the B to C list actors assembled here, and the state-to-state race. Oh well...it's August, folks, and studios aren't exactly known to reserve this month for the greatest pictures in their annual portfolio, so lower your expectations and you might just laugh along.
Where's JoBlo coming from? Airplane (10/10) - A Simple Plan (8/10) - Dirty Work (5/10) - Drowning Mona (5/10) - Honeymoon in Vegas (10/10) - O Brother, Where Art Thou (7/10) - Raising Arizona (10/10)
Review Date: August 12, 2001 Director: Jerry Zucker Writer: Andrew Breckman Producers: Jerry and Janet Zucker, Sean Daniel Actors: Cuba Gooding Jr. as Owen Templeton Seth Green as Duane Cody John Lovitz as Randy Pear Genre: Comedy Year of Release: 2001 ------------------------------------ JoBlo's Movie Emporium http://www.joblo.com/ ------------------------------------ (c) 2001 Berge Garabedian
========== X-RAMR-ID: 29205 X-Language: en X-RT-ReviewID: 243903 X-RT-TitleID: 1108085 X-RT-SourceID: 573 X-RT-AuthorID: 1021 X-RT-RatingText: 5/10
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


5. Cloudmesh Multi Cloud Storage Interface¶
Cloudmesh supports multiple cloud storage services. You can access them via commandline, an API or REST services. A simple abstraction layer between cloud services and you local computer makes it possible that the services are accessed the same way. This includes AwsS3, Azure, Google, and box.
The code is availabe a cloudmesh module at
Version License Python Format Format Travis
5.2. Ccnfiguration¶
5.3. AWSS3 Cloudmesh Integration¶
AWS S3 file storage has been integrated with cloudmesh library and is available
for use via commandline. As a first step we need to modify cloudmesh4.yaml
config file. Under ‘storage’ section, we need to add the aws section to specify
the parameters used to store files in AWS S3.
In the credentials section under aws, specify the access key id and secret
access key which will be available in the AWS console under
AWS IAM service
-> Users
-> Security Credentials
.
Container is the default bucket which will be used to store the files in AWS S3.
Region is the geographic area like us-east-1
which contains the bucket. Region
is required to get a connection handle on the S3 Client or resource for
that geographic area.
Here is a sample.
cloudmesh:
...
storage:
aws:
cm:
heading: aws
host: amazon.aws.com
label: aws
kind: awsS3
version: TBD
default:
directory: TBD
credentials:
access_key_id: *********
secret_access_key: *******
container: name of bucket that you want user to be contained in.
region: Specfiy the default region eg us-east-1
The Cloudmesh command line library offers several functions including
get, put, search, list, create directory, and delete.
Once you have installed Cloudmesh storage, type cms
into the command line to start the
cms shell.
$ cms
+-------------------------------------------------------+
| ____ _ _ _ |
| / ___| | ___ _ _ __| |_ __ ___ ___ ___| |__ |
| | | | |/ _ \| | | |/ _` | '_ ` _ \ / _ \/ __| '_ \ |
| | |___| | (_) | |_| | (_| | | | | | | __/\__ \ | | | |
| \____|_|\___/ \__,_|\__,_|_| |_| |_|\___||___/_| |_| |
+-------------------------------------------------------+
| Cloudmesh CMD5 Shell |
+-------------------------------------------------------+
cms>
To view the docopt for storage command, type in
cms> help storage
Help command gives a detail level understanding of what each command does and how to use the command line to interact with different storage providers and different parameters / options available in a particular command. For eg to invoke AWS S3 service, we need to pass awss3 as parameter to storage and suffix with the function call with the function parameters.
cms> storage --storage='aws' list ''
Alternatively, storage command can also be called directly without starting the cms shell.
$ cms storage --storage='aws' list ''
Help command gives a detail level understanding of what each command does and how to use the command line to interact with different object storage providers and different parameters / options available in a particular command.
In this, default object storage invokes AWS S3 service, we need to pass awss3 as parameter to storage and suffix with the function call with the function parameters.
cms> storage --storage='objstore' list ''
Alternatively, objstore command can also be called directly without starting the cms shell.
$ cms storage --storage='objstore' list ''
5.4. Cloudmesh AWS Object Storage Interfaces¶
Object Storage is one of the feature in AWS S3 and this feature integrated with cloudmesh library and is available for use via commandline.
Follow the below steps:
Modify
cloudmesh4.yaml
config file in ‘cloudmesh-storage’ section. User need to add required object storage parameters to communicate with cloud(AWS S3)In the credentials section under
awsobjectstore
, add the parameter values of access_key_id and secret_access_key, these credentials will be gained from appropriate cloud vendor(For ex: AWS), in the case of AWS, these will be available which will be available in the AWS console underAWS IAM service
->Users
->Security Credentials
.
Here is a sample.
cloudmesh:
...
storage:
objstore:
cm:
heading: AWS
host: aws.com
label: AWS
kind: awsobjectstore
version: 1.0
default:
directory: AWS
credentials:
region: ""
access_key_id: ""
secret_access_key: ""
5.5. Create Object Directory¶
$ cms storage --storage='objstore' create /base_path/targetdir
5.6. Put¶
The put command uploads object from your local system to AWS S3 object storage
$ cms storage --storage='objstore' put ~/.cloudmesh/objstore/sourcedir /base_path/targetdir --recursive
5.7. Get¶
The put command retrieve or download a object from AWS S3 object storage
$ cms storage --storage='objstore' get /bucket_name/src ~/.cloudmesh/objstore/dest --recursive
5.8. List¶
The list command lists all the contents of a cloud object details. If the recursive option is specified, it will list the contents of all the nested objects information
$ cms storage --storage='objstore' list /bucket_name/dest --recursive
5.9. Delete¶
The delete command can delete objects on cloud storage. Once object deletes it will never be rollback and delete applicable to nested objects when function --recursive
used.
Deleting a folder will delete its contents as well (including the
sub-directories).
$ cms storage --storage='objstore' delete /bucket_name/est --recursive
5.9.1. Storage functions overview¶
5.9.2. Create dir¶
This command helps to create a new directory on AWS S3. You must specify the full path of the new directory you would like to create.
$ cms storage --storage='aws' create dir /base_path/targetdir
5.9.3. Put¶
The put command uploads files from your local host to the S3.
$ cms storage --storage='aws' put ~/.cloudmesh/storage/sourcedir /base_path/targetdir --recursive
Source for this command could be either a file or directory.
If you specify a file as the source, the file will be uploaded if no such file exists on the cloud or updated if a copy already exists on the cloud.
If the source is a directory, you can choose to specify the recursive option to upload the files in the sub-directories in the source as well to the target directory in S3. If the recursive option is not specified, only the files in the source directory will be uploaded to the target directory and the sub-directories will be ignored.
5.9.4. Get¶
The get command downloads files from S3 to your local host.
$ cms storage --storage='aws' get /base_container/sourcedir ~/.cloudmesh/storage/targetdir --recursive
Source for this command could be either a file or directory.
If you specify a file as the source, you need to speccify the full path of file including the file name where you want the file to be downloaded. In case you do not specify the file name and only give the target directory, then the file will be downloaded with the same name as present on S3.
If the source is a directory, you can choose to specify the recursive option to download files in the sub-directories in the source as well to the target directory in your local host. If the recursive option is not specified, only the files in the source directory will be downloaded to the target directory and the sub-directories will be ignored.
5.9.5. Search¶
The search command helps to search for a particular file within a directory.
If recursive options is specified, Cloudmesh will search for the file in all sub-directories of the original directory as well.
To search for a file at the root, pass an empty string or / as the target dir.
$ cms storage --storage='aws' search /base_path/targetdir testfile.txt --recursive
Note that for the Box storage provider, objects are only indexed every 5 to 10 minutes and will not show up in a search until they have been indexed.
5.9.6. List¶
The list command lists all the contents of a cloud directory. If the recursive option is specified, it will list the contents of all sub-directories as well.
$ cms storage --storage='aws' list /base_path/targetdir --recursive
5.9.7. Delete¶
The delete command can delete files or folders from your cloud file storage. Deleting a folder will delete its contents as well (including the sub-directories).
$ cms storage --storage='aws' delete /base_path/targetdir --recursive
5.10. Pytests¶
5.10.1. Generic Tests¶
We have developed a number of simple pytests that can be called. To see the list of Pytests go to our directory
We also developed a general pytest that works accross providers and can be invoked as follows
$ cms set storage=box
$ pytest -v --capture=no tests/test_storage.py
$ cms set storage=azure
$ pytest -v --capture=no tests/test_storage.py
$ cms set storage=gdrive
$ pytest -v --capture=no tests/test_storage.py
$ cms set storage=awss3
$ pytest -v --capture=no tests/test_storage.py
5.10.2. Provider Specific Pytests¶
Open a terminal and navigate to the cloudmesh-storage directory. Enter the following command to run pytests:
$ pytest -v --capture=no tests/test_storage_box.py
$ pytest -v --capture=no tests/test_azure.py
$ pytest -v --capture=no tests/test_storage_aws.py
TODO: rename to
test_storage_azure.py
5.11. General features¶
How to set up the authentication to a specific service is discussed in later sections
TODO: Provide a simple programming example with the general provider
5.11.2. Programming Interface¶
TBD
Cloudmesh Storage provides a simple programming API interface that you can use. We highlight a simple exampple for storing and retrieving a file form a storage provider.
We assume the files at the given path exist
import cloudmesh.storage.provider.Provider as Provider
from cloudmesh.common.util import path_expand
from pprint import pprint
provider = Provider(service="azure")
src = path_expand("~/.cloudmesh/storage/test/a/a.txt")
dst = "/"
result = provider.put(src, dst)
# The resut will be a dict of the information whih you can print with
pprint(result)
5.11.3. Pytests¶
Script to test the GDrive service can be accessed under tests folder using the following pytest command.
TODO rename to test_storage_gdrive.py
$ pytest -v --capture=no tests/test_gdrive.py
5.12. Virtual Directory¶
The virtual directory has been developed to mirror the linux directory commands. File links in the virtual directory point to files on storage providers, which can be retrieved using the virtual directory.
5.12.1. Configuration¶
The credentials for the virtual directory are the same as for the admin mongo command. See the Mongo section for details.
5.12.2. Pytests¶
The vdir command can be tested as follows:
$ pytest -v --capture=no tests/test_vdir.py
5.13. Google drive¶
The Google Drive API needs the following two 2 credentials files.
client_secret.json
google-drive-credentials.json
If we run the Google Drive Provider.py
for the First time then the
required keys, tokens are taken from the cloudmesh4.yaml
file and creates a
client_secret.json
file in the follwing path ~/.cloudmesh/gdrive/
The Authentication.py
creates a .credentials
folder under the following path
~/.cloudmesh/gdrive/
if it doesn’t exist and creates a
google-drive-credentials.json
file under the following folder
~/.cloudmesh/gdrive/.credentials/
So, for the First time browser will be opened up automatically and asks for
the Google Drive(gmail) credentials i.e., login email and password. If you
provide these 2 then the Authentication step is completed and then it will
create the google-drive-credentials.json
and place it in
~/.cloudmesh/gdrive/.credentials/
folder.
These steps are to be followed for the first time or initial run. Once it is done then our program is set. After these steps then the program will run automatically by using these credentials stored in the respective files.
5.13.1. Note¶
The Google Drive API accepts these 2 files in the form of .json file format and not in the form of a dictionary.
5.13.2. Links¶
Link for additional information:


I'm Steve Myles, a.k.a. some guy from Texas. I've been doing data analytics for over 15 years. My educational background is in industrial engineering/operations research and business. I've done independent coursework in data science as well. I enjoy using data to solve business problems. I also run distances slowly.
I've spent my career in the consumer electronics industry, focusing on analytics and planning.
An overview of my experience is below, my CV is here, and you can find me on LinkedIn.
Professional [
]Analytics
Contact center and repair center operations optimization
Data science
Data visualization
Healthcare applications of analytics, operations research, and industrial engineering
Reverse supply chain management
Personal [
]
Running (though I’m not exactly what you’d call fast)
PRs
5K: 26:37 (2018)
5mi: 48:24 (2014)
10K: 59:49 (2013)
11K: 1:07:21 (2011)
Half marathon: 2:13:06 (2018)
Marathon: 5:39:01 (2013)
Causes [
]I am married to my lovely wife Elizabeth. She is the coolest person in the world.
I grew up in Lubbock, Texas and currently reside in Texas.
I am an Eagle Scout. Troop 543 represent.
Family [
]
Myles & Myles - my wife and I
Barbara Myles – my mother
Charles Myles – my father
Chris Myles – my brother
Clyde Myles – my grandfather
Friends and Colleagues [
]Professors [
]Master of Business Administration, Naveen Jindal School of Management, University of Texas at Dallas, 2012
Master of Science in Industrial Engineering with concentration in Operations Research, Texas Tech University, 2004
Bachelor of Science in Industrial Engineering, Texas Tech University, 2002
I've done data analytics, primarily in the consumer electronics industry, for over 15 years. For more detail, please see my CV.
HP — Houston, TX — 2017-present [ ]
Senior Analyst, Customer Data & Insights — November 2019 - present
Data analytics related to Personal Systems product cost and shipments
Senior Analyst, Workstation Cost Management — February 2017 - October 2019
Tracked product costs throughout development lifecycle for workstation products
Apple Inc. — Austin, TX — 2014-2017 [ ]
Forecasting and Planning Analyst, Retail Contact Center — July 2014 - February 2017
Utilized operational data to forecast weekly and monthly transactional and manpower (FTE) requirements for worldwide Order Administration (September 2015 - February 2017) and phone sales and service for the Americas, EMEA, and Japan (July 2014 - August 2015)
Automated (via VBA) and improved (through the addition of regression and time series models, i.e., exponential smoothing) existing forecasting and planning models
Hewlett-Packard Company (now HP) — Houston, TX — 2004-2014 [ ]
Senior Business Analyst, Americas Customer Service and Support — April 2011 - July 2014
Led a seven person team in multiple geographies to provide technical analyses and subject matter expertise for analytics, inventory control, and optimization projects.
Built decision support tools using business intelligence applications (Tableau and QlikView).
Operations Research Analyst, Americas Customer Support Operations — August 2004 - April 2011
Consulted on planning, forecasting, staffing, and inventory activities with internal and outsourced contact centers and repair centers in multiple geographies.
Developed and implemented operations research models (LP, MIP, and simulation) for contact centers and repair centers, including daily delivery of call volume across multiple contact centers and determining the disposition of repair inventory for build vs. buy decision-making.
Texas Tech University Department of Industrial Engineering (now Department of Industrial, Manufacturing, and Systems Engineering) — Lubbock, TX — 2002-2004 [ ]
Teaching Assistant — August 2003 - May 2004
Graded homework and projects for undergraduate classes of 50+ students per semester.
Research Assistant — August 2002 - August 2003
Researched an inventory control model for automated pharmaceutical dispensing machines, potentially saving approx. $100,000 annually for a local hospital.
Ethicon, Inc. (a Johnson & Johnson Company) — San Angelo, TX — 2000 [ ]
Materials Management Coop — May - December 2000
Supervised twenty-five warehouse associates and oversaw timely filling of orders.
Developed work standards (i.e., expected throughput) for warehouse associates.
I like to solve analytics problems. I also write simple code that can be used as a pedagogical tool; I used to code in Turbo Pascal but lately I've been using R. I enjoy working with Tableau as well.
R Packages [
]mlsjunkgen [ ]
Project Type: R Package
Description: R implementation of a pseudorandom number generator
Course: originally from IE 5317 - Statistical Analysis for Digital Simulation
Year of initial release: 2015
phonenumber [ ]
Other Code [
]Data Science Specialization [ ]
Project Type: R, etc.
Description/Courses: coursework from the Johns Hopkins University/Coursera Data Science Specialization
Years: 2014-present
ePubCheck Helper [ ]
Project Types: VBA/Excel
Description: implementation of a pseudorandom number generator
Course: IE 5317 - Statistical Analysis for Digital Simulation
More Info: code
Year of initial release: 2012
Year of initial coding: 2004
Tic Tac Toe [ ]
Project Type: Turbo Pascal (Win32)
Description: a Tic Tac Toe game I coded in graduate school
Course: IE 5307 - Cognitive Engineering
More info: code
Year of initial release: 2012
Year of initial coding: 2004
Stochastic "Inventory Control" [ ]
Project Type: Turbo Pascal (Win32)
Description: Markov chains, Jacobi iterations, and more
Course: IE 5331 - Stochastic Processes ("Theoretical Studies in Advanced Industrial Engineering Topics")
More info: code
Year of initial release: 2006
Year of initial coding: 2003
Project Type: Turbo Pascal (Win32)
Description: procedures and programs from my high school computer science classes
Courses: Computer Science I and II
More info: code
Year of initial release: 2015
Year of initial coding: 1994-1997
Non-Code [
]Project Type: Tableau
Description: an interactive table and map of breweries I’ve visited and the pictures I have taken of them
Year: 2017
My Travels [ ]
Project Type: Tableau
Description: an interactive map of countries/states/provinces I’ve visited
Year: 2014
Project Type: Excel
Description: track your NaNoWriMo word count
More Info: Excel file
Year of initial release: 2009
Madame Curious Comes to Visit [ ]
Project Type: writing/teaching
Description: Madame Curious came to visit me to learn about the type of work I do
Year: 2010
Me and Madame Curious:
(Non-Code) School Projects [
]“Domestics” [ ]
Project Type: radio
Description: I co-hosted/hosted a radio show (local music) on KTXT-FM when I was in graduate school
Years: 2002-2004
Listen:
Inventory Control for Automated Drug Dispensing Machines: A Service Level Policy [ ]
Project Type: research/inventory control
Description: in graduate school, I worked on this project which was presented at INFORMS 2007
Years: 2002-2004, presented 2007
See below for slides
Project Type: machining
Description: a paperweight that a group and I designed and machined
Course: IE 4351 (now IE 4352) - Manufacturing Engineering II
Year: 2002
Engineering Drawing:
Project Type: machining
Description: a tabletop vise that I machined
Year: 2001
Completed Vise:
Additional school projects are in the "Other Code" category to the left
October Horror Films/13 Nights of Horror [ ]
Project Type: movie-watching
Description: for the thirteen Octobers from 2009-2021, my wife and I watched at least one horror film per day. Beginning in 2022, we started watching 13 horror films during the month of Octber.
13 Nights of Horror: 2022 |
October Horror Films: 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009
Race Medals [ ]
Project Type: tumblr
Description: a tumblr featuring medals from endurance races
Year started: 2014
Stochasticity (my photos) [ ]
Project Type: Photography
Description: I like taking pictures. Some of them turn out ok.
See also: my photos on my tumblr
See also: 365project [ ]
Project Type: Photography
Description: 365project - “Document your life with a daily photo!” Good thing I picked a 366 day year to try this one.
Year: 2016
Zombi cake [ ]
Project Type: baking/decorating (cake, cookies, candy) + photography
Description: a cake my wife and I made/decorated, inspired by the poster for Lucio Fulci’s Zombi
Year: 2011
Poster:
Cake:
I've presented at conferences and given talks to students.
My IE Career [
]Description: An overview of my career for an undergraduate class.
Venue: Texas Tech University Department of Industrial, Manufacturing & Systems Enginering IE 2401
Date: 25 April 2023
Storytelling for Engineers [ ]
Venue: University of Houston Cullen College of Engineering PROMES Maximizing Your Power Weekend 2012
Date: 7-8 September 2012
Slides:
University of Houston Engineering Summer Camp - Young Engineers Panel Discussion [ ]
Description: Panel discussion for a UH Engineering Summer Camp for high school students. The panel featured young engineers from across HP, sharing information about the transition from school to work and the different careers available to engineers.
Venue: Hewlett-Packard Company
Date: 21 June 2012
Projecting Outsourced Contact Center Agent Availability [ ]
Presenters: Steven Myles, Viroj Buraparate, and Sunil Kumar G.
Venue: University of Pennsylvania Wharton Financial Institutions Center Contact Center Forum 2008
Date: 28-29 February 2008
Forecasting and Planning Diagnostic Techniques for Service Operations [ ]
Presenters: Steven Myles, Viroj Buraparate, and Atul Dhawan
Venue: INFORMS 2007
Date: 4-7 November 2007
Inventory Control for Automated Drug Dispensing Machines: A Service Level Policy [ ]
Presenters: John E. Kobza, Steven Myles, Sean Dunagan, Garrett Heath, Surya D. Liman
Venue: INFORMS 2007
Date: 4-7 November 2007
Slides:
Optimization Strategies for Resolving Inventory Problems in Customer Service Repair Centers [ ]
Presenters: Steven Myles, Viroj Buraparate, and Terrell Thruston
Venue: INFORMS 2005
Date: 13-16 November 2005
Optimal Call Center Capacity Allocation Model [ ]
Presenters: Will Lin, Atul Dhawan, Steven Myles, and Saravanan Venkatachalam
Venue: INFORMS 2005
Date: 13-16 November 2005


In the pyblosxom git repository, there are two big things that have test suites:
These have two separate testing infrastructures, but both are based on unittest which comes with Python.
These tests are located in Pyblosxom/tests/ and test the Pyblosxom core functionality and all core plugins.
Tests are executed by:
python setup.py test
This uses the test_suite parameter to setup which is in both distribute and setuptools.
The test_suite is Pyblosxom.tests.testrunner.test_suite which is a function that goes through all the files in Pyblosxom/tests/ and loads tests in files where the filename starts with test_ and ends in .py.
The Pyblosxom.tests package defines helper functions, classes, and other things to make testing easier.
Writing tests is pretty easy:
See Pyblosxom/tests/ for examples testing the core as well as core plugins.
That’s about it!
Writing tests is a great way to start contributing to this project and it will help you learn the code base. If you’re at all interested, let us know!
Adding tests for the code we’re writing helps us a TON in the quality department. Pyblosxom 1.5 is ten times as good as previous versions because we’ve got a better testing infrastructure and we’re testing plugin functionality.
Many thanks to Ryan Barret for the awesome work he did a while back writing tests for plugins.


PhotoPop!
Request anyone, anywhere, at aytime to pop up and take your photos so that you'll never miss a moment or be left out of the picture again.
sign in with
Facebook
Sign in with
Instagram


--- layout: archive title: Zulip Chat Archive permalink: /stream/113489-new-members/topic/applying.20definitions.20to.20theorems.html ---
Hi, I'm having trouble trying to use my own definitions and applying them to theorems,
how should I approach the following if I wanted to unpack my definition once lean knows there's a proof of it?
def equivalency (p q : Prop) : Prop := p → q ∧ q → p theorem (p q : Prop) : equivalency p q → p ∧ q := begin intro eq_pq, -- how do I unpack my definition now? end
Thanks!
Try unfold equivalency at *
Thanks, that works perfectly- If I wanted to find out more about the unfold tactic (source code maybe?) where should I go? I've not found the tactic codes so far..
There are lots of tactics, and I picked up the ones which were useful for me by just asking lots of questions.
That's a neat site, thanks.
The doc page that Kevin linked to mostly discusses tactics in mathlib. The source code for those tactics can be found in the src/tactic
directory of mathlib. The unfold
tactic is provided in the core library and its source code is here. It relies on much of the same code as the very important simp
tactic, which you can read more about here.
Will have a read- and I forgot to check src! good to know it's all there. Didn't know simp was much more intricate under-the-hood, good to know
Some tactics (like cases
/rcases
which is probably coming next) will automatically see through definitional equalities, making unfold
redundant once you know what the next step should be.
By 'which is probably coming next' you mean some new version of Lean?
he means your next move after unfold
Isn't your theorem false by the way? p and q could both be false right?
Oh got it; and yeah it's quite false, I've changed it to including that case too
it does seem like I am still in a bit of a pickle by the way- I want to use the fact that if one's not true the other must be true; (so I've tried using by_cases), yet my expression is 'not decidable'.. any thoughts?
theorem (p q: Prop) : equivalency p q → ((p ∧ q) ∨ ((¬ p) ∧ (¬ q))) := begin intro eq, unfold equivalency at *, cases eq with pq qp, --by_cases h : p ∧ q, end
I sort of want to just do the casework and/or use a contradiction
Your code doesn't work at all for me. Can you post something which compiles?
Oh -- does the cases
line not work for you either?
def equivalency (p q : Prop) : Prop := (p → q) ∧ (q → p)
Your definition is not what you think it is.
import tactic def equivalency (p q : Prop) : Prop := (p → q) ∧ (q → p) open_locale classical theorem x (p q: Prop) : equivalency p q → ((p ∧ q) ∨ ((¬ p) ∧ (¬ q))) := begin intro eq, unfold equivalency at eq, cases eq, by_cases hp : p; by_cases hq : q, finish, finish, finish, finish, end
I never would have known that I have defined my equivalency poorly; I think it sort of doesn't 'say' anything; but now the by_cases tactic makes much more sense
What does this open_locale classical do? It got rid of many red underlines in my vs code
It means that you can assume that every true/false statement is either true or false. Some tactics like finish
assume this. Some computer scientists don't like assuming this shrug
So it just tells Lean what it can assume for the time being, got it thanks
No, it switches Lean into maths mode.
By maths mode you mean propositions are either true or false.. or is there something more to this?
I mean that you can assume many things such as the law of the excluded middle, decidability of all propositions etc, things which mathematicians assume all the time without ever questioning that it could be any other way, but some computer scientists don't like to assume because they might want their code to be "constructive", which is some technical thing we don't teach in the maths department.
I quite like how it can be constructive, but for the time being I'm guessing typing open_locale classical
should just be a habit then for usual maths. Thanks
In this case you need classical reasoning for x
(equivalency p p
is true, and then you conclude p
or not p
.)
Last updated: Apr 24 2020 at 19:02 UTC


CHAPTER 89C
PUBLIC OFFICERS AND EMPLOYEES EXCLUDED FROM
COLLECTIVE BARGAINING
Section
89C-1 Purpose
89C-1.5 Definitions
89C-2 Adjustments authorized; limitations, restrictions
89C-3 Adjustments for excluded civil service employees
89C-4 Adjustments for excluded employees exempt from civil
service
89C-5 Implementation; approval and appropriations
89C-6 Chapter takes precedence, when
89C-7 Severability
Cross References
Annual report on the number of exempt positions converted to civil service positions, see §26-5(g).


Welcome to the portal, {{authentication.user.firstName}}.
Welcome to the portal.
Please sign in or sign up to access your trip information.
Here you can find information about your upcoming trips and any outstanding bills.
Welcome admin user! As an admin you can create trips for passengers, create invoices and bill your customers.


This renders because the controller does not fail to instantiate, by using explicit annotation style (see script.js for details)
This renders because the controller does not fail to instantiate, by using explicit annotation style (see script.js for details)
The controller could not be instantiated, due to relying on automatic function annotations (which are disabled in strict mode). As such, the content of this section is not interpolated, and there should be an error in your web console.


|
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Functions | |
| def | Mv (nu, X) |
| Matérn kernel. More... | |
| def | Matern_kernel (x, nu=1, rho=1) |
| def | SM_kernel (x, a) |
| Shifted Matern kernel. More... | |
| def | GM_kernel (x, nu, rho, a) |
| Generalized Matern kernel. More... | |
| def | EP_kernel (x, a) |
| Exponential-polynomial kernel. More... | |
| def | vf2tau (vf, sigma=1, strategy=0) |
| Volume fraction to Tau (and vice-versa) More... | |
| def | tau2vf (tau, sigma=1, strategy=0) |
| def | Cov2S2 (tau, g, strategy=0) |
| def | FourierOfGaussian (noise) |
| Fourier Transform of Gaussian Noise. More... | |
| def | compute_Sphericity (V, A) |
| Inclusion geometry. More... | |
| def | Expectation (X) |
| Basic probability tools. More... | |
| def | Variance (X, m=None) |
| def | SpacialCovariance (X) |
| def | compute_ProbaDist (data, bins=None) |
| Compute probability distribution (from data) More... | |
| def | fit_ProbaDist (x, p, type='LogNormal') |
| Fit a probability with LogNormal (or Normal) More... | |
| def | autocorrelation (X) |
| Autocorrelation of an image. More... | |
| def | slope_by_fft (C) |
| def | dens_Exponential (x, lmbda=1) |
| Probability densities. More... | |
| def | dens_Normal (x, m=0, sigma=1) |
| def | dens_LogNormal (x, m=0, sigma=1) |
| def | MC_estimate_Covariance (RandomField, nsamples=100, nbins=None) |
| Estimate covariance using Monte-Carlo. More... | |
| def common.autocorrelation | ( | X | ) |
Autocorrelation of an image.
| def common.compute_ProbaDist | ( | data, | |
bins = None |
|||
| ) |
Compute probability distribution (from data)
| def common.compute_Sphericity | ( | V, | |
| A | |||
| ) |
Inclusion geometry.
| def common.Cov2S2 | ( | tau, | |
| g, | |||
strategy = 0 |
|||
| ) |
| def common.dens_Exponential | ( | x, | |
lmbda = 1 |
|||
| ) |
Probability densities.
| def common.dens_LogNormal | ( | x, | |
m = 0 , |
|||
sigma = 1 |
|||
| ) |
| def common.dens_Normal | ( | x, | |
m = 0 , |
|||
sigma = 1 |
|||
| ) |
| def common.EP_kernel | ( | x, | |
| a | |||
| ) |
Exponential-polynomial kernel.
| def common.Expectation | ( | X | ) |
Basic probability tools.
| def common.fit_ProbaDist | ( | x, | |
| p, | |||
type = 'LogNormal' |
|||
| ) |
Fit a probability with LogNormal (or Normal)
| def common.FourierOfGaussian | ( | noise | ) |
Fourier Transform of Gaussian Noise.
| def common.GM_kernel | ( | x, | |
| nu, | |||
| rho, | |||
| a | |||
| ) |
Generalized Matern kernel.
| def common.Matern_kernel | ( | x, | |
nu = 1 , |
|||
rho = 1 |
|||
| ) |
| def common.MC_estimate_Covariance | ( | RandomField, | |
nsamples = 100 , |
|||
nbins = None |
|||
| ) |
Estimate covariance using Monte-Carlo.
| def common.Mv | ( | nu, | |
| X | |||
| ) |
Matérn kernel.
| def common.slope_by_fft | ( | C | ) |
| def common.SM_kernel | ( | x, | |
| a | |||
| ) |
Shifted Matern kernel.
| def common.SpacialCovariance | ( | X | ) |
| def common.tau2vf | ( | tau, | |
sigma = 1 , |
|||
strategy = 0 |
|||
| ) |
| def common.Variance | ( | X, | |
m = None |
|||
| ) |
| def common.vf2tau | ( | vf, | |
sigma = 1 , |
|||
strategy = 0 |
|||
| ) |
Volume fraction to Tau (and vice-versa)


MORTAL THOUGHTS A film review by Wayne Citrin Copyright 1991 Wayne Citrin
Micro-summary: Alan Rudolph does a murder mystery.
Summary: A young woman (Demi Moore) gets inadvertently involved in a murder committed by her best friend (Glenne Headley). The facts come out at the police interrogation.
I'll just start by saying that Alan Rudolph is one of my favorite filmmakers, and that he's done some of my favorite films (THE MODERNS, and TROUBLE IN MIND). He always tries something unusual, and it's usually interesting. When the film started, though, I was surprised. Where was the surreal or hyperreal story line and physical setting? Where is Rudolph's production company (Geraldine Chaplin, Keith Carradine, Genevieve Bujold)? Something unusual was going on.
As I learned later, this isn't entirely an Alan Rudolph film. Rudolph joined the production a week into the shooting, when the producers (Demi Moore and Taylor Hackford) fired the original director and brought in Rudolph. Rudolph was able to bring long-time collaborator Mark Isham to do the music, but he had no hand in the story. Still, he was able to put his stamp on the film.
Cynthia Kellogg (Demi Moore) and Joyce Urbansky (Glenne Headley) are best friends. Cynthia also works in Joyce's beauty parlor. Joyce is married to James, a dangerous and violent lout (played by Bruce Willis, Moore's real-life husband). Joyce keeps talking about killing James, and, well, one day it happens. Cynthia is there, and she ends up helping her friend conceal the evidence and gets involved more and more deeply. The strain affects both women, and the friendship unravels. Cynthia isn't helped by the fact that her own husband isn't any great shakes (although he's a step above James).
All of this is revealed as flashbacks during Cynthia's interrogation. But the senior detective (Harvey Keitel) has some doubts about Cynthia's story....
The film is nicely paced, and the screenplay gives us good reason to understand why James is killed when it happens. We understand how and why a law-abiding friend can be drawn into a crime, and then find it hard to extricate herself. The friendship between the two women is believable. Their acting is good, as is that of Willis, who makes a convincing and hateful villain. The supporting characters particularly Keitel's detective and Cynthia's husband (John Pankow) are well-drawn and well-acted. The ending is good. (Won't say anything more than that.) This is a superior murder mystery.
 Isham's music contributes to the atmosphere. The main problem is that he's constrained by the realism of the script, which just doesn't allow many of the strange Rudolph touches (like the alternate reality of 'Rain City'/Seattle in TROUBLE IN MIND or the modern-art painted backdrops to many of the scenes in THE MODERNS). This is definitely Bayonne, NJ in the late 1980's, and there's nothing Rudolph can do to change that.
As I said before, this is a superior murder mystery, and it also shows that Rudolph is capable of handling conventional genre filmmaking if he has to. So it's worth seeing in itself. However, there are any number of directors who could have made this film. I'd rather wait for a film that only Alan Rudolph could make.
-- Wayne Citrin<EMAIL_ADDRESS><EMAIL_ADDRESS>.
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


Installation
Include required files
To use the jCarousel component, include the jQuery library and the jCarousel source file into your HTML document:

Note: The minimum required jQuery version is 1.7.
HTML markup
jCarousel expects a very basic HTML markup structure inside your HTML document:

...

...

Note:
The documentation refers to the elements as root element, list element and item element(s):

 <--------------------------------| Root element

 <-------------------------------| List element |

...
 <---| Item element | |

...
 <---| Item element | |

 <------------------------------| |

 <-------------------------------------------------|
This structure is only an example and not required. You could also use a structure like:

 <-------------------------------| Root element

 <------------------------------| List element |

...
 <-----| Item element | |

...
 <-----| Item element | |

 <-----------------------------| |

 <-------------------------------------------------|
The only requirement is, that it consists of a root element, list element and item elements.
Setup
To setup the carousel, call the .jcarousel()
plugin method on the root
element:
$(function() {
$('.jcarousel').jcarousel({
// Configuration goes here
});
});
See Configuration for all available configuration options.
Style the carousel
These are the minimal required CSS settings for a horizontal carousel:
/*
This is the visible area of you carousel.
Set a width here to define how much items are visible.
The width can be either fixed in px or flexible in %.
Position must be relative!
*/
.jcarousel {
position: relative;
overflow: hidden;
}
/*
This is the container of the carousel items.
You must ensure that the position is relative or absolute and
that the width is big enough to contain all items.
*/
.jcarousel ul {
width: 20000em;
position: relative;
/* Optional, required in this case since it's a
 element */
list-style: none;
margin: 0;
padding: 0;
}
/*
These are the item elements. jCarousel works best, if the items
have a fixed width and height (but it's not required).
*/
.jcarousel li {
/* Required only for block elements like
's */
float: left;
}


| Following Count | ||
| Followers Count | ||
| Medias Count | ||
|
|
||
|
|
||
Gender FilterAvailable on Pro version Click to download PRO |
||
Available on Pro version Click to download PRO


Puppet Class: jboss::config
- Defined in:
- manifests/config.pp
Overview
Configures JBoss/WildFly AS.
It is intended to be called by jboss::jboss in order to:
-
set the JBoss directories with correct ownership
-
modify
/etc/sudoers
file so to allow jboss user the right to start and stop jboss instances and soffice.bin services and to query open ports withnetstat
andnmap
-
schedule a jboss user's cron job for zipping and deleting old log files
-
deploy in the
/usr/local/bin
directory a script for restarting jboss instances -
create standard directories for logging and storing application's specific data under
/var/log/jboss/server
and/var/lib/jboss/apps
respectively. -
modify sudoers file as to allow users belonging to the jboss group to start and stop jboss services, start and stop soffice.bin service, make
su jboss
.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'manifests/config.pp', line 21
class jboss::config () {
file {
default:
owner => 'jboss',
group => 'jboss',
;
'/home/jboss/bin/zip-delete-jboss-server-log':
ensure => present,
mode => '0755',
source => "puppet:///modules/${module_name}/bin/zip-delete-jboss-server-log",
;
'/usr/local/bin/manage-jboss-instance':
ensure => present,
mode => '0755',
source => "puppet:///modules/${module_name}/bin/manage-jboss-instance",
;
'/var/lib/jboss':
ensure => directory,
;
'/var/lib/jboss/apps':
ensure => directory,
;
'/var/log/jboss':
ensure => directory,
;
'/var/log/jboss/server':
ensure => directory,
;
}
file_line { 'jboss_sudoer':
path => '/etc/sudoers',
line => '%jboss ALL=/usr/bin/sudo /bin/su jboss, /bin/su jboss, /usr/bin/sudo /bin/su - jboss, /bin/su - jboss, /bin/su -c * jboss, /usr/sbin/service jboss-* *, /usr/sbin/service soffice.bin *, /bin/netstat *, /usr/bin/nmap *, /opt/puppetlabs/bin/puppet agent --enable, /opt/puppetlabs/bin/puppet agent --disable, /opt/puppetlabs/bin/puppet agent --test',
}
cron { 'logzipdelete':
command => 'test -x /home/jboss/bin/zip-delete-jboss-server-log && /home/jboss/bin/zip-delete-jboss-server-log',
user => jboss,
hour => 5,
minute => 0,
}
}
|


To stand out, you need the right strategy, the right creative and the right partner in your corner. Since 2011, we've been the premier digital media partner for both talent and brands, currently serving over 2,500 talent and 400 brand clients.
Youtuber Subscribers
Channels
Monthly Views
Total Content
Minim eiusmod quis dolore cillum et officia dolore id. Tempor do ullamco pariatur amet cillum id ad labore laboris anim incididunt cupidatat. Ex
Minim eiusmod quis dolore cillum et officia dolore id. Tempor do ullamco pariatur amet cillum id ad labore laboris anim incididunt cupidatat. Ex


The F5 iRule Editor is a windows editor for the iRule language.
The F5 iRule Editor is a windows graphical editor for iRules on your BIG-IP. It makes use of F5's iControl interfaces to remotely manage iRules and their deployment on Virtual Servers. The main goal here was to show the power of what you can do with iControl in a very short amount of time.
History
I've been keeping my eye out for a good lexical editor control for a long time and there are plenty on the market but it's been hard to find one with built-in TCL support. I've been a big fan of the Scintilla Control ever since I switched to Notepad2 for my Notepad.exe replacement. I downloaded the latest sources and what do you know, someone has contributed a TCL parser to the codebase.
Now, I didn't have any excuse not to give a few hours to this pet project of mine to see where it would take me. I spent the most part of the first day digging into the scintilla control and it's exposed API set to find out the extent of what it could do. Day 2 was spent on building in the main application logic. And by Day 3 I had a working build of what you see on the main window.
Nothing beats syntax highlighting and auto-complete, but a few things stuck out as missing. An editor is great for creating, editing, and saving iRules, but what about deployment? So, I spent one more day on building an iRule property page that includes the logic to deploy the iRules to virtual servers as well as displaying their statistics. The final missing piece was the GUI to create and manage Data Groups. These are lists of strings, integers, or addresses that can be used in conjuction with our findclass and matchclass methods. Another few hours over the weekend got the final piece in place.
A bit about the Application
Now, that I've got the history out of the way, here's a bit of info on the application and methodology behind it. The majority of the iRule Editor's features are only valid with a partnership with a BIG-IP v9.x system. While you can make use of the syntax highlighting and hotspots without a valid connection, you won't be able to check the syntax or save them.
Enjoy!
File Menu
Connect/Disconnect : Establish a relationship with a BIG-IP. A connection must be established before you can perform any commands. Partition : Get/Set the currently active Administrative Configuration Partition. New : Create a new iRule with the Template wizard. Save : Save the current iRule to the BIG-IP. Delete : Delete the current iRule from the BIG-IP. Archive.Export : Export the iRules to your local computer. Archive.Import : Import the iRules from your local archive folder. Archive.Open Archive Folder : Open the local archive folder for viewing. Exit : Exit the application Edit Menu
Undo : Undo last text editing action. Redo : Redo last Undo action. Cut : Remove the selected text and place it in the clipboard. Copy : Copy the selected text to the clipboard. Paste : Paste the contents of the clipboard into the selection. Delete : Remove the selected text. Select All : Select the entire text contents. Edit Menu
Find : Open the Find dialog. Find Next : Find the next match specified in the Find dialog. Find Previous : Find the previous match specified in the Find dialog. View Menu
Line Numbers : Show or Hide the line numbers margin in the text editor. Indention Guides : Show or hide the visual guides for where indentions (tabs) are placed. Margin : Show or hide the left margin spacer in the text editor. Fold Margin : Show or hide the folding margin in the text editor. This area allows collapsing of sections of code. Word Wrap : Enable or disable the end of line word wrapping in the text editor. Whitespace : Show or hide the visual guides for spaces and tabs in the text editor. End of Line : View the end of line markers Bookmarks : Clear the bookmarks from a syntax check operation. Change Indention Settings : Control tab and indention settings. Auto Complete : Enable or disable the Auto Completion of event declarations. Hotspots : Enable or disable clickable keyword hotspots. Status : Show or hide the status panel. Tools Menu
Data Group Editor : Launch the Data Group Editor Dialog to allow you to create and modify Data Groups. Share your iRule : Why not take some credit for your great work. By sharing your iRule, you will be contributing to the F5 DevCentral user community. Great Karma awaits... Generate Traffic : Open the traffic generation dialog to allow you to send HTTP traffic to your virtual servers. Check for Updates : Contact DevCentral.f5.com for template updates. Config.Reload Config : Reload the lexer configuration file. Config.Reset Config : Reset the lexer configuration file. Config.Edit Config : Edit the lexer configuration file. BIG-IP Config.Save Configuration : Save the BIG-IP's running configuration to disk. BIG-IP Config.Auto Save : Control whether saving objects will auto save to the BIG-IP disk. Help Menu
F5 iRule Editor Help : Open a web browser to this page! DevCentral.f5.com : Open a web browser to the DevCentral Home Page. DevCentral Forums : Open a web browser to the DevCentral Support Forums. iRule Reference : Open a web browser to the iRule Documentation on DevCentral. TCL Reference : Open a web browser to the TCL Reference Manual. Tip Of The Day : Show some useful tips on using the iRule Editor. About F5 iRule Editor : Show the About box.
Properties : Launch the Properties Dialog for the given iRule.
Fields
Hostname : The IP address or DNS hostname of the target BIG-IP. Port : The management port on the BIG-IP. This will always be 443. Endpoint : The iControl endpoint on the BIG-IP. This will always be /iControl/iControlPortal.cgi Username : The BIG-IP username. Password : The BIG-IP password Proxy Hostname : If you are connecting to your BIG-IP through a HTTP proxy, this is the hostname of that proxy. Proxy Port : The port you are connecting to on your optional proxy server. Proxy Username : The optional proxy server username. Proxy Password : The optional proxy server password Buttons
OK : Attempt to establish a connection to the given BIG-IP with the supplied parameters. Cancel : Cancel the connection process.
Fields
Name : Enter the name for your iRule. Tabs
Templates
Available Templates : This list contains user contributed sample templates to help get you started. Custom
Available Events : This list consists of all iRule events. Keep in mind that certain events require specific profiles to be associated with the virtual before you can assign it. Buttons
OK : Attempt to establish a connection to the given BIG-IP with the supplied parameters. Cancel : Cancel the connection process.
Tabs
Membership
Virtual Servers : You can use this section to see a list of virtual servers using and not using this rule. Use the buttons to switch Virtual Servers use of the given iRule. Pools : This list box will contain references to pools from within the give iRule. Refresh : Refresh the dialog with information from the BIG-IP. Statistics
Statistics List : This list will show all events that the iRule contains as well as performance metrics for each event. If you include the "timing on" command you will be able to see CPU cycle statistics as well. Refresh : Refresh the statistics with information from the BIG-IP from the BIG-IP. Reset Statistics : This will perform a reset of all statistics for this iRule. All statistics will be set back to zero. Buttons
OK : Attempt to establish a connection to the given BIG-IP with the supplied parameters. Cancel : Cancel the connection process.
List Boxes
Address : This list contains a list the address Data Groups on the BIG-IP. Integer : This list contains a list of the integer (value) Data Groups on the BIG-IP. String : This list contains a list of the string Data Groups on the BIG-IP. Buttons
Add : This will launch the Data Group Dialog to create a new Data Group of the specified type. Edit : This will launch the Data Group Dialog to edit the existing Data Group of the specified type. Delete : This will delete the specified Data Group from the BIG-IP. Beware - this is not reversible! Refresh : Refresh the Data Group lists from the BIG-IP. OK : Attempt to establish a connection to the given BIG-IP with the supplied parameters. Cancel : Cancel the connection process.
Fields
Name : The name of the Data Group. This field is read-only in edit mode. Value : Depending on the type of Data Group, this will either be a address/netmask, integer, or string field. Data Group Members : This list contains the current members of the given Data Group. Buttons
Add : This will add the current value into the Data Group Members list box. Edit : This will remove the selected value from the Data Group Members list box and place it in the value edit field. Delete : This will remove the selected value from the Data Group Members list box. Create/Update : This button will either create the new Data Group or update the changes made to an existing one. Cancel : Cancel the connection process.
Fields
iRule Name : This is the name for your iRule. Make it something descriptive. Author Name : Give yourself some credit for your awesome work! Description : A brief summary of what your iRule does. iRule : The contents of the iRule for submission. This field is read-only. I Accept the Terms and Conditions : To help protect everyone, please accept the terms and conditions for sharing your iRule. Buttons
Share : This button will submit your iRule to DevCentral to share with the other DevCentral users. Cancel : Exit the Share Dialog without sharing your iRule.
<IP_ADDRESS> - 2016/03/16
- ENH: Added doubleclick for most listboxes so you don't have to select item and then open what would be the default action (generally Edit).
<IP_ADDRESS> - 2011/11/02
- ENH: Edit Group Dialog now uses a resizable ListView and supports resizing.
- FIX: Fixed support for data group values for string classes that was broken in the last build.
<IP_ADDRESS> - 2011/10/19
- ENH: Updated to the v<IP_ADDRESS> iControl.dll
- ENH: Support for Manager Role administration.
- ENH: Support for v10+ format name/value pair data groups.
- ENH: Support for iRule description metadata.
- ENH: Data Groups dialog now supports resizing.
- ENH: Support for "[All]" partition for admins.
- ENH: Partition auto-selection based on permissions.
d- FIX: Export/Import support for v11 folder formats.
- FIX: Fixed applying iRules with like priorities.
- FIX: Fixed authoriziation on partition selection.
<IP_ADDRESS> - 2010/01/11
- ENH: System level config editing (bigip.conf and bigip_base.conf).
- ENH: Offline Editing now supported with the Offline tree node.
- ENH: Autologin with the /h (host), /u (user), and /p (pass) command line arguments.
- FIX: Data Groups dialog scroll bar support for long data group items.
<IP_ADDRESS> - 2009/08/03
- FIX: Clicking on hyperlinks would crash on some windows systems.
- ENH: irule property VS assignment not saved to BIG-IP disk with OK click.
- FIX: Auto-save flag to disable auto-config saving of configuration for non-priviledged users.
- ENH: New "BIG-IP Config" tool menu to control auto-save flag and issue manual config saves.
- ENH: HTTP Proxy support for iControl connections through a proxy server.
- ENH: New transparent iRulerUpdater.exe process to manage software updates.
- ENH: New GTM tokens added to iRuler.xml lexer configuration file.
<IP_ADDRESS> - 2007/11/15
- FIX: Fixed the File.Archive.Open Archive Folder command.
<IP_ADDRESS> - 2007/11/12
- ENH: Add support for iRules names starting with underscores.
- ENH: Add Enhanced CPU Statistics Reporting.
- FIX: Corrected SIP events.
<IP_ADDRESS> - 2007/09/05
- ENH: Auto Indenting/Indention Settings
<IP_ADDRESS> - 2007/08/31
- ENH: Support for Administrative Partitions.
- FIX: Disable creation of duplication named iRules.
- FIX: Added character validation in the iRule Name.
- FIX: Fixed String Data Group's support of slash characters.
- FIX: Add Horizontal Scrollbars to iRule Property dialog listboxes.
<IP_ADDRESS> - 2006/12/07
- Fixed issue with editor not being visible after shutting down when minimized.
- Long awaited GTM support.
- Regenerated ClickOnce certificate to hopefully avoid install issues on certain machines.
<IP_ADDRESS> - 2006/07/27
- Rules are now correctly sorted in list.
- Added new Local Traffic node to rules in preparation for GTM support.
- Added History to connection dialog.
- Fixed syntax errors on wrong rule when save all selected.
- Fixed minPanelSize exception.
- Added HTTP Header support for the Data Generation utility.
- Fixed save_configuration() error for v9.1.2 systems.
<IP_ADDRESS> - 2006/06/14
- Cleared status window on successful save operation.
- Fixed GET requests in the Traffic Generation Dialog.
- Added support to disable splash screen (ShowSplashScreen reg key).
<IP_ADDRESS> - 2006/06/07
- Fixed launched browsers to use default browser.
- Updated to latest scintilla sources to fix string allocation error..
- Optimized modification handling to increase performance.
<IP_ADDRESS> - 2006/05/16
- Randomized tips of the day.
- Added CIDR shortcut format support to the Address Data Group Dialog.
- Fixed crash when modifying an existing Address Data Group.
<IP_ADDRESS> - 2006/05/09
- Added Search/Find commands.
- Added Tools.Reset config menu item to reset the color highlighting configuration.
- Implemented Import functionality.
- Fixed buffer allocation error when refreshing list.
- Fixed Save All overwrite of all iRules with contents of text window.
<IP_ADDRESS> - 2006/05/08
- Added Export functionality.
- You can now drag and drop your iRules.
- Created mini toolbar for the iRules pane.
<IP_ADDRESS> - 2006/05/04
- Added "Share" functionality.
- After configuration updates, saved configuration to bigip.conf.
- Added bookmarks for syntax checks.
<IP_ADDRESS> - 2006/05/03
- Added Splash Screen.
- Removed link panel and replaced it with a toolbar.
- Implemented auto-complete for all keywords.
- Fixed Auto-Complete.
<IP_ADDRESS> - 2006/05/01
- Added Data Group Management
- Changed the startup template auto-upate procedure to only contact DevCentral once per day.
- Added iRule Properties Virtual Server Management
<IP_ADDRESS> - 2006/04/24
- Initial Beta Release
Copyright (c) 1996-2011, F5 Networks, Inc., Seattle, Washington. All rights reserved.
F5, F5 Networks, the F5 logo, BIG-IP, 3-DNS, iControl, GLOBAL-SITE, SEE-IT, EDGE-FX, FireGuard, Internet Control Architecture, IP Application Switch, iRules, PACKET VELOCITY, SYN Check, CONTROL YOUR WORLD, OneConnect, ZoneRunner, uRoam, FirePass, and TrafficShield are registered trademarks or trademarks of F5 Networks, Inc., in the U.S. and certain other countries.
All other trademarks mentioned in this document are the property of their respective owners. F5 Networks' trademarks may not be used in connection with any product or service except as permitted in writing by F5.
Portions of this application make use of the scintilla text editor control (http://www.scintilla.org) which is Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>.


Digital Fridays
Archive
2013
April
April 26, 2013
»
Using Sinatra with ActiveRecord for Competition Facebook Apps
April 25, 2013
»
Create your own blog using Jekyll


Coal Documentation
Coal is a command-line interface (CLI) to speed up your ability to create static HTML
websites
without having to setup dependencies or install other libraries.
Just install Coal once on your machine, and get building!
Coal is a command-line interface (CLI) to speed up your ability to create static HTML
websites
without having to setup dependencies or install other libraries.
Just install Coal once on your machine, and get building!


The BioSamples database aggregates sample information for reference samples (e.g. Coriell Cell lines) and samples for which data exist in one of the EBI's assay databases such as ArrayExpress, the European Nucleotide Archive or PRIDE. It provides links to assays an specific samples, and accepts direct submissions of sample information.


Back
Sounds
CreateAudioRecorder
CreateMediaPlayer
CreateSynth
GetRingerMode
SetRingerMode
GetSpeakerPhone
SetSpeakerPhone
GetVolume
SetVolume
PlayRingtone
PlaySound
TextToSpeech
Vibrate


The Data News Network
Home
News
Agencies
Technology
Resources
Blog
Data News
All
Climate
Environment
Surveillance
More
Archaeology
Artificial Intellgence
Bias
Defense
Facial Recognition
Open Source
Patents
Request for Proposal
Slave Trade
Temperature
Universities
The Uspto Patent Litigation Dataset Open Source Extensive Docket And Patent Number Data
Feb 05, 21
Michigan State University Launches Online Database Chronicling Northatlantic Slave Trade
Feb 05, 21
JAIC Posts Draft RFP for AI Dataset Support Services
Feb 05, 21
Enhancing Key Climate Datasets And What It Tells Us About Temperature Targets
Feb 05, 21
Dirty by Nature Data Sets - Facial Recognition Technology Raises Concerns
Feb 05, 21
Archaeology Is Going Digital To Harness The Power Of Big Data
Feb 05, 21


Sitemap Generator
URL
Modified date
None
Server response date
Change frequency
None
Always
Hourly
Daily
Weekly
Monthly
Yearly
Never
Default priority
None
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
XML Sitemap: