HTML is Hyper Text Markup Language. It is the basis of most of the documents on the web. HTML documents contain text content, which is text you see when you are looking at the web page, and markup, which is the instructions for how the text should be displayed on the webpage.
When you use your computer to go to a website, your computer uses something called Hyptertext Transfer Protocol or HTTP to send requests to servers. These servers respond by finding the appropriate HTML documents, and you see the web page you requested when you clicked a link or entered a URL. Your browser reads and interprets the HTML and displays the web page.
Tags: These are basically instructions inserted into the HTML document that give directions on how it should be formatted. Usually these instructions or elements have both an an opening or closing tag. The exception is void tags, which have no content and so don’t need a closing tag. If a tag is not void, it needs a closing tag, or whatever instruction the tag gives won't stop.
Elements: Individual components of HMTL documents. Elements are either inline or block. Block elements have a sort of “box” around them that allows you to write code with instructions on style. For example, you can set height and width.
Attributes: These are properties or values of an HTML element that modify it. For example, "href" is the attribute that tells the browswer that the text content of the element should be a live link to a website.Computers are Stupid: You use HTML to tell the computer what to do. If you aren’t exact with your syntax, the computer will get confused about what you're telling it to do. Basically, your code won’t work.
You don’t have to memorize everything now: Right now, it’s more important to understand the underlying concepts than to memorize every tag, as you can always look up specific tags if you understand the concept behind what you’re trying to do.
Like a house, a web page needs structure and style, and a way to make things inside the house work. In this metaphor, HTML is like the walls of a house- it provides structure. CSS provides style, such as the paint color of the walls. Java provides interactivity, like a garage door opener or a TV remote- it lets you change elements.
Each HTML tag creates an element. These elements are like the branches of a tree. You can visualize this similarly to how you can visualize a family tree, with each offspring (element) creating a new branch. This tree-like structure is known as DOM- document object model.
When you look at a web page's HTML, you see these nested elements as a series of boxes inside one another.
When you're building your tree-like HTML structure, you can use DIV tags to define boxes. Later, you'll add style with CSS, so you want to 'label' these DIV tags for later styling. You do this by assigning class attributes- like labeling a moving box so that you know where its contents should go in the house. HTML tags can belong to multiple classes- just as you can label a box both "kitchen" and "fragile". Like labels on moving boxes, class names should be informative.
Programmers have many text editor options available for writing code. For example:
Scratchpad is a simple, easy, and beginner friendly real-time editor for HTML and CSS. You can see the changes in your code, as they would appear on a webpage, immediately on a little screen. Scratchpad also has helpful features like an automatic adding of closing tags whenever you enter an opening tag. One downside: you can't share your code.
Codepen adds Javascript, and makes it easy to share your code with a free account. It is slightly slower than Scratchpad, and a bit less user-friendly for newbies, so as a beginner, you may want to edit your simple HTML and CSS in Scratchpad and then just copy it into Codepen to save it and share it.
Sublime Text is more powerful than Scratchpad and Codepen, and has a nice feature that lets you see your works as it would look as a webpage in a full size browser page. But it's difficult to share your code from Sublime Text and is the least new-user friendly.
CSS = "Cascading Style Sheets". CSS is how you take your HTML and make it look like the design you want on your website. You can use it to add structure to the page - to arrange elements on the page the way you want. And you can use it to control how things look, everything from font type to color. You do this by applying rules to the various elements in your html.
Inheritance is a key feature of CSS. It's a mechanism by which rules or properties are applied not just to any one specific element but to its descedents as well. Descendent elements "inherit" CSS property values from the ancestor elements they're enclosed within. Not everything is inheritable. Text related properties are inherited, but box related properties are not. Text related properties include things like color, font family, line height and the like. Box related properties include things like background and border elements and margins.
Inheritance allows you to avoid repetition. This is important, because it saves you from having to write the same code over and over again, so it saves you time and effort and streamlines your code. But more importantly, it can prevent errors in your code if you decide to change something later. For example, if you've used CSS to avoid repetition, you won't get stuck having to hunt for every instance of the HTML code that you need to change, and (likely) missing something that will then mess up your page.
Semantic tags: Choose the right element for the purpose - your tags should describe what they are doing. For example, use "title" to describe a title and an H tag (H1, H2, H3) to describe a heading. The tag's element name is both the semantic meaning of the content and the default style rules applied to it.
You can use CSS to create a grid framework for your website. The grid is the framework or base on which all of your elements will be laid out in columns and rows. You want to build asystem that gives you flexibility to make various column designs and that follows the principles of responsive design.
Flexbox is a module that you can use to efficiently lay out, align, and distribute elements on your pages, on a grid. You can use flexbox to divide your page into columns and rows and arrange them next to or on top of each other and to size them by using "containers". The "flex" references the fact that a flexbox container can alter its items' properties (like width and height) to fill the available space in the best way. This makes your pages looks its best on various types of devices and on various screen sizes. It can expand into available space or shrink.
The process of developing code is known as Code, Test, Refine. When you start out, you first look for natural boxes in the design. Then look for repeated styles and semantic elements. Next, start writing your html. Then apply your style sheets, starting with the biggest aspects and moving to the smallest. As you go, test your code in various browsers and formats. Then start refining your code and fixing things. Repeat.
Tip: your browser's Developer Tools provides you with ways to experiment with and test your code in the browser and is an invaluable resource. You can also use it to see how other websites are doing things, and to play with other websites' code, to test your ideas.
There are CSS and HTML testing sites that can help you figure out if your code is at least valid. You should use them.
The principal of Responsive Design is about making your site work on various browsers and platforms. You want to make sure your site looks good on everything from a desk top with a big screen using Internet Explorer, to a smart phone using Chrome. For example, for size, you can use % instead of a fixed px so that elements on your page will scale up or down depending on the size of the screen.
A computer is a machine that can be programmed into doing virtually any computational task you can think of, with the right program. A computer program is a precise sequence of steps given to the computer via written instructions, so that it will perform a specific computation. Computer science is the solving of problems by breaking them into pieces and writing a step-by-step list of instructions in a programming language.
We need programming languages to give instructions to computers because natural languages are too ambiguous and their grammar too imprecise. The grammar of programming languages is strict because the computer needs to be told exactly what to do with no ambiguity.
Code interpreters are programs that translate a high level language into something the computer can understand. We input our code into the interpreter and instruct it to "run" our code, and it takes the code line by line and interprets it for the computer.
Python is the programming lanaguge we are using in this course.
In Python, a variable is like a box you store information in, in that you use variables to give names to values. You assign value to a variable using the "=" sign, like this:
my_name = Carrie
The above is an assignment statement. Now that I've assigned the value "Carrie" to the variable "my_name", I can work with the variable. For example, if I write the following code:
print my_name
It will print out Carrie.Variable names are case sensitive. If I later try to call the variable My_name, it will not return "Carrie" (unless I also assign "Carrie" to My_name.)
my_name = Carrie is different from 2 + 2 = 4 .
In my_name = Carrie , the equals sign means "take the value of". In 2 + 2 = 4 , the equals sign means "is the same as".
 Quotes can be either single or double, as long as the string starts and ends with the same type of quote.
"I am a string." and 'I am also a string.'
but"I am not a valid string and if you try to print me you will get a syntax error message.'
Some things to keep in mind about strings:


See my LinkedIn, Twitter and Facebook profiles. I also do a little night-time coding on GitHub
I’m sometimes on Skype
James
I'm an enterprise architect of large-scale cash management and payment systems for Barclays Bank. I'm currently exploring linked data, the internet of things, smart contracts and Bitcoin


