report - Create and manipulate report objects
This package provides report objects which can be used by the formatting methods of matrix objects to generate tabular reports of the matrix in various forms. The report objects defined here break each report down into three REGIONS and ten classes of lines (various separator- and data-lines). See the following section for more detailed explanations.
Creates a new report object for a report having columns columns with an associated global Tcl command whose name is reportName. This command may be used to invoke various configuration operations on the report. It has the following general form:
Option and the args determine the exact behavior of the command. See section REPORT METHODS for more explanations. If no style is specified the report will use the builtin style plain as its default configuration.
Defines the new style styleName. See section STYLES for more information.
Deletes the style styleName. Trying to delete an unknown or builtin style will result in an error. Beware, this command will not check that there are no other styles depending on the deleted one. Deleting a style which is still used by another style FOO will result in a runtime error when FOO is applied to a newly instantiated report.
This introspection command returns the list of arguments associated with the style styleName.
This introspection command returns the script associated with the style styleName.
This introspection command returns a list containing the names of all styles known to the package at the time of the call. The order of the names in the list reflects the order in which the styles were created. In other words, the first item is the predefined style plain, followed by the first style defined by the user, and so on.
The three regions are the top caption, data area and bottom caption. These are, roughly speaking, the title, the values to report and a title at the bottom. The size of the caption regions can be specified by the user as the number of rows they occupy in the matrix to format. The size of the data area is specified implicitly.
TEMPLATES are associated with each of the ten line classes, defining the formatting for this kind of line. The user is able to enable and disable the separator lines at will, but not the data lines. Their usage is solely determined by the number of rows contained in the three regions. Data lines and all enabled separators must have a template associated with them.
Note that the data-lines in a report and the rows in the matrix the report was generated from are not in a 1:1 relationship if any row in the matrix has a height greater than one.
The different kinds of lines and the codes used by the report methods to address them are:
The topmost line of a report. Separates the report from anything which came before it. The user can enable the usage of this line at will.
This line is used to separate the data rows in the top caption region, if it contains more than one row and the user enabled its usage.
This line is used to separate the top caption and data regions, if the top caption is not empty and the user enabled its usage.
This line is used to separate the data rows in the data region, if it contains more than one row and the user enabled its usage.
This line is used to separate the data and bottom caption regions, if the bottom caption is not empty and the user enabled its usage.
This line is used to separate the data rows in the bottom caption region, if it contains more than one row and the user enabled its usage.
The bottommost line of a report. Separates the report from anything which comes after it. The user can enable the usage of this line at will.
This line defines the format of data lines in the top caption region of the report.
This line defines the format of data lines in the data region of the report.
This line defines the format of data lines in the bottom caption region of the report.
Each template is a list of strings used to format the line it is associated with. For a report containing n columns a template for a data line has to contain "n+1" items and a template for a separator line "2*n+1" items.
The items in a data template specify the strings used to separate the column information. Together with the corresponding items in the separator templates they form the vertical lines in the report.
Note that the corresponding items in all defined templates have to be of equal length. This will be checked by the report object. The first item defines the leftmost vertical line and the last item defines the rightmost vertical line. The item at index k ("1",...,"n-2") separates the information in the columns "k-1" and "k".
The items in a separator template having an even-numbered index ("0","2",...) specify the column separators. The item at index "2*k" ("0","2",...,"2*n") corresponds to the items at index "k" in the data templates.
The items in a separator template having an odd-numbered index ("1","3",...) specify the strings used to form the horizontal lines in the separator lines. The item at index "2*k+1" ("1","3",...,"2*n+1") corresponds to column "k". When generating the horizontal lines the items are replicated to be at least as long as the size of their column and then cut to the exact size.
Styles are a way for the user of this package to define common configurations for report objects and then use them later during the actual instantiation of report objects. They are defined as tcl scripts which when executed configure the report object into the requested configuration.
The command to define styles is ::report::defstyle. Its last argument is the tcl script performing the actual reconfiguration of the report object to obtain the requested style.
In this script the names of all previously defined styles are available as commands, as are all commands found in a safe interpreter and the configuration methods of report objects. The latter implicitly operate on the object currently executing the style script. The arguments declared here are available in the script as variables. When calling the command of a previously declared style all the arguments expected by it have to be defined in the call.
The following commands are possible for report objects:
Destroys the report, including its storage space and associated command.
Enables or disables the usage of the template addressed by the templatecode. Only the codes for separator lines are allowed here. It is not possible to enable or disable data lines.
Enabling a template causes the report to check all used templates for inconsistencies in the definition of the vertical lines (See section TEMPLATES).
Returns the whether the template addressed by the templatecode is currently enabled or not.
Returns the template currently associated with the kind of line addressed by the templatecode. All known templatecodes are allowed here.
Sets the template associated with the kind of line addressed by the templatecode to the new value in templatedata. See section TEMPLATES for constraints on the length of templates.
Specifies the size of the top caption region as the number rows it occupies in the matrix to be formatted. Only numbers greater than or equal to zero are allowed. If no size is specified the command will return the current size instead.
Setting the size of the top caption to a value greater than zero enables the corresponding data template and causes the report to check all used templates for inconsistencies in the definition of the vertical lines (See section TEMPLATES).
Specifies the size of the bottom caption region as the number rows it occupies in the matrix to be formatted. Only numbers greater than or equal to zero are allowed. If no size is specified the command will return the current size instead.
Setting the size of the bottom caption to a value greater than zero enables the corresponding data template and causes the report to check all used templates for inconsistencies in the definition of the vertical lines (See section TEMPLATES).
Specifies the size of the column in the output. The value dyn means that the columnwidth returned by the matrix to be formatted for the specified column shall be used. The formatting of the column is dynamic. If a fixed number is used instead of dyn it means that the column has a width of that many characters (padding excluded). Only numbers greater than zero are allowed here.
If no size specification is given the command will return the current size of the column instead.
This method allows the user to specify the sizes of all columns in one call. Its argument is a list containing the sizes to associate with the columns. The first item is associated with column 0, the next with column 1, and so on.
If no size-list is specified the command will return a list containing the currently set sizes instead.
This method allows the user to specify padding on the left, right or both sides of a column. If the padstring is not specified it defaults to a single space character. Note: An alternative way of specifying the padding is to use vertical separator strings longer than one character in the templates (See section TEMPLATES).
If no pad specification is given at all the command will return the current state of padding for the column instead. This will be a list containing two elements, the first element the left padding, the second describing the right padding.
Declares how the cell values for a column are filled into the report given the specified size of a column in the report.
For left and right justification a cell value shorter than the width of the column is bound with its named edge to the same edge of the column. The other side is filled with spaces. In the case of center the spaces are placed to both sides of the value and the left number of spaces is at most one higher than the right number of spaces.
For a value longer than the width of the column the value is cut at the named edge. This means for left justification that the tail (i.e. the right part) of the value is made visible in the output. For center the value is cut at both sides to fit into the column and the number of characters cut at the left side of the value is at most one less than the number of characters cut from the right side.
If no justification was specified the command will return the current justification for the column instead.
Formats the matrix according to the configuration of the report and returns the resulting string. The matrix has to have the same number of columns as the report. The matrix also has to have enough rows so that the top and bottom caption regions do not overlap. The data region is allowed to be empty.
Formats the matrix according to the configuration of the report and writes the result into the channel chan. The matrix has to have the same number of columns as the report. The matrix also has to have enough rows so that the top and bottom caption regions do not overlap. The data region is allowed to be empty.
Returns the number of columns in the report.
The methods size, pad and justify all take a column index as their first argument. This index is allowed to use all the forms of an index as accepted by the lindex command. The allowed range for indices is "0,...,[reportName columns]-1".
Our examples define some generally useful report styles.
A simple table with lines surrounding all information and vertical separators, but without internal horizontal separators.
::report::defstyle simpletable {} { data set [split "[string repeat "| " [columns]]|"] top set [split "[string repeat "+ - " [columns]]+"] bottom set [top get] top enable bottom enable }
An extension of a simpletable, see above, with a title area.
::report::defstyle captionedtable {{n 1}} { simpletable topdata set [data get] topcapsep set [top get] topcapsep enable tcaption $n }
Given the definitions above now an example which actually formats a matrix into a tabular report. It assumes that the matrix actually contains useful data.
% ::struct::matrix m % # ... fill m with data, assume 5 columns % ::report::report r 5 style captionedtable 1 % r printmatrix m +---+-------------------+-------+-------+--------+ |000|VERSIONS: |2:8.4a3|1:8.4a3|1:8.4a3%| +---+-------------------+-------+-------+--------+ |001|CATCH return ok |7 |13 |53.85 | |002|CATCH return error |68 |91 |74.73 | |003|CATCH no catch used|7 |14 |50.00 | |004|IF if true numeric |12 |33 |36.36 | |005|IF elseif |15 |47 |31.91 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % m format 2string r
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category report of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
Data structures
Copyright © 2002-2014,2022 Andreas Kupries <andreas.kupries@gmail.com>


Reviewed by Lars Lindahl<EMAIL_ADDRESS>"Boys and Girls" (2000)
Directed by Robert Iscove Written by The Drews Starring Freddie Prinze Jr., Claire Forlani, Jason Biggs, Amanda Detmer, and Heather Donahue
When it comes to the average teenage romantic comedy, I expect negative reviews from critics left and right. Predictable, unoriginal, and forgettable will most likely be the three adjectives to haunt the Down to You's and the Drive Me Crazy's released by the dozens these last couple of years. What I really look for in this kind of movie is the entertainment value while I'm sitting in the theater. Am I enjoying myself? Is this a comfortable break from my week of finals? This is why I have given films like Final Destination or Road Trip high marks; I had a party of a time wasting my money on something I won't remember next week.
So last week I opened up the New York Times - and, no surprise, Boys and Girls got a negative review. Daily News? Negative. Reelviews? Negative. Epinions.com? Negative. This was nothing new. American Pie, Final Destination, Road Trip didn't get such hot reviews and I loved those guilty pleasures. Same goes for She's All That, a formulaic but enjoyable Pygmalion adaptation that got unjustly pounded. Since Boys and Girls reunites She's All That director Robert Iscove and actor Freddie Prinze Jr., I predicted déjà vu al over again. But, still curious, I asked around my school and from the one or two people who had seen it, the reactions were far from positive. I had made up my mind; I'll catch it on video or cable in a couple of years. But, soon after, following a series of unexpected events (we couldn't get into Shaft because it is rated R), I found myself watching Boys and Girls. Whoops.
Boys and Girls is about a "nerdy, smart" boy named Ryan (Prinze Jr.) and a "popular, flirt" girl named Jennifer (Claire Forlani). Briefly meeting as pre-teens and now attending the same college, the two bump into each other so many times that eventually they become best friends. But in the movies, a male and a female cannot be friends without having that nagging feeling of attraction for each other. With advice from their roommates (Amanda Detmer, Jason Biggs), Ryan and Jennifer attempt to discover the true meaning of their relationship.
The film definitely lives up to the dreaded three adjectives - and mindless entertainment is nowhere to be found. I could hardly sit through the 93 minute running time for several reasons. The dialogue is probably the worst I have ever seen in any movie, mainly because the whole movie depends on the boring script and the ridiculous words these characters use is what Hollywood thinks kids can relate to. It is almost offensive. An example of an insightful conversation:
"You're dumb. Dumb, dumb, dumb, dumb." "No." (followed by a Mandy Moore-esque tune background)
(Well it's not as bad as Wing Commander I guess)
The supporting cast is also painfully useless. Detmer and Biggs stand in the way for anything interesting to happen with their own boring, pointless subplots. And although this is supposed to be from both perspectives of the human sex, Prinze Jr's Ryan dominates the screen while Forlani's Jennifer simply acts as a dilemma for him to work with. We never learn anything about Jennifer which is a shame too because Forlani is the only actor to bring any life into her character. Teenager or not: you'll hate this movie, I guarantee it. Maybe I should rent She's All That again. Is it really as good as I think it is?
Grade: D-
Lars Attacks! A teenager attacks past and present cinema http://www.geocities.com/larsattacks00/
<EMAIL_ADDRESS>(c) 2000 Lars Lindahl
Do You Yahoo!? Get Yahoo! Mail - Free email you can access from anywhere! http://mail.yahoo.com/
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


To keep connected with us
Please login with your personal info
or use your e-mail for registration:
Enter your personal details
and start your journey with us


{% extends "base.html" %} {% block title %} Human-Dog {% endblock %} {% block content %}
Selfies
your pet
Celebrity
Note:
The A.I. accepts a single to multiple images. Of course, TOO many inputs will slow down its process significantly.
{% with messages = get_flashed_messages() %} {% if messages %}


(#) Reference to an unknown id !!! ERROR: Reference to an unknown id This is an error, and is also enforced at build time when supported by the build system. For Android this means it will run during release builds. Id : `UnknownId` Summary : Reference to an unknown id Severity : Fatal Category : Correctness Platform : Android Vendor : Android Open Source Project Feedback : https://issuetracker.google.com/issues/new?component=192708 Affects : Resource files Editing : This check runs on the fly in the IDE editor Implementation : [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/WrongIdDetector.java) Tests : [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/WrongIdDetectorTest.kt) Copyright Year : 2011 The `@+id/` syntax refers to an existing id, or creates a new one if it has not already been defined elsewhere. However, this means that if you have a typo in your reference, or if the referred view no longer exists, you do not get a warning since the id will be created on demand. This check catches errors where you have renamed an id without updating all of the references to it. (##) Example Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text res/layout/layout1.xml:14:Error: The id "button5" is not defined anywhere. Did you mean one of {button1, button2, button3, button4} ? [UnknownId] android:layout_alignBottom="@+id/button5" ----------------------------------------- res/layout/layout1.xml:17:Error: The id "my_id3" is not defined anywhere. Did you mean one of {my_id0, my_id1, my_id2} ? [UnknownId] android:layout_alignRight="@+id/my_id3" --------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: `res/layout/layout1.xml`: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- my_id1 is defined in ids.xml, my_id2 is defined in main2, my_id3 does not exist --> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/button5" android:layout_alignLeft="@+id/my_id2" android:layout_alignParentTop="true" android:layout_alignRight="@+id/my_id3" android:layout_alignTop="@id/my_id1" android:text="Button" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/button1" android:text="Button" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/button2" android:text="Button" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/button3" android:text="Button" /> </RelativeLayout> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can also visit the [source code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/WrongIdDetectorTest.kt) for the unit tests for this check to see additional scenarios. The above example was automatically extracted from the first unit test found for this lint check, `WrongIdDetector.testBasic`. To report a problem with this extracted sample, visit https://issuetracker.google.com/issues/new?component=192708. (##) Suppressing You can suppress false positives using one of the following mechanisms: * Using a special `lint.xml` file in the source tree which turns off the check in that folder and any sub folder. A simple file might look like this: ```xml <?xml version="1.0" encoding="UTF-8"?> <lint> <issue id="UnknownId" severity="ignore" /> </lint> ``` Instead of `ignore` you can also change the severity here, for example from `error` to `warning`. You can find additional documentation on how to filter issues by path, regular expression and so on [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). * In Gradle projects, using the DSL syntax to configure lint. For example, you can use something like ```gradle lintOptions { disable 'UnknownId' } ``` In Android projects this should be nested inside an `android { }` block. * For manual invocations of `lint`, using the `--ignore` flag: ``` $ lint --ignore UnknownId ...` ``` * Last, but not least, using baselines, as discussed [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html).


My name is Philani Dlamini, This is my online portfolio.I'm a Statistics graduate and a Data science recruit.Here you will find my ever growing portfolio,feel free to look around!


UNDERCOVER MAN, THE (director: Joseph H. Lewis; screenwriters: from an article by Frank Wilson "The Undercoverman, He Trapped Capone/Jack Rubin/Sydney Boehm; cinematographer: Burnett Guffey; editor: Al Clark; cast: Glenn Ford (Frank Warren), Nina Foch (Judith Warren), James Whitmore (George Pappas), Barry Kelley (Edward O'Rourke), David Wolfe (Stanley Weinburg), Frank Tweddell (Inspector Herzog), Howard St. John (Joseph S. Horan), John F. Hamilton (Sgt. Shannon), Anthony Caruso (Salvatore Rocco), Robert Osterloh (Manny Zanger), Kay Medford (Gladys), Leonard Penn (Sidney Gordon), Patricia White (Mrs. Gordon), Joan Lazer (Rosa Rocco), Esther Minciotti (Mrs. Rocco), Angela Clarke (Grandmother Rocco), Everett Glass (Judge Parker); Runtime: 85; Columbia; 1949)
Reviewed by Dennis Schwartz
A very solid crime thriller shot in semi-documentary style. Its story is of the formulaic kind, but because it was so smoothly executed and the pace was so fluid the episodic saga had a natural flow to it. Under the very able direction of Joseph H. Lewis, the action scenes are brought about with the tension always building. Its story is about a team of Federal Treasury agents in Chi town going after the Big Fellow, who is undoubtably supposed to be a clone of Al Capone.
One honest top brass policeman says: The guy kills hundreds of people every year and we can't convict him, but three bookkeepers go after him on income tax evasion and expect to nail him for that. Because of the film's dark mood it sets and that the killers can't be linked with their violent crimes, the film has the feel of noir.
The team of undercover Special Agents working for the Internal Revenue Service are headed by veteran Frank Warren (Glenn Ford), who feels guilty that he's away long stretches from his loving farm girl wife, Judith (Foch), and he tries to see her as much as he can between undercover assignments. The other two team members are equally as dedicated: there's the bachelor George Pappas (Whitmore), who craves the action and the dedicated family man, Stan Weinburg (Wolfe), who does the tedious tasks required to nab the criminals.
The film opens as a mob bookkeeper named Zanger (Osterloh), plans on testifying against the syndicate because of the hefty reward promised. But he's rubbed out before he can give them useful information.
After much leg work and little to show for their effort the agents continue to harass the crime bosses, but the gangsters are quickly released as the syndicate's shyster lawyer O'Rourke (Kelley) springs them as soon as they're booked.
Their big break comes when a disgruntled bookkeeper, Salvatore Rocco (Caruso), willing to take the risk in order to live comfortably with his mistress, agrees to testify. But he's gunned down in broad daylight on a busy street as his daughter Rosa (Lazer) watches.
Warning: spoiler to follow.
But the agents get the signatures of all those doing the books for the syndicate when they had them arrested, as they compare their signatures with those on the dummy accounts opened to avoid paying taxes. With that evidence, they arrest the Mob's chief bookkeeper, Sidney Gordon (Penn-he's the father of Sean and Christopher Penn). He agrees to testify for immunity and protection, and Rosa brings the agents the book her father kept hidden that will help convict the Big Fellow on tax evasion. Which leads to the exciting climax, where O'Rourke tries to sell his old pals in the syndicate out to avoid jail time. They pay him back by bumping him off, but not before he warns the agents that the jury has been tampered with. As a result, with a new jury the Big Fellow is brought to trial and put away for twenty years.
REVIEWED ON 8/27/2001 GRADE: B
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
========== X-RAMR-ID: 29346 X-Language: en X-RT-SourceID: 873 X-RT-AuthorID: 1315 X-RT-RatingText: B
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


The code can support an unlimited number of scroll areas. Each scroll area needs unique id's attached to its nested divs. See more information online. Content repeated for your scrolling pleasure ;) The code can support an unlimited number of scroll areas. Each scroll area needs unique id's attached to its nested divs. See more information online. |
The code can support an unlimited number of scroll areas. Each scroll area needs unique id's attached to its nested divs. See more information online. Content repeated for your scrolling pleasure ;) The code can support an unlimited number of scroll areas. Each scroll area needs unique id's attached to its nested divs. See more information online. |
Code comments included in this document as well as its associated style sheet will assist you in setting up the code. Please also refer to online documentation as needed.
This demo uses tables for layout. See other demos for other layout and style options.
Back to index for more demo's and information.


--- layout: page title: About header-img: "img/about-bg.png" ---
This page is dedicated to accounting my journey from noob programmer to CEO of my own game development company. Wish me luck ladies and gents


- Select the Code, Exchange Correlation, Element and Structure of Interest from the provided drop down menus
- Hover over elements in red in the periodic table to view the Volume per atom (A^3), Bulk Modulus (GPa) and its pressure derivative estimated at an infinite k-points density by the Pade extrapolation
- Select the property of interest
- Choose x- and y- values
- Click on Crossfilter and Plot to plot your selection of data
- Click on PadeAnalysis to visualize the performance of Pade extrapolation on selected data


It is funny how I keep saying that specter is un-opinionated when quite clearly I have forced my own opinions about what a blogging platform should be on specter. Take for instace the issue of tagging. I decided that tags are an overkill for a blog and omitted them from specter all together. My reasoning was two fold :
Tag abuse is a common problem in blogs. Often I see that a blog post is categorized into lots of different tags which is sometimes confusing. I don't blame the authors at all. Categorization is a tough task. Jeff Atwood expresses the same sentiment
Categorization is an expert activity
If left to their own devices, your users aren't likely to do any better than Gomer Pyle-- unless they happen to be experts in library science and information mapping. Categorization is extraordinarily difficult to do correctly unless you're an expert in the field. And even then, there is disagreement.
I was drunk on the power of elastic search. If you have used elastic search at all then you will know what I mean. Having the power of full text search at your disposal things like tagging start to look trivial. If you need to find something just use search... or so I thought.
Fellow blogger and git-hubber, William Chambers, brought me back to my senses. His comments on an article that I wrote
In principle I agree on your decision not to have tags, but in reality that could turn into a mess. If for example I want to do a search for all your game reviews, I'd have to either hope you typed "Game Review" somewhere in the article or search for "Game" and deal with cruft from other meanings.Anything larger than a single-topic blog would probably need something more advanced
forced me to reconsider my stance on tags. I soon realized my folly. While elastic search is pretty good at searching text I can not expect it to give me contextual results. For instance the term game might be used for
While we as humans can make out the meaning of the word game from the context it has been used it. Elastic search can not. Thus the search for game would return everything that has the word game in it. Which might not be what the user actually wanted.
Hence I decided to add tags to specter and after some slight changes to the editor and the underlying code it is now possible to tag your posts.
This process is straight forward. In the preview pane of your editor just type the tags the you want for your post. If you want to delete tags just press backspace or hit the x button on top of the tag. That's it. Clicking on a tag in the post will take you to a list of posts in that category. Just as you would expect. I hope you guys find this feature useful.
A big thanks to xoxco for creating the awesome tags-input plugin.


Pepsi IPL 2013
*Winner: Mumbai Indians
*Team Squad: (Captain - Ricky Ponting)
(Click the above pic for viewing the scorecard of the IPL Final 2013)
Ricky Ponting, Rohit Sharma, Sachin Tendulkar, Suryakumar Yadav, Abu Nechim, Aditya Tare, Aiden Blizzard, Ambati Rayudu, Amitoze Singh, Dwayne Smith, Dhawal Kulkarni, Dinesh Karthik,
Harbhajan Singh, Jalaj Saxena, James Franklin, Kieron Pollard, Rishi Dhawan, Lasith Malinga, Mitchell Johnson, Munaf Patel, Pawan Suyal, Pragyan Ojha, Sushant Marathe, Yuzvendra Chahal,
Phillip Hughes, Glenn Maxwell, Jacob Oram, Nathan Coulter-Nile, Axar Patel, Javed Khan, Jasprit Bumrah
*Runner ups: Chennai Super Kings
*Team Squad: (Captain - MS Dhoni)
MS Dhoni, Albie Morkel, Ben Hilfenhaus, Dwayne Bravo, Faf du Plessis, Michael Hussey, Murali Vijay, Nuwan Kulasekara, Ravichandran Ashwin, Ravindra Jadeja, Shadab Jakati, Srikkanth Anirudha,
S Badrinath, Suresh Raina, Wriddhiman Saha, Baba Aparajith, Vijay Shankar, Akila Dananjaya, Chris Morris, Jason Holder, Ben Laughlin, Dirk Nannes, Ronit More, Mohit Sharma, Imtiaz Ahmed,
Ankit Rajpoot, R Karthikeyan
*Orange Cap Winner: Michael Hussey(AUS) : 16 Matches 733 Runs - Chennai Super Kings
*Purple Cap Winner: Dwayne Bravo(WI) : 18 Matches 32 Wickets - Chennai Super Kings
*Player of the Series: Shane Watson - Mumbai Indians


{% include head.html %}
The Chennai Astronomy Club was started in November 2013 by a group of like minded individuals committed to the cause of promoting astronomy in Chennai. Our activities include star parties where astronomers head to dark locations outside the city limits to observe the skies with their equipment. We also conduct regular meetings, hangouts and outreach programs for schools, organisations and the less priviledged.
Please check the frequently asked questions for details on joining the club, participating in our events, etc.
Please check our forums for the latest events.


Baie des Chaleurs Marathon
Charlo NB/CAN
Website: marathonbdc.com
Race Winners
(25 runnings)
03
Jun
2007
04
Jun
2006
05
Jun
2005
06
Jun
2004
01
Jun
2003
02
Jun
2002
03
Jun
2001
04
Jun
2000
1999
---
---
1998
---
---
1997
---
---
1996
---
---
1995
---
---
1994
---
---
1993
---
---
Notes: 1993 is believed to have been the inaugural year. Times for 2016
and 2017 are probably net times.
04
Jun 2017
3:09:32
Jean Audet (CAN)
3:10:02
Danielle Pedneault (CAN)
05 Jun
2016
2:44:55.1
Thomas Lessard (CAN)
3:26:04.7
Genevieve Marchand (CAN)
07 Jun
2015
3:04:11.3
Jean Audet-2
3:06:38.1
Isabelle Turbide (CAN)
01 Jun
2014
3:05:59.4
Jean Audet (CAN)
3:32:42.1
Shawna Grant (CAN)
02
Jun 2013
3:11:24
Dominic Carrier-5
3:54:51
Magalie Bellefeuille (CAN)
03 Jun
2012
3:16:37
Dominic Carrier-4
3:52:22
Nathalie Carrier (PQ/CAN)
05 Jun
2011
3:14:17
Dominic Carrier-3
3:45:14
Kimberley
Bailey-3
06 Jun
2010
3:06:17.0
Dominic Carrier-2
3:43:31.3
Patti Denesha (NY/USA)
08 Jun
2009
2:48:33
Alex Coffin (NB/CAN)
3:15:53
Rebecca Walker (PE/CAN)
01 Jun
2008
3:10:42
John Culligan (NB/CAN)
3:44:43
Kimberley
Bailey-2
3:02:16
Dany Galaneau (PQ/CAN)
3:42:55
Kimberley Bailey (PE/CAN)
3:02:59
Bruce Guitard (CAN)
3:38:27
Lise Drolet-2
3:14:55
Dominic Carrier (PQ/CAN)
3:38:56
Lise Drolet (PQ/CAN)
3:11:58
Alain Caron (NB/CAN)
3:41:32
Diane Bussiere (PQ/CAN)
2:58:28
Murry Simpson (NB/CAN)
3:53:26
Dolores Berube (NB/CAN)
2:38:48
Victor Hickey (CAN)
3:21:58
Sylvie Boisvert (PQ/CAN)
2:52:22.6
Shawn McCardle (PE/CAN)
3:08:41.7
Danny Lagace (NB/CAN)
2:46:13
Camilien Boudreau (PQ/CAN)
3:32:42
Patricia Clarke (NY/USA)
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
Most Wins
(1993-date)
Men
5
Dominic Carrier
(PQ/CAN)
2005,2010-13
Women
3
Kimberley Bailey
(PE/CAN)
2007-08,2011
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
Insufficient data to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Quality Performances
Men No men under 2:20 Women No women under 2:50
Last Updated on 05 Jun 2017
Contributor: Klaas Loonstra (5)


The Game Of Life is played on a 2 dimension grid. The x
axis is horizontal and the y
axis is vertical. Each node on the grid can either be live or dead. The live nodes are green and the dead nodes are not green.
The Universe for the GOL is the set of live nodes. Each node is described with a catesian X,Y pair and a :l
or :d
value. The :l
means live and you can guess what :d
stands for. Each cartesion pair is inclosed in a square brackets and is followed by a :l
or :d
.
For example, "[3 7] :l
" is a node at coordinate 3,7 and it is live.
A set of nodes is inclosed in a pair of curly brackets. So "{ [5 6] :l, [8 17] :l}
" is a universe of two nodes.
The game starts out with a universe called "diehard". This universe dies out after 130 runs (evolutions). Every time you push the "Run Game of Life" button, the universe evolves once. The rules for evolution are:
The initial universe constitutes the seed of the game. The first generation is created by applying the above rules simultaneously to every node in the universe; births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called an tick. Each generation is a pure function of the preceding one. The rules continue to be applied repeatedly to create further generations.
There are many pre-defined universes. Here is a common set. There are a few. You can cut and paste them on the game page in the Universe State text field.
{[2 2]:l [2 3]:l [2 4]:l }
{[2 5]:l [2 6]:l [3 5]:l [3 6]:l [4 3]:l [4 4]:l [5 3]:l [5 4]:l}
{[1 1]:l [2 1]:l [3 1]:l [3 2]:l [2 3]:l}
{[1,2] :l,[2,2] :l,[2,3] :l,[3,3] :l, [3,2] :l,[4,3] :l}


Politicians are calling for a mandatory food labelling across Europe
by Shona MurrayGreen and socialist MEPs are calling for a mandatory food-labelling scheme to be introduced across the EU to tackle obesity.
MEPs and several civil society groups are calling on the European Commission to make food retailers adopt the colour coded Nutri-Score system which tells consumers how healthy their food is.
The scheme labels food with scores A-E and colours from green to red to demonstrate how healthy what they are eating is.
It was first developed by the French public health agency Sante Publique France and officially adopted by the French government in 2017.
Serge Hercberg, professor of nutrition at University Paris 13 Nord, was one of the team who developed Nutriscore.
He told Euronews: “If it is imposed on all products, a study from France has shown that the EU would reduce nutrition related deaths by around 3.4% every year.
Read more: Which is the most obese country in the EU?
“This would mean 7,500 fewer deaths from these chronic diseases in which nutrition plays a role [per year].
”So there is a real public health issue”.
Consumer groups have welcomed the move.
Monique Goyens, the director-general of the European Consumer Bureau, said: “There is a growing interest [in the idea] and the Commission is obliged by the 2011 regulations to introduce a review process for nutritional food value, so why not propose the introduction of a mandatory Nutri-Score at European level?
“It would mean harmonising so that all producers are actually subject to the same rules. And that's good for competition, the internal market and it's good for the consumers. "


Plants as well as animals react to their surroundings: they are sensitive to light, water and the force of gravity.
Plant shoots grow towards light, and upwards away from gravity. Roots grow away from light and towards water and the pull of gravity.
Plant hormones (plant growth substances) coordinate the plant’s response to stimuli. Unequal distribution of these hormones causes unequal growth rates in cells.
Phototropism
Phototropism is the way plants grow in response to light. Shoots grow in the direction of light (positive phototropism) because they need light for photosynthesis.
The tip of a shoot produces hormones called auxins. Auxins move to the side of the shoot away from the light. They make the cells on that side grow longer than the cells on the shaded side. This causes the shoot to bend in the direction of the light source.
Gravitropism
Gravitropism (or geotropism) is the way plants grow in response to the force of gravity. Roots grow downwards (positive gravitropism), but shoots grow upwards.
Roots also produce auxins, but they have a different effect than in shoots. Gravity makes them collect on the lower side of the root, but here they stop the cells from getting longer. So the root bends downwards.
In shoots that are growing horizontally, gravity makes auxins collect on the lower side. But in the shoot this makes cells elongate, so the shoot bends and grows upwards.
Uses of plant hormones
Farmers and gardeners can use artificial plant hormones as selective weedkillers. Large doses make plants grow out of control and die. Most weeds have broad leaves which absorb a lot of the hormone, while crop plants with narrow leaves, such as wheat or grass, absorb less and are not affected.
Synthetic plant growth hormones are also used as rooting powders. Shoots are cut from plants and dipped in the powder before planting in a growing medium. This encourages roots to develop more quickly on the cuttings.
Hormones and fruit growing (Edexcel)
Fruits normally develop to protect seeds after pollination, but fruits with no seeds are often preferred for eating or processing. Growers can produce seedless fruit – for example tomatoes or aubergines – by spraying the flowers with plant hormones. The fruits develop even though no seeds are produced.
Seedless grapes are naturally seedless, but growers spray them with artificial plant hormones to make the fruit grow bigger.
The ripening of fruit is also controlled by plant hormones. Fruit can be picked before it is ripe, so it is less likely to be damaged. Spraying with hormones during transportation means that the fruit ripens and arrives at the supermarket in perfect condition.


WindowBounds()
Syntax
WindowBounds(#Window, MinimumWidth, MinimumHeight, MaximumWidth, MaximumHeight)Description
Changes the minimal and maximal #Window dimensions (in pixels). This is useful to prevent a window from becoming too small or too big when the user resizes it.
Parameters
#Window The window to use. MinimumWidth The minimum width of the window. If sets to #PB_Ignore, the current minimum width value is not changed. If sets to #PB_Default, the minimum width value is reset to the system default (as it was before calling this command). MinimumHeight The minimum height of the window. If sets to #PB_Ignore, the current minimum height value is not changed. If sets to #PB_Default, the minimum height value is reset to the system default (as it was before calling this command). MaximumWidth The maximum width of the window. If sets to #PB_Ignore, the current maximum width value is not changed. If sets to #PB_Default, the maximum width value is reset to the system default (as it was before calling this command). MaximumHeight The maximum height of the window. If sets to #PB_Ignore, the current maximum height value is not changed. If sets to #PB_Default, the maximum height value is reset to the system default (as it was before calling this command).
Return value
None.
Example
If OpenWindow(0, 0, 0, 300, 300, "Resize me !", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget) WindowBounds(0, 200, 200, 400, 400) Repeat Event = WaitWindowEvent() Until Event = #PB_Event_CloseWindow EndIf
Supported OS
All


RT @funkatron: Coding standards aren't for you. They're for everyone else who has to read your crap, including future you.
8/19/2013, 10:05:29 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @funkatron: Coding standards aren't for you. They're for everyone else who has to read your crap, including future you.
8/19/2013, 10:05:29 PM
Favs: 0
Retweets: 0
link


{% include "profiles/overview.html" %}
{% include "profiles/edit.html" %}
{% include "profiles/positions.html" %}
{% include "profiles/privacy.html" %}
{% include "profiles/connected_apps.html" %}
{% include "profiles/marks.html" %}
{% include "profiles/change_password.html" %}
{% include "profiles/email.html" %}
{% include "profiles/membership.html" %}


Top 5 good eats in the area
my top five favorite cousines are French, German and Brazilian.
Top rated restaurants
According to my experience these are the best places to eat:
French Restaurant
German Restaurant
Brazilian Restaurant
Brazilian Restaurant Pastel
Brazilian Restaurant Churrasco
Contact me


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(params: Map[String, Any]) @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.template_main(params, "You have added a business to your undertaking"){
Dear Customer
This email confirms that you, EORI number @{params("eori")}, have added a business to your undertaking.
The business must provide information about their non-customs subsidy payments to you as the undertaking administrator.
Your responsibilities as the undertaking administrator are as follows
At least once every 90 days, you must:
You can also use the online service to view a summary of customs and non-customs subsidy payments.
Search GOV.UK for ‘Report and manage your allowance for Customs Duty waiver claims’.
From Borders & Trade team
}


 I will miss him after all those years at Arsenal
1 2 replay
12:10 08/07/18


Amazon S3 Website Configuration Property
WebsiteConfiguration
is a property of the AWS::S3::Bucket resource.
Syntax
JSON
{ "ErrorDocument" :
String
, "IndexDocument" :String
, "RedirectAllRequestsTo" :Redirect all requests rule
, "RoutingRules" : [Routing rule, ...
] }
YAML
ErrorDocument:
String
IndexDocument:String
RedirectAllRequestsTo:Redirect all requests rule
RoutingRules: -Routing rule
Properties
ErrorDocument
-
The name of the error document for the website.
Required: No
Type: String
IndexDocument
-
The name of the index document for the website.
Required: Yes
Type: String
RedirectAllRequestsTo
-
The redirect behavior for every request to this bucket's website endpoint.
Important
If you specify this property, you cannot specify any other property.
Required: No
Type: RedirectAllRequestsTo
RoutingRules
-
Rules that define when a redirect is applied and the redirect behavior.
Required: No
Type: List of RoutingRules
Example
"S3Bucket" : { "Type" : "AWS::S3::Bucket", "Properties" : { "AccessControl" : "PublicRead",
"WebsiteConfiguration" : { "IndexDocument" : "index.html", "ErrorDocument" : "error.html" }
} }
See Also
-
Custom Error Document Support in the Amazon Simple Storage Service Developer Guide
-
Index Document Support in the Amazon Simple Storage Service Developer Guide


{{ define "main" }} {{- partial "banner.html" . }} {{- partial "main.html" . }} {{- partial "secondary.html" . }} {{- partial "books.html" . }} {{- partial "contact.html" . }} {{- partial "authors.html" . }} {{ end }}


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.math3.exception.util; | |
| 18 | ||
| 19 | import java.util.Locale; | |
| 20 | ||
| 21 | /** | |
| 22 | * Dummy implementation of the {@link Localizable} interface, without localization. | |
| 23 | * | |
| 24 | * @version $Id: DummyLocalizable.java 1416643 2012-12-03 19:37:14Z tn $ | |
| 25 | * @since 2.2 | |
| 26 | */ | |
| 27 | public class DummyLocalizable implements Localizable { | |
| 28 | ||
| 29 | /** Serializable version identifier. */ | |
| 30 | private static final long serialVersionUID =<PHONE_NUMBER>471387299L; | |
| 31 | ||
| 32 | /** Source string. */ | |
| 33 | private final String source; | |
| 34 | ||
| 35 | /** Simple constructor. | |
| 36 | * @param source source text | |
| 37 | */ | |
| 38 | public DummyLocalizable(final String source) { | |
| 39 | this.source = source; | |
| 40 | } | |
| 41 | ||
| 42 | /** {@inheritDoc} */ | |
| 43 | public String getSourceString() { | |
| 44 | 1 | return source; |
| 45 | } | |
| 46 | ||
| 47 | /** {@inheritDoc} */ | |
| 48 | public String getLocalizedString(Locale locale) { | |
| 49 | 1 | return source; |
| 50 | } | |
| 51 | ||
| 52 | /** {@inheritDoc} */ | |
| 53 | @Override | |
| 54 | public String toString() { | |
| 55 | 1 | return source; |
| 56 | } | |
| 57 | ||
| 58 | } | |
Mutations | ||
| 44 |
mutated return of Object value for org/apache/commons/math3/exception/util/DummyLocalizable::getSourceString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE |
|
| 49 |
mutated return of Object value for org/apache/commons/math3/exception/util/DummyLocalizable::getLocalizedString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE |
|
| 55 |
mutated return of Object value for org/apache/commons/math3/exception/util/DummyLocalizable::toString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE |


Hello {{userInfo.name}}, you have successfully logged in.
{{account.address}} - {{account.balance | number : 2}}
{{account.address}}
Hello {{userInfo.name}},
You successfully logged in!
Your access token has been stored for the app to use. The app is now able to pay on your behalf. You can now close this window.


Jennifer is a teacher in the first year of a primary school. She has gone for a trip with her class today. #She has taken a packet of candies for each child. Unfortunatelly, the sizes of the packets are not the same.
Jennifer is afraid that each child will want to have the biggest packet of candies and this will lead to quarrels or even fights among children. She wants to avoid this. Therefore, she has decided to open all the packets, count the candies in each packet and move some candies from bigger packets to smaller ones so that each packet will contain the same number of candies. The question is how many candies she has to move.
The input file consists of several blocks of data. Each block starts with the number of candy packets N(1<= N <=10000) followed by N integers (each less than 1000) in separate lines, giving the number of candies in each packet. After the last block of data there is the number -1.
The output file should contain one line with the smallest number of moves for each block of data. One move consists of taking one candy from a packet and putting it into another one. If it is not possible to have the same number of candies in each packet, output the number -1.
Input file: 5 1 1 1 1 6 2 3 4 -1 Output file: 4 -1


--- layout: single-column title: Yeoman Team Blog Archives category: blog class: blog type: list --- {% for post in site.posts %}
» {{ post.title }} - {{ post.date | date: "%B %e, %Y" }}


nodenv
A tool to manage Node.js versions.
More information: home page
- Install a specific version of Node.js:
nodenv install version
- Display a list of available versions:
nodenv install --list
- Use a specific version of Node.js across the whole system:
nodenv global version
- Use a specific version of Node.js with a directory:
nodenv local version
- Display the Node.js version for the current directory:
nodenv version
- Display the location of a Node.js installed command (e.g. `npm`):
nodenv which command


ArubaOS 8 centralized upgrade
30 November 2017 · Filed in Aruba • 0 CommentsIn ArubaOS 8 we have several methods of upgrading the wireless infrastructure. Alle these methods have one thing in commmon; they need a repository for the new image to be downloaded. Historically this has been done using TFTP, FTP, FTPS or SCP from a dedicated server or the engineers own laptop. Starting from AOS 8.2 the Mobility Master or a Mobility Controller can be configured as a SCP server. Facilitating a central respository for image upgrades.
Typical use cases
- Upload/download configuration files to/from nodes
- Download log & crash files from nodes
- Download image from Mobility Master to a number of nodes (cluster for example)
Configuration
Enabling:
(VMM-active) [mynode] (config) #service
dhcp Enable DHCP service
dhcpv6 Enable DHCPv6 service
scp Enable scp copying from/to controller
Disabling:
(VMM-active) [mynode] (config) #no service
dhcp Enable DHCP service
dhcpv6 Enable DHCPv6 service
scp Enable scp copying from/to controller
Verification:
(VMM-active) [mynode] #show scp
service scp is disabled
(VMM-active) [mynode] #show scp
service scp is enabled
Functionality
Upload file from Linux client to node:
[LINUX_CLIENT ~]# scp linux.cfg admin@<IP_ADDRESS>:linuxToMM.cfg
<EMAIL_ADDRESS>password:
linux.cfg
(VMM-active) [mynode] # dir
-rw------- 1 root root 2699 Aug 24 00:11 linuxToMM.cfg
Download file from node til Linux client:
[LINUX_CLIENT ~]# scp admin@<IP_ADDRESS>:default.cfg .
<EMAIL_ADDRESS>password:
default.cfg 100% 48KB 47.7KB/s 00:00
Upload a file from node to a Mobility Master:
(VMC1) #copy flash: md.tar scp: <IP_ADDRESS> admin md.cfg
Password:******
Secure file copy:
Press 'q' to abort.
............................................
File uploaded successfully
(VMM-active) [mynode] (config) #dir
-rw-r--r-- 1 root root 12024 Jun 6 19:07 md.cfg
Download a file from a Mobility Master to node:
(VMC1) #copy scp: <IP_ADDRESS> admin default.cfg flash: MMtoMD.cfg
Password:******
Press 'q' to abort.
Secure File Copy:....
(VMC1) #dir
-rw-r--r-- 1 root root 48806 Aug 23 17:39 MMtoMD.cfg
Cluster live upgrade using SCP server on Mobility Master
With ArubaOS 8 we have the possibility of utilizing a feature called “Live Upgrade”. With this feature it is possible to do in-service upgrades of a entire cluster of controllers and connected APs with minimal service outage. I will do a in-depth blog post about live-upgrade at a later time, so stay tuned :-)
For this post I will just show how to utilize the Mobility Master as a SCP server in a Live Upgrade.
First, upload the image to the Mobility Master using SCP. This needs to be done from CLI, so no WinSCP, only CLI from Linux or other means.
Second, on the Mobility Master UI, find the corresponding folder where the cluster recides. In my case DC. Go under Configuration -> Tasks and click on Upgrade Cluster
[]
Tags: AOS8 · Aruba · Live Upgrade · Upgrade Previous Post: Change of scenery


| 2014 | |
|---|---|
| December |
No Meeting due to Christmas Holidays |
| Wed 26th November |
Group exercises, speaking circle, presentations. |
| Wed 29th October |
Group exercises, speaking circle, topic & handshake introductions. |
| Wed 24th September |
Speaking circle, group exercise, discussion around the BSA Conference. |
| August |
No Meeting due to members attending the BSA Conference in Glasgow. |
| Wed 30th July |
** Cancelled due to summer holidays and members on a Star Fish Training Course ** |
| Wed 25th June |
Group exercises, speaking circle, presentiations or topic session |
| Wed 28th May |
Group exercises, speaking circle and discussion. |
| Wed 30th April |
Group exercises, speaking circle |
| Wed 26th March |
Group exercises, speaking circle and discussion. |
| Wed 26th February |
Group exercises, speaking circle and discussion |
| Wed 29th January |
Post Christmas Meal at Mr Lau's |
| 2013 | |
| December |
No meeting |
| Wed 27th November |
Therapy through music with Steve from Rhythmweave. |
| Wed 23rd October |
Interactive workshop from members of the North Cheshire Speakers club. |
| Sat 19th October |
LUTAS (Please Let Us Talk About Stammering) Event, at the MacMillan Centre, Trafford General Hospital from 10.00am-5.00pm |
| Wed 25th September |
Group Exercises, Discussion re the Support Group Article for the BSA & PLUTAS event |
| Wed 28th August |
Guest Speaker Karen Allen re: PLUTAS Event (Please Let Us Talk About Stammering) Event, in celebration of International Suttering Awareness Day 22nd October 2013. |
| Wed 24th July |
Guest Speaker - Cherry Hughes, BSA Education Officer |
| Tue 28th May |
Visit to the North Cheshire Speakers Club, Frodsham |
| Wed 22nd May |
Scenario situatons and group discussions |
| Wed 24th April |
Speaking Circle, Show and Tell, Group Execise |
| Wed 27th March |
Star Fish Technique and Group Exercises |
| Wed 27th February |
Group Exercises |
| Tue 29th January |
Post Christmas Meal at Mr Lau's Chinese Restaurant |
| 2012 | |
| 5th December |
Guest speaker Paul Brocklehurst, Group Discussion. |
| 24th October |
Group exercises, speaking circles |
| 26th September |
Guest Speaker Anne-Marie Jacob (Warrington Speech & Language Therapist |
| 29th August |
Guest Speaker Paul Brocklehurst - Perfectionism in Stammering |
| 25th July |
Group exercise and BSA Conference discussion |
| 28th June |
Desired outcomes workshop, speaking circles |
| 30th May |
Group excercises and discussion |
| 25th April |
Topic: Maintaining change, Group Exercises |
| 28th March |
Guest Speaker GP Bennett Quinn (Ex Maguire student) |
| 18th February |
Workshop by Terry McElhinney, Life Coach and NLP Practitioner. |
| January |
Christmas Meal at the Grill on the Square, Warrington. |
| 30th November |
Interactive Workshop from Members of the Frodsham Speakers Club |
| 2011 | |
| 26th October |
Guest Speaker - Terry McElhinney, Life Coach and NLP Practitioner |


Vector Addition in a Finite Field
by Steven H. Cullinane on
January
5, 2013
The finite (i.e., Galois) field GF(16),
according to J. J. Seidel in 1974—
The same field according to Steven H. Cullinane in 1986,
in its guise as the affine 4-space over GF(2)—
The same field, again disguised as an affine 4-space,
according to John H. Conway and N.J.A. Sloane in
Sphere
Packings,
Lattices, and Groups , first published in
1988—
The above figure by Conway and Sloane summarizes, using
a 4×4 array, the additive vector-space structure of the finite
field GF(16).
This structure embodies what in Euclidean space is called
the parallelogram rule for vector addition—
(Thanks to
June Lester for the 3D
(uvw)
part of
the above figure.)
For the transition from this colored Euclidean hypercube
(used above to illustrate the parallelogram rule) to the
4×4 Galois
space (illustrated
by Cullinane in 1979 and
Conway and Sloane in 1988— or later... I do not have
their book's first edition), see Diamond
Theory in 1937,
Vertex Adjacency in a Tesseract and in a 4×4 Array,
Spaces
as Hypercubes,
and The
Galois Tesseract.
|


A classic cocktail originating from cuba. Lets you feel the cold breeze on a warm summer evening. Mojito will tingle your tongue with its sugary taste, enliven you with its gentle touch of alcohol and cool you off with its minty aftertaste.
ADVENTURE! Everyone loves hearing that word... The provocative name is just a facade for the innocence of this fruity cocktail. If you are looking to make your night epic, Sex on the beach is the cocktail to start.
Another killer cocktail for the hot summer nights! 4 spirits join together to make your experience amazing! And we hope memorable... haha. Despite the large amounts of alcohol in this cocktail it still feels smooth and easy to pour down your throat.
Mixing vodka and chilli to make a cocktail? Whoever though of that was crazy... and genius! A lot of people are not huge fans of this bad boy(or lady) but it has endless variations, at least one of wich will suit your taste. Don't be afraid to try something new! This is how out most amazing nights happen!
Can you feel it? The taste of freedom... the energy this drink moves through your body is insane!  A mix of Baradi rum and cola is something you can trust will set you free. CUBA LIBRE!
An exotic name indeed. Strawberry Daiquiri, Banana Daiquiri, Hemingway Daiquiri etc. There are a lot of them! The classic Daiquiri is a super simple rum cocktail that’s well-balanced and refreshing. The combination of sweet, sour and spirit is refreshingly tangy and perfect for any occasion.
Very popular at the bar, you will often see groups of people drinking Jäger Bombs together. You will either love them or hate them, there is not much middle ground with this potent shot. Without a doubt, this is a drink every bartender should know.
These are one of the best party shots ever. There's nothing like a good magic show and Rainbow Shots definitely deliver - when you pour many different colored shots out of the same shaker right in front of your guests eyes?!! A perfect presto.
Start your night right with an amazing Shark Attack Shot! After the fluids in the two cups mix you will see why this in the name of this shot. Your guests will definitely be impressed!
The Blow Job is a creamy mix of amaretto and Irish cream topped with whipped cream and it is one of the tastiest shots you can mix up. It is also very easy and both liqueurs are inexpensive, so this is a great option for parties.
What?!? Yes you read right. Nuclear. Reactor. Shot. This baby will have your friends jumping around in ecstasy. Its a little bit expensive on liquor but its definately a party special!
 They are easy to make and fun to drink with your friends at a party! A definite recommendation!
A classic cocktail originating from cuba. Lets you feel the cold breeze on a warm summer evening. Mojito will tingle your tongue with its sugary taste, enliven you with its gentle touch of alcohol and cool you off with its minty aftertaste.
Regrettably, perhaps, we've gotten away from the breakfast/brunch cocktail. If anyone tells you that Irish Coffee is a sweet drink, scald them with your coffee. You only need a little sugar, your Irish, your coffee, and a dollop of lightly whipped cream atop.
Invented in Hawaii in the 1950s, the Blue Hawaiian will have you crooning like Elvis. The Blue Hawaiian is a fantastic and fun tiki drink. It's filled with rum, pineapple, and coconut and, best of all, it's blue!
Mixing vodka and chilli to make a cocktail? Whoever though of that was crazy... and genius! A lot of people are not huge fans of this bad boy(or lady) but it has endless variations, at least one of wich will suit your taste. Don't be afraid to try something new! This is how out most amazing nights happen!
Can you feel it? The taste of freedom... the energy this drink moves through your body is insane!  A mix of Baradi rum and cola is something you can trust will set you free. CUBA LIBRE!
An exotic name indeed. Strawberry Daiquiri, Banana Daiquiri, Hemingway Daiquiri etc. There are a lot of them! The classic Daiquiri is a super simple rum cocktail that’s well-balanced and refreshing. The combination of sweet, sour and spirit is refreshingly tangy and perfect for any occasion.
Post a comment!


62nd Grammy nominations: Ariana Grande, Lizzo, Billie Eilish dominate the main categories this year
by TIMESOFINDIA.COMThe Grammy have announced the first nominees for its 2020 show, and contenders include Lizzo, Ariana Grande, Beyonce and others. Recording Academy President and CEO Deborah Dugan, who started the job earlier this year, announced at a news conference in New York City on Wednesday morning that Beyonce's ‘Spirit’ and Swift's ‘You Need to Calm Down’ will compete for best pop solo performance.
Lizzo's ‘Truth Hurts,’ Billie Eilish's ‘Bad Guy’ and Ariana Grande's ‘7 Rings’ - three songs that reached the No 1 spot on the Billboard Hot 100 chart - are also nominated for the awards.
The Grammy will announce more of its nominees at the conference and then on CBS. The show has 84 categories.
The 2020 Grammy will air live from the Staples Center in Los Angeles on Jan. 26.


  Quos explicabo magni voluptates rerum laborum cum
DOWNLOAD CV
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.
It is a long established fact that a reader will be of a page when established fact looking at its layout.
There are many variations of passages of but the majority have suffered alteration in some form.
There are many variations of passages of but the majority have suffered alteration in some form.
There are many variations of passages of but the majority have suffered alteration in some form.
There are many variations of passages of but the majority have suffered alteration in some form.
There are many variations of passages of but the majority have suffered alteration in some form.
There are many variations of passages of but the majority have suffered alteration in some form.
It is a long established fact that a reader will be of a page when established fact looking at its layout.
It is a long established fact that a reader will be of a page when established fact looking at its layout.


AngularJS Example App
User Identification
Mandatory Fields
First Name
Last Name
Sex
Select Sex
Date of Birth
Date is not valid
User Address
Street Address
City
State
Select State
Zip
Primary Phone
Work Phone
Cancel
Submit
Data from Form
{{savedData}}
Close Modal


OVERSIZED COTTON RAINCOAT
£145
Oversized, double-breaseted, soft cotton twill raincoat with detachable hood, dropped shoulders and wide


Gateway
BOT
05-Jun-19 02:38 PM
[telegram] <say_wot> cant deposit / withdraw KMD on binance atm
[telegram] <Lennart> is it the same vulnurability that Coinomi Wallet has had?
[telegram] <xarux> sell (re @say_wot: cant deposit / withdraw KMD on binance atm)
[telegram] <Lennart> where seed words where sent to google for spellchecks
[telegram] <say_wot> shitbtc or shittrex
[telegram] <Ra> I think you should wait till you get your funds back, then wait more to be sure it doesnt happen again , then wait for a few months then maybe say thankyou then (re @Lennart: thank you for your quick action)
(edited)
[telegram] <Lennart> yeah right, anyways, I trust the KMD team and believe everything will be sorted out
[telegram] <Ra> lol good luck in life
(edited)
[telegram] <Lennart> thx, same
[telegram] <Ra> you can trust me with your house keys too
(edited)
[telegram] <Ra> I just take 1% of what you have cause I am so trusted not to take 100%
(edited)
[telegram] <Ra> then you can thank me.
(edited)
[telegram] <Pablo_cbs> Please someone confirm me that I did the process in the right way.
I installed agama by Versu and I sent there my Chainzilla and my Jumbrl tokens after backing up the seed.
Then I completed the form indicating the adress of the agama by Versu wallet (my kmd balance in the old wallet shows zero and moved to the adress controlled by KMD team)
Due that KMD is my biggest bag in crypto by far I would appreciate the confirmation so much.
Thanks to the team for all the effort
[telegram] <CockEyedOptimist> Did komodo just come out with a good mobile wallet.  I was a komodo maximalist! But these actions show that not even 64 nodes of notaries, but only a handful of developers, most of which are anonymous - can easily, under the pretext of your protection, move YOUR money from your wallet which I suppose I want to receive today! How much will this happen again? But such a strong project seemed! So much innovation and there is such a bummer! This is at least a minus in the image of the decentralization and privacy of your seeds! (re @Ra: I think you should wait till you get your funds back, then wait more to be sure it doesnt happen again , then wait for a few months then maybe say thankyou then)
[telegram] <Keytothegate> You are not thinking objectively.
• Once the vulnerability was detected it was race against time
•If simple warning had been sent out there would have been serious losses
•Instead the team used the same vulnerability and rescued about 90% of kmd/btc at risk
•Other approaches would probably have resulted in much more serious losses for the holders
•The problem was in the agama wallet, so if your coins have been moved your address was already compromised!!
•Kindly try to understand this, they were already open for the attacker to take and your funds have been rescued by using the very same vulnerability
•...and it has nothing to do with blockchain but our wallets that had malware
•Because of the actions taken things are not too bad
•You should try realize this and
•Be thankful. (re @xarux: My funds for Agama were hacked into some kind of "safe" developers wallet for my own safety! But explain to me what kind of security and decentralization can there be when several komodo developers can take my means without my knowledge and send them somewhere? So who owns tokens on the network? User? Who has the private key and seme phrase? How could they do it without them if ONLY I keep the private key !? And who will compensate for these costs?
I have been a dedicated Komodo holder for a long time - but these events turn the mind! Thanks for attention!)


{% extends 'admin/change_list.html' %} {% load fb_tags %} {% block extrahead %} {{ block.super }} {% include 'admin/facebook/login-button.html' %} {% endblock %} {% block footer %}
Make sure your page has an access token if you would like to post a message in the future. (Select 'get access token' from the menu above.)
The access token is only for the application {% fb_first_app %}.
App Access Token: {% access_token request %}
User Access Token: None
{{ block.super }} {% endblock %}


Look below for Track Specs.
Guides and Fundamentals. All for a solid foundation.
For the terminally humorless.
Get to know some of the other characters in your region.
Upload your qualifying times, code, and pictures, and more.
Who's better?


'Contact' shows why Jodie Foster is one of our best actresses. See Contact with your family. It is a movie for all ages.
--A review by Stuart Cracraft
CONTACT Starring: Jodie Foster, Matthew McConaughey, John Hurt Director: Robert Zemeckis Star Rating: **** (out of ****) Rating out of Ten: 9.0 Grade: A
After a predictable MIT Phillip Morrison powers-of-10 zoom-out start (which can be surprising to those not familiar with Prof. Morrison's work), Contact picks up steam, gradually, building, by-the-end, an irresistable juggernaut and a very good movie that does not as is so often the case fall out-of-balance in terms of too much pandering to the technological "geek" side. By the end, the audience is left with what good science fiction is supposed to do: evoke a sense of wonder about the universe and evoke questions in your mind about what's out there.
This movie does not let technology overshadow characterization and in this sense it is unusual amongst high-tech movies. However, except for Jodie Foster (Elie Arroway) and John Hurt (S.R. Hadden), who are both actors of exceptional caliber, the supporting cast are not especially impressive. Hurt certainly has had better roles (Stephen Ward in Scandal). This one, as the multi-billionare Hadden, does not do his acting skills justice.
This is clearly a Foster movie by one of the great Hollywood lights of our generation. Foster's radiance has never been more strong than in the scene where she finally meets the Vegans on their terms. Early scenes take a long, long time to build up to this. The movie's pacing is very good and subtle. The panoramas of the radio dishes at Arecibo and CETI in New Mexico and Puerto Rico are beautiful. The politics of Foster's character attempting to obtain funding for research at these places are trite and predictable however.
One of the most entertaining, but very short scenes, is when Foster is confronted by Rob Lowe, during a cabinet-level presidential meeting to discuss the alien invitation. There were real sparks in this scene between Foster and Lowe and it would behoove them to consider other vehicles in which this dynamism could be explored. It is the only scene in the movie in which there were tremendous dynamics between two characters. Everything else was very one-sided (e.g. Foster). Lowe can stand up to Foster and it showed in that scene at the cabinet table.
The core scene of the movie is set on a surrealistic beach on a far-away world in the starsystem of Vega. It feels a lot like science fiction writer John Varley's scenes in his book STEEL BEACH, where the female protagonists encounters an immensely superior intelligence, in one case a computer manufactured by mankind itself, and in Foster's case, an illusion drawn from her memory. In another sense, this immensely moving scene evokes Gene Roddenberry's STAR TREK pilot The Cage, later The Menagerie, when Jeffrey Hunter and Susan Oliver have their memories manipulated to create new worlds in which they live and encounter aliens.
The concept is not new, by any sense, in the world of science fiction. But the beach scene, which is the centerpiece of the film, as is the whole film, is driven by Foster. Freed from her needs to direct by director Zemecki, Foster is able to let it all hang out in the characterization and the lead she provides to her supporting cast. As the movie gains speed, Foster's acting intensifies and the audience really does experience it with her. It is certainly Oscar-caliber acting, unquestionably.
The supporting cast does well and Zemeckis throws in some humor with some President Clinton cameos, cleverly manipulated, George Stephanopolus-style, to seem very Forrest Gump. In fact, Zemeckis et. al. got in trouble for the usage of some of the footage seen in the movie, vis a vis Clinton. But the audience I attended this movie with just had some good chuckles at Clinton's walk-ons.
The much-discussed tension between science and religion in this movie is not particularly insightful to those who have already gone through this course though it is helpful to those in the audience who have not. Also, the near-final scene, in a Senate Judiciary Hearing room is disappointing.
Contact is a fitting memorial to the memory of Carl Sagan, science popularizer, and sometime pedantic gadfly of the halls of academe. Perhaps now, Sagan can be said to be with his Dragons of Eden.
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


Name : *
Phone Number : *
Date of Birth : *
Password : *
Address : *
E-Mail : *
Gender : Male Female *
Reenter Password : *
Category Student Adult Senoir Off-peak
Term 3 months 6 months 9 months 12 months
Visa Mastercard Paypal


In class today, we learn how to use embroidery machine to embroider hats and other stuffs. I choose to embroider a hat for track because for most of the time track season is cold. Therefore, the first step I need to do is fix the hat on the splint with one soft material on the bottom and water soluable stablizer on top. Then I need to set up the embroidery machine, choosing fonts, size and the words I want to embrioder. Then I just need to make sure the laser light is on the right place so the embroidery would be in the middle. The embroidering process only took a minute and I got a pretty hat! I like my hat so much!
Today with the help of Mrs.Ong, I successfully made a pillow case for myself as a Thanksgiving gift. First, we need to cut the cloth by 12 inches*24 inches for the largest part of the pillow case. Then we need to cut a 2 inches width cloth to connect the largest part of pillow case to the edge which is 12 inches. After cutting these parts, I needed to pin them tightly together then using sewing machine to sew them. I needed to remove the pins while I am sewing the pillow case. After sewing all the parts together, I need to iron my pillow case them flip it over in order to sew the edge together. Finally, I got my pretty pillow case!


Copyright (c) 2003-2005 by The BioBike Team (contact Jeff Shrager<EMAIL_ADDRESS>for more information)
To use BioBike, first fire up your favorite web browser. Go to this URL: www.biobike.org. Select or scroll down to the "Servers" section, and select a server. We'll use the Demo server for everything in this section.
Once you agree to all the legalese and get to the demo server login page you'll choose a userid and optionally give your email address. (To use the main servers you must have a userid and password assigned to you. You can get on by emailing Jeff Shrager (jshrager@stanford.edu), or by clicking on the "Request a login name/password" link on the login page.)
Note that there are two buttons: [New Login], and [Previous Session]. For now let's use [New Login].
Once you've successfully logged in, you'll be talking directly to the BioBike Web Listener. It's called a Listener because it "listens" to your commands and executes them.
Aside from the buttons on the bottom, there are three basic parts to this page:
The command entry (Enter) and expression entry (Eval) boxes do nearly the same thing. Anything that you can type into one, you can type into the other, and it will work just the same way. The only differences are how many lines you can enter, and how you get the listener to evaluate what you've entered. To get commands that you've entered into the command entry box evaluated you hit the ENTER key or press the [ENTER] button on the right of the box. To get what you type into the larger, expression entry box, evaluated you have to click on the [EVAL] button that's just underneath it.
There are a couple of good reasons for this seemingly weird replication of entry methods. First, sometimes you'll want to enter multiple lines and it's convenient to do that in the larger expression entry box. Also, you'll find out soon enough that when you are entering a complex expression, it's often convenient to test parts of it immediately, while you're formulating the more complex one. The twin entry box format of the BioBike Web Listener enables you to work on a large, complex expression for eventual evaluation in the larger (expression/Eval) box, while at the same time testing little pieces in the smaller (command/Enter) box. (There's some subtlty to actually doing this that we'll get to a bit later.)
Anyway, let's try some simple things from the previous tutorial:
Type:
>> (+ 1 2 3 4 5)into the command entry box and press ENTER (or click [Enter] -- same thing).
(Don't enter the ">>" part; That's just there to show you what should be input. Begin with the first open parenthesis!)
Notice that in the output area you get both the command (prefixed with a number, as: "<1>>"...) and the result (prefixed by "::"). Notice also that both the "<1>>" and the "::" are hot (that is, you can click on them).
Try this: Clear the command entry box, and then click the <1>> link. It puts the command displayed there back into the command entry box. Edit it by changing some of the numbers, or maybe multiply them together instead of adding them by changing the '+' to a '*', and then evaluate your revised expression by hitting the ENTER key again.
Now you've got two evaluations in the history: <1> and <2>, and each one's result.
This is the general interaction that you'll have with BioBike: You enter commands, and it evaluates them when you press ENTER. (In Lisp this is called the READ-EVAL-PRINT Loop, or REPL; Lisp was the first programming language to ever use this, way back in the 60's!)
Okay, let's do something a little more complex that requires the expression entry box. One of the most important BioBike constructs is the LOOP construct, which iterates (that is, does something a number of times over). To repeat something a specific number of times, you use this construction:
(loop STUFF THAT CONTROLS THE LOOP do (or collect) STUFF TO DO EACH TIME THROUGH THE LOOP)
For example, type (or cut-and-paste) this into the expression (Eval) box:
(loop for i from 1 to 10 do (print i))
Now press the [Eval] button. Notice that you got the 10 numbers, one per line (because it did 10 separate PRINTs). Then there's a NIL at the end. The last thing that appears when you evaluate an expression is always the final result of the expression itself -- in this case, NIL. That is, the loop gave no result, it just printed out a bunch of numbers, and returned a list with no contents, i.e., "the empty list" or "nothing". (NIL in Lisp mean "the empty list": NIL = ( ) = nothing between the parens = the empty list = a list with nothing in it!)
Clear the expression entry box and enter (or paste in) this expression:
(loop for i from 1 to 10 collect i)
Eval it, as above.
Whereas the previous loop just printed out results and then gave us NIL as the final result (the empty list), this one actually gives you the results back as a list of the ten numbers! There were two changes: we removed the print (so we don't see the ten numbers along the way), and we changed DO to COLLECT. DO does things; COLLECT does them and then collects the results into a list and gives that list back to us, which is what it did!
It's very important to understand the concept of the final result of an expression because this is how you combine expressions together in Lisp: By passing the final result of one function as the argument of the next. Remember the recursive evaluation procedure from the last lesson? There we did:
>> (* (+ 1 2) (+ 3 4)) :: 21
(Remember not to type the ">>" part.)
That's exactly the same as doing:
>> (+ 1 2) :: 3 >> (+ 3 4) :: 7 >> (* 3 7) ; (We've just used the result of the previous two evaluations here) :: 21So, the final result (or, more simply, just: the result) of any expression can be passed to any other expression!
For your convenience in testing things out, the result of the previous calculation is always in a temporary variable called * ("star", or "asterisk"). So, right now, * should have that list of ten numbers. Try entering just a single star (asterisk):
>> *
into the command field and hit enter. It should be the same list of ten numbers (unless you typed something else in between).
[[Unfortunately, this is slightly confusing as the '*' in the expression (* 3 7) means multiply, but the '*' in a value position means: the last result. For example:
>> (+ 1 2) :: 3 >> * :: 3 ; The last result >> (* * *) :: 9 ; Multiply the last result by itself (i.e., square it)
Let's save the result in a symbol's value and play with it a little. Here's a series of commands to try. What does each give as the final result?
>> (loop for i from 1 to 10 collect i) >> (setf mylist *) ; Remember SETF from the last lesson?! >> (reverse mylist)Remember the thing just above about passing results as arguments? Well, you could just as well have done this:
>> (reverse (setf mylist (loop for i from 1 to 10 collect i)))And it would have been the same as the above three commands!
Now let's do some slightly more biologically interesting things!
The first thing that we need to do is to get access to the knowledge about an organism. Let's use Synechocystis (pcc 6803) as our example organism. Before referring to knowledge about an organism, you may have to "load" it, using the LOAD-ORGANISM function. We'll also save the result in a variable for easy reference:
>> (setf syn (load-organism "syn6803")) ... maybe lots of junk printed out here ... :: #$synechocystis_pcc6803
Notice that you got back a lot of uninterpretable output, and the final result is this odd looking thing with a #$ in front of it. This is another data type (along with numbers, symbols, and lists), called a "frame", and is special to BioBike. A frame is a unit of knowledge. We'll work a lot more with frames as we get into biological examples.
So, we've seen that load-organism loads up the knowledge for Synechocystis, and we got back this frame thing, which is now the value of the symbol SYN. Now all you need to do to get to the organism knowledge is to use SYN.
Example:
>> (length (#^genes syn)) :: 3721You can always also just type out the whole frame name, as:
>> (length (#^genes #$synechocystis_pcc6803)) :: 3721
These are equivalent, but typing SYN is a lot simpler, which is why we bound it above!
Notice another new piece of syntax that goes along with the #$ frame syntax: "#^" This translates to "The value of the slot..." So (#^genes syn) translates to: "The value of the slot called 'genes' in the frame representing the knowledge about Synechocystis 6803."
Slot? I'm lost! What's a slot?!
Frames are little packets of knowledge, and the knowledge is stored in things called "slots." For example, your address is a packet of knowledge that has a slot for the street you live on, the city, the zip code, the country, and all that sort of thing. Like this, in an abstract sense:
#$my-address: #^number 123 #^street "Construction lane" #^city "Lost City" ... etc ...If there really was a frame called #$my-address, you'd get to the name of the city by using the expression: (#^city #$my-address) -- that is: "The value of the slot called 'city' in the frame representing the knowledge about my address."; just like above we used (#^genes syn) to mean: "The value of the slot called 'genes' in the frame representing the knowledge about Synechocystis 6803."
Notice that in the output above, #$synechocystis_pcc6803 is a live (web) link. If you click on it you can browse the contents of the SYN organism's knowledge! Go ahead and click it! Notice that there are LOTS of slots and they have LOTS of things in them, including other frames!. Specifically, each gene is another frame that you can click on to explore its slots, and the things that it connects to, etc. Find the GENES slot of the #$synechocystis_pcc6803 frame and click on the first gene (#$S6803.slr0612). Notice that the gene has a slot called "GO-ID", and that its value is a list with one entry: #$Go.LyaseActivity. If you click on that you'll be browsing the Gene Ontology knowledge backbone.
Explore, but don't get too lost, and back up to the BioBike Listener eventually using repeated BACKs or the 'Listener' link under the page title.
How did all that information get in there?! When you call LOAD-ORGANISM it loads up all the gene information for that organism, and builds the association between the gene frames and the Gene Ontology backbone frames. You can do some pretty interesting stuff as a result of this association. For example, suppose that you wanted to know which genes in Synechocystis are related to Potassium Ion Transport. Let's try to find a frame related to that concept:
>> (all-similarly-named-frames "Potassium Ion Transport") :: (#$Go.PotassiumIonTransport)There are a number of ways to search frames, depending on exactly what you're looking for and how you want to look for it. Two other functions are GOOGLE-FRAMES and the very general SEARCH-FRAMES. Here's GOOGLE-FRAMES in action: <59>> (google-frames "Potassium" "Ion" "Transport") :: (#$GO.PotassiumIonTransport #$GO.RegulationOfPotassiumIonTransport #$GO.PositiveRegulationOfPotassiumIonTransport #$GO.PotassiumIon-TransportingAtpaseComplex #$GO.PotassiumIonTransporterActivity #$GO.NegativeRegulationOfPotassiumIonTransport) All of these results are Gene Ontology (GO) frames, and all seem relevant. Lets go (pun intended) with #$Go.PotassiumIonTransport and see what information it contains:
>> (df #$Go.PotassiumIonTransport) :: Slots of #$Go.PotassiumIonTransport: #$go.related-genes: (#$S6803.slr1664 #$S6803.sll0536 #$S6803.sll0493 #$S6803.sll0556 #$S6803.slr0773 #$S6803.sll0261 #$S6803.slr1730 #$S6803.slr1729 #$S6803.slr1728 #$S6803.sll0993 #$S6803.sll0640) #$Subclasses: (#$Go.PotassiumIonImport #$Go.HighAffinityPotassiumIonImport) #$GO.DBXRefs: (("InterPro" "IPR000388") ("InterPro" "IPR000402") ("InterPro" "IPR000844") ("InterPro" "IPR001475") <<<<< lots and lots of stuff here >>>>> ("Pfam" "PF03185 CaKB") ...) #$isA: (#$Go.MetalIonTransport #$Go.MonovalentInorganicCationTransport) #$GO.definition: "The directed movement of potassium ions (K+) into, out of, within or between cells." #$GO.prettyname: "potassium ion transport" #$GO.goid: 6813 #$fName: "Go.PotassiumIonTransport"
DF (short for DESCRIBE-FRAME) is a function that describes a frame.
You might see something a little different here. If other organisms have been accessed by other users (using LOAD-ORGANISM) then some of those organisms' genes might show up as well in the #$go.related-genes slot. That's ok! These organisms have been coexisting for a billion years or so, and they can coexist in our database too!
 (The part I've highlighted in red, above.)
Let's try to find the Synechocystis gene for gluokinase, using yet another searching function:
>> (find-frames "Glucokinase") :: (#$Go.GlucokinaseActivity #$Go.PhosphoglucokinaseActivity)
FIND-FRAMES returns a list of all the frames that contain the exact string we gave (whereas ALL-SIMILARLY-NAMED-FRAMES doesn't require an exact match). It looks like the frame we want is called #$Go.GlucokinaseActivity.
>> (df #$go.GlucokinaseActivity) :: Slots of #$Go.GlucokinaseActivity: #$go.related-genes: (#$S6803.sll0593) #$GO.products: (#$Mol.Adp #$Mol.D-Glucose6-Phosphate) #$GO.reactants: (#$Mol.Atp #$Mol.D-Glucose) #$GO.DBXRefs: (("EC" "<IP_ADDRESS>") ("MetaCyc" "GLUCOKIN-RXN") ("InterPro" "IPR003836") ("InterPro" "IPR004654") ("HAMAP" "MF_00524") ("Pfam" "PF02685 Glucokinase") ("TIGR_TIGRFAMS" "TIGR00749 glucokinase")) #$GO.ECRef: (#$Ec.<IP_ADDRESS>) #$isA: (#$GO.Reaction #$Go.CarbohydrateKinaseActivity #$Go.PhosphotransferaseActivity,AlcoholGroupAsAcceptor) #$GO.definition: "Catalysis of the reaction: ATP + D-glucose = ADP + D-glucose 6-phosphate." #$GO.prettyname: "glucokinase activity" #$GO.goid: 4340 #$fName: "Go.GlucokinaseActivity"Notice that there's only one gene for Synechocystis in this category (which makes some sense), and that the GO frame actually has a lot of information at this point, including the reactants and products for the reaction for Glucokinase!
Now let's do something a little more interesting than just looking at knowledge, let's use it for something:
Try:
>> (df #$S6803.sll0593)Notice that one of the GO-ID entries in the GO-ID slot is #$go.glycolysis. The Gene Ontology has information about all the processes in the organism. Suppose that we want to find all the genes in Synechocystis 6803 that are involved in glycolysis. We know how to do that already by carefully examining the slot names in the above, and using what we've learned:
>> (#^go.related-genes #$go.glycolysis) :: (#$S6803.slr0752 #$S6803.sll1342 #$S6803.sll0745 #$S6803.sll0587 ...etc...But what if we wanted only the kinases involved in glycolysis? We can get the kinases like this (you should be able to figure this out by yourself by now):
>> (#^go.related-genes #$go.kinaseactivity) :: ... a really long list ....How can we find those that are on BOTH lists? That is, the intersection of those lists? Well, as it turns out, Lisp has an INTERSECTION function called, oddly enough, INTERSECTION, so let's use it:
>> (setf glycolytic-genes (#^go.related-genes #$go.glycolysis)) >> (setf kinases (#^go.related-genes #$go.kinaseactivity)) >> (intersection glycolytic-genes kinases) :: (#$S6803.sll1196 #$S6803.sll1275 #$S6803.slr0394 #$S6803.sll0593 ... etc ...Et Voila! (As they say in France!)
Even more simply, we could have done this in the large expression box:
>> (intersection (#^go.related-genes #$go.glycolysis) (#^go.related-genes #$go.kinaseactivity))
By the way, watch your parens! If you fail to type enough closing parens, the Weblistener can sometimes help you -- e.g. if you type the above expression without the last paren the Weblistener will understand what you mean and when it prints out what you typed it will tell you you failed to close your expression:
>> (intersection (#^go.related-genes #$go.glycolysis) (#^go.related-genes #$go.kinaseactivity) ; closing paren(s) addedThis can be a handy feature but can also get you into trouble if you've created a fairly complication expression which isn't quite right somewhere in the middle -- the Weblistener will close all your parens but it can't necessarily put them all in the right places! (You might notice the little box near the bottom labelled 'Matched paren:' which, when you type a right paren, shows you the matching left paren. This can be very handy.)
In later tutorials we'll see a lot more interesting calculations like this one, but this should be enough to give you a taste of the way one interacts with BioBike, and what it does.
Before leaving it's worth learning a few additional useful functions:
(clear-history) -- This function erases all of the inputs and output in the output area. Once you do this, you won't be able to get any of those results back unless you've stored them in a variable (via setq or setf). If you do (clear-history -N) [where N is some number, as: (clear-history -5)] it will erase the last N [last 5 in the given example] entries and results. The [Clear History] button at the bottom the browser does the same thing as just typing (clear-history), and which clears everything except the very last thing you did. (It's often useful to do (clear-history -1) to get rid of something you just typed in that was wrong and made a mess.)
(result N) refers to the Nth output. For example (result 5) refers to the result of the 5th entry. This is often useful if you forgot to save the result of a calculation. For example:
<1>> (+ 1 2 3 4) :: 10 <2>> (+ 5 6 7 8) :: 26 <3>> (+ (result 1) (result 2)) :: 36
You can see which organisms are available by typing
>> (available-organisms)and you can determine which organisms have already been loaded by typing
>> *loaded-organisms*
Okay, we're done for now! To logout, you can just close your browser, or you can type:
>> (logout)
Logout now, and take a nap!


Pick a color
Some quick example text to build on the card title and make up the bulk of the card's content.


When a source file (.pro) is compiled the resulting object code is a .plm file. Several .plm files may be combined into one .xpl file using the Amzi! linker. The .xpl file contains all the code contained in the .plm files, plus the Amzi! Prolog library, alib.plm. See below for implications of this.
Prolog executable (.xpl) files are executed directly by the Amzi! runtime, either from the operating system command line, the Windows-IDE or from a C/C++, Java, Delphi, Visual Basic or other program. They, unlike .plm files, cannot be executed under the listener.
Normally the linker is invoked when you build a project by either choosing Project | Build Project or Project | Rebuild Project. Build will compile and link only the modified files in the project, whereas Rebuild compiles and links all the files.
The linker will includes all .pro files in the Prolog Project Properties. It will exclude any .pro files that are specified to be excluded in the project properties. Also any libraries checked in the project properties are included.
If your Project Properties refers to other projects (under Project References) then all the plm files from the referenced projects will be linked into your xpl file.
If there are any linker errors, they will be displayed in a window for you to peruse when the link is completed.
The Prolog linker is named alnk. It may be invoked in one of three ways. The easiest is to simply type alnk and respond to the prompts. For example, to create a load module called ducks.xpl for stand-alone execution from the object modules duck1.plm and duck2.plm:
c> alnk Amzi! Prolog Linker Copyright (c) 1987-2002 Amzi! inc. All Rights Reserved. Linked Module [.xpl]: ducks Compiled Code Module [.PLM]: duck1 Compiled Code Module [.PLM]: duck2 Compiled Code Module [.PLM]: % [Enter] key pressed Reading Atom Table: duck1.PLM Reading Atom Table: duck2.PLM Reading Code Segments: duck1.PLM Reading Code Segments: duck2.PLM 266 Global Atoms, 55 Local Atoms
The arguments to alnk can also be listed on the command line.
c> alnk ducks duck1 duck2
The first argument is the name of the Prolog load module (.xpl) file to be created. The other arguments are the various Prolog object module (.plm) files.
Note that this means if you are linking a single file, you need to specify the name twice, once for the .xpl file and once for the .plm file. For example:
c> alnk duckym duckym
If you have a large number of files to link, you can create an input script file for the linker and pipe it in on the command line.
c> alnk < ducks.inp
where ducks.inp contains
ducks duck1 duck2
You can also create a file for linker input and specify the file name after a -f option. For example, using the same ducks.inp above:
c>alnk -f ducks.inp
If you are using any of the predicates in list.plm, misc.plm or any of the other libraries, you will need to add that file to your project and/or link it in as well.
Copyright ©1987-2011 Amzi! inc. All Rights Reserved. Amzi! is a registered trademark and Logic Server is a trademark of Amzi! inc.


This is the API documentation for 'thor-0.17.0 Documentation'.
[Validate]
Generated with the Darkfish Rdoc Generator 2.


| API | Parameters |
|---|---|
| create Profile | profile object |
| delete profile | profile name |
| get all connection profiles | (none) |
| get a specific network connection profile | profile name |
| API | Parameters |
|---|---|
| deploy a network | network archive file, options |
| install new a network | network archive file, options |
| start an installed network | network name, options |
| list the deployed business networks | (none) |
| touch a network, check compatibility | business network name |
| take a business network off line | business network name |
| update an existing business network | business network name, archive file |
| API | Parameters |
|---|---|
| list members of a registry | |
| List Assets in the registry | (none) |
| Add Member | Co Name, id, Type |
| Remove Member | |
| getMemberSecret |