---
layout: post
title: ! "Slow-motion bike vs. goose accident. The geese need to learn to \tsignal
their turns! I hope the goose is ok. #bikecommute"
published: true
date: 2009-12-07
categories: []
posterous_url: http://verdammelt.posterous.com/slow-motion-bike-vs-goose-accident-the-geese
posterous_slug: slow-motion-bike-vs-goose-accident-the-geese
---
There were 3 geese in the path as i approached slowly. I rang my bell
and they started to move away as i continued to approach. Two went
left toward the river; one right. I was slowed to a slow walking pace
as i got to the geese. That is when the right-hand goose decided to
become a left-hand goose. It dashed in front of me and i braked and
swerved - we collided and then it went squawking away.


TextComponent
Description
Simple component that renders text returned from a function specified in the expression property.
Options
- name
- The name of the component
- type
textComponent
- listeners
- Array - Parameters who this component will react to
- expression
- Javascript expression to be evaluated
- htmlObject
- Id of the component (usually a div or a span tag) to be replaced by the result
- refreshPeriod
- Time in seconds for this component to refresh. Default is 0 (disabled)
- executeAtStart
- True to execute the component at start, false otherwise
- tooltip
- Tooltip to be displayed when mouse hovers
- preExecution
- Function - Function to be called before the component is executed
- postExecution
- Function - Function to be called after the component is executed
Sample


Alistair Brownlee becomes first man to retain Olympic triathlon gold
05 Oct 2016
Category: Sport
It was a wonderful sound drifting across Copacabana beach as God Save The Queen blasted out over the sand. And, with Sugarloaf Mountain providing a sumptuous background, there was the Union flag hanging from not one but two poles. What a sight it was. What a moment of uplift. And what a performance it marked. Alistair Brownlee had just won gold in the Olympic triathlon, while his brother Jonny had come in second.
After London, when Alistair had won and Jonny finished third, this was the moment that lifted the charming, self-effacing, endlessly mutually supportive siblings into sporting immortality. “We’ve done it,” said Jonny. “One and two in the Olympics, we couldn’t do better than that.”
And the thing was, never for a moment was it in doubt. Not with the Brownlees. Not with the very epitome of Yorkshire grit. The pair led the race from start to finish before collapsing over the line in an emotional bundle of achievement, Alistair clutching a Union flag in one hand and a Yorkshire standard in the other.


My new site - work in progress...
Revisiting the Project Vocabulary from 2004 to try and manage this lot.
I'm trying a different strategy than usually for hosting my material. The plan is to get as much as possible here by running services at home and pushing up snapshots.
So far:
A synth designed to make speech-like sounds. Very active at the moment. All material on GitHub
Investigating radio precursors of earthquakes, with an aim of feeding a neural network with the data, attempting to predict seismic events.
I'm documenting progress on a blog, code etc. is on GitHub.
There's a load more work-in progress on github, danja. I'm also:
Out of curiosity and for fun, I'm in the process of designing on of these - details.
I've loads of material that should go here somewhere but is in dire need of organisation. I've lost a few domain names over the years with the result : many dead links. But I should still have all the stuff somewhere.
From IEEE Internet Computing (PDFs)
From Electronics World & Wireless World


Cardiff City and Swansea City to battle Middlesbrough, Bristol City and Derby County for in-form striker - reports
The South Wales rivals are reportedly among six Championship clubs taking a look at the 24-year old
by Tom ColemanCardiff City and Swansea City are among a host of Championship clubs reportedly battling it out for Livingston forward Lyndon Dykes.
According to Team Talk , the Scottish club could well be open to selling the 6ft 2in forward, who despite signing last January only made his debut for the club this season.
Dykes has been in impressive form in this campaign, netting five goals and notching up two assists in 14 games, and his form is believed to have caught the eye of admirers elsewhere.
And, it's claimed Livingston could well decide to cash in when the transfer window re-opens in January.
The two South Wales rivals are among six Championship clubs believed to be keen on making a move, with Middlesbrough, Bristol City, Derby and Blackburn also credited with an interest.
It's not yet clear how much it would take to prise the Australian-born man away from the Scottish Premiership outfit.
The news comes after Cardiff were linked with making a move for young Ayr United striker Luke McCowan , although Bluebirds boss Neil Warnock played down any links with the 21-year old shortly before his departure from the club on Monday.


San Joaquin Valley Secion of ACS
About Us
Executive Committee
Kristi Closser (Chair)
Pahoua Xiong (Chair-Elect)
Elisabeth Shoenou (Past-Chair)


| Drink | Preparation | Temperature | Ingredients | Details |
|---|---|---|---|---|
| Cappuccino | Espresso | Hot | Equal amount of espresso and steamed milk | Pour the espresso through the milk and serve |
| Latte | Espresso | Hot | 2/3 or more steamed milk and espresso | Pour the espresso through the milk and serve. |
| Macchiato | Espresso | Hot | Espresso with just a "mark" of steamed milk | Add milk to the expresso after pressing. |
| Iced Coffee | Drip or french press | Cold | Coffee poured over ice | Can be sweetened with sugar or creme. |
| Frappé | Strong instant coffee | Cold | Instant coffee, water and milk | Shake to create a foam, then pour over ice and serve. A specialty in Greece |
| Flat white | Espresso | Hot | 1/3 espresso and 2/3 steamed milk | A specialty in Australia and New Zealand. The foam is often decorated with a motif. |


I love my dogs so much. I have two dogs. One is a Pomeranian and the other is a Yorki mix
Dogs are the best animals, they are always willing to love you unconditionally! That is why I love them
This First Picture is what a Pomeranian looks like. Very cute and fluffy.


@(name: String) @xo_base{
An email has been sent with a password reset link to your registered mail id. Kindly check your inbox. If you are not able to see it then please look at your trash / spam folders.


March 15th, 2020
If you visited my website, you probably have noticed some number of emojis I have put up almost everywhere. I like to send emojis via tex messages and post statuses with them. Many ask me, why?
My first argument would be is that they are fun. Surely, most of my friends and current adolescents might see them as cringey and overused. They have a valid point too. I use emojis thanks to light-hearted feeling they have and a bit of goofiness sprinkled on top of it. It’s just fun to send someone three dancing ladies 💃💃💃 in good faith and just let it go. No explanation needed, that’s the whole point of those colorfully encoded unicode characters. However, my biggest reason for using them would be the emotional impact I’m trying make in a text medium.
Text is a terrible way to communicate. Don’t get me wrong, I’m a huge believer in texts and written communication. Look back at the times when Empires and Anna Karenina style of love was popular. Tatyana’s Letter, probably the most romantic and heartbreaking piece of literature, ever. It was a norm to write heavy letters. Technology wasn’t really developed with quick UDP and TCP packets flying across the world that reassemble at the host. It would take weeks, maybe months for a letter to reach its destination, or not. People’s emotions would bottle up during while waiting and when the time comes, they can be splashed onto a piece of paper. The receiving party would feel the content, simply due to its length and the seriousness of emotions of that time.
Our text communication is pretty quick now. It takes a couple of milliseconds for a piece of data to fly across the world and reach the recipient. We got rid of the wait time and now I can send so many Tao of Programming quotes that you better watch out. Because of the text bandwidth we have now, I sometimes feel that texts lost that value per word. To make clear, I’m in no way complaining about the techonological marvels we achieved. Talking to each other over a distance became so mundane and routine that we don’t really think about it as much. We read a text notification and swipe up.
Not much brainpower goes into analyzing the purpose and emotions of texts you get. We all know how this medium sometimes bottlenecks true meanings. Emojis are just tone setters. That is exactly what they’re meant to be. Let the cringe go away and embrace the goofiness. Live a little ◼


customizeBoard Information Report
Contents
Contents
Board Specification
General
Routing
Routing Information
Layer Information
Layer Information
Drill Pairs
Copper Area
Copper Area
Board Holes
Non-Plated Hole Size
Plated Hole Size
Board Slots
Non-Plated Slot Size
Plated Slot Size
Board Square Holes
Non-Plated Square Hole Size
Plated Square Hole Size
Other
Top Layer Annular Ring Size
Mid Layer Annular Ring Size
Bottom Layer Annular Ring Size
Pad Solder Mask
Pad Paste Mask
Pad Pwr/Gnd Expansion
Pad Relief Conductor Width
Pad Relief Air Gap
Pad Relief Entries
Via Solder Mask
Via Pwr/Gnd Expansion
Track Width
Arc Line Width
Arc Radius
Arc Degrees
Text Height
Text Width
Net Track Width
Net Via Size
Board Specification
Back to top
Routing
| Routing Information |
| Routing completion |
53.20% |
| Connections |
391 |
| Connections routed |
208 |
| Connections remaining |
183 |
Back to top
Layer Information
| Layer |
Arcs |
Pads |
Vias |
Tracks |
Texts |
Fills |
Regions |
ComponentBodies |
| Top Layer |
0 |
442 |
0 |
562 |
2 |
0 |
1 |
0 |
| Int1 (GND) |
0 |
0 |
0 |
4 |
0 |
0 |
1 |
0 |
| Int2 (PWR) |
0 |
0 |
0 |
4 |
0 |
0 |
1 |
0 |
| Bottom Layer |
0 |
0 |
0 |
48 |
0 |
0 |
1 |
0 |
| Mechanical 1 |
0 |
0 |
0 |
5 |
0 |
0 |
0 |
151 |
| Mechanical 13 |
8 |
0 |
0 |
521 |
0 |
0 |
0 |
4 |
| Mechanical 15 |
2 |
0 |
0 |
528 |
0 |
0 |
0 |
0 |
| Multi-Layer |
0 |
106 |
135 |
0 |
0 |
0 |
1 |
0 |
| Top Paste |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Top Overlay |
48 |
0 |
0 |
818 |
332 |
0 |
0 |
0 |
| Top Solder |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Bottom Solder |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Bottom Overlay |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Bottom Paste |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Drill Guide |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Keep-Out Layer |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Drill Drawing |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Total |
58 |
548 |
135 |
2490 |
334 |
0 |
5 |
155 |
Back to top
| Drill Pairs |
Vias |
| Top Layer - Bottom Layer |
135 |
| Total |
135 |
Back to top
Copper Area
| Layer |
Sq.In. |
Sq.MM. |
Percent of layer |
| Top Layer |
2.031 |
1310.551 |
3% |
| Int1 (GND) |
64.524 |
41627.996 |
98% |
| Int2 (PWR) |
64.526 |
41629.49 |
98% |
| Bottom Layer |
0.878 |
566.32 |
1% |
| Total |
131.959 |
85134.357 |
|
Back to top
Board Holes
| Non-Plated Hole Size |
Pads |
Vias |
| 129.921mils
|
6 |
0 |
| Total |
6 |
0 |
Back to top
Back to top
Board Slots
| Non-Plated Slot Size / Length |
Pads |
| Total |
0 |
Back to top
| Plated Slot Size / Length |
Pads |
| 23.62mil / 55.118mil |
2 |
| 23.62mil / 82.677mil |
2 |
| Total |
4 |
Back to top
Board Square Holes
| Non-Plated Square Hole Size |
Pads |
| Total |
0 |
Back to top
| Plated Square Hole Size |
Pads |
| Total |
0 |
Back to top
Other
Back to top
Back to top
Back to top
| Pad Solder Mask |
Count |
| 4mils
|
548 |
| Total |
548 |
Back to top
| Pad Paste Mask |
Count |
| 0mils
|
548 |
| Total |
548 |
Back to top
| Pad Pwr/Gnd Expansion |
Count |
| 20mils
|
548 |
| Total |
548 |
Back to top
| Pad Relief Conductor Width |
Count |
| 31.496mils
|
548 |
| Total |
548 |
Back to top
| Pad Relief Air Gap |
Count |
| 10mils
|
548 |
| Total |
548 |
Back to top
| Pad Relief Entries |
Count |
| 4 |
548 |
| Total |
548 |
Back to top
| Via Solder Mask |
Count |
| 4mils
|
135 |
| Total |
135 |
Back to top
| Via Pwr/Gnd Expansion |
Count |
| 20mils
|
135 |
| Total |
135 |
Back to top
Back to top
| Arc Line Width |
Count |
| 10mils
|
58 |
| Total |
58 |
Back to top
Back to top
| Arc Degrees |
Count |
| 90 |
8 |
| 180 |
10 |
| 360 |
40 |
| Total |
58 |
Back to top
| Text Height |
Count |
| 60mils
|
334 |
| Total |
334 |
Back to top
Back to top
| Net Track Width |
Count |
| 5mils
|
107 |
| Total |
107 |
Back to top
| Net Via Size |
Count |
| 50mils
|
107 |
| Total |
107 |
Back to top


Any color supported by chart.js is supported by the annotation plugin.
Fonts use the same format as chart.js.
As with most options in chart.js, the annotation plugin options are scriptable. This means that a function can be passed which returns the value as needed. In the example below, the annotation is hidden when the screen is less than 1000px wide. The function receives 2 arguments, first is the option context representing contextual information. An options resolver is passed as second argument, which can be used to access the options that were originally passed in to configure the annotation element.
```js chart-editor /*
/*
module.exports = { config, }; ```
The drawTime
option for an annotation determines where in the chart lifecycle the drawing occurs. Four potential options are available:
| Option | Notes |
|---|---|
'beforeDraw' |
Occurs before any drawing takes place |
'beforeDatasetsDraw' |
Occurs after drawing of axes, but before datasets |
'afterDatasetsDraw' |
Occurs after drawing of datasets but before items such as the tooltip |
'afterDraw' |
After other drawing is completed. |
The option context is used to give contextual information when resolving options and only applies to scriptable options. The object is preserved, so it can be used to store and pass information between calls / options.
There are 2 levels of option context objects:
chart
annotation
The context object contains the following properties:
chart
: the associated charttype
: 'chart'
The chart option context is provided by Chart.js. It is passed to scriptable options when resolving annotation id
, type
and drawTime
or adjusting scale ranges in afterDataLimits
hook. The options resolved at that time are scaleID
, xScaleID
, yScaleID
, value
, endValue
, xMin
, xMax
, yMin
, yMax
, xValue
and yValue
.
In addition to chart
id
: the annotation idelement
: the annotation elementtype
: 'annotation'
The annotation option context is passed to scriptable options in all other cases, except when resolving id
, type
or adjusting scale ranges. The same values resolved in afterDataLimits
with chart context are again evaluated in afterUpdate
with annotation context.
Note that the annotation element may be undefined or partially uninitialized, since scriptable options may be invoked during the initial chart display, before everything’s been resolved and initialized.


Request coming from different users.
Extension:
Cookie - small text file that contains information.
To use PHP install first PHP support.
Apache alone does not have php module.
PHP is a general purpose programming language and at early age php is procedural.
$GLOBALS- used to access global variables from anywhere in the PHP script
$SERVERS- it is an array containing information such as headers,paths, and script locations.
$GET and $POST- both used to collect form-data.
NODE JS- is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side.
MEAN STACK (MONGO Db, EXPRESS, ANGULAR, NODE JS)
npm (node package manage)
Sample code to start up:
var http = requires('http');
var server = http.createServer();
server.listen(81);


Hi, I am a final year computer science undergraduate student at BITS Pilani, India.
I like working on Systems and on Deep Learning for Self Driving Cars.
I can be reached at<EMAIL_ADDRESS>Awards
• Hercules Prize, University of Modena and Reggio Emilia, 2020
• SURE Award, McGill University, 2020


While Crane can read Docker Compose configuration files (version 3), it differs in behaviour. Please make sure to read through the docs to compare. In addition, not all configuration options are fully supported yet:
depends_on
- accepts only array at the momentbuild
- only accepts an object, not a string (see #327)Moreover, some options are not supported at all or don't make sense in the context of Crane, and will be ignored if present:
domainname
ulimits
container_name
deploy
secrets


{% extends 'radioportal/base.html' %}{% load cache i18n hosts %} {% comment %} Copyright © 2012 Robert Weidlich. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.   %}
{% endfor %} {% endblock %} {% comment %} {% ifchanged %}


I felt compelled to stop my work and send you a huge thanks!...
Shortly after, I stumbled onto your software, and within a
minute my code had shrunk to 2 lines and was still working. It's
exactly what I was looking for! Flexjson compliments my development
framework in saving me time, and being flexible enough for uses in the
most basic to enterprise level of applications.
Dennis Kelly, Jackson Hole Mountain Resort
I wanna congratulate you for your project. The documentation is very easy to
undestand, simple and complete. It takes you right to the point that matters.
Flexjson made the integration between java and the web interface easy, so we
could construct well designed, concise ajax web systems in a more natural way.
Tiago Pires Carneiro
"Nice work! This API is nearly perfect for my team's use."
Michael Waluk, Workscape, Inc.
I must say I really like the quality of your code, simple, powerful and effective.
Mr. Glazer
We’ve been using flexjson...It’s been great – much better than the other
json tools we’ve experimented with.
Paul Farwell, Principle Engineer at Workscape, Inc
I just wanted to drop you a line and say great work on FlexJSON!


OpenTBS - create OpenOffice and Ms Office documents with PHP
- Introduction
- Installing
- Understanding principles
- Synopsis and code examples
- 4.1. Preparation of TinyButStrong Template Engine with the OpenTBS plug-in
- 4.2. Method LoadTemplate()
- 4.3. Method Show()
- 4.4. Block Alias
- 4.5. Change or read data of series in a chart
- 4.6. Change pictures in the document
- 4.7. Merging data in spreadsheet cells
- 4.8. Delete or merge columns in tables
- 4.9. Merge cells vertically
- 4.10. Commands to control the merging
- 4.11. Manual modification of files in the archive
- 4.12. Miscellaneous
- Demo
- Debugging your template
- What to do if Zlib extension is not enabled with PHP?
- Changelog
- License
1. Introduction
OpenTBS is a plug-in for the TinyButStrong Template Engine.
TinyButStrong is a PHP Template Engine which has special template syntax and allows you to design templates in their natural editing tools. But it normally works only for Text files, including XML and HTML.
With TinyButStrong and its plug-in OpenTBS, you can use the template engine to merge OpenOffice documents and Ms Office documents with lot of facilities. All OpenDocument Format (ODF) and Office Open XML (OOXML) can be merged with OpenTBS, and also XPS files (XPS is a PDF competitor provided by Microsoft). In fact, all zip archives containing Xml/Html/Text files can be merged with OpenTBS.
What is special to OpenTBS:
- Design your templates directly with OpenOffice or MS Office.
- No exe file needed to merge documents.
- No temporary files needed to merge documents.
- Output directly as an http download, a new file on the disk, or as a string (for file attachment for example).
- Works with both PHP 4 and PHP 5.
- No PHP extension is required (If the Zlib extension is enabled it becomes easier to use templates, see more detail below)
You should know Template Engines and more specifically TinyButStrong to use OpenTBS.
2. Installing
Requirements:
- TinyButStrong version 3.8.0 or higher. (OpenTBS versions <= 1.5.0 require TinyButStrong version 3.6.0 or higher)
- PHP 4.3 or higher, PHP 5
- It is better to have the Zlib extension enabled on your PHP installation. If it's not, here is what to do.
Installation:
Just put the file "tbs_plugin_opentbs.php" with your PHP scripts.
3. Understanding principles
It is important to figure out that documents made with LibreOffice, OpenOffice and Ms Office (since version 2007) are technically zip archives containing XML files, even if the extension of the document is not ".zip". Those zip archives can contain other file types like pictures or sounds, but the document structure and the text contents are saved as XML files. The XML Synopsis summarizes the key entities of XML sub-files contained in LibreOffice, OpenOffice and Ms Office documents.
TinyButStrong can merge XML files, but cannot read zip archives by itself. The plug-in OpenTBS extends the TinyButStrong methods LoadTemplate() and Show() to make them working with zip archives. But you do not have to bother with it because OpenTBS is managing archives in a way that is quite invisible for you.
When the OpenTBS plugin is installed, the LoadTemplate() method becomes able to first load a zip archive (a LibreOffice, OpenOffice or Ms Office document), and then to load the contents of any XML or Text files stored in the archive. Then you can load an merge the contents of XML or Text files with all features of the TinyButStrong template engine. TBS can merge fields and blocks only for the current loaded sub-file, but OpenTBS make you very easy to manage sub-files and gives lot of facilities for special contents such as pictures, charts, ... . At the end, the Show() method does render the entire zip archive including modified stored files. The render can be done as an HTTP download, or a new file on the server's disk, or as a PHP string containg the binary of the result archive.
Since OpenTBS version 1.3, you can also add and delete files in the archive.
OpenTBS has automatic extension recognition. When you load a document which has one of the following extensions { odt, odg, ods, odf, odp, odm, docx, xlsx, pptx }, then the main XML file of the archive are automatically loaded, and some special character conversion are preset. For example, for all OpenDocument files, the stored file "content.xml" is automatically loaded.
Since version 1.6.0, if the extension is not recognized then OpenTBS also try to find the document by the sub-file presence. And if all fails, then you can force the document type using a special command.
4. Synopsis and code examples
4.1. Preparation of TinyButStrong Template Engine with the OpenTBS plug-in
include_once('tbs_class.php'); include_once('tbs_plugin_opentbs.php'); $TBS = new clsTinyButStrong; $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN);
4.2. Method LoadTemplate()
• Load an archive with the automatic extension recognition (explained above):
• Load an archive without the automatic extension recognition:
• Load an archive with a PHP file handle:
$handle = tmpfile(); fwrite($handle, $binary_contents); $TBS->LoadTemplate($handle);
• Load an archive and one file stored in this archive:
• Load an archive and several files stored in this archive:
• Unload the current template, so the template file is no longer locked:
• Load a stored file from the current archive:
See command OPENTBS_SELECT_FILE.
• Load an archive with special data conversion:
OpenTBS manages XML files that are UTF8 encoded. But by default, it assumes that all the data to merge (which can come from PHP or SQL) is Ascii encoded, and thus it performs conversions. If you want to define the data conversion, then you can use one of the following constants:
- OPENTBS_DEFAULT: OpenTBS assumes that all data is ASCII encoded,
- OPENTBS_ALREADY_UTF8: OpenTBS assumes that all data is already UTF8 encoded,
- OPENTBS_ALREADY_XML: OpenTBS assumes that all data is already XML encoded, and thus it won't convert data at all. Take care of that option.
Please note that if you need to change the data conversion for one or few fields only in your template, then you can use parameter "htmlconv" (see the TBS documentation for more details).
4.3. Method Show()
Render options for OpenTBS:
• Render the merged archive as an HTTP download: ($file_name is optional)
• Render the merged archive as an HTTP output with your customized HTTP headers:
$TBS->Show(OPENTBS_DOWNLOAD + OPENTBS_NOHEADER); // output the binary file without header
• Render the merged archive as a new file saved on the server's disk:
• Render the merged archive as a PHP string:
$string = $TBS->Source;
When you use OPENTBS_STRING then there is no output for the client. But instead, the binary source of the archive is placed into property $TBS->Source. This feature can be useful, for example, when you want to place the merged document into an email as an attached file.
4.4. Block alias
Block Alias are supported since OpenTBS version 1.8.0, they can work only with TBS 3.8.0 or higher.
The Block Alias are wrappers for defining TBS blocks on usual Libre Office and Ms Office entities. This helps to not referring directly to XML entities and to harmonize block definitions between types of documents. For example: you can use block=tbs:row instead of block=table:table-row.
Some Block Alias, such as tbs:page and tbs:section, are also defining an entity that you cannot have with normal XML entities.
Block alias available according to the type of document :
| Alias | Desciption | LibreOffice | Ms Office | ||||
|---|---|---|---|---|---|---|---|
| Writer (odt) |
Calc (ods) |
Impress (odp) |
Word (docx) |
Excel (xlsx) |
PowerPoint (pptx) |
||
| tbs:p | A paragraph. | yes | no | yes | yes | no | yes |
| tbs:title | A title. | yes | no | yes | yes | no | yes |
| tbs:section | A section of text. | yes | no | no | yes (*) | no | no |
| tbs:table | A table inserted in the document. | yes | a sheet | yes | yes | no | yes |
| tbs:row | A row of a table. | yes | yes | yes | yes | yes | yes |
| tbs:cell | A cell of a table. | yes | yes | yes | no | yes | yes |
| tbs:comment | A comment. | yes | yes | yes | no | no | no |
| tbs:page | A page defined by an explicit page break before a paragraph.(*) | yes | no | no | yes (*) | no | no |
| tbs:slide | A slide. | no | no | yes | no | no | no |
| tbs:sheet | A worksheet. | a table | yes | no | no | no | no |
| tbs:draw | A single draw, or set of draws (Ms Word) | yes | yes | yes | yes | yes | yes |
| tbs:drawgroup | A group of draws. | yes | yes | yes | yes | yes | yes |
| tbs:drawitem | A single draw item among a set of items. | yes | yes | yes | yes | yes | yes |
| tbs:listitem | An item of a bullet list. | yes | no | yes | yes | no | yes |
Notes (*)
- tbs:page in a DOCX: works with the two ways for defining a page break: (1) insert a section break doing a page break, or (2) use the paragraph property named page break before.
- tbs:page in a DOCX: the TBS tag using the alias tbs:page must not be placed in the last paragraph of the page if it uses a section break doing a page break. This is a knowed bug. Instead, use the paragraph property named page break before, or move the TBS tag in another paragraph.
- tbs:section in a DOCX: this alias points out avery kind of sections, including thoses defined with a section break doing a page break
4.5. Change or read data of series in a chart
• Change series in a chart:
This command changes the values of a series in a Chart of the document. The chart will be automatically actualized when the merged document is opened because OpenTBS also breaks the link between the chart and its cached view. It can also delete or rename the series in the chart.
The result is true if the series is modified with success, otherwise the result is false.
| Argument | Description |
|---|---|
$ChartRef |
The reference to find the chart. This value can be either:
You can use the command OPENTBS_DEBUG_INFO in order to view all charts in the document that OpenTBS can manage. Deprecated since version 1.8.0: in previous version, $ChartRef could be the internal name of the XML file that contains the chart definition, with or without the extension. Such as 'chart1'. |
$SeriesNumOrName |
Exact caption of the series in the chart, or its number (first is number 1). Typically 'Series 1' or 1. |
$NewValues |
The new data of the series. Must be an array, or value false if you want to delete the series. The array can store data with 3 possibilities: Structure #1: $NewValues = array( array('cat1', 'cat2', 'cat3', ...), array(val1, val2, val3, ...) ); Structure #2: $NewValues = array('cat1'=>val1, 'cat2'=>val2, 'cat3'=>val3, ...); Structure #3: $NewValues = array( array(x1, y1), array(x2,y2), array(x3, y3), ...); Notes :
|
$NewLegend |
Optional. The new caption of the series. |
Please note:
- The type of the chart cannot be changed.
- Some charts may not be recognized by this feature when the Word document is created with Word <= 2007 or is saved with a Compatibility Mode. You have to convert charts to have it work (right on the chart and choose "Convert"). You can use the command OPENTBS_DEBUG_INFO in order to view all unsupported charts in the document.
- Charts in worksheets (Ms Office and LibreOffice) are not supported. This is because such charts are linked to cells.
- With Ms Office, the chart must not be linked to external data (such as an Excel worksheet). Otherwise the chart will be automatically actualized back the previous values when it will be opened.
- With Ms Office, the visual Data Editor becomes unavailable on a merged chart. If you set property $TBS->OtbsDeleteObsoleteChartData = false then the Data Editor of Ms Office can be opened but it displays only previous values, which may be quite confusing. This property is supported since OpenTBS version 1.9.5, before that the visual Data Editor could be opened but displayed only previous data.
• Read series in a chart:
This command returns information about all series in the chart.
The result is an associative array whose structure depends on argument $Complete.
| Argument | Description |
|---|---|
$ChartRef |
The reference to find the chart. Same as OPENTBS_CHART. |
$Complete |
If $Complete = false, the command returns a simple list of all series and theirs corresponding data with structue #1 described in OPENTBS_CHART. // Example : array ( 'Series 1' => array( 0 => array (0 => 'Category A', 1 => 'Category B', 2 => 'Category C'), 1 => array (0 => '2', 1 => '2.1', 2 => false,), ), 'Series 2' => array( 0 => array (0 => 'Category A', 1 => 'Category B', 2 => 'Category C',), 1 => array (0 => '7', 1 => '7.1', 2 => '6.9',), ), ... ); If $Complete = true, the command return an array with information about subfiles, and also all the series (name, categories, values) in a different structure. // Example : array ( 'file_idx' => 17, 'file_name' => 'Object 1/content.xml', 'parent_idx' => 19, 'parent_name' => 'content.xml', 'series' => array ( 0 => array ( 'name' => 'Series 1', 'cat' => array (0 => 'Category A', 1 => 'Category B', 2 => 'Category C',), 'val' => array (0 => '2', 1 => '2.1', 2 => false,), ), 1 => array ( 'name' => 'Series 2', 'cat' => array (0 => 'Category A', 1 => 'Category B', 2 => 'Category C',), 'val' => array (0 => '7', 1 => '7.1', 2 =>'6.9',), ), ... ); |
4.6. Change pictures in the document
• Change an internal picture with a new one:
In the example above, $x is a PHP global variable containing the name of an external picture file (relative or absolute path). Of course you can use this feature on TBS fields merged with MergeBlock().
When a TBS field having "ope=changepic" is merged in the template, then OpenTBS will search the first picture located before the field (see parameter tagpos below for another position), and then it will change the picture assuming that the value of the field is the path for a picture file on the server. You don't have to care about loading the picture file in the document, OpenTBS will manage this for you.
Note that parameter "ope=changepic" is a feature provided by the OpenTBS plug-in, which extends the "ope" parameter natively present with TBS.
Instead of change a picture with a TBS tag, you can also do it manually at the PHP side using the command OPENTBS_CHANGE_PICTURE.
Note that since OpenTBS version 1.8.0, you can change picture in Ms Excel worksheet. You must put the TBS field inside the picture description and use parameter "tagpos=inside". Before this version it was not possible to change pictures in an Ms Excel worksheet.
In order to simplify your coding, they are other complementary optional parameters:
| Parameter | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| tagpos | Supported values are "after", "before" and "inside". This option indicates the position of the TBS tag relativelly to the target picture. You can use "tagpos=inside" when you put the TBS field in the Description or Title of the image (LibreOffice/OpenOffice or Ms Office).
Parameter tagpos is supported since OpenTBS version 1.8.0. Previsouly the TBS tag had to be placed after the picture. |
||||||||
| adjust | Adjust the size of the picture in the document. This parameter requires that PHP is configured with the GD extension, which is usually the case. Values can be on of the followings:
Parameter adjust is supported since OpenTBS version 1.7.0. |
||||||||
| unique | Indocate to OpenTBS that the original picture is unique in the template and can be deleted. This actually saves size of the final document. If the original picture is in fact displayed somewhere else in the template, that may produce a missing picture. Parameter unique is supported since OpenTBS version 1.9.1. |
||||||||
| from | This option reformulates the path of the new picture to insert. The parameter's value can contain the [val] keyword or any [var] fields, they work the same way as with parameter "file". Example: [onshow.x;ope=changepic;from='../pic/[val].gif'] |
||||||||
| as | This option reformulates the name of the picture that it will take inside the document. It is rare to need it, but it can help in some cases. Note that the external picture file is not renamed. The new name must be defined without path. The parameter's value can contain the [val] keyword or any [var] fields, they work the same way as with parameter "file". Example: [onshow.x;ope=changepic;as='[val].gif'] |
||||||||
| default | This option defines the picture that should be used when the expected one is not found. The parameter's value must be the path of a file on the server, or the keyword "current". Since OpenTBS version 1.8.0 the default value is "current". In prior versions, there was no default value and an OpenTBS error message was prompted if the new image was not found. |
4.7. Merging data in spreadsheet cells
In speaksheets (Ms Excel or LibreOffice Calc), cells values may be formated but also typed. For example, a cell value may be typed as String, Numerical, Boolean or Date.
Unfortunately, as soon as you enter a TBS tag in a cell, the cell it is typed as String by the software. This may not be corresponding to the final value you wanted after the merging.
For those situations, TBS offers a parameter like "ope=cellType". The cell type will be changed during the merging and the merged value will be implicitly converted by TBS to fit to the expected type.
Example:
- [onload.x;ope=tbs:num] => will turn the cell as Numerical after $x is merged.
Parameters for merging data in spreadsheet cells:
| Expected Cell Type | Parameter | Note |
|---|---|---|
| Number | ope=tbs:num | |
| Boolean | ope=tbs:bool | |
| Date/time | ope=tbs:date | |
| Time only | ope=tbs:time | For XLSX, it's an alias of ope=tbs:date |
| Currency | ope=tbs:curr | For XLSX, it's an alias of ope=tbs:num |
| Percentage | ope=tbs:percent | For XLSX, it's an alias of ope=tbs:num |
The keywoks in the table above are supported since OpenTBS version 1.8.1.
In previous version you should use keywords: odsNum, odsBool, odsDate, odsTime, odsCurr, odsPercent, xlsxNum, xlsxBool and xlsxDate.
4.8. Delete or merge columns in a table
Delete columns in a table
Parameter "ope=delcol" enables you to delete the columns you want in any table of an Ms Word Document or any LibreOffice document.
Limitations: Parameter "ope=delcol" will produce a wrong result if there is any cell with a merged style before of within the columns to delete using OpenTBS.
You have to put a TBS field anywhere inside the table with the following parameters:
- ope=delcol
- colnum = the column numbers to delete, separated with commas (first column is number 1).
- colshift = (optional) if parameter "colnum" has only one value then "colshift" extends the number of columns to delete to the left or to the right.
Both parameters "colnum" and "colshift" can contain [val] and [var] fields. When the TBS field is merged, the specified columns will be deleted and the TBS field is erased.
- [onload;ope=delcol;colnum=2,4,6] => will delete columns {2,4,6}
- [onload;ope=delcol;colnum=2;colshift=2] => will delete columns {2,3,4}
- [onload;ope=delcol;colnum=2;colshift=-1] => will delete columns {1,2}
- [onload.col_to_delete;ope=delcol;colnum=[val];colshift=2] => will delete 3 columns staring from column number $col_to_delete
Parameter "ope=delcol" is supported since OpenTBS version 1.8.0.
Merge dynamic colmuns in a table
Parameter "parallel=tbs:table" enables you to create dynamic columns in a table of an Ms Word Document or any LibreOffice document.
Limitations:
- Parameter "parallel=tbs:table" doesn't work with Ms Excel and Ms Powerpoint documents.
- Parameter "parallel=tbs:table" with OpenTBS will produce a wrong result if there is any cell with a merged style before of within the columns to merge with data using OpenTBS.
See the TBS manual and the OpenTBS demo for more details about how to use parameter "parallel".
Parameter "parallel=tbs:table" is supported since OpenTBS version 1.8.2.
4.9. Merge cells vertically
Parameter "ope=mergecell" enables you to merge cells vertically in a table of an Ms Word Document.Limitations:
- Parameter "ope=mergecell" doesn't work with LibreOffice.
- Parameter "ope=mergecell" will produce a wrong merge if there is any cell with a maged style before of within the columns to merge with data using OpenTBS.
Parameter "ope=mergecell" can work only for a block merged on the rows of the table. Note that the TBS field with "ope=mergecell" does not display any value, it only produces the merge.
- [b.rank;block=tbs:row][b.rank;ope=mergecell] => This will display the colmun rank and also merge the cells vertically depending on the rank.
Parameter "ope=mergecell" is supported since OpenTBS version 1.8.0.
4.10. Commands to control the merging
The following commands are supported since OpenTBS version 1.7.0 :
| Command | Description |
|---|---|
| For all types of documents | |
| $TBS->PlugIn(OPENTBS_SELECT_MAIN) | Select and load the main sub-file in the opened template. For example in a Writer document, or an Ms Word document, this command can bring you back from the merging of a header to the main body. |
| $TBS->PlugIn(OPENTBS_SELECT_FILE, $SubFile) | Select a sub-file in the opened template. Return false if the sub-file is not found. If the sub- file is stored in a subfolder, then indicate the full path. For example: 'word/document.xml'. Before OpenTBS 1.9.0, selecting a sub-file had to be done using $TBS->LoadTemplate('#' . $SubFile);. Command OPENTBS_SELECT_FILE is supported since OpenTBS version 1.9.0. |
$TBS->PlugIn(OPENTBS_CHANGE_PICTURE, $PicRef, $File
[, $Prms])
Deprecated: $TBS->PlugIn(OPENTBS_CHANGE_PICTURE, $PicRef, $File |
Does not work with XLSX yet. Change one or several pictures in the current sub-file. This command does the same as the changepic feature. The difference is that the command needs no TBS tags in the template.
Example: $prms = array('unique' => true); Parameter $Prms is supported since version 1.9.1. |
| $TBS->PlugIn(OPENTBS_DELETE_COMMENTS) | Delete all usual user comments in the opened template. |
| $TBS->PlugIn(OPENTBS_DELETE_ELEMENTS, $Elements) | Delete XML elements in the current sub-file. $Elements must be an array of strings. For example: $Elements = array('w:bookmarkStart', 'w:bookmarkEnd') This will delete all bookmarks in an Ms Word document. |
| $TBS->PlugIn(OPENTBS_ADD_CREDIT, $Text [, $Name]) | Add a new credit text in the properties of the document. For LibreOffice/OpenOffice, this will add the text as a new Custom Property of the document. You can use argument $Name for the custom property's name. For Ms Office, this will add the text in the Author property of the document. You can use argument $Name to specify another XML element for placing the text. Exemple : 'dc:description' will add the text in the Comment property. Take care that using an unsupported value can corrupt the document. Command OPENTBS_ADD_CREDIT is supported since OpenTBS version 1.9.1. |
| $TBS->PlugIn(OPENTBS_SYSTEM_CREDIT, $Enable) | Enable or disable the System Credit. System Credit add the current version of OpenTBS into a creator property of the document. The System Credit is enabled by default. Command OPENTBS_SYSTEM_CREDIT is supported since OpenTBS version 1.9.1. |
| $TBS->PlugIn(OPENTBS_EDIT_ENTITY, $SubFile , $ElPath, $Att, $NewVal, $AddElIfMissing = false) |
Change an attribute's value or an entity's value in the first element in a given sub-file. Return true if the attribute is found and processed, false otherwise.
Command OPENTBS_EDIT_ENTITY is supported since OpenTBS version 1.9.5. |
| For documents (ODT and DOCX) | |
| $TBS->PlugIn(OPENTBS_SELECT_HEADER, [$Type[, $Offset]) $TBS->PlugIn(OPENTBS_SELECT_FOOTER, [$Type[, $Offset]) |
Select the sub-file corresponding to the header of the footer. Return true if succeed, false if it fails. This command is useless for LibreOffice/OpenOffice because all headers and footers are saved in the main sub-file. Nevertheless using it will select the main sub-file without raising an error. Those commands do not work for XLSX or PPTX since headers and footers are saved in each sheet or slide. The command will return false. $Type must be one of the following values (default is OPENTBS_DEFAULT):
$Offset can help when they are different headers and footers of the same type defined in the document. A document can have several sections and each section can have its own header and footer. But they can also have headers and footers linked to another section. Such that a document can have several headers and footers of the same type in a single document. Use the argument $Offset in order to select other one. Default value is 0. Command OPENTBS_SELECT_HEADER and OPENTBS_SELECT_FOOTER are supported since OpenTBS version 1.9.0. |
| $TBS->PlugIn(OPENTBS_GET_HEADERS_FOOTERS) | Return an array of all sub-file corresponding to any header and footer in the document. Command OPENTBS_GET_HEADERS_FOOTERS is supported since OpenTBS version 1.9.0. |
| For workbooks (ODS and XLSX) | |
| $TBS->PlugIn(OPENTBS_SELECT_SHEET, $NumOrName [, $ById]) | Select the sub-file corresponding to $NumOrName. This command will raise an error if the opened template is not an expected document. This command is useless for LibreOffice/OpenOffice because all sheets/slides are all saved in the main sub-file. Nevertheless using it will select the main sub-file without raising an error. $NumOrName is an identifier that can be either an integer corresponding to the number of the sheet in the sheet list (first is number 1), or a string corresponding to the name of the sheet. Use command $TBS->PlugIn(OPENTBS_DEBUG_INFO) to list all id and name of sheets/slides in the current document. Use command $TBS->PlugIn(OPENTBS_COUNT_SHEETS) get the number of sheets in the workbook. $ById is false by default, set it to true if you want to select the sheet by its internal ID instead of its number in the sheet list. This can be used for compatibility with previous OpenTBS vesions (see version history below). Command OPENTBS_SELECT_SLIDE is supported since OpenTBS version 1.8.0. |
| $TBS->PlugIn(OPENTBS_DISPLAY_SHEETS, $NumOrNames[, $Visible]) | Make one or several sheets/slides visible or hidden. This command will raise an error if the opened template is not an expected document.
Command OPENTBS_DISPLAY_SLIDES is supported since OpenTBS version 1.8.0. |
| $TBS->PlugIn(OPENTBS_DELETE_SHEETS, $NumOrNames[, $Delete]) | Make one or several sheets te be deleted or not. This command will raise an error if the opened template is not a Workbook.
Please note that for now, you must not delete a sheet that contains a Pivot Table in a XLSX workbook because this will produce an error when the workbook is opened. Command OPENTBS_DELETE_SLIDES is supported since OpenTBS version 1.8.0. |
| $TBS->PlugIn(OPENTBS_COUNT_SHEETS) | Return the number of sheets in the workbook. Always return 0 if the document is neither an XLSX nor an ODS. Command OPENTBS_COUNT_SHEETS is supported since OpenTBS version 1.9.1. |
| $TBS->PlugIn(OPENTBS_MERGE_SPECIAL_ITEMS) | Merge special items relatively to the current sub-file. For now, it only works with Ms Excel workbooks. This command makes automatic fields ([onload] and [onshow]) merged in pictures embedded in the current selected sheet. This can be useful for changing pictures in Ms Excel. Command OPENTBS_MERGE_SPECIAL_ITEMS is supported since OpenTBS version 1.8.0. |
| $TBS->PlugIn(OPENTBS_RELATIVE_CELLS, $Enabled[, $Options]) | This command may significatively optimize time generation for XLSX workbooks that contains sheets with large numerous rows. By default the Ms Excel software saves sheets with explicit cells positioning, and OpenTBS has the same behavior by default. This operation may be quite slowing OpenTBS for sheets with large numerous rows. In another hand saving sheets with relative cells positioning is quite faster and the final file may be smaller. Use this command in order to define the saving behavior about cells.
This command has no effects for other documents type than XLSX workbooks. Command OPENTBS_RELATIVE_CELLS is supported since OpenTBS version 1.9.2. |
| For presentations (ODP and PPTX) | |
| $TBS->PlugIn(OPENTBS_SELECT_SLIDE, $NumOrName[, $Master]) | Same as command OPENTBS_SELECT_SHEET but for slides. $Master is a boolean to indicate if you want to select a master slide in the document. Default value is false. Command OPENTBS_SELECT_SLIDE is supported since OpenTBS version 1.8.0. |
| $TBS->PlugIn(OPENTBS_DISPLAY_SLIDES, $NumOrNames[, $Visible]) | Same as command OPENTBS_DISPLAY_SHEET but for slides. |
| $TBS->PlugIn(OPENTBS_DELETE_SLIDES, $NumOrNames[, $Delete]) | Same as command OPENTBS_DELETE_SHEETS but for slides. |
| $TBS->PlugIn(OPENTBS_COUNT_SLIDES[, $Master]) | Return the number of slides in the presentation. Always return 0 if the document is neither a PPTX nor an ODP. $Master is a boolean to indicate if you want to count master slides in the document. Default value is false. Command OPENTBS_COUNT_SLIDES is supported since OpenTBS version 1.8.0. |
| $TBS->PlugIn(OPENTBS_SEARCH_IN_SLIDES, $Str[, $Options]) | Search for the string $Str trough the slides of the current document. Return the id of the first slide where the string is found. Return false if the string is not found. $Options must be a combination of the following constants. Default value is OPENTBS_FIRST.
This command is useless for LibreOffice/OpenOffice because all slides are all saved in the main sub-file. Nevertheless using will not raise an error. Command OPENTBS_SEARCH_IN_SLIDES is supported since OpenTBS version 1.9.0. |
4.11. Manual modification of files in the archive
• Check if a file does exists in the archive:
Return true or false. $Name must include the inner path. For example : $Name = 'META-INF/manifest.xml';
• Add any new file in the archive:
// OpenTBS >= 1.6.0 $TBS->Plugin(OPENTBS_ADDFILE, $Name, $Data, $DataType=OPENTBS_STRING, $Compress=true); // Deprecated since OpenTBS 1.6.0 $TBS->Plugin(OPENTBS_PLUGIN, OPENTBS_ADDFILE, $Name, $Data, $DataType=OPENTBS_STRING, $Compress=true);
If $Data is false then the previously add file with the given name is canceled if any.
$DataType must be OPENTBS_STRING if $Data is the content to add ; it must be OPENTBS_FILE if $Data is the path of the external file to insert.
$Compress can be true, false or an array with keys ('meth','len_u','crc32') which means that the data is already previously compressed.
• Replace an existing file in the archive:
The arguments are the same as command OPENTBS_ADDFILE.
Please note that any TBS merge on a file in the archive will cancel previous or future replacements.
• Delete an existing file in the archive:
// OpenTBS >= 1.6.0 $TBS->Plugin(OPENTBS_DELETEFILE, $Name); // Deprecated since OpenTBS 1.6.0 $TBS->Plugin(OPENTBS_PLUGIN, OPENTBS_DELETEFILE, $Name);
Delete the existing file in the archive, or a file previously added using the OPENTBS_ADDFILE command.
• Reset all modifications in the archive:
// OpenTBS >= 1.6.0 $TBS->Plugin(OPENTBS_RESET); // Deprecated since OpenTBS 1.6.0 $TBS->Plugin(OPENTBS_PLUGIN, OPENTBS_RESET);
The automatic extension recognition is also applied as it was applied for the first load of the archive.
4.12. Miscellaneous
Dealing with apostrophes:
Both OpenOffice and Ms Office may automatically convert single quotes (') into typographic apostrophes (’), depending to the auto-correction options. This may be annoying when you need to code a TBS fields that have a single quote. That's why OpenTBS automatically convert by default all (’) back to single quotes (') in documents.
If you want to stop this conversion, you can set $TBS->OtbsConvertApostrophes = false; and no apostrophes will be converted. Note that you can avoid the auto-correction of single quotes (') in Ms Word using keys[ctrl]+[z], and in OpenOffice using the cancel button.
• Forcing the document type recognition:
You can force the document type recognition using command OPENTBS_FORCE_DOCTYPE. Example:
This command is supported since OpenTBS version 1.6.0.
• Retrieving the name of the current document:
Property $TBS->tbsCurrFile indicates the name of the current file loaded from the archive. The value is false if no file is loaded yet from the archive.
Other TinyButStrong methods and properties stay unchanged and are available for merging your template.
5. Demo
The OpenTBS package includes a full set of runnable templates. Some templates can contain useful complementary information for designing.
Run the following demo under PHP: OpenTBS demo
6. Debugging your template
Since OpenTBS version 1.6.0, there are several commands for debugging. Please note that those commands do not exit the process.
| Command | Desciption |
|---|---|
| $TBS->PlugIn(OPENTBS_DEBUG_INFO [, $Exit]) | Display technical information about the current loaded template, including sheet information if the template is a workbook, and chart information if the template have some. $Exit must be a boolean, default value is true. |
| $TBS->PlugIn(OPENTBS_DEBUG_XML_CURRENT [, $Exit]) | Display XML contents of sub-files already opened and modified for merging. XML is indented in order to improve reading. $Exit must be a boolean, default value is true. |
| $TBS->PlugIn(OPENTBS_DEBUG_XML_SHOW) | Ends the merge process as if the final document was created. But instead of creating the document, displays the XML contents of sub-files modified for merging. XML is indented in order to improve reading. |
There is also deprecated debug options:
| Command | Desciption |
|---|---|
| $TBS->PlugIn(OPENTBS_DEBUG_XML) | Does the same as $TBS->PlugIn(OPENTBS_DEBUG_XML_SHOW); Supported since OpenTBS version 1.3.2. |
| $TBS->PlugIn(OPENTBS_DEBUG_XML+OPENTBS_DEBUG_AVOIDAUTOFIELDS) | Avoid merging of [onload], [onshow] and [var].Supported since OpenTBS version 1.3.2. |
| $TBS->Render = OPENTBS_DEBUG_AVOIDAUTOFIELDS; | Work also in property Render.Supported since OpenTBS version 1.3.2. |
| $TBS->PlugIn(OPENTBS_DEBUG_CHART_LIST) | Does the same as $TBS->PlugIn(OPENTBS_DEBUG_INFO);Supported since OpenTBS version 1.6.0. |
Otherwise, here are some indications that may help for the issues you can met with merging:
a) The merged document is producing error messages when opened with its application (OpenOffice or Ms Office)
The most likely causes are:
• You've chosen the OPENTBS_DOWNLOAD render option but a php error message or any other unexpected content has been output before by PHP.
Activate the debug mode using the command OPENTBS_DEBUG_XML_SHOW, it helps to check PHP error message and other unexpected content.
• The merging has produced an invalid document or an invalid XML content in an XML file of the document.
Activate the debug mode using it helps to check the XML contents of merged files.
See section (b) below for more information in the XML structure of the files.
b) Some TBS tags are not merged
First be sure that the TBS tag is a in a part of the document which is loaded and selected. Since a sub-file is loaded, automatic block ([onload] and [onshow]) will be merged. And you need to have the sub-file selected in order to use MergeBlock() and MergeField() on it. See commands like OPENTBS_SELECT_*. For example, in Ms Word , header and footers are loaded, and the main document is loaded and selected, but your need to select back a header part in order to use MergeBlock() on it.
Then, it may happens that a TBS tag seems uniformly formatted, while in fact the inner XML is split because of small difference in format, small different spelling information, or other... In order to avoid inner split, you can select the TBS tags, then cut it, and then paste it back without formatting. It is “Paste special / Unformatted text” in LibreOffice, or “Paste / Keep Text Only” is Ms Office.
For MS Word, you can also use “OpenTBS plug-in for Microsoft Word”, which is given with the standard OpenTBS package. This plug-in gives a tag cleaner tool.
c) The merged document is well opened by its application (OpenOffice or Ms Office) but the content is not designed as expected
First, you can have a look the demo templates, they contain examples and advices for each type of document.
And to go further: even if you can edit your template using directly OpenOffice or Ms Office, you will probably need to understand the XML tags and attributes to complete your merge. The file xml_synopsis.txt is a small synopsis of the XML structure you can found in the inner source of those documents. Have a look to it if you feel lost.
d) Go deeper in the debugging
You can view the inner source of a document using a zip software like 7-Zip. It allows you to open an archive even if the extension is not ".zip".
- Open the merged document with 7-Zip (or your other zip software),
- extract the main XML file (or another file that you've merged),
- then open the XML file in an Text Editor software.
- those XML files are usually saved with no line breaks, which make them hard to be read. Some Text Editors can reformat them. You can also use the debug mode to see the formatted XML.
- check the structure of the XMK, try some fix and arrangements, deleted suspicious parts, ...
- put the modified XML file back to the archive, and test if it's correctly opened with its application (OpenOffice, Ms Office)
7. What to do if Zlib extension is not enabled with PHP?
OpenTBS uses Zlib functions in order to automatically uncompress and recompress files stored in the zip archive. If Zlib is not enabled, then you have to use your own uncompress/compress tool, or to prepare the template to have files uncompressed in the zip archive.
Example to uncompress the "content.xml" file in an ODT document using 7-Zip:
- open the ODT file with 7-Zip,
- extract the "content.xml" file from the ODT file in the same folder than the ODT file,
- close 7-Zip,
- open 7-Zip, and change current directory to be the same as the ODT file
- select the "content.xml" file and click on button [Add], or menu [File][7-Zip][Add to archive...],
- a new window named "Add to archive" is opened,
- replace the archive name with the ODT file name,
- set the Compression level to "None",
- click on [Ok].
If you re-open the ODT file with 7-Zip, you can notice that the size and the uncompressed size are the same.
If the file should be placed in a sub-folder of the archive, then open the archive and rename the file in order to move it in a folder. For example rename "manifest.xml" to "META-INF\manifest.xml" will move it into META-INF. But moving the file will no delete the one which has the same name in the target folder. You have to go and delete the old one.
8. Changelog
version 1.9.6, on 2016-03-24
Bug fixes
- Some commands used to find a worksheet by its internal id instead of its number in the worksheet list. Now they all search by number in the worksheet list.
Please not that you may have to change your code if you are using those command with the number if the sheet rather of the name of the sheet.
Concerned commands are:- OPENTBS_SELECT_SHEET
- OPENTBS_DELETE_SHEET
- OPENTBS_DISPLAY_SHEETS
- Merging text with line-breaks in a DOCX was not displayed correctly in LibreOffice.
Enhancements
- DOCX: Some special merging of enhanced graphical objects (like merging fill color in a shape) may corrupt the document because they are stored in several ways by Ms Word.
- The XML synopsis in now available in HTML.
version 1.9.5, on 2016-02-09
New features
- New command OPENTBS_EDIT_ENTITY
- New command OPENTBS_CHART_INFO
- $TBS->LoadTemplate(false) does close the current template so the template file is no longer locked.
- New OpenTBS add-in for Microsoft Word: it helps to clean TBS tags.
Enhancements
- new property $TBS->OtbsDeleteObsoleteChartData = true; (Ms Office only)
- OpenTBS do not redo optimisation on the loaded template if it has already been done by OpenTBS previously.
- Chart in Ms Office : Ensure the caption of a category is displayed even if is has missing data.
- Some code cleanup.
Bug fixes
- PHP error with ODT templates when changing the name of a Chart series that hadn't any name before.
- PHP error when using command OPENTBS_SEARCH_IN_SLIDES.
- OpenTBS error « unable to found the chart corresponding to 'xxx' » in DOCX when the chart is not formated as inline with text.
version 1.9.4, on 2015-02-11
Bug fixes
- Document corruption with OpenTBS 1.9.3 when merging pictures in a block and using parameter "adjust".
version 1.9.3, on 2015-01-16
Bug fixes
- XLSX corruption when merging a float value to a cell when the decimal separator is not a dot because of the locale setting.
- Possible DOCX corruption when using text box or tables in header and footer.
- Produce a corrupted Ms Office document when delete the last series of a chart using command OPENTBS_CHART. May happens with other series.
version 1.9.2, on 2014-09-25
Enhancements
- 6 times faster when saving XLSX merged sheets with numerous rows.
New features
- OPENTBS_RELATIVE_CELLS : optimizes XLSX merged sheets with numerous rows.
version 1.9.1, on 2014-09-20
New features
- New parameter "unique" for replacing all instances of the picture and save space.
- New command OPENTBS_COUNT_SHEETS.
- New command OPENTBS_ADD_CREDIT.
- New command OPENTBS_SYSTEM_CREDIT.
- ODS files are now recognized. It is equivalent to ODS.
Enhancements
- OPENTBS_CHANGE_PICTURE now use an array of parameters.
Bug fixes
- Adjusting size of image in docx.
- When turn a sheet to hidden in an XLSX, then the document may be corrupted.
- Command OPENTBS_COUNT_SLIDES did not work for ODP.
- A PPTX can be corrupted when opening a template which is a previous result of a merge. This is because an <a:r> must contain at least one <a:t>.
- Merging several XLSX with the same OpenTBS instance can produce erroneous merged cells.
version 1.9.0, on 2014-04-10
New features
- new command OPENTBS_SELECT_FILE
- new command OPENTBS_SELECT_HEADER
- new command OPENTBS_SELECT_FOOTER
- new command OPENTBS_GET_HEADERS_FOOTERS
- new command OPENTBS_SEARCH_IN_SLIDES
- new parameter $Master for command OPENTBS_SELECT_SLIDE and OPENTBS_COUNT_SLIDES
Enhancements
- Debug mode available even if no template is loaded.
- Debug mode display the Zlib availability.
- Based on TbsZip 2.16
Bug fixes
- Corrupted MS Office files when inserting images named with space or accent.
- XLSX warning for corrupted subfile "/xl/calcChain.xml-Part".
- Some ODS templates compatible with Ms Excel can become erroneous for Ms Excel after the merge with OpenTBS. Message "The workbook cannot be opened or repaired by Microsoft Excel because it is corrupt".
- Some XLSX templates built with LibreOffice can be very long to be opened with OpenTBS. That is because LibreOffice add some extra useless rows definition at the bottom limit of the sheets.
- A big number merged in a XLSX with parameter "ope=tbs:num" can display another value. Example :<PHONE_NUMBER> displays -1009371469 in 32bits.
- Inappropriate error message "ExtType is not defined" when execute a command but no template is loaded.
- OPTBS_SELECT_SHEET with an ODS template do nothing. Now it selects the main file (contains all sheets).
- OPTBS_SELECT_SLIDE with an ODP template do nothing. Now it selects the main file (contains all slides).
version 1.8.3, on 2014-02-02
- fixed bug: (since version 1.8.0) the changed picture is another picture in the document or an empty picture. This could happen if you used parameter "changepic" with both [onload] and [onshow] or both MergeBlock() and [onshow].
version 1.8.2, on 2014-01-26
- fixed bug: some TBS fields seems to be ignored in ODT files edited with LibreOffice 4 or higher. This was due to a new RSID feature in LibreOffice that inserts invisible XML elements.
- fixed bug: no data displayed when merging numerical cells in ODS files built with LibreOffice 4 or higher. This was due to a new attribute in subjacent XML elements.
- Supports new parameter "parallel" of TinyButStrong 3.9.0.
- based on TbsZip 2.15
version 1.8.1, on 2013-08-30
- new feature: the loaded template can be a PHP file handle.
- enhancement: Ms Excel Sheets are now saved with explicit references for rows and cells, so merged templates are viewable with Libre Office and other third viewers.
- enhancement: keywords for changing cell types is the same for LibreOffice and Ms Office.
- fixed bug: A DOCX file could be corrupted when using "block=tbs:page" and the last paragraph of the document has no text.
- based on TbsZip 2.14
version 1.8.0, on 2013-05-04
- new feature: automatically cleans up spelling in PPTX templates (such information may deconstruct the TBS tags). This feature can be disabled.
- new feature: Block Alias helps to define TBS blocks easily on pages, sections,....
- new feature: merging a chart from its title.
- new parameter "tagpos" to define the position of the TBS tag realtively to the image (when using "ope=changepic").
- new parameter "delcol" to delete columns in tables.
- new parameter "mergecell" to merge cells in tables.
- enhancement: merging charts is also available for LibreOffice documents
- enhancement: when using "ope=changepic", default value of parameter "default" is now "current".
- enhancement: delete unused pictures.
- new command OPENTBS_SELECT_SLIDE
- new command OPENTBS_DELETE_SLIDES
- new command OPENTBS_DISPLAY_SLIDES
- new command OPENTBS_COUNT_SLIDES
- new command OPENTBS_MERGE_SPECIAL_ITEMS
- new command OPENTBS_CHANGE_PICTURE
- fixed bug: parameter "ope=changepic" did not work in PPTX documents.
- fixed bug: parameter "ope=changepic" did not work with [onload] fields in Ms Office.
- fixed bug: parameter "default=current" did not work when using MergeField() instead of MergeBlock().
- fixed bug: some tab may be deleted in the template (during the automatic cleanup process).
- based on TbsZip 2.13
- requires TBS 3.8.0
version 1.7.6, on 2012-06-06
- Restore lost spaces around merged TBS fields in Ms Word documents. The patch doesn't work for headers and footers, unfortunately.
version 1.7.5, on 2012-02-14
- Avoid erroneous Ms Word merged documents when duplicating objects such as drawings and shapes.
- Based on TbZip version 2.11
- New coding shorctut $TBS->TbsZip.
- More examples of formulas for Xlsx and Ods speadsheets.
version 1.7.4, on 2011-10-20
- parameter "defaut=current" does not work and may build invalid documents when the target image is missing.
- new command OPENTBS_REPLACEFILE
- new command OPENTBS_FILEEXISTS
version 1.7.3, on 2011-10-13
- fixed bug: in Ms Word documents, automatic fields (onload, onshow) placed in headers and footers with parameter "ope=changepic" are producing an erroneous merge. In Word 2010 the picture may by missing, in Word 2007 the docx file may be considered as corrupted.
version 1.7.2, on 2011-10-12
- fixed bug: error when using command OPENTBS_SELECT_SHEET with a sheet name: Notice: Undefined index: xxx in xxx on line 1986.
version 1.7.1, on 2011-10-07
- fixed bug: first non-empty cell of an Excel Spreadsheet is never merged if it contains a TBS field.
- minor internal improvements.
version 1.7.0, on 2011-08-21
- new parameter 'adjust' for changing picture size
- new command OPENTBS_DEBUG_INFO
- new command OPENTBS_SELECT_MAIN
- new command OPENTBS_SELECT_SHEET
- new command OPENTBS_DISPLAY_SHEETS
- new command OPENTBS_DELETE_SHEETS
- new command OPENTBS_DELETE_COMMENTS
- new command OPENTBS_DELETE_ELEMENTS
- parameter 'changepic' is optimized
version 1.6.2, on 2011-07-12
- fixed bug: Ms Excel cells could consider as error some formatted values such as '0.00000000000000'.
version 1.6.1, on 2011-06-08
- fixed bug: some documents may be corrupted when created using OPENTBS_DOWNLOAD because of a PHP error "supplied argument is not a valid stream resource" or "Undefined property: clsOpenTBS::$OutputHandle".
- fixed bug: using keyword "xlsxNum", "xlsxDate" or "xlsxBool" inside a cell that is not merged can make a corrupted XLSX spreadsheet.
- improvement: updated templates in the demo.
- based on a TbsZip v2.8
version 1.6.0, on 2011-06-07
- new feature: merge charts in Ms Word documents.
- new feature: merge rows and columns Ms Excel workbooks.
- new feature: new "ope" parameters for forcing cells type in Ms Excel (Numeric, Date and Boolean).
- new feature: debug mode enhanced.
- new feature: force the type of document using command OPENTBS_FORCE_DOCTYPE.
- new property: deal with apostrophes using property OtbsConvertApostrophes.
- improvement: if the document extension is not recognized, then try to recognize document type by sub-file presence.
- improvement: can use the Direct Command feature of TBS 3.7.0.
- based on a TbsZip v2.6
version 1.5.0, on 2011-03-20
- new feature: headers and footers are automatically loaded for OpenOffice & MsOffice.
- new feature: automatically cleans up spelling and change trackings information in MsWord templates (such information may deconstruct the TBS tags). This feature can be disabled.
- new constant OPENTBS_DEBUG_AVOIDAUTOFIELDS
- improvement: Debug doesn't stopped if an OpenTBS alert occurs.
- improvement: OpenTBS alerts say if the process will be stopped.
- fixed bug: in debug mode: "warning function.str-repeat: Second argument has to be greater than or equal to 0"
- fixed bug: when using OPENTBS_RESET: "Warning: Missing argument 2 for clsOpenTBS::OnCommand() in ... on line 225"
- fixed bug: DML images were not found when using parameter "ope=changepic" in a DOCX document
- fixed bug: the script ends and display the XML contents when a when using parameter "ope=changepic" with a new image type in a DOCX document
version 1.4.1, on 2010-10-28
- major bug fixed: due to TbsZip, some added or modified files can be saved the document with a wrong CRC control code. This could make softwares to consider the document as corrupted, but were often easily fixed by OpenOffice and Ms Office. Only few CRC codes are wrongly saved, thus the bug is rare and can seem to appear randomly on few documents.
version 1.4.0, on 2010-10-05
- new parameters "changepic" and "default"
version 1.3.3, on 2010-08-05
- property version of OpenTBS version 1.3.2 was saying 1.3.1
version 1.3.2, on 2010-07-23
- possibility to change de default data conversion using the new constants OPENTBS_DEFAULT, OPENTBS_ALREADY_XML or OPENTBS_ALREADY_UTF8
- enhanced debug mode: listing of added, deleted and modified files ; and show XML formated contents of files merged with OpenTBS.
version 1.3.1, on 2010-07-01
- based on TbsZip version 2.1: fixes a bug that saved a bad time of modification file was added, and saved time modification when a file content is replaced.
- the addpic operator now automatically updates the "fanifest.xml" file on OpenOffice document. Without this fix, an ODP merged document could be open with an error message with OpenOffice >= 3.2
version 1.3, on 2010-06-01
- a new plugin command that add a new file in the archive
- a new plugin command that delete a new file in the archive
- a parameter 'ope=addpic' that add a new picture in the archive directly from the template
- based on a TbsZip v2 (modify/delete/add files in a zip archive, )
version 1.1, on 2009-11-19
- New render option : OPENTBS_STRING
- New feature: can reset changes in the current archive using $TBS->Plugin(OPENTBS_PLUGIN, OPENTBS_RESET);
- New behavior: extension of the archive is ignored by LoadTemplate() if the name is ended with '#'
- Bug fixed: in case of several files to take from the archive in one shot, then only the last one had [onload] fields merged.
9. License
OpenTBS is under LGPL (Lesser General Public License)


{% extends "base/navbar.html" %} {% load staticfiles %} {% block style %} {% endblock style %} {% block content %}
This patient has not been to your hospital and so you do not have access to their records
{% endblock content %} {% block scripts %} {% endblock scripts %}


Front End Development - Part 1
Course Overview
Course Info
- 12 Lectures
- 48 Hours
- 6 Workshops
- Homework tasks
- Bonus tasks
Schedule
- Lecture 01 - Sep 17 - Introduction to HTML & CSS - (Today)
- Workshop 1 - Sep 20 - Practice with HTML
- Lecture 02 - Sep 27 - CSS & Typography
- Workshop 2 - Sep 29 - Practice with HTML
- Lecture 03 - Oct 01 - CSS Box Model & Floats
- Lecture 04 - Oct 04 - Flexbox
- Workshop 3 - Oct 06 - Practice with HTML
- Lecture 05 - Oct 08 - Media Queries - Part 1
- Lecture 06 - Oct 11 - Media Queries - Part 2
- Workshop 4 - Oct 13 - Practice with HTML
- Lecture 07 - Oct 15 - File Organisation and Version control
- Lecture 08 - Oct 18 - Front End development as a profession
- Workshop 5 - Oct 20 - Practice with HTML
- Lecture 09 - Oct 22 - The Build - Part 1
- Lecture 10 - Oct 25 - The Build - Part 2
- Workshop 6 - Oct 27 - Practice with HTML
- Lecture 11 - Oct 29 - The Build - Part 3
- Lecture 12 - Nov 01 - Exam Prep
EXAM
4th of November
The Team
Konstantin Dankov
Old, annoying and grumpy!
The Team
Antonia Atanasova
- Technical Trainer in Software University
- Experience in HTML, CSS, JavaScript, Bootstrap, C#
The Team
Yuliyan Ivanov
- Technical Trainer in Software University
- Experience in HTML, CSS, JavaScript, C#, MongoDB, Angular
Rules, Responsibilities & Requests
Rule - There is no such thing as a stupid question
- Except! Administrative questions - Those are answered by the team on the course webpage.
- Feel free to speak up, at the appropriate time and ask a question.
- I will do my best to answer, but please be patient. Bug me after if I don't answer later.
Rule - Don't write code with me!
- You will forget the most important bits right after the lecture
- You will never catch up
- Lectures are being recorded, you can do the excersize later
Text Editor
- Everyone will use Visual Studio Code
- https://code.visualstudio.com/
- If you are not using VS Code, don't ask questions about your editor, use Google.
sli.do/front-end
- Ask questions here
- We will review all questions before each lecture


FoodHub
Welcome in FoodHub Resturant. We are the only restaurant in the Hashemite Kingdom of Jordan that specializes in preparing Jordanian food only. We supply it with the highest level of accuracy and all ingredients, where we use natural ingredients and are made in Jordan as well. The products that we recommend to try are: Al-Mansaf, Al-Maklouba, Al-Kubba and Al-Makmoura


The document storage optionally uses the persistent cache. The cache acts like an in-memory cache for old revisions, but in addition to keeping the most recently used nodes in memory, it also stores them to disk. That way, many reads from the storage backend (for example MongoDB) are replaced by reads from the local disk. This is specially useful if reads from the local disk are faster than reads from the storage backend. In addition to that, the persistent cache reduces the load on the storage backend.
The default OSGi configuration of the persistent cache is:
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService persistentCache="cache,binary\=0"
Oak version up to 1.4 have the persistent cache disabled by default, which is equivalent with a configuration entry set to an empty String. Starting with Oak 1.6, the persistent cache is enabled by default and can be disabled by setting the configuration entry to "-".
The persistent cache configuration setting is string with a number of comma separated elements. The first element is the directory where the cache is stored. Example:
"cache"
In this case, the data is stored in the directory “cache”, relative to the repository.home directory. If no repository home directory is configured, the directory is relative to the current working directory. Oak versions prior to 1.6 always resolve to the current working directory and ignore the repository.home configuration. By default, there are at most two files (two generations) with the name “cache-x.data”, where x is an incrementing number (0, 1,…). A file is at most 1 GB by default. If the file is larger, the next file is created, and if there are more than two files, the oldest one is removed. If data from the older file is accessed, it is copied to the latest file. That way, data that is not recently read will eventually be removed.
The following other configuration options are available:
Size. A file is at most 1 GB by default. To change maximum size of a file, use “size=x”, where x is the size in MB.
Binary caching. When using the BlobStore, binaries smaller than 1 MB are stored in the persistent cache by default. The maximum size can be changed using the setting “binary=x”, where x is the size in bytes. To disable the binary cache, use “binary=0”.
Node caching. By default, nodes at all revisions are cached. To disable this option, use “-nodes”.
Children caching. By default, the list of children of a node is cached. To disable this option, use “-children”.
Diff caching. By default, the list of differences between two revisions is cached. To disable this option, use “-diff”.
Compaction. The cache file can be compacted and compressed (at a rate of around 100 MB per second) when it is closed. That way, the disk space is used more efficiently. To enable this option, use “+compact”. (Please note this feature was enabled by default in versions 1.2.1, 1.0.13, and older.)
Compression. By default, the cache is compressed, saving space. To disable this option, use “-compress”.
Those setting can be appended to the persistent cache configuration string. An example configuration is:
"cache,size\=2048,binary\=0,-compact,-compress"
To disable the persistent cache entirely in Oak 1.6 and newer, use the following configuration:
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService persistentCache="-"
Up to Oak version 1.4, either omit the persistentCache entry or set it to an empty String to disable the persistent cache.
Since Oak 1.6.
Diff cache entries can also are stored in a separate persistent cache and configured independently if needed. This can be done in the OSGi configuration like in the following example:
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService persistentCache="cache,size\=2048" journalCache="diff-cache,size\=1024"
The configuration options are the same as for the persistentCache, but options unrelated to the diff cache type are ignored. The default configuration is journalCache="diff-cache" and can be disabled the same way as the regular persistent cache with a dash: journalCache="-".
Internally, the persistent cache uses a key-value store (basically a java.util.Map), which is persisted to disk. The current key-value store backend is the H2 MVStore. This library is only needed if the persistent cache is configured. Version 1.4.185 or newer is needed.
<dependency> <groupId>com.h2database</groupId> <artifactId>h2-mvstore</artifactId> <version>1.4.185</version> </dependency>


7.4 psb_get_mpi_comm — Get the MPI communicator
icomm = psb_get_mpi_comm(ctxt)
This function returns the MPI communicator associated with a PSBLAS
context
-
Type:
- Asynchronous.
-
On Entry
-
-
ctxt
- the communication context identifying the virtual parallel machine.
Scope: global.
Type: required.
Intent: in.
Specified as: an integer variable.
-
On Return
-
-
Function value
- The MPI communicator associated with the PSBLAS virtual
parallel machine.
Scope: global.
Type: required.
Intent: out.
Notes The subroutine version psb_get_mpicomm is still available but is
deprecated.


Contact
<EMAIL_ADDRESS>Need help getting started?
Visit our tutorials here
home
about
create
contact
tutorials
code


Dear All,

Is it then possible
to write a model in MiniZinc in the Visual Studio environment and use the
GeCode as a solver? I saw that there are mzn-libraries in the GeCode
directory...

I really like MiniZinc because it is easy and intuitive for me to
model my problems, but I still want to use GeCode given its speed.

Many Thanks!

Andrei


I've been hooked on technology since first being introduced to computers when floppies were floppy. An AOL chat room ban later, I was forced to use computers for something else.
Here's the byproduct:
SlugLife is an Android/iOS application that tracks the locations of UCSC's shuttles. Its features include algorithm-based ETAs, push notifications, an upcoming events page, and other information valuable to a UCSC student. Click the icon for the project page.
Solution required: Java, XML, Google Maps SDK, MySQL, AWS.
For CMPS 119: Software for Society, we introduced several interfaces for crowdsourcing computer vision. Of the several versions introduced, one was deemed more usable by users than the current iteration used at Stanford in the Visual Genome Project.
Solution required: Javascript, jQuery, VG Library, Raphael Canvas, HTML5, CSS3.
You can click the icon above to look at other miscellany that I've posted to GitHub (including this website)!
What you'll find: programming assignments demonstrating a knowledge of C, C++, Java, and healthy coding practices.
What you won't see: the hours I spent on Stack Overflow and Valgrind.
After falling in love with calculus, and hacking consoles, computers, and cellphones, I realized I could get a degree marrying these loves of mine. Several thousand lines of code later, I've unlocked/rooted (and occasionally bricked) a number of phones, hacked together a few web applications, created some decent Android apps, and scraped together some other interesting things, like creating a multi-threaded AI for a game of Hex.
There's certainly more to come, as I'm learning more everyday with pursuing a B.Sc. in Computer Science at University of California, Santa Cruz and am pushing towards my goal of utilizing artificial intelligence in interactive education.


- Demonstrate a broad understanding of sleep as a complex neurophysiologic phenomenon
- Describe basic physiological processes associated with sleep/wake behaviour in animals and humans
- Explain how sleep is regulated through the interaction of homeostatic and circadian processes
- Compare methodological approaches used in basic research and clinical practice to record and analyse sleep
- Understand leading theories of sleep function


For more information about symbols see following links
Underneath it uses real string property names which can easily be retrieved, however accidental collision with other property names is unlikely.
It’s safest to use es6-symbol as a ponyfill – a polyfill which doesn’t touch global objects:
var Symbol = require('es6-symbol');
If you want to make sure your environment implements Symbol
globally, do:
require('es6-symbol/implement');
If you strictly want to use polyfill even if native Symbol
exists (hard to find a good reason for that), do:
var Symbol = require('es6-symbol/polyfill');
Best is to refer to specification. Still if you want quick look, follow examples:
var Symbol = require('es6-symbol');
var symbol = Symbol('My custom symbol');
var x = {};
x[symbol] = 'foo';
console.log(x[symbol]); 'foo'
// Detect iterable:
var iterator, result;
if (possiblyIterable[Symbol.iterator]) {
iterator = possiblyIterable[Symbol.iterator]();
result = iterator.next();
while(!result.done) {
console.log(result.value);
result = iterator.next();
}
}
In your project path:
$ npm install es6-symbol
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack
$ npm test


Dem Rep. Khanna: 'We Should' Wrap up Impeachment Proceedings by End of Year | Breitbart
by Ian HanchettOn Friday’s broadcast of CNN’s “New Day,” Representative Ro Khanna (D-CA) stated that wrapping up impeachment proceedings by Christmas is a reasonable timeline and “we should wrap this up before the end of the year.”
Co-host John Berman asked, “One of the things we’ve heard over the last day is that Democrats hope to wrap up maybe all the impeachment proceedings by Christmas. Do you think that timeline is reasonable?”
Khanna responded, “I do. I think the evidence is overwhelming. We need a few key witnesses. I think the American people will understand how blatant this effort was. And we should wrap this up before the end of the year.”
(h/t Grabien)
Follow Ian Hanchett on Twitter @IanHanchett


--- title: Button layout: layout-docs category: General icon: button ---
Buttons provide users the ability to interact with the web page.
Both <button>
elements and <a>
anchor elements can be styled as buttons.
While their behaviours may be similar, they mean different things semantically
and have accessibility considerations.
You should use buttons for important actions that you want the user to take like send message or save to draft.
Button labels should be clear and specific to the action that the user is taking.
Secondary buttons should be used to indicate less common actions and have less prominance as compared to primary buttons.
In the examples below, you can reference on how to group buttons, insert icons, attach controls and style text links.
If you are linking within pages in a site, you can use regular text links instead.
You can also insert icons from our library on any part of a button.
You can group buttons together on a single line using the sgds-buttons
modifier on container.
has-addons
modifier allows you to attach controls together
You can use the secondary button for reducing visual prominence. It should not be used as a call to action button
| Modifier | Description |
|---|---|
| is-fullwidth | Button with width that span the full width of a parent |
| is-outlined | Display button in border only |
| is-rounded | Display button with rounded edges |
| is-static | Display as a non-interactive button. |
| disabled | Use as an attribute for disable state |


Invoice Total Calculator
Enter the two values that follow and click "Calculate".
Customer Type:
Regular
Loyalty Program
Honored Citizen
Invoice Subtotal:
----------------------------------------------------------------
Discount Percent:
%
Discount Amount:
Invoice Total:


{% extends "app/base.html" %} {% block header_file %} {% endblock %} {% block script %} {% endblock %} {% block nav %}
Ex. Java programming, web_development, civil_engineer, law, teaching, languages...etc
Use tab to include multiple skills


Dr. Akshaya Mishra is a highly experienced professional with 15+ years of expertise in image processing, computer vision, and AI. Holding a PhD degree from the University of Waterloo, Akshaya has made significant contributions in the development of advanced algorithms and techniques for object recognition, image segmentation, and pattern recognition. He possesses a deep understanding of machine learning, neural networks, and deep learning frameworks, and has successfully applied these technologies to solve complex real-world problems. Akshaya is a visionary leader with a track record of delivering innovative solutions, collaborating effectively, and inspiring others. Connect with me to explore collaboration opportunities in the field of image processing, computer vision, and AI.:
PhD in Pattern analysis and machine intelligence, 2010
University of Waterloo
M.Tech in automation and computer vision, 2004
Indian Institute of Technology, Kharagpur, India
B.E in Electrical Engineering, 2002
University College of Engineering, Burla, India


Keycloak
Central Login
Icon: user
Brian Stevens
Account
Log Out
Overview
Applications
Realms
My realm
Another realm
Settings
Users and Roles
My realm
Add User
*
Required fields
Icon: collapse
User Info
Username
*
Email
Last name
First name
Password
Enabled User
ON
OFF
Icon: collapse
Roles
Table of user roles
Domain
Roles
First page
Previous page
1-8
of
10
Next page
Last page
My realm
Admin
×
User
×
Manager
×
Add role
Admin
Content_manager
Editor
Manager
User
My application
Editor
×
Admin
Content_manager
Editor
Manager
User
Save
Cancel


In the first tutorial, we will create a very simple server that does nothing but the text "hello, world!" for any given request.
#include <stdio.h> int main(int argc, char *argv[]) { printf("Hello, world!\n"); }
Compile with:
$ gcc main.c
Run with:
$ ./a.out


NEXBIT we have decided to build upon Proof of Stake Version 3, an improvement over version 2 that was also made by Pavel Vasin.
Smart Contracts
Compatibility with the Ethereum Virtual Machine, which allows Solidity based smart contracts.
Nexbit is a decentralized blockchain project built on Bitcoin's UTXO model, with support for EVM (next implementation) & EVM based smart contracts. Secured by a proof of stake advanced consensus model.
NBC is NEXBIT Coin Ecosystem's Native Coin, Payment and more.
We using powerfull own blockchain nexbit products.
It is a exchange build platform
It is a DApp platform
Welcome to the Nexbit Blockchain project. This is the main blockchain network where the futures will be build.
Compatibility with the Ethereum Virtual Machine, which allows Solidity based smart contracts.
Decentralized Governance Protocol (DGP) is planning to implement.
A Proof of Stake consensus is Nexbit's contract model. Any user can stake and help to secure the network. There is no minimum amount required.
Uses the UTXO transaction model and is compatible with Bitcoin.
NEXBIT we have decided to build upon Proof of Stake Version 3, an improvement over version 2 that was also made by Pavel Vasin.
Proof of Stake was invented to solve many of these problems by allowing participants to create and mine new blocks (and thus also get a block reward), Simply by holding onto coins in their wallet and allowing their wallet to do automatic staking.
We love to hear from you. Let's grow together and get keep in touch by filling the form below. Team will get back to you shortly.
Contact us nowThere are many variations of passages available, but the majority have suffered alteration in some form


vPlanet Commerce is a hosted m-commerce solution in Cloud for online merchants. vPlanet Commerce lowers the barriers to entry into online business for start up and small business and at the same time provide the scalability of enterprise solution while they grow into bigger businesses.


Questions
Q.1 Listing
Q.2 Tables
Q.3 Again Listing Same like first link
Q.4 Again Tables same like second link


[]. patients COVID- renal [], cancer kidney SARS-CoV- ACE treatment RCC coronavirus cell disease clinical risk {border-style novel px;} #ffffff;} Ang therapeutic acute higher respiratory viral increased protein severe care receptor study tumor chronic management syndrome Med cells infection potential virus antibody effects entry inhibitors COVID-. RNA SARS cases immune pandemic patient angiotensin-converting infected injury However, Wuhan, angiotensin current developed evidence expression host press. proteins px; serum studies transmission {font-family (Fig. TMPRSS associated carcinoma cardiovascular cellular effective elevated font-size growth levels protease underlying AKI Evidence Oncol analysis antibodies conditions development disease. double; drugs enzyme hospital hospitalized including metastatic mortality neutralizing pneumonia receptor, reduce response signaling significantly targeting use using COVID-, Elsevier Fig. ICIs Wuhan activation binding biomarkers biopsy blood border-color border-width cause checkpoint developing genome guidelines high human increase infection. liquid lung mechanisms monoclonal new rate research shown solid; strategies surgery surgical target {font-style {font-weight â€" (COVID-) (eg, -nCoV ACEis Cancer Clinical ERAs Health Mihalopoulos, None. RCC. USA, Urol Wang activity baseline block bold cells. centre characteristics circulating courier; creatinine damage death decrease domain efficacy em; endocytosis health hospitals implications important infection, inflammation information inhibition interaction invasive lead lungs miR- minimally molecular outcomes personnel prior provide pt;} recent recommendations release renin-angiotensin reported resource review role shared similar strategy surgery, treat treatments tumors used â€"%


--- layout: post title: no title date: '2011-03-31T07:26:35+01:00' tags: [] tumblr_url: http://backlog.robbevan.com/post/4228813963/jeff-koons-must-die ---
Jeff Koons Must Die!!!


Platforms List Windows Mac OS X iOS Will support in future Android Windows Phone 8 PS Vita (not in open source) IDE List Microsoft Visual Studio (2010, 2012) XCode Qt Creator (not supported now)


ArrowKeyControl is a reaction testing game that tests your speed and concentration.
You have to type what you see: up, down, left, or right arrow. Get it wrong and it's game over.
You have 1 second to hit the first key, and every time you hit a key, the time allowed to hit the next key decreases. The game continues like this as long as you press each key fast enough; too slow and the game ends.


Create new post
My posts
Organization posts
Posts
You have not created any posts yet.
Key
Created
Organization
Public link
Organization posts
There are no posts shared with your organization yet.
Created
Key
Public link
Viewing my post
delete
Viewing
shared with organization
Viewing my post
shared with organization
delete
Paste your text here...
Save post
Custom ID
Syntax language
Select language (default text)
Bash
Coffee
C++
CSS
Delphi
Diff
Erlang
Go
Haskell
HTML
INI
Java
JavaScript
JSON
Lisp
Lua
MarkDown
Objective C
PHP
Perl
Python
Ruby
Scala
SmallTalk
SQL
Swift
Tex
Text
Vala
VBScript
XML
Public link
Yes, make this publicly accessible
Organization sharing
Select organization to share with


12 MONKEYS
A film review by Billy Bud Vermillion
Copyright 1996 Billy Bud Vermillion
Twelve Monkeys, a film by Terry Gilliam starring Bruce Willis, Madeline Stowe, Brad Pitt, and(hee-hee!)Frank Gorshin
I've always been a great admirer of Terry Gilliam's films. His dark, often humorous, always edgy vision of the world has had me enthralled since Time Bandits(one of my favorite films--favorite as opposed to those films which I acknowledge as great; it just has that certain magic which grabs me).
Twelve Monkeys, in a lot of ways, is sort of a follow-up piece to his other films. He manages to incorporate the idea that insanity is relative(seen in The Fisher King), the concept of a dystopian future where one cannot trust anyone else(Brazil), and, the death of loved ones(seen in Time Bandits--though they weren't really so well-liked in that case, The Fisher King, The Adventures of Baron Von Munchausen, and, in a weird kind of reversal, Brazil). In fact, Twelve Monkeys seems to place Gilliam in the position of reworking many old ideas, often those of other people(La Jetee is mentioned as source material, and Vertigo is actually paid tribute to in the narrative, itself).
This aside, the film is very much Gilliam's own novel work. He has created a strikingly original time travel movie, drawing some fine performances out of Bruce Willis(wow, I didn't use to think this guy could act!)and Brad Pitt(who, for a welcome change, isn't playing a dumb bohunk in this one, but rather an intelligent lunatic).
Time travel movies tend to be difficult for filmmakers to present in realistic ways, the paradoxes involved often clouding up viewers minds to the point of numbness. Gilliam doesn't elude this bugaboo, though he does throw some interesting tricks into the mix. I especially enjoyed the ambiguity Willis felt towards his perceptions of reality. At the end, we are left wondering whether Willis' character, James Cole, caused the end of the world or not.
Lemme explain: sometime in the future, Cole is sent back in time by a group of scientists to learn about the Army of the Twelve Monkeys who, in 1996, allegedly let loose a virus capable of destroying the world.He is sent back to 1991, however, where he meets Pitt and Madeline Stowe, a psychiatrist. He's incarcerated in a mental institution(Gilliam may be making a strong statement of social and moral outrage at the state of mental health care by his depictions of the hospital). He tries to warn them about the future, but it only helps in cementing his status as "insane." He is then brought back to the future, sent back to 1996, where he kidnaps Stowe(who has written a book on lunatics with end-of-the-world theories, shuttles back and forth a few more times, becomes convinced he's crazy, gets shot in 1918, Stowe ends up believing his story, they search for the Army of the Twelve Monkeys, etc. etc. Kinda confusing, but the confusion is necessary for Gilliam to keep his form consistent with his intentions. Did Cole, by going back in time to 1991, cause Stowe to write her book, which was read by a virologist/nutbar,which in turn led to the unleashing of the plague and the endanger-ification of mankind? Don't know the answer to that one. Gilliam gives us a few clues, but no hard and fast answers. The film's final shot is touching and provacative and is the best pseudo-answer available: a boy's eyes, staring up into the sky, weeping. The boy is Cole(woops, gave it away!sorry to those who ain't done seen it)and this scene seems to suggest a circularity to time, that the future has ramifications for the past and present and vice versa.
In short, it's a damn tasty flick.
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


Up: C Bindings
Next: Deprecated C Bindings
Previous: Language Bindings C Bindings
int MPI_Pcontrol(const int level, ...)
Up: C Bindings
Next: Deprecated C Bindings
Previous: Language Bindings C Bindings
Return to MPI-2.1 Standard Index
Return to MPI Forum Home Page
MPI-2.0 of July 1, 2008
HTML Generated on July 6, 2008


Statutory guidance
Science programmes of study for key stage 1 and 2 until July 2015
This publication
was withdrawn on
The national curriculum statutory programmes of study for science to be taught in England until July 2015.
Details
These are the statutory programmes of study and attainment targets for science at key stage 1 and 2.
They must be taught to certain year groups in all maintained schools in England until July 2015.
In the 2014 to 2015 academic year:
From September 2015 all pupils will study the
new national curriculum science programmes of study
.