If your server is listening on a non-standard port (22 for svn+ssh://), modify the default value.
This field is only available if the Password or the Private key option is selected.


Package org.revapi
-
Interface Summary Interface Description ApiAnalyzer<E extends Element<E>> An API analyzer is the main interface one has to implement to support checking some kind of API.Archive A simple abstraction of a file or archive.Archive.Versioned Extension of the archive interface that can also provide the version of the archive.ArchiveAnalyzer<E extends Element<E>> The instances of implementations of this interface are produced by theApiAnalyzer
s to analyze the API archives and create an element tree that is then used for API comparison.CorrespondenceComparatorDeducer<E extends Element<E>> A correspondence comparator deducer produces a comparator that is used to compare elements from 2 collections.DifferenceAnalyzer<E extends Element<E>> An element analyzer is basically a visitor over matching elements of some language between the two API versions being compared.DifferenceTransform<E extends Element<?>> A difference transform may elect to transform certain kinds of differences into other kinds.DifferenceTransform.TraversalTracker<E extends Element<E>> Some more sophisticated transforms may need to track the traversal of the element forest.Element<E extends Element<E>> An element in a forest representation of given "language" under API inspection.ElementFilter Deprecated. useTreeFilterProvider
insteadElementForest<E extends Element<E>> A representation of some "unit" understood by an API analyzer.ElementForest.Visitor<E extends Element<E>> A visitor of the element forest.ElementMatcher An element matcher is a helper extension to other extensions that need to figure out if a certain element meets certain criteria.ElementMatcher.CompiledRecipe A "compiled" representation of a textual recipe.Reference.Type<E extends Element<E>> Represents the type of the relationship between two elements.Reporter A reporter is the final stage during the API change analysis.TreeFilter<E extends Element<E>> A tree filter is something that is called repeatedly by the caller as the caller walks a tree of elements in a depth first search manner.TreeFilterProvider Forest filter helps theArchiveAnalyzer
filter the resulting element forest while it is being created. -
Class Summary Class Description AnalysisContext An analysis context is an aggregation of the APIs to check and configuration for the analysis.AnalysisContext.Builder AnalysisResult Holds the result of the analysis.AnalysisResult.ExtensionInstance<I> AnalysisResult.Extensions API Represents a set of archives that define an API.API.Builder CoIterator<E> Heavily inspired by the equivalently named class in Clirr 0.6.Criticality Criticality represents the assigned importance of aDifference
.Difference Represents a single difference between an old and new API element.Difference.Builder Difference.InReportBuilder ElementPair A simple pair of elements.FilterFinishResult A result of a finished filtering (seeTreeFilter.finish(Element)
.FilterStartResult The result of the element filtering inTreeFilter
.PipelineConfiguration This class represents the configuration of the Revapi analysis pipeline.PipelineConfiguration.Builder Reference<E extends Element<E>> Represents a reference between two elements determined in some way by the API analyzer.Report Represents the differences between comparable elements from old and new API.Report.Builder ReportComparator Whileelements
of a single API analyzer are by definition mutually comparable, the same doesn't apply for reports.ReportComparator.Builder Revapi The main entry point to the library.Revapi.Builder Deprecated. favor thePipelineConfiguration.Builder
ServiceTypeLoader<T> Because Revapi manages the lifecycle of instances of its extensions, it cannot unfortunately use theServiceLoader
directly (before Java 9 which enhances it to support the use case Revapi needs).Stats Quick and dirty execution time statistics collection class.Stats.Collector TransformationResult The result of an transformation. -
Enum Summary Enum Description Archive.Role The role of the archive in the API.CompatibilityType Enumerates possible compatibility types.DifferenceSeverity Enumerates the possible severities of differences found during the API analysis.ReportComparator.Strategy The comparison strategy defines the way the elements of the same type are compared with each other.Ternary Ternary logic using the Kleene algebra.TransformationResult.Resolution The resolution of the difference transformation


Required Files
- cases/helper
- active_support/concurrency/latch
- models/post
- models/author
- models/topic
- models/reply
- models/category
- models/company
- models/customer
- models/developer
- models/project
- models/default
- models/auto_id
- models/boolean
- models/column_name
- models/subscriber
- models/keyboard
- models/comment
- models/minimalistic
- models/warehouse_thing
- models/parrot
- models/person
- models/edge
- models/joke
- models/bird
- models/car
- models/bulb
- rexml/document
Namespace
- MODULE ActiveRecord
- MODULE ActiveRecord::ConnectionAdapters
- MODULE ActiveRecord::Scoping
- MODULE ActiveSupport
- MODULE ActiveSupport::Concurrency
- CLASS BasicsTest
- CLASS BasicsTest::Geometric
- CLASS BasicsTest::NumericData
- CLASS Boolean
- CLASS Categorization
- CLASS Category
- CLASS Computer
- CLASS CreditCard
- CLASS CreditCard::Brand
- CLASS CreditCard::PinNumber
- CLASS CreditCard::PinNumber::CvvCode
- CLASS CreditCard::PinNumber::SubCvvCode
- CLASS CreditCard::SubPinNumber
- CLASS FirstAbstractClass
- CLASS LintTest
- CLASS LintTest::LintModel
- CLASS MasterCreditCard
- CLASS NonExistentTable
- CLASS Photo
- CLASS Post
- CLASS ReadonlyTitlePost
- CLASS SecondAbstractClass
- CLASS Smarts
- CLASS TestOracleDefault
- CLASS Weird


---
layout: default
title: For GMs at Games on Demand
---
Timeline
- 20 minutes before your time slot
-
- Arrive at Games on Demand.
- If you are running late, text your name and message to Games on Demand.
- Check in with a host.
- Let a host know if a game should be crossed off for this offering.
- If you are scheduled for 4 hours, and are offering a 4 hour game, hosts will assume you are intending to run the four hour game.
- 5 minutes before your time slot
- Find your table and set up.
- Wait to start until you have all of your players.
- Starting your Game
-
- Gather your player's tickets; The host will be around to pick them up.
- Point out the event policy sheet to the players, so that they read and be aware of them.
- 15 to 30 minutes into the time slot
-
- A Host will come around asking for tickets and giving out boarding passes.
GM Chores
- Make sure your table is clean and ready to play.
- Make sure your table number remains visible.
- Tidy up your table when you are done.
Talk to the hosts if...
- Other tables are starting and you don't have any players.
- Your table does not meet the needs of you or the players.
- You need backup for addressing and dealing with a problem at your table.
- You are uncomfortable addressing/dealing with a problem at your table.
- You need to duck out.
- Want to facilitate a game that is not on your schedule.
- You want to swap times or responsibilities with another volunteer.
GM FAQ
{% include bonus-volunteerism.html %}


| Apache Struts 2 Documentation > Home > Guides > Contributors Guide > Meeting Minutes > 07-04-2005 Documentation |
Look to this updated page: http://wiki.opensymphony.com/pages/viewpage.action?pageId=4795
[7/4/2005 5:17 PM] <jaybose> forget it, i am. [7/4/2005 5:17 PM] <the_mind> what do you mean by recording? [7/4/2005 5:17 PM] <jaybose> logging [7/4/2005 5:17 PM] <jaybose> so others can view it lat4er [7/4/2005 5:18 PM] <the_mind> i thought i can copy and paste it :"> [7/4/2005 5:18 PM] <jaybose> you can do that too [7/4/2005 5:18 PM] <jaybose> :-) [7/4/2005 5:18 PM] <jaybose> hey, did you read his page? [7/4/2005 5:18 PM] <the_mind> sorry to ask: who are you nightfal? [7/4/2005 5:18 PM] <the_mind> whose page? [7/4/2005 5:20 PM] <jaybose> Vitor made a page: http://wiki.opensymphony.com/pages/viewpage.action?pageId=4795 [7/4/2005 5:20 PM] <jaybose> that's what we'll be working off of [7/4/2005 5:20 PM] <jaybose> the main purpose of this meeting is to nail down a TOC [7/4/2005 5:20 PM] <the_mind> yep... i just wanted to see if anything else comes out [7/4/2005 5:20 PM] <jaybose> and then get the dev team in general to clear it [7/4/2005 5:21 PM] <jaybose> dev team really meaning Patrick and Jason [7/4/2005 5:21 PM] -->| vitor<EMAIL_ADDRESS>has joined #webwork [7/4/2005 5:21 PM] <jaybose> hey Vitor [7/4/2005 5:21 PM] <jaybose> ready to go? [7/4/2005 5:22 PM] <the_mind> from my pov yes (... almost falling asleep :-( ) [7/4/2005 5:22 PM] <jaybose> haha [7/4/2005 5:22 PM] <vitor> Hey. Sorry, I'm struggling with this webchat. [7/4/2005 5:22 PM] <jaybose> np [7/4/2005 5:23 PM] -->| vitorsouz<EMAIL_ADDRESS>has joined #webwork [7/4/2005 5:23 PM] <vitorsouz> This is much better. Using vIRC now. [7/4/2005 5:23 PM] |<-- vitor has left efnet (Remote host closed the connection) [7/4/2005 5:23 PM] <vitorsouz> Don't know what happened. mIRC couldn't connect. I even got a D-Lined message! ouch! [7/4/2005 5:23 PM] <jaybose> hmm [7/4/2005 5:23 PM] <vitorsouz> Sorry for this big mess... Ready to go now. [7/4/2005 5:24 PM] <jaybose> ok, cool [7/4/2005 5:24 PM] <jaybose> umm forst off [7/4/2005 5:24 PM] <jaybose> looking at your page [7/4/2005 5:24 PM] <jaybose> we want an overview [7/4/2005 5:24 PM] <vitorsouz> Ok. Let me open it here too [7/4/2005 5:25 PM] <vitorsouz> Meaning you want me to explain what I'm thinking? [7/4/2005 5:25 PM] <jaybose> kind of, what should the overview way about WW? [7/4/2005 5:25 PM] <jaybose> say* [7/4/2005 5:26 PM] <jaybose> I noted what WW is, and what it is not [7/4/2005 5:26 PM] <vitorsouz> Ok. [7/4/2005 5:26 PM] <jaybose> so that would mean a MVS web framework built on XWork [7/4/2005 5:26 PM] <jaybose> maybe say waht XWork is brielfy [7/4/2005 5:26 PM] <jaybose> MVC* [7/4/2005 5:27 PM] <vitorsouz> Good. [7/4/2005 5:28 PM] <vitorsouz> I think the overview should briefly describe the software and bring other information that's interesting to people that are thinking of evaluating it. [7/4/2005 5:28 PM] <jaybose> like? [7/4/2005 5:28 PM] <the_mind> i think that articles and press and testimonials is a very good way to introduce WW [7/4/2005 5:28 PM] <vitorsouz> So I placed: what is WebWork (could include what it is not), comparison to Struts and others, something about the community, articles and testimonials. [7/4/2005 5:29 PM] <jaybose> ok [7/4/2005 5:29 PM] <the_mind> a comparison to other solution cannot be very detailed so the user may be lost already [7/4/2005 5:29 PM] <vitorsouz> It should not teach WW to anyone. That's the reference and the tutorial's jobs. [7/4/2005 5:29 PM] <jaybose> great. [7/4/2005 5:29 PM] <vitorsouz> themind: I think the reference is for experienced users only. [7/4/2005 5:29 PM] <vitorsouz> I mean, comparison. [7/4/2005 5:29 PM] <vitorsouz> The comparison is for experienced users. People that know another framework. [7/4/2005 5:30 PM] <the_mind> yep but you want this put into the overview [7/4/2005 5:30 PM] <jaybose> evaluators will find a comparison helpful [7/4/2005 5:30 PM] <vitorsouz> It's a section of the overview. I don't think the overview is meant for sequential reading. [7/4/2005 5:30 PM] <the_mind> if i am a new user i would like to read this from an independent way... so pointing to articles [7/4/2005 5:30 PM] <jaybose> and they will definitely look in the overview. [7/4/2005 5:31 PM] <vitorsouz> We could call it an "Appendix" of the overview, to stress that it's not essential for the newbie. But I'm not sure this is really needed. [7/4/2005 5:32 PM] <the_mind> moreover spending time to do a full cycle comparison - when these are already available is no use... just my 2c [7/4/2005 5:32 PM] <vitorsouz> You're right about that: it should be mostly pointers to other people's evaluations, eg. Matt Raible's. [7/4/2005 5:32 PM] <jaybose> we already have one [7/4/2005 5:32 PM] <jaybose> it [7/4/2005 5:32 PM] <jaybose> it's a matter of placement [7/4/2005 5:33 PM] <the_mind> excellent vitor [7/4/2005 5:33 PM] <vitorsouz> That's another thing: the developers already wrote technical differences between WW and Struts. [7/4/2005 5:33 PM] <vitorsouz> So we would place that there and pointers to other articles. [7/4/2005 5:33 PM] <the_mind> exactly [7/4/2005 5:33 PM] <the_mind> or it can be a part of the FAQ [7/4/2005 5:33 PM] <the_mind> i usually see this comparison included in FAQs [7/4/2005 5:34 PM] <vitorsouz> Ok. Just so I'm not completely lost in the process here. Are we starting from my suggestions? From Jay's suggestions? How is this discussion working? [7/4/2005 5:34 PM] <the_mind> but this is not important for me (the placement) [7/4/2005 5:34 PM] <jaybose> I am pulling things from your suggestions [7/4/2005 5:34 PM] <vitorsouz> Okay. [7/4/2005 5:34 PM] <the_mind> i was reading this http://wiki.opensymphony.com/pages/viewpage.action?pageId=4795 [7/4/2005 5:35 PM] <the_mind> and commenting around - nothing more :-( [7/4/2005 5:35 PM] <vitorsouz> That's alright. Sounds good to me. :) [7/4/2005 5:35 PM] <jaybose> Ok, anymore on Overview, or move on to Project Information? [7/4/2005 5:35 PM] <vitorsouz> That would be my question, exactly. [7/4/2005 5:35 PM] <the_mind> from my pov i can move on [7/4/2005 5:36 PM] <jaybose> ok so Prj Info, what do we want in here? [7/4/2005 5:36 PM] <vitorsouz> Just to wrap up, then: I'll add "(What WW is not)" to the side of "What is WebWork", just to emphasize. [7/4/2005 5:36 PM] <the_mind> quite clear and complete imo [7/4/2005 5:37 PM] <jaybose> ehhh [7/4/2005 5:37 PM] <jaybose> i'm not for that [7/4/2005 5:37 PM] <jaybose> anymore [7/4/2005 5:37 PM] <the_mind> go on [7/4/2005 5:37 PM] <the_mind> hit it [7/4/2005 5:37 PM] <jaybose> let the reader figure it out [7/4/2005 5:37 PM] <vitorsouz> Sorry. I'm lost again. [7/4/2005 5:37 PM] <vitorsouz> You're not for "What WW is not"? [7/4/2005 5:38 PM] <jaybose> by saying it's a web based MVC, that should be enough [7/4/2005 5:38 PM] <jaybose> yeah. [7/4/2005 5:38 PM] <vitorsouz> Ok. [7/4/2005 5:38 PM] <the_mind> i would say about WW what is already said [7/4/2005 5:38 PM] <vitorsouz> I'll add a note saying that. [7/4/2005 5:38 PM] <the_mind> a MVC based on XWork (a command .... ) and that's it [7/4/2005 5:39 PM] <jaybose> I'm taking a bunch of notes, i can add them to the page after the meeting [7/4/2005 5:39 PM] <vitorsouz> Ok. That's better than. I won't bother doing it too. [7/4/2005 5:39 PM] <jaybose> Project Information: ... [7/4/2005 5:39 PM] <vitorsouz> Ok. What would you guys add or remove? [7/4/2005 5:39 PM] <jaybose> I'd keep. [7/4/2005 5:40 PM] <the_mind> for me it is perfect... already said it [7/4/2005 5:40 PM] <jaybose> I assume this is Team members, mailing lists, etc [7/4/2005 5:40 PM] <vitorsouz> Mailing lists is included in "WebWork Community" under Overview. [7/4/2005 5:40 PM] <the_mind> these are included already in overview [7/4/2005 5:40 PM] <vitorsouz> Team is not explicit in the Project Information sections. You could add it there later. [7/4/2005 5:41 PM] <jaybose> so what did you think for that section? [7/4/2005 5:41 PM] <the_mind> vitor i think it is a good idea to move everything related to ml, team, etc to project information [7/4/2005 5:41 PM] <vitorsouz> 1. License; 2. Deployment notes; 3. Versions; 4. Dependencies; 5. WebWork Team. [7/4/2005 5:41 PM] <vitorsouz> Do you think it should be removed from Overview, then? [7/4/2005 5:41 PM] <the_mind> and leave the Overview as a simple intro to the project [7/4/2005 5:41 PM] <jaybose> I agree w/ the_mind, all that should leave Overview and go to Prj Info [7/4/2005 5:41 PM] <the_mind> yes that's it [7/4/2005 5:41 PM] <vitorsouz> Ok. SO the whole "WebWork Community" section would move to P.Info? [7/4/2005 5:42 PM] <the_mind> oke with me +1 [7/4/2005 5:42 PM] <jaybose> yes [7/4/2005 5:42 PM] <vitorsouz> Ok. I agree too. Then it's License, Deployment notes, Versions, Dependencies, WebWork Team and Community. [7/4/2005 5:43 PM] <vitorsouz> Not necessarily in this order. [7/4/2005 5:43 PM] <jaybose> License, Deployment notes, Versions, Dependencies, WebWork Team, Mailing Lists, Forum [7/4/2005 5:43 PM] <the_mind> License, versions, dependencies, www and community, deployment [7/4/2005 5:43 PM] <jaybose> When you say community, what does that currently mean? [7/4/2005 5:43 PM] <the_mind> i see if license is good for me [7/4/2005 5:44 PM] <the_mind> than i choose the version for which i see dependencies [7/4/2005 5:44 PM] <the_mind> than i look for community stuff [7/4/2005 5:44 PM] <the_mind> and if needed i will go to deployment tricks [7/4/2005 5:44 PM] <vitorsouz> It's item number 3 under Overview: Mailing Lists/Forum, Bug Tracker, Wiki, How to Contribute. [7/4/2005 5:44 PM] <vitorsouz> The idea now is to move it to Prj. Info [7/4/2005 5:44 PM] <the_mind> do not forget team members [7/4/2005 5:45 PM] <jaybose> yep [7/4/2005 5:45 PM] <the_mind> so let's see the order and move on [7/4/2005 5:45 PM] <the_mind> :D [7/4/2005 5:45 PM] <jaybose> ok, so Overview should be very light in comparison to what is it now. [7/4/2005 5:46 PM] <jaybose> We could hash out the order a little later. [7/4/2005 5:46 PM] <vitorsouz> Yes. I'm updating the page so we close this issue... [7/4/2005 5:46 PM] <the_mind> oke [7/4/2005 5:46 PM] <vitorsouz> Ok. Refresh it and check if it's correct now. [7/4/2005 5:46 PM] <the_mind> i will miss the important part :(( [7/4/2005 5:47 PM] <the_mind> good [7/4/2005 5:47 PM] <jaybose> Overview looks great [7/4/2005 5:47 PM] <jaybose> FAQ or more on Prj Info? [7/4/2005 5:48 PM] <vitorsouz> I think FAQ could have it's own section because we could create subsections, such as "Questions about the project", "Questions on Validators", "Questions on Velocity/Freemarker", etc... [7/4/2005 5:48 PM] <the_mind> tutorial or cookbook [7/4/2005 5:48 PM] <vitorsouz> Hmmm... I got it now, Jay [7/4/2005 5:48 PM] <vitorsouz> Nevermind what I said. [7/4/2005 5:48 PM] <vitorsouz> I misunderstood your question :) [7/4/2005 5:48 PM] <jaybose> yes, like Caucho does for Resin [7/4/2005 5:48 PM] <jaybose> no you did not. [7/4/2005 5:49 PM] <the_mind> i would let last the faq as passing through the other stuff it will get more clear what should be in the faq [7/4/2005 5:49 PM] <vitorsouz> I thought you meant putting FAQ under Prj. Info. [7/4/2005 5:49 PM] <vitorsouz> Was that what you meant? [7/4/2005 5:49 PM] <jaybose> haha, no. I agree on your structure idea [7/4/2005 5:49 PM] <vitorsouz> Ok. So are we closed on Overview and Prj. Info? [7/4/2005 5:49 PM] <jaybose> yep. [7/4/2005 5:49 PM] <the_mind> yep [7/4/2005 5:50 PM] <vitorsouz> All raise your hands. \o_ :P [7/4/2005 5:50 PM] <vitorsouz> Just kidding. Moving on to FAQ, then. [7/4/2005 5:50 PM] <the_mind> \^/ [7/4/2005 5:50 PM] <jaybose> :-) [7/4/2005 5:50 PM] <jaybose> In terms of FAQ content, does WW have one now? [7/4/2005 5:50 PM] <the_mind> i don't think so [7/4/2005 5:50 PM] <vitorsouz> Not sure. Let me check. [7/4/2005 5:50 PM] <the_mind> that's why i would let the faq be the last [7/4/2005 5:51 PM] <jaybose> http://wiki.opensymphony.com/display/WW/FAQ [7/4/2005 5:51 PM] <vitorsouz> That's it. [7/4/2005 5:51 PM] <jaybose> ok, so first off, we need to order this better, and make it into sections. [7/4/2005 5:51 PM] <vitorsouz> Should we bother creating the FAQ sections now? [7/4/2005 5:52 PM] <vitorsouz> Maybe we could think about it later. [7/4/2005 5:52 PM] <jaybose> i agree, we'll tackle later [7/4/2005 5:52 PM] <jaybose> I say skip Tutorial [7/4/2005 5:53 PM] <jaybose> that should come based on Patrick's example app [7/4/2005 5:53 PM] <vitorsouz> I haven't seen Patrick's example app. [7/4/2005 5:53 PM] <jaybose> neither have I, that's why it should wait. [7/4/2005 5:53 PM] <the_mind> i have only one comment [7/4/2005 5:54 PM] <the_mind> i should not provide an example with scriptlets [7/4/2005 5:54 PM] <the_mind> otherwise in terms of evolution of the tutorial it seems oke to me [7/4/2005 5:54 PM] <jaybose> scriplets? [7/4/2005 5:54 PM] <vitorsouz> Ok. I'll talk to Patrick, then. [7/4/2005 5:54 PM] <the_mind> Understanding actions (includes note on displaying data using Scriptlets) [7/4/2005 5:54 PM] <jaybose> ok [7/4/2005 5:55 PM] <the_mind> let's wait the example app and than we will fix this one [7/4/2005 5:55 PM] <jaybose> Moving to Cookbook: what type of docs should go in here? [7/4/2005 5:55 PM] <the_mind> is Patrick working on it? [7/4/2005 5:55 PM] <the_mind> or should we? [7/4/2005 5:55 PM] <jaybose> he is, or is done. [7/4/2005 5:55 PM] <the_mind> i have noticed something in cvs but not sure yet [7/4/2005 5:56 PM] <vitorsouz> I'll talk to him. If he likes any of my suggestions on the tutorial, I'll help him develop the example app to conform with the tutorial. [7/4/2005 5:56 PM] <vitorsouz> And vice-versa. [7/4/2005 5:56 PM] <jaybose> Ok. So far you have the following for Cookbook: Tips and tricks on Application Servers (this was in "Overview") Accessing application, session and request objects; How to format dates and numbers; Other stuff from the revised Cookbook... [7/4/2005 5:56 PM] <the_mind> yes there is something in cvs [7/4/2005 5:57 PM] <the_mind> see webwork-example dir [7/4/2005 5:57 PM] <vitorsouz> Yeah, my suggestions on the Cookbook were detailed in the paragraph and table that follows the bulleted list. [7/4/2005 5:57 PM] <vitorsouz> I think the lessons in the current cookbook should be revised. [7/4/2005 5:58 PM] <vitorsouz> Basic ones should be moved to tutorial. [7/4/2005 5:58 PM] <the_mind> i would include in cookbook: alt syntax [7/4/2005 5:58 PM] <jaybose> Ok, saw it. [7/4/2005 5:58 PM] <the_mind> extensive validation [7/4/2005 5:58 PM] <the_mind> custom interceptors [7/4/2005 5:58 PM] <jaybose> he's a Q: what should go into the FAQ? [7/4/2005 5:58 PM] <the_mind> we should extract teh faq from the ML [7/4/2005 5:59 PM] <the_mind> browse a little the forum and identify the most asked questions [7/4/2005 5:59 PM] <the_mind> that's what i would like to see in a faq [7/4/2005 5:59 PM] <jaybose> I see the diff b/w cookbook and tutorial; but what's the diff b/w these and the FAQ? [7/4/2005 5:59 PM] <the_mind> shortcuts [7/4/2005 5:59 PM] <jaybose> Maybe level of complexity? [7/4/2005 5:59 PM] <vitorsouz> Maybe. [7/4/2005 5:59 PM] <jaybose> shortcuts? [7/4/2005 5:59 PM] <the_mind> the faq should be a shortcut to forum questions [7/4/2005 5:59 PM] <the_mind> and to tricky parts [7/4/2005 5:59 PM] <vitorsouz> A cookbook is more detailed than the FAQ. [7/4/2005 6:00 PM] <the_mind> absolutely [7/4/2005 6:00 PM] <the_mind> a cookbook is offering internals [7/4/2005 6:00 PM] <the_mind> a faq: as the name says: frequently asked questions... this is why i would look in the ML for the FAQ points [7/4/2005 6:01 PM] <jaybose> Yeah, but we'd enter the Faq questions. They'd be entered after a bunch of ppl as the same question. [7/4/2005 6:02 PM] <jaybose> ok, I guess the Faq could also point to Cookbook answers [7/4/2005 6:02 PM] <vitorsouz> I think what Jay is trying to say is: "How do I integrate WW with Spring" is a FAQ. A lot of people ask it. [7/4/2005 6:02 PM] <the_mind> yes [7/4/2005 6:02 PM] <vitorsouz> Exactly: link from the FAQ to the cookbook. [7/4/2005 6:02 PM] <the_mind> how do i pass parameters in xwork.xml [7/4/2005 6:02 PM] <the_mind> and so on... this can be links to the cookbook or tutorial [7/4/2005 6:03 PM] <the_mind> these* [7/4/2005 6:03 PM] <vitorsouz> Alright. [7/4/2005 6:03 PM] <jaybose> Related Projects: ... [7/4/2005 6:03 PM] <vitorsouz> So, do we think about what the Cookbook should have now or just leave the suggestion as it is? [7/4/2005 6:03 PM] <jaybose> (skipping ref for a sec) [7/4/2005 6:03 PM] <jaybose> the suggestion seems good enough [7/4/2005 6:04 PM] <jaybose> it's clear what needs to be done [7/4/2005 6:04 PM] <vitorsouz> Ok. Related Projects then. [7/4/2005 6:04 PM] <jaybose> the person who takes that section will have to figure it out [7/4/2005 6:04 PM] <the_mind> i think the info in cookbook should include almost everything in the wiki right now that will not be covered in the tutorial [7/4/2005 6:05 PM] <the_mind> it will be by far the toughest job [7/4/2005 6:05 PM] <vitorsouz> Certainly. [7/4/2005 6:05 PM] <the_mind> i don't think one single guy can do it [7/4/2005 6:05 PM] <vitorsouz> Related Projects include information on other projects, like WebFlow, Plugins, Optional modules, etc. [7/4/2005 6:05 PM] <jaybose> Vitor has: WebFlow (graphical chart tool) EclipseWork (Eclipse Plugin) IDEA Plugin WebWork Optional [7/4/2005 6:05 PM] <the_mind> i think at least 2 should work on it [7/4/2005 6:05 PM] <the_mind> even in parallel [7/4/2005 6:05 PM] <jaybose> the_mind: that will probably happen. [7/4/2005 6:05 PM] <the_mind> why are you orange? [7/4/2005 6:06 PM] <the_mind> :-/ [7/4/2005 6:06 PM] <vitorsouz> So, anything to add or change in the "Related Projects"? [7/4/2005 6:06 PM] <jaybose> No, these seem pretty self-explanatory [7/4/2005 6:07 PM] <vitorsouz> Ok. Can we start the discussion about the Reference, then? [7/4/2005 6:07 PM] <jaybose> yep. [7/4/2005 6:07 PM] <jaybose> this is what i had: [7/4/2005 6:07 PM] <vitorsouz> Ok. There's your suggestion and there's my comments on it. [7/4/2005 6:07 PM] <jaybose> What is Webwork - also explain what Webwork is not. Architecture Getting Started/Deployment Notes Configuration Interceptors Action Chaining IOC JSP & Velocity Tags - this would be the current tag information, combined with the current "JSP Expression Language Comparison with Webwork 1.x" pages Webwork Freemarker Support Result Types Type Conversion Validation OGNL Internationalization Webflow 3rd Party Integration [7/4/2005 6:07 PM] <jaybose> I like Jay Bose's reference TOC (below). On top of it, I'd suggest: Remove "What is WebWork" and "Getting Started/Deployment Notes"; Replace them with "Introduction", in which there would be instructions to read the Overview first and proceed to the tutorial if the reader wants to get started; Append "/ Dependency Injection" to "IoC", because some people may know it only by the name "Dependency Injection"; Group "JSP & Velocity Tags" with "WebWork Freemarker Support" to create a single section that contains everything related to user interface (in subsections); "JSP Expression Language Comparison with WebWork 1.x" should be in "Migrating from WebWork 1.x", in the "Project Information" section; Add to that same UI topic: JavaScript validation and DWR support (is this in 2.2?); WebFlow would be in "Related Projects"; Have "3rd Party Integration" be links to Cookbook pages that explain how to integrate with SiteMesh, Spring, Pico, Hibernate, JUnit, Quartz, etc. [7/4/2005 6:07 PM] <the_mind> i must go to sleep now... sorry 2am [7/4/2005 6:08 PM] <jaybose> goodnight [7/4/2005 6:08 PM] <vitorsouz> Ok, the_mind: good night. Thanks for your opinions. [7/4/2005 6:08 PM] <the_mind> jay pls send me the log [7/4/2005 6:08 PM] <jaybose> it will be on the forum, i'll send an email [7/4/2005 6:08 PM] <the_mind> i will comment on it... but as far as can say you are moving pretty well without me [7/4/2005 6:08 PM] <the_mind> :) [7/4/2005 6:08 PM] <the_mind> good nite [7/4/2005 6:08 PM] <vitorsouz> Night [7/4/2005 6:09 PM] <jaybose> Vitor: give me a minute, i'll give a hybrid of your comments on it [7/4/2005 6:09 PM] |<-- the_mind has left efnet (http://chat.efnet.org) [7/4/2005 6:09 PM] <vitorsouz> Ok. I will hold. [7/4/2005 6:10 PM] <vitorsouz> But since I'm not a native english speaker, I don't know what you meant by "give a hybrid of my comments" :) [7/4/2005 6:14 PM] <jaybose> i am made changes to my suggestions, based on your comments [7/4/2005 6:15 PM] <jaybose> Introduction - which will have parts of Overview in it, rather than forwarding them to Overview altogether. Architecture Configuration Interceptors Action Chaining IOC / Dependency Injection UI Components - JSP, Velocity, Freemarker, JavaScript validation and DWR support Result Types Type Conversion Validation OGNL Internationalization 3rd Party Integration - SiteMesh, Spring, Pico, Hibernate, JUnit, Quartz, etc. [7/4/2005 6:15 PM] <vitorsouz> Did you update the wiki page? [7/4/2005 6:15 PM] <jaybose> now, i did not really chg the 3rd party, and i am trying to add parts of Overview to the Intro [7/4/2005 6:15 PM] <jaybose> not yet [7/4/2005 6:15 PM] <vitorsouz> Ok, let me take a look at it here then. [7/4/2005 6:16 PM] <jaybose> the reason for this is i believe the ref should be a doc that ppl could print on it's own and pass around the office [7/4/2005 6:16 PM] <jaybose> wiki is great, but not as simple to handle as a complete product doc in PDF manual [7/4/2005 6:16 PM] <jaybose> similar to Spring and Hibernate [7/4/2005 6:17 PM] <jaybose> i think WW should move in that direction [7/4/2005 6:17 PM] <vitorsouz> Ok. Agreed. [7/4/2005 6:17 PM] <vitorsouz> I think the merge is good. [7/4/2005 6:18 PM] <vitorsouz> About 3rd party info: it would not be links to the cookbook, then? [7/4/2005 6:18 PM] <jaybose> So there could be links to things within the ref, but it should a standalone document. If a user needs more info on a subject, then they should look to the tutorial or cookbook. [7/4/2005 6:18 PM] <vitorsouz> Ok. [7/4/2005 6:18 PM] <jaybose> no, b/c that is something ppl use a lot [7/4/2005 6:19 PM] <vitorsouz> Should we define, then, that the Reference doesn't link to anyone, people link to the reference? [7/4/2005 6:19 PM] <jaybose> i know when i was adding Spring to my app, i looked at it's Hibnernate support section constantly [7/4/2005 6:19 PM] <jaybose> hmm, maybe [7/4/2005 6:19 PM] <vitorsouz> So if "Spring integration in WebWork" is a FAQ and a Cookbook, they all link to the reference, which will be written book-style. [7/4/2005 6:19 PM] <jaybose> i think the reference could tell ppl where to find more information: cookbook, tutorial [7/4/2005 6:19 PM] <vitorsouz> If not book-style, hibernate-reference-style. [7/4/2005 6:19 PM] <jaybose> yes. [7/4/2005 6:20 PM] <vitorsouz> But would Confluence convert links to other pages to full URLs? [7/4/2005 6:20 PM] <vitorsouz> When generating PDF? [7/4/2005 6:21 PM] <vitorsouz> Can we ask Confluence to generate only the Reference as PDF and all of its links to outside be converted? [7/4/2005 6:21 PM] <jaybose> Why would not want the links to stay as is? [7/4/2005 6:21 PM] <jaybose> Should the links change? [7/4/2005 6:21 PM] <vitorsouz> Because if the Cookbook is not generated as PDF to be printed and passed around, we need to change the links to the cookbook to their complete URL. [7/4/2005 6:22 PM] <vitorsouz> Or am I missing something? [7/4/2005 6:22 PM] <jaybose> ahhhh [7/4/2005 6:22 PM] <jaybose> now i understand [7/4/2005 6:22 PM] <jaybose> so the links are relative now? [7/4/2005 6:23 PM] <jaybose> or you mean, you only see the name w/ an underline [7/4/2005 6:23 PM] <vitorsouz> Yes. [7/4/2005 6:23 PM] <vitorsouz> But not only that. [7/4/2005 6:23 PM] <vitorsouz> When you link from one page to another in Confluence you just have to write the page's name. [7/4/2005 6:23 PM] <vitorsouz> For example, the TOC Homework page references my suggestions on syle. [7/4/2005 6:24 PM] <vitorsouz> Like this: [Click here|Documentation Style Guide] [7/4/2005 6:24 PM] <vitorsouz> Click here is the text that will be underlined. [7/4/2005 6:24 PM] <vitorsouz> The rest is the name of the page, which serves as URL. [7/4/2005 6:24 PM] <jaybose> We can't control that, most references do that. If they need to see what a link would lead to, they have to go back to the pdf and click on the link. [7/4/2005 6:24 PM] <jaybose> we need to ask patrick if we can make the links full url's under the name [7/4/2005 6:24 PM] <jaybose> i bet not. crap. [7/4/2005 6:25 PM] <vitorsouz> Ok. Also we have to ask him how do we organize the sections in a way that we can choose to generate PDF only for the Reference, not the other pages. [7/4/2005 6:25 PM] <jaybose> By the way, i hate confluence. [7/4/2005 6:25 PM] <jaybose> ok, so we'll need to see what he has to say about this. [7/4/2005 6:25 PM] <vitorsouz> Are you going to cross that phrase from the log before publsihing it? haha :) [7/4/2005 6:26 PM] <jaybose> haha [7/4/2005 6:26 PM] <jaybose> maybe i should... :-J [7/4/2005 6:26 PM] <vitorsouz> ;) [7/4/2005 6:26 PM] <jaybose> ok, so any other ideas, if we can't convert links? [7/4/2005 6:26 PM] <jaybose> just in case? [7/4/2005 6:26 PM] <vitorsouz> Not reference anything. [7/4/2005 6:27 PM] <vitorsouz> Invesion of Control... Everybody references the Ref, the Ref references no one. :P [7/4/2005 6:27 PM] <jaybose> hmm, ok. Maybe just reference sections by name. [7/4/2005 6:27 PM] <jaybose> right. [7/4/2005 6:27 PM] <vitorsouz> Or that. [7/4/2005 6:27 PM] <jaybose> haha [7/4/2005 6:27 PM] <jaybose> ok, i think we've made some progress [7/4/2005 6:28 PM] <vitorsouz> Definetly. [7/4/2005 6:28 PM] <jaybose> I'll the notes i made to the bottom of that Page you made [7/4/2005 6:28 PM] <vitorsouz> Ok. Are you doing that now? [7/4/2005 6:28 PM] <jaybose> and publish this conversation, and then send out a note [7/4/2005 6:28 PM] <jaybose> yep [7/4/2005 6:28 PM] <vitorsouz> We could change this "Someone's Suggestions" page to Doc Team Suggestions. [7/4/2005 6:29 PM] <jaybose> will do [7/4/2005 6:29 PM] <vitorsouz> Move your Reference section instead of mine and add the other notes. [7/4/2005 6:29 PM] <jaybose> oh you want me to chg the entire page? [7/4/2005 6:29 PM] <jaybose> i was going to append [7/4/2005 6:29 PM] <vitorsouz> Yes. [7/4/2005 6:30 PM] <vitorsouz> If you want to append I can reorganize it later. [7/4/2005 6:30 PM] <vitorsouz> Just let me know when you're done. [7/4/2005 6:30 PM] <vitorsouz> Confluence should have support for simultaneous work! :) haha [7/4/2005 6:30 PM] <jaybose> :) [7/4/2005 6:30 PM] <jaybose> agreed [7/4/2005 6:36 PM] <jaybose> Done. Check it out and update as needed. Thanks for the patience. [7/4/2005 6:37 PM] <vitorsouz> Ok, checking it now. [7/4/2005 6:37 PM] <vitorsouz> This new IRC client that I got (VIRC) doesn't notify on channel messages... [7/4/2005 6:38 PM] <vitorsouz> Ok. I will reorganize the page, if you don't mind. Alright? [7/4/2005 6:39 PM] <jaybose> Catch you on the forums; see ya. [7/4/2005 6:39 PM] <jaybose> np.


hyla% cd tiff-v3.4beta099 hyla% ./configure ...lots of messages... hyla% make ...lots of messages... hyla# make install
In general, the software is designed such that the following should be ``make-able'' in each directory:
make [all] build stuff make install build&install stuff make clean remove .o files, executables and cruft make distclean remove everything, that can be recreated
hyla% cd tiff-v3.4beta099 hyla% ls COPYRIGHT VERSION config.sub dist man Makefile.in config.guess configure html port README config.site contrib libtiff tools hyla% ./configure
Otherwise, you can configure a build tree that is parallel to the source tree hierarchy but which contains only configured files and files created during the build procedure.
hyla% cd tiff-v3.4beta099 hyla% mkdir obj obj/mycpu hyla% cd obj/mycpu hyla% ../../configure
A second function of the configure script is to set the default configuration parameters for the software. Of particular note are the directories where the software is to be installed. By default the software is installed in the /usr/local hierarchy. To change this behaviour the appropriate parameters can be specified on the command line to configure. Run ./configure --help to get a list of possible options. Installation related options are shown below.
Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names
These options control whether or not to configure the software to build a shared and static binaries for the TIFF library. Use of shared libraries can significantly reduce the disk space needed for users of the TIFF software. If shared libarries are not used then the code is statically linked into each application that uses it. By default both types of binaries is configured.
--enable-rpath Enable runtime linker paths (-R libtool option)
Add library directories (see other options below) to the TIFF library run-time linker path.
wullbrandt% mkdir tiff wullbrandt% cd tiff wullbrandt% ln -s /hosts/oxford/usr/people/sam/tiff src
wullbrandt% src/configure Configuring TIFF Software v3.4beta015. Reading site-wide parameters from ../tiff-v3.4beta015/config.site. Reading local parameters from config.local. Gosh, aren't you lucky to have a i386-unknown-bsdi1.1 system!
Using /usr/local/bin/gcc for a C compiler (set CC to override). Looks like /usr/local/bin/gcc supports the -g option. Using " -g" for C compiler options.
Note that an ANSI C compiler is required to build the software. If a C compiler requires options to enable ANSI C compilation, they can be specified with the ENVOPTS parameter.
Once a compiler is selected configure checks to see if the compiler accepts a -g option to enable the generation of debugging symbols, and if the compiler includes an ANSI C preprocessor.
Using /usr/ucb/make to configure the software.
Creating port.h. The port.h file is included by all the C code in the library (but not the tools). It includes definitions for functions and type definitions that are missing from system include files, #defines to enable or disable system-specific functionality, and other odds and ends.
Creating libtiff/port.h with necessary definitions. ... using LSB2MSB bit order for your i386 cpu ... using big-endian byte order for your i386 cpu ... configure use of mmap for memory-mapped files ... O_RDONLY is in <fcntl.h> ... using double for promoted floating point parameters ... enabling use of inline functions Done creating libtiff/port.h.
Selecting emulated library functions. Certain library functions used by the tools are not present on all systems and can be emulated using other system functionality. configure checks for the presence of such functions and if they are missing, will configure emulation code from the port directory to use instead. Building the TIFF software on unsupported systems may require adding to the code to the port directory.
Checking system libraries for functionality to emulate. Done checking system libraries.
Checking for Dynamic Shared Object (DSO) support. Done checking for DSO support.
Selecting utility programs. configure locates various system utility programs that are used during installation of the software.
Selecting programs used during installation. Looks like mv supports the -f option to force a move. Looks like /bin/ln supports the -s option to create a symbolic link. Done selecting programs.
Selecting default configuration parameters. The remainder of the work done by configure involves setting up configuration parameters that control the placement and setup of files during the installation procedure.
Selecting default TIFF configuration parameters. Looks like manual pages go in /usr/contrib/man. Looks like manual pages should be installed with bsd-nroff-gzip-0.gz. TIFF configuration parameters are: [ 1] Directory for tools: /usr/contrib/bin [ 2] Directory for libraries: /usr/contrib/lib [ 3] Directory for include files: /usr/contrib/include [ 4] Directory for manual pages: /usr/contrib/man [ 5] Manual page installation scheme: bsd-nroff-gzip-0.gz Are these ok [yes]?
Once acceptable parameters are setup configure will generate all the files that depend on these parameters. Note that certain files may or may not be created based on the configuration of optional packages and/or the functions supported by target system.
Creating Makefile from ../tiff-v3.4beta015/Makefile.in Creating libtiff/Makefile from ../tiff-v3.4beta015/libtiff/Makefile.in Creating man/Makefile from ../tiff-v3.4beta015/man/Makefile.in Creating tools/Makefile from ../tiff-v3.4beta015/tools/Makefile.in Creating port/install.sh from ../tiff-v3.4beta015/port/install.sh.in Done.
To add new support for building a shared library both these files must be updated. In the configure script search for the section where the autoconfiguration setting of the DSO parameter is handled and add a new case for the target system that sets the DSOSUF, DSOLD, DSOOPTS, and LIBCOPTS options as appropriate for the system. DSOSUF specifies the filename suffix used for the shared library (e.g. ``.so'' for Dynamic Shared Objects on most SVR4-based systems). DSOLD specifies the program to use to build the shared library from a compiled object file; typically ``${LD}'' though on some systems it is better to use the C compiler directly so system-dependent options and libraries are automatically supplied. DSOOPTS are options that must be specified to DSOLD when building the shared library. LIBCOPTS are options to pass to the C compiler when constructing a relocatable object file to include in a shared library; e.g. ``-K PIC'' on a Sun system. The DSO parameter must also be set to a unique label that identifies the target system and compilation tools. This label is used to select a target in libtiff/Makefile.in to do the actual work in building the shared library. Finally, to complete support for the shared library added the appropriate rules to libtiff/Makefile.in under the target specified in the configure script.
The source package is delivered using Unix line termination conventions, which work with MSVC but do not work with Windows 'notepad'. If you use unzip from the Info-Zip package, you can extract the files using Windows normal line termination conventions with a command similar to:
unzip -aa -a tiff-3.7.4.zip
By default libtiff expects that a pre-built zlib and jpeg library are provided by the user. If this is not the case, then you may edit libtiff\tiffconf.h using a text editor (e.g. notepad) and comment out the entries for JPEG_SUPPORT, PIXARLOG_SUPPORT, and ZIP_SUPPORT. Ignore the comment at the top of the file which says that it has no influence on the build, because the statement is not true for Windows. However, by taking this approach, libtiff will not be able to open some TIFF files.
To build using the provided makefile.vc you may use:
C:\tiff-3.7.4> nmake /f makefile.vc clean C:\tiff-3.7.4> nmake /f makefile.vc or (the hard way) C:\tiff-3.7.4> cd port C:\tiff-3.7.4\port> nmake /f makefile.vc clean C:\tiff-3.7.4\port> nmake /f makefile.vc C:\tiff-3.7.4> cd ../libtiff C:\tiff-3.7.4\libtiff> nmake /f makefile.vc clean C:\tiff-3.7.4\libtiff> nmake /f makefile.vc C:\tiff-3.7.4\libtiff> cd ..\tools C:\tiff-3.7.4\tools> nmake /f makefile.vc clean C:\tiff-3.7.4\tools> nmake /f makefile.vc
This will build the library file libtiff\libtiff\libtiff.lib. This can be used in Win32 programs. You may want to adjust the build options before start compiling. All parameters contained in the nmake.opt file.This is a plain text file you can open with your favorite text editor.
The makefile also builds a DLL (libtiff.dll) with an associated import library (libtiff_i.lib). Any builds using libtiff will need to include the LIBTIFF\LIBTIFF directory in the include path.
The libtiff\tools\makefile.vc should build .exe's for all the standard TIFF tool programs.
The directory contrib/dosdjgpp contains the files necessary to build the library and tools with the DJGPP v2 compiler under MSDOS.
All you have to do is copy the files in the directory into the respective directories and run make. If you want, you can use the conf.bat script to do that for you, make sure that the file is stored with MSDOS text EOL-convention (CR/LF), otherwise the command.com will not do anything.
Note that you probably will not be able to build the library with the v1.x versions of djgpp, due to two problems. First, the top makefile calls a sub-make for each directory and you are likely to run out of memory, since each recursive invocation of a djgpp v1.x program requires about 130k, to avoid that, you can enter the directories manually and call make (well, there are only two dirs). The 2nd problem is that djgpp 1.x doesn't call the coff2exe (stubify) program when creating an executable. This means that all programs compiled are not converted to exe and consequently are not available for calling directly. For the tools directory, you can just call coff2exe for each program after make finishes, but in the libtiff directory, a few programs are created during the make process that have to be called for make to continue (e.g. mkg3states). Make will probably report an error at each such stage. To fix that, either add a coff2exe call before each program is called or call coff2exe manually and rerun make (there 2-3 such programs).
[From the file contrib/mac-mpw/README.]
This directory contains all of the utilities and makefile source to build the LIBTIFF library and tools from the MPW Shell. The file BUILD.mpw in this directory is an executable script which uses all of these files to create the MPW makefiles and run them.
The <file>.make files are not MPW makefiles as such, but are when run through the "mactrans" program, which turns the ascii "%nn" metacharacters into the standard weird MPW make characters.
This translation trick is necessary to protect the files when they are put into unix tarfiles, which tend to mangle the special characters.
[From the file contrib/mac-cw/README.] In this directory you will find a Makefile.script Applescript file, which should be run in order to build the libtiff code using MetroWerks CodeWarrior. Refer to the "metrowerks.note" instructions on building the library for 68k and PowerPC native code, as well as building some of the libtiff tools, which are rather unix-like, but at least give an example of how to link everything together.
$ SET DEFAULT DISK:[TIFF.CONTRIB.VMS] $ RENAME [.LIBTIFF]*.* [-.-.LIBTIFF] $ RENAME [.TOOLS]*.* [-.-.TOOLS]
$ SET DEFAULT DISK:[TIFF.LIBTIFF] $ @MAKEVMS
$ SET DEFAULT DISK:[TIFF.TOOLS] $ @MAKEVMS
$ DEFINE TIFFSHR DISK:[TIFF.LIBTIFF]TIFFSHR $ FAX2PS :==$DISK:[TIFF.TOOLS]FAX2PS $ FAX2TIFF :==$DISK:[TIFF.TOOLS]FAX2TIFF $ GIF2TIFF :==$DISK:[TIFF.TOOLS]GIF2TIFF $ PAL2RGB :==$DISK:[TIFF.TOOLS]PAL2RGB $ PPM2TIFF :==$DISK:[TIFF.TOOLS]PPM2TIFF $ RAS2TIFF :==$DISK:[TIFF.TOOLS]RAS2TIFF $ RGB2YCBCR :==$DISK:[TIFF.TOOLS]RGB2YCBCR $ THUMBNAIL :==$DISK:[TIFF.TOOLS]THUMBNAIL $ TIFF2BW :==$DISK:[TIFF.TOOLS]TIFF2BW $ TIFF2PS :==$DISK:[TIFF.TOOLS]TIFF2PS $ TIFFCMP :==$DISK:[TIFF.TOOLS]TIFFCMP $ TIFFCP :==$DISK:[TIFF.TOOLS]TIFFCP $ TIFFDITHER:==$DISK:[TIFF.TOOLS]TIFFDITHER $ TIFFDUMP :==$DISK:[TIFF.TOOLS]TIFFDUMP $ TIFFINFO :==$DISK:[TIFF.TOOLS]TIFFINFO $ TIFFMEDIAN:==$DISK:[TIFF.TOOLS]TIFFMEDIAN $ TIFFSPLIT :==$DISK:[TIFF.TOOLS]TIFFSPLIT $ YCBCR :==$DISK:[TIFF.TOOLS]YCBCR
This release has been tested on OpenVMS/VAX 5.5-2, using VAX C 3.2. A previous release was tested under OpenVMS/AXP ?.? using DEC C ?.?, it is believed that this release as well works on AXP. The code contains some GNU C specific things. This does *not* imply, however, that the VAX/GCC configuration has been tested, *it has not*.
The command procedures (MAKEVMS.COM) for building the library and tools, is believed to choose the correct options for the VAX and AXP cases automatically.
On the AXP, IEEE floating point is used by default. If you want VAX floating point, remove the /FLOAT=IEEE_FLOAT qualifier, and change HAVE_IEEEFP=1 to HAVE_IEEEFP=0 in the MAKEVMS.COM files in both the libtiff and tools directories.
$ CC/INCLUDE=DISK:[TIFF.LIBTIFF]This ensures that the header file is found. On the AXP, also add /FLOAT=IEEE_FLOAT (if used when building the library).
$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS,SYS$INPUT:/OPTIONS SYS$SHARE:VAXCRTL/SHAREABLE
$ LINK MY_PROGRAM, - DISK:[TIFF.LIBTIFF]TIFF/LIBRARY/INCLUDE=(TIF_FAX3SM,TIF_CODEC), - SYS$INPUT:/OPTIONS SYS$SHARE:VAXCRTL/SHAREABLE
$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS
$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/LIBRARY
Method 2 gives somewhat longer link time and larger .EXE files, but does not require TIFFSHR to be defined. This method is recommended if you want to run your program on another machine, and for some reason don't want to have the library on that machine. If you plan to have more than one program (including the tools) on the machine, it is recommended that you copy the library to the other machine and use method 1.
This support was contributed by Peter Greenham. (peter@enlarion.demon.co.uk).
LIBTIFF uses several files which have names longer than the normal RISC OS maximum of ten characters. This complicates matters. Maybe one day Acorn will address the problem and implement long filenames properly. Until then this gets messy, especially as I'm trying to do this with obeyfiles and not have to include binaries in this distribution.
First of all, ensure you have Truncate configured on (type *Configure Truncate On)
Although it is, of course, preferable to have long filenames, LIBTIFF can be installed with short filenames, and it will compile and link without problems. However, getting it there is more problematic. contrib.acorn.install is an installation obeyfile which will create a normal Acorn-style library from the source (ie: with c, h and o folders etc.), but needs the distribution library to have been unpacked into a location which is capable of supporting long filenames, even if only temporarily.
My recommendation, until Acorn address this problem properly, is to use Jason Tribbeck's LongFilenames, or any other working system that gives you long filenames, like a nearby NFS server for instance.
If you are using Longfilenames, even if only temporarily to install LIBTIFF, unpack the TAR into a RAMDisc which has been longfilenamed (ie: *addlongfs ram) and then install from there to the hard disk. Unfortunately Longfilenames seems a bit unhappy about copying a bunch of long-named files across the same filing system, but is happy going between systems. You'll need to create a ramdisk of about 2Mb.
Now you can run the installation script I've supplied (in contrib.acorn), which will automate the process of installing LIBTIFF as an Acorn-style library. The syntax is as follows:
install <source_dir> <dest_dir>
Install will then create <dest_dir> and put the library in there. For example, having used LongFilenames on the RAMDisk and unpacked the library into there, you can then type:
Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ ADFS::4.$.LIBTIFF
It doesn't matter if the destination location can cope with long filenames or not. The filenames will be truncated if necessary (*Configure Truncate On if you get errors) and all will be well.
Once the LibTIFF folder has been created and the files put inside, making the library should be just a matter of running 'SetVars' to set the appropriate system variables, then running 'Makefile'.
OSLib
OSLib is a comprehensive API for RISC OS machines, written by Jonathan Coxhead of Acorn Computers (although OSLib is not an official Acorn product). Using the OSLib SWI veneers produces code which is more compact and more efficient than code written using _kernel_swi or _swi. The Acorn port of LibTIFF can take advantage of this if present. Edit the Makefile and go to the Static dependencies section. The first entry is:
# Static dependencies: @.o.tif_acorn: @.c.tif_acorn cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn
Change the cc line to:
cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn
Remember, however, that OSLib is only recommended for efficiency's sake. It is not required.
The library requires two files that are generated on-the-fly. The file tif_fax3sm.c has the state tables for the Group 3 and Group 4 decoders. This file is generated by the mkg3states program on a UNIX system; for example,
cd libtiff cc -o mkg3states mkg3states.c rm -f tif_fax3sm.c ./mkg3states -c const tif_fax3sm.c
The second file required to build the library, version.h, contains the version information returned by the TIFFGetVersion routine. This file is built on most systems using the mkversion program and the contents of the VERSION and tiff.alpha files; for example,
cd libtiff cc -o mkversion mkversion.c rm -f version.h ./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h
Otherwise, when building the library on a non-UNIX system be sure to consult the files tiffcomp.h and tiffconf.h. The former contains system compatibility definitions while the latter is provided so that the software configuration can be controlled on systems that do not support the make facility for building the software.
Systems without a 32-bit compiler may not be able to handle some of the codecs in the library; especially the Group 3 and 4 decoder. If you encounter problems try disabling support for a particular codec; consult the documentation.
Programs in the tools directory are written to assume an ANSI C compilation environment. There may be a few POSIX'isms as well. The code in the port directory is provided to emulate routines that may be missing on some systems. On UNIX systems the configure script automatically figures out which routines are not present on a system and enables the use of the equivalent emulation routines from the port directory. It may be necessary to manually do this work on a non-UNIX system.
Assuming you have working versions of tiffgt and tiffsv, you can just use them to view any of the sample images available for testing (see the section on obtaining the test images). Otherwise, you can do a cursory check of the library with the tiffcp and tiffcmp programs. For example,
tiffcp -lzw cramps.tif x.tif tiffcmp cramps.tif x.tif
(tiffcmp should be silent if the files compare correctly).
libtiff/tiff.h TIFF spec definitions libtiff/tiffcomp.h non-UNIX OS-compatibility definitions libtiff/tiffconf.h non-UNIX configuration definitions libtiff/tiffio.h public TIFF library definitions libtiff/tiffiop.h private TIFF library definitions libtiff/t4.h CCITT Group 3/4 code tables+definitions libtiff/tif_dir.h private defs for TIFF directory handling libtiff/tif_fax3.h CCITT Group 3/4-related definitions libtiff/tif_predict.h private defs for Predictor tag support libtiff/uvcode.h LogL/LogLuv codec-specific definitions libtiff/version.h version string (generated by Makefile) libtiff/tif_acorn.c Acorn-related OS support libtiff/tif_apple.c Apple-related OS support libtiff/tif_atari.c Atari-related OS support libtiff/tif_aux.c auxilary directory-related functions libtiff/tif_close.c close an open TIFF file libtiff/tif_codec.c configuration table of builtin codecs libtiff/tif_compress.c compression scheme support libtiff/tif_dir.c directory tag interface code libtiff/tif_dirinfo.c directory known tag support code libtiff/tif_dirread.c directory reading code libtiff/tif_dirwrite.c directory writing code libtiff/tif_dumpmode.c "no" compression codec libtiff/tif_error.c library error handler libtiff/tif_fax3.c CCITT Group 3 and 4 codec libtiff/tif_fax3sm.c G3/G4 state tables (generated by mkg3states) libtiff/tif_flush.c i/o and directory state flushing libtiff/tif_getimage.c TIFFRGBAImage support libtiff/tif_jpeg.c JPEG codec (interface to the IJG distribution) libtiff/tif_luv.c SGI LogL/LogLuv codec libtiff/tif_lzw.c LZW codec libtiff/tif_msdos.c MSDOS-related OS support libtiff/tif_next.c NeXT 2-bit scheme codec (decoding only) libtiff/tif_open.c open and simply query code libtiff/tif_packbits.c Packbits codec libtiff/tif_pixarlog.c Pixar codec libtiff/tif_predict.c Predictor tag support libtiff/tif_print.c directory printing support libtiff/tif_read.c image data reading support libtiff/tif_strip.c some strip-related code libtiff/tif_swab.c byte and bit swapping support libtiff/tif_thunder.c Thunderscan codec (decoding only) libtiff/tif_tile.c some tile-related code libtiff/tif_unix.c UNIX-related OS support libtiff/tif_version.c library version support libtiff/tif_vms.c VMS-related OS support libtiff/tif_warning.c library warning handler libtiff/tif_win3.c Windows-3.1-related OS support libtiff/tif_win32.c Win32 (95/98/NT) related OS support libtiff/tif_write.c image data writing support libtiff/tif_zip.c Deflate codec libtiff/mkg3states.c program to generate G3/G4 decoder state tables libtiff/mkspans.c program to generate black-white span tables libtiff/mkversion.c program to generate libtiff/version.h.


Money Play. Should Red redouble? If redoubled, should White take?
pips Red=115 White=75
(CorrectAnswer= 0/0, ErrorScore= 0)
If the cube was in the centre this would be a trivial problem as Red would have to double to activate gammons.
Redoubling is much more difficult question as gammons are already in play. A hit for Red doesn’t necessarily win either the game or the gammon but White does have four blots and the position is highly volatile.
It would be a very timid White indeed who dropped this so psychology doesn’t really come in to it. Technically XG has this as a redouble by a mere 0.011 so I wouldn’t criticise anyone for holding on to the cube here as it is so close. The problem would be if you didn’t even consider redoubling.
Redoubling is much more difficult question as gammons are already in play. A hit for Red doesn’t necessarily win either the game or the gammon but White does have four blots and the position is highly volatile.
It would be a very timid White indeed who dropped this so psychology doesn’t really come in to it. Technically XG has this as a redouble by a mere 0.011 so I wouldn’t criticise anyone for holding on to the cube here as it is so close. The problem would be if you didn’t even consider redoubling.
Cube analysis 2-ply cubeless equity +0.205 0.544 0.280 0.031 - 0.456 0.192 0.002 Cubeful equities: 1. No double +0.297 2. Double, pass +1.000 (+0.703) 3. Double, take +0.214 (-0.083) Proper cube action: No redouble, take (10.6%)


ZWalker is a humanoid robot which was designed for a robotic soccer game. ZJLabers RoboCup2019 Qualification Video
ZBigger is a humanoid robot which was designed for a robotic soccer game. ZJLabers RoboCup2020 Qualification Video ZJLabers RoboCup2020 TDP
Professor Gu is the director of Intelligent Robot Research Center in ZHEJIANG LAB. His research interest includes Biped Robots Walking and Running.
Team leader of ZJLabers, comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on hardware design and behavior algorithm.
Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on motion and behavior algorithm.
（Collaborator）Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on vison and behavior algorithm.
（Collaborator）Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on SLAM and self-localization algprithm.
Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on motion algorithm.
Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on the structure.
Graduated from Duke University, having R&D experience in intelligent robots, mainly focus on the structure design and system integration, now working at Intelligent Robot Research Center of Zhejiang Lab.
Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on vision algorithm.
Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on hardware design.
R&D in Computer Vision, Intelligent Robot Research Center, Zhejiang Lab.
Comes from Intelligent Robot Reasearch Center, Zhejiang Lab, and works on project manage.
(Intern)Comes from Intelligent Robot Reasearch Center,zhejiang lab,and works on vision positioning.


IntlPop 3 allows you to run simple demographic simulations using data about countries or regions of the world to predict future population trends.
When you open IntlPop 3, you should see a map taking up most of the interface pane, with a list of countries/regions immediately to its right. At the top of the pane are a few buttons and some information about which country/region is currently selected.
In the lower left corner of the map are three radio buttons that allow you to view the world by country, region, or continent. Just click on the one that you want.
In the upper left corner of the map are +/- buttons to adjust the size of what you see on the map. You can move around the map by clicking and dragging in the desired direction. When your mouse cursor is hovering over a country or region, the name should appear above the map in the "Current Hover" field.
You can select a country or region simply by clicking on it. At this point, its name should appear in the "Current Selection" field above the map.
You can scroll down the list of countries and regions to make your selection. You can also cut down on the number of entries to look through by typing a search string into the empty box next to the "Select It" button.
Once you have selected your country or region to explore, click the "Select It" button to open a simulation window. You can select as many countries or regions as you like, and open as many simulation windows as you like. Each simulation window is independant of the others.
You can simulate the next step (10 years) for the current conditions by clicking the "Sim >" button, until you reach the end of the simulation period (in 2090). If you have run at least one time step, then you can back up by clicking the "Sim <" button.
The "Options" button allows you to start another simulation. Any new simulation will start with the default demographic data. (See "Changing the Scenario" below.) You may run up to three simulations for comparison. At any given instant, the population pyramid that you see on the screen refers to the current timestep of the current simulation that you are running. The graph in the middle of the screen shows lines for each of the simulations that you have run, each in its own color. The box on the right side of the screen will show the year and the corresponding population for the last timestep that you have run for each of the simulations. This allows you to see and compare the results of up to three simulations in the graph and in the final population numbers. From the Options menu, you can also reset the simulation (making everything just like when you first opened that simulation window).
IntlPop 3 allows you to change the state of the simulation in many ways. Making changes will then affect the projected outcome for the simulation.
If you place the cursor over a bar of the population pyramid, then you will see the absolute population for that cohort (a 5-year age range for either males or females). You can also change the value of the bar (shrinking or growing the number of people in that cohort) by moving the cursor to the end of the bar and then dragging it in or out. When you adjust the value of a bar, the total population shown in the box to the right of the simulation window will also update.
The "Fertility Rate" box shows the total fertility rate (the average number of children that a woman will have in her lifetime). Clicking on the button will open a box that lets you adjust this value in a number of ways. You can just type in a new value in the "Target Value" field. If you do so, you can also adjust the "Target Year" field. If you do not change the "Target Year", then your changed value will be applied immediately to the simulation. If you change the year to some time in the future, then the total fertility rate will gradually change over time from its current value to your target value, reaching the target in the year that you specified. If you click the "Adjust Individual Rates" button, then you will see a list of 5-year cohorts and the actual number of children per thousand women of the corresponding age. You can then type in a new value to any of those cohorts. Such changes will take place immediately, rather than over time. The "Close" button will close the window.
The "Life Expectancy" box shows the life expectancy for an individual born at that step in the simulation. If you click the "Life Expectancy" button, then you will be able to adjust various aspects of the mortality rates for the population. Similar to the "Fertility Rate", you can adjust the overall life expectancy by typing a new number in the "Target Value" field. And you can use the "Target Year" field to make your change take place gradually over time. Changing the "Life Expectancy" will alter all individual cohort mortality rates that the simulation uses. IntlPop 3 does not give you any direct way to alter those mortality rates individually. However, you can adjust the Infant Mortality Rate (the number of infant deaths per thousand births) by typing a new number into that field. The "Close" button will close the Life Expectancy window.
The "Net Migration" box shows the number of people in a given year who move out of the country (if the number is negative) or into the country (if the number is positive). If you click on the "Net Migration" button, you will be able to change this number. If you do not change the "Target Year" field, then your change will take place immediately. If you change this field to a year in the future, then the annual migration will be changed gradually over time until it reaches the specified value in the specified year. The "Close" button will close the Net Migration window.


About the authors¶
Ben Welsh is the editor of the Los Angeles Times Data and Graphics Department, a team of reporters and computer programmers in the newsroom that works to collect, organize, analyze and present large amounts of information. He is originally from Swisher, Iowa.
James Gordon is a designer and developer at the Reynolds Journalism Institute. He also teaches data journalism at the Missouri School of Journalism. He was previously lead developer for the California Civic Data Coalition.
Andrea Suozzo is the data editor at Seven Days newspaper in Vermont. She works with reporters to develop data-driven stories, creates data visualizations for stories and builds bots and databases to support newsgathering.
Cheryl Phillips is the Hearst Professional in Residence at Stanford. She is a founder of Big Local News, the Stanford Open Policing Project and the California Civic Data Coalition. Previously, Phillips worked at The Seattle Times for 12 years in a variety of reporting and editing roles with the investigations team and across the newsroom.
About this class¶
This course was first developed by Welsh for an October 2016, “watchdog workshop” organized by Investigative Reporters and Editors at San Diego State University’s school of journalism.
It was revised for a February 2017 hands-on training of students at Stanford’s journalism school and expanded into a six-hour class at the annual conference of the National Institute for Computer-Assisted Reporting in March 2017.
It was expanded into its current form for a massive open online course offered by the Knight Center for Journalism in the Americas in May 2017.
Since then, the course has been taught more than a dozen times in classrooms and at conferences across America and around the world.
About the data¶
The course is based on data provided by the California Civic Data Coalition, an open-source network of journalists and computer programmers working to ease access to the state’s jumbled, dirty and difficult database tracking money in politics.
The goal of the coalition’s work is to make the data those reporters used easier to access, understand and analyze. Learn more about the status of the project and the data you can download at californiacivicdata.org.