Knicks fans bust out 'Fire Dolan!' chant during game
by TSD StaffThe Knicks are the worst team in the NBA, with a 2-8 record, and a -10.1 points differential per game.
And, unfortunately for their fan base, despite what the team’s front office says — the Knicks aren’t getting better anytime soon.
As such, fans are becoming fed up with both the front office and ownership — understandably so.
There has been a lot of talk urging owner James Dolan to sell the team, and a chant about it even broke out during Sunday’s game against the Cavs at Madison Square Garden.
Tough times for Knicks fans right now.


Weapon jumps let you get more height from your double jump than usual. You can do them with both Sword or Hammer.
Sword jumps
If you need a bit more height from your double jump, you might want to do some sword jumps. To do them, while in the air, start by a horizontal sword slash and cancel it by a jump. Keep holding your jump and input a second horizontal slash. If you have multiple aerial jumps, you can input it again to chain them together.
Hammer jumps
Hammer jumps are a great movement tool because they give you a lot of height. To do a hammer jump, start by a horizontal attack and cancel it by a jump. Keep holding your jump and input a second horizontal slash. If you have multiple aerial jumps, you can input it again to chain them together.


Intro
Markdown is a lightweight and easy-to-use syntax for styling all forms of writing on the GitHub platform.
What you will learn:
- How the Markdown format makes styled collaborative editing easy
- How Markdown differs from traditional formatting approaches
- How to use Markdown to format text
- How to leverage GitHub’s automatic Markdown rendering
- How to apply GitHub’s unique Markdown extensions
What is Markdown?
markdown is a way to style text on the web. You control the display of the document; formatting words as bold or italic, adding images, and creating lists are just a few of the things we can do with Markdown. Mostly, Markdown is just regular text with a few non-alphabetic characters thrown in, like #
or *
.
You can use Markdown most places around GitHub:
- Gists
- Comments in Issues and Pull Requests
- Files with the
.md
or.markdown
extension
Examples
Text
It's very easy to make some words **bold** and other
words *italic* with Markdown. You can even [link to
Google!](http://google.com)
It’s very easy to make some words bold and other words italic with Markdown. You can even link to Google!
Lists
Sometimes you want numbered lists:
1. One
2. Two
3. Three
Sometimes you want bullet points:
* Start a line with a star
* Profit!
Alternatively,
- Dashes work just as well
- And if you have sub points, put two spaces before the dash or star:
- Like this
- And this
Sometimes you want numbered lists:
- One
- Two
- Three
Sometimes you want bullet points:
- Start a line with a star
- Profit!
Alternatively,
- Dashes work just as well
- And if you have sub points, put two spaces before the dash or star:
- Like this
- And this
Images
If you want to embed images, this is how you do it:
![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png)
If you want to embed images, this is how you do it:
Headers & Quotes
# Structured documents
Sometimes it's useful to have different levels of headings to structure your documents. Start lines with a `#` to create headings. Multiple `##` in a row denote smaller heading sizes.
#### This is a third-tier heading
You can use one `#` all the way up to `######` six for different heading sizes.
If you'd like to quote someone, use the > character before the line:
> Coffee. The finest organic suspension ever devised... I beat the Borg with it.
> - Captain Janeway
# Structured documents
Sometimes it’s useful to have different levels of headings to structure your documents. Start lines with a #
to create headings. Multiple ##
in a row denote smaller heading sizes.
This is a third-tier heading
You can use one #
all the way up to ######
six for different heading sizes.
If you’d like to quote someone, use the > character before the line:
Coffee. The finest organic suspension ever devised… I beat the Borg with it. - Captain Janeway
Code
There are many different ways to style code with GitHub's markdown. If you have inline code blocks, wrap them in backticks: `var example = true`. If you've got a longer block of code, you can indent with four spaces:
if (isAwesome){
return true
}
GitHub also supports something called code fencing, which allows for multiple lines without indentation:
```
if (isAwesome){
return true
}
```
And if you'd like to use syntax highlighting, include the language:
```javascript
if (isAwesome){
return true
}
```
There are many different ways to style code with GitHub’s markdown. If you have inline code blocks, wrap them in backticks: var example = true
. If you’ve got a longer block of code, you can indent with four spaces:
if (isAwesome){
return true
}
GitHub also supports something called code fencing, which allows for multiple lines without indentation:
if (isAwesome){
return true
}
And if you’d like to use syntax highlighting, include the language:
if (isAwesome){
return true
}
Extras
GitHub supports many extras in Markdown that help you reference and link to people. If you ever want to direct a comment at someone, you can prefix their name with an @ symbol: Hey @kneath — love your sweater!
But I have to admit, tasks lists are my favorite:
- [x] This is a complete item
- [ ] This is an incomplete item
When you include a task list in the first comment of an Issue, you will see a helpful progress bar in your list of issues. It works in Pull Requests, too!
And, of course emoji! :sparkles: :camel: :boom:
GitHub supports many extras in Markdown that help you reference and link to people. If you ever want to direct a comment at someone, you can prefix their name with an @ symbol: Hey @kneath — love your sweater!
But I have to admit, tasks lists are my favorite:
- [x] This is a complete item
- [ ] This is an incomplete item
When you include a task list in the first comment of an Issue, you will see a helpful progress bar in your list of issues. It works in Pull Requests, too!
And, of course emoji! :sparkles: :camel: :boom:


| Module | Fleximage::Model::ClassMethods |
| In: |
lib/fleximage/model.rb
|
Provides class methods for Fleximage for use in model classes. The only class method is acts_as_fleximage which integrates Fleximage functionality into a model class.
The following class level accessors also get inserted.
Example:
class Photo < ActiveRecord::Base acts_as_fleximage do image_directory 'public/images/uploaded' use_creation_date_based_directories true image_storage_format :png require_image true missing_image_message 'is required' invalid_image_message 'was not a readable image' # default_image_path 'public/images/no_photo_yet.png' default_image nil output_image_jpg_quality 85 preprocess_image do |image| image.resize '1024x768' end end # normal model methods... end
Internal method to ask this class if it stores image in the DB.
# File lib/fleximage/model.rb, line 88 88: def self.db_store? 89: columns.find do |col| 90: col.name == 'image_file_data' 91: end 92: end
# File lib/fleximage/model.rb, line 94 94: def self.has_store? 95: db_store? || image_directory 96: end
Image too small message Should include {{minimum}}
# File lib/fleximage/model.rb, line 158 158: def self.image_too_small_message(str = nil) 159: fb = "is too small (Minimum: #{minimum_image_size_to_s})" 160: if str.nil? 161: if @image_too_small_message 162: @image_too_small_message 163: else 164: translation = I18n.translate "activerecord.errors.models.#{self.model_name.underscore}.image_too_small", :minimum => minimum_image_size_to_s 165: translation = I18n.translate "activerecord.errors.messages.image_too_small", :minimum => minimum_image_size_to_s, :default => fb.gsub("{{minimum}}", minimum_image_size_to_s) if translation.match /translation missing:/ 166: translation 167: end 168: else 169: @image_too_small_message = str 170: end 171: end
Invalid image message
dsl_accessor :invalid_image_message, :default => ‘was not a readable image‘
# File lib/fleximage/model.rb, line 141 141: def self.invalid_image_message(str = nil) 142: fb = 'was not a readable image' 143: if str.nil? 144: if @invalid_image_message 145: @invalid_image_message 146: else 147: translation = I18n.translate "activerecord.errors.models.#{self.model_name.underscore}.invalid_image" 148: translation = I18n.translate "activerecord.errors.messages.invalid_image", :default => fb if translation.match /translation missing:/ 149: translation 150: end 151: else 152: @invalid_image_message = str 153: end 154: end
# File lib/fleximage/model.rb, line 173 173: def self.minimum_image_size_to_s 174: if minimum_image_size.is_a?(Array) && minimum_image_size.size == 2 175: #if minimum_image_size[0] > 0 && minimum_image_size[1] > 0 176: "#{minimum_image_size[0]}x#{minimum_image_size[1]}" 177: end 178: end
Missing image message
dsl_accessor :missing_image_message, :default => ‘is required‘
# File lib/fleximage/model.rb, line 122 122: def self.missing_image_message(str = nil) 123: fb = 'is required' 124: if str.nil? 125: if @missing_image_message 126: @missing_image_message 127: else 128: translation = I18n.translate "activerecord.errors.models.#{self.model_name.underscore}.missing_image" 129: translation = I18n.translate "activerecord.errors.messages.missing_image", :default => fb if translation.match /translation missing:/ 130: translation 131: end 132: 133: else 134: @missing_image_message = str 135: end 136: end
Call this class method just like you would call operate in a view. The image transoformation in the provided block will be run on every uploaded image before its saved as the master image.
# File lib/fleximage/model.rb, line 83 83: def self.preprocess_image(&block) 84: preprocess_image_operation(block) 85: end
Use this method to include Fleximage functionality in your model. It takes an options hash with a single required key, :image_directory.  Or configure with a nice looking block.
# File lib/fleximage/model.rb, line 75 75: def acts_as_fleximage(options = {}) 76: 77: # Include the necesary instance methods 78: include Fleximage::Model::InstanceMethods 79: 80: # Call this class method just like you would call +operate+ in a view. 81: # The image transoformation in the provided block will be run on every uploaded image before its saved as the 82: # master image. 83: def self.preprocess_image(&block) 84: preprocess_image_operation(block) 85: end 86: 87: # Internal method to ask this class if it stores image in the DB. 88: def self.db_store? 89: columns.find do |col| 90: col.name == 'image_file_data' 91: end 92: end 93: 94: def self.has_store? 95: db_store? || image_directory 96: end 97: 98: # validation callback 99: validate :validate_image 100: 101: # The filename of the temp image. Used for storing of good images when validation fails 102: # and the form needs to be redisplayed. 103: attr_reader :image_file_temp 104: 105: # Setter for jpg compression quality at the instance level 106: attr_accessor :jpg_compression_quality 107: 108: # Where images get stored 109: dsl_accessor :image_directory 110: 111: # Put uploads from different days into different subdirectories 112: dsl_accessor :use_creation_date_based_directories, :default => true 113: 114: # The format are master images are stored in 115: dsl_accessor :image_storage_format, :default => Proc.new { :png } 116: 117: # Require a valid image. Defaults to true. Set to false if its ok to have no image for 118: dsl_accessor :require_image, :default => true 119: 120: # Missing image message 121: #dsl_accessor :missing_image_message, :default => 'is required' 122: def self.missing_image_message(str = nil) 123: fb = 'is required' 124: if str.nil? 125: if @missing_image_message 126: @missing_image_message 127: else 128: translation = I18n.translate "activerecord.errors.models.#{self.model_name.underscore}.missing_image" 129: translation = I18n.translate "activerecord.errors.messages.missing_image", :default => fb if translation.match /translation missing:/ 130: translation 131: end 132: 133: else 134: @missing_image_message = str 135: end 136: end 137: 138: 139: # Invalid image message 140: #dsl_accessor :invalid_image_message, :default => 'was not a readable image' 141: def self.invalid_image_message(str = nil) 142: fb = 'was not a readable image' 143: if str.nil? 144: if @invalid_image_message 145: @invalid_image_message 146: else 147: translation = I18n.translate "activerecord.errors.models.#{self.model_name.underscore}.invalid_image" 148: translation = I18n.translate "activerecord.errors.messages.invalid_image", :default => fb if translation.match /translation missing:/ 149: translation 150: end 151: else 152: @invalid_image_message = str 153: end 154: end 155: 156: # Image too small message 157: # Should include {{minimum}} 158: def self.image_too_small_message(str = nil) 159: fb = "is too small (Minimum: #{minimum_image_size_to_s})" 160: if str.nil? 161: if @image_too_small_message 162: @image_too_small_message 163: else 164: translation = I18n.translate "activerecord.errors.models.#{self.model_name.underscore}.image_too_small", :minimum => minimum_image_size_to_s 165: translation = I18n.translate "activerecord.errors.messages.image_too_small", :minimum => minimum_image_size_to_s, :default => fb.gsub("{{minimum}}", minimum_image_size_to_s) if translation.match /translation missing:/ 166: translation 167: end 168: else 169: @image_too_small_message = str 170: end 171: end 172: 173: def self.minimum_image_size_to_s 174: if minimum_image_size.is_a?(Array) && minimum_image_size.size == 2 175: #if minimum_image_size[0] > 0 && minimum_image_size[1] > 0 176: "#{minimum_image_size[0]}x#{minimum_image_size[1]}" 177: end 178: end 179: 180: # Sets the quality of rendered JPGs 181: dsl_accessor :output_image_jpg_quality, :default => 85 182: 183: # Set a default image to use when no image has been assigned to this record 184: dsl_accessor :default_image_path 185: 186: # Set a default image based on a a size and fill 187: dsl_accessor :default_image 188: 189: # A block that processes an image before it gets saved as the master image of a record. 190: # Can be helpful to resize potentially huge images to something more manageable. Set via 191: # the "preprocess_image { |image| ... }" class method. 192: dsl_accessor :preprocess_image_operation 193: 194: # Set a minimum size ([x, y] e.g. [800, 600]) 195: # Set [0, 600] to just enforce y size or 196: # [800, 0] to just validate x size. 197: dsl_accessor :minimum_image_size 198: 199: # Image related save and destroy callbacks 200: after_destroy :delete_image_file 201: before_save :pre_save 202: after_save :post_save 203: 204: # execute configuration block 205: yield if block_given? 206: 207: # set the image directory from passed options 208: image_directory options[:image_directory] if options[:image_directory] 209: 210: # Require the declaration of a master image storage directory 211: if !image_directory && !db_store? && !default_image && !default_image_path 212: raise "No place to put images! Declare this via the :image_directory => 'path/to/directory' option\n"+ 213: "Or add a database column named image_file_data for DB storage" 214: end 215: end
# File lib/fleximage/model.rb, line 217 217: def image_file_exists(file) 218: # File must be a valid object 219: return false if file.nil? 220: 221: # Get the size of the file. file.size works for form-uploaded images, file.stat.size works 222: # for file object created by File.open('foo.jpg', 'rb'). It must have a size > 0. 223: return false if (file.respond_to?(:size) ? file.size : file.stat.size) <= 0 224: 225: # object must respond to the read method to fetch its contents. 226: return false if !file.respond_to?(:read) 227: 228: # file validation passed, return true 229: true 230: end


On this page
Filtering
When you offer a KrakenD endpoint you can decide to show only a subset of the fields coming from the backends’ response or alter the structure of the content provided. There are a number of different reasons you might want to use this functionality, but we strongly encourage you to use it to save user’s bandwidth and increase load and render times.
There are two different strategies you can use to filter content:
- Blacklist
- Whitelist
Blacklist
The blacklist filter can be read as the don’t show this filter. KrakenD will remove from the response all matching fields defined in the list, and the ones that do not match will be revealed. Use the blacklist to exclude some fields in the response.
To blacklist a field from the response add under the desired endpoint
configuration an blacklist
array with all the fields you don’t want to show. E.g.:
"blacklist": [
"token",
"CVV"
]
Nested fields (dot operator)
The blacklisted fields of your choice can also be a nested field. Use a dot as the level separator. For instance the a1
field in the following JSON response { "a": { "a1": 1 } }
can be blacklisted as a.a1
.
Also worth mentioning, the operator works with objects only and not with arrays. When working with collections []
, see the special case manipulating arrays.
For instance, { "a": [ { "a1": 1 } ] }
can’t be blacklisted as a.a1
because a1
is inside an array.
Working with arrays
Blacklist and whitelist filters expect objects. When working with collections, see the flatmap approachBlacklist example
We will use the JSONPlaceholder fake API so you can see live the output of the backend.
We want to set up a KrakenD endpoint that returns the posts for a specific user, but we’ve seen that the backend response contains too much data since our use case do not need the body
and userId
fields and we want a lighter and faster response.
The KrakenD endpoint to accept URLs like/posts/1
is defined as follows:
{
"endpoint": "/posts/{user}",
"method": "GET",
"backend": [
{
"url_pattern": "/posts/{user}",
"host": [
"https://jsonplaceholder.typicode.com"
],
"blacklist": [
"body",
"userId"
]
}
]
}
Now, when calling the KrakenD endpoint /posts/1
the response you would get will be as follows:
{
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit"
}
Compared with the backend response you’ll see that the fields body
and userId
are no longer there.
Whitelist
The blacklist filter can be read as the only show this filter. When you set a whitelist KrakenD will include in the endpoint response only those fields that match exactly with your choice. Use the whitelist to strictly define the fields you want to show in the response.
The whitelisted fields of your choice can also be nested field. Use a dot as the level separator. For instance the a1
field in the following JSON response { "a": { "a1": 1 } }
can be whitelisted as a.a1
.
Whitelist example
We will repeat the same exercise we did in the blacklist to get the same output. We only want to get the id
and title
fields from the backend.
{
"endpoint": "/posts/{user}",
"method": "GET",
"backend": [
{
"url_pattern": "/posts/{user}",
"host": [
"https://jsonplaceholder.typicode.com"
],
"whitelist": [
"id",
"title"
]
}
]
}
Now, when calling the KrakenD endpoint /posts/1
the response you would get will be as follows:
{
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit"
}
Just exactly as we did with the blacklist.
Whitelist or blacklist?
When filtering you need to choose between the blacklist and the whitelist. The two operations cannot coexist as their behaviors are contradictory. Nothing stops you to play for a while and see what happens if you mix them, but make sure it’s only experimentation!
From the performance point of view, blacklist is slightly fastest than whitelist.
Grouping
KrakenD is able to group your backend responses inside different objects. In other words, when you set a group
attribute for a backend, instead of placing all the response attributes in the root of the response, KrakenD creates a new key and places the response inside.
Encapsulating backend responses inside each own group is especially interesting when different backend responses can have colliding key names (e.g: all responses contain an id
with different values).
When grouping different backend responses don’t share the same group name, as the slowest backend would overwrite the response with the same group. Group names are supposed to be unique for each backend in the same endpoint but this is not enforced.
Grouping example
The following code is an endpoint that gets data from two different backends but one of the responses is encapsulated inside the field last_post
.
{
"endpoint": "/users/{user}",
"method": "GET",
"backend": [
{
"url_pattern": "/users/{user}",
"host": [
"https://jsonplaceholder.typicode.com"
]
},
{
"url_pattern": "/posts/{user}",
"host": [
"https://jsonplaceholder.typicode.com"
],
"group": "last_post"
}
]
}
This will generate responses like this one:
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email"<EMAIL_ADDRESS>"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
},
"last_post": {
"id": 1,
"userId": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}
}
Mapping
Mapping, or also known as renaming, let you change the name of the fields of the generated responses, so your composed response would be as close to your use case as possible without changing a line on any backend.
In the mapping
section map the original field name with the desired name.
Mapping example:
Instead of showing the email
field we want to name it personal_email
:
{
"endpoint": "/users/{user}",
"method": "GET",
"backend": [
{
"url_pattern": "/users/{user}",
"host": [
"https://jsonplaceholder.typicode.com"
],
"mapping": {
"email": "personal_email"
}
}
]
}
Will generate responses like this one:
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"personal_email"<EMAIL_ADDRESS>"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
Target
It is frequent in many API implementations that the desired data is always encapsulated inside a generic field like data
or content
and you don’t want to have this level included in your responses.
Use capturing when you want to capture the content inside these generic containers and extract it to the root as it never existed and when you want to work with other manipulation options. Capture takes place before other options like whitelist or mapping.
The capturing option uses the attribute target
in the configuration file.
Capturing a target example
Given a backend endpoint with this kind of responses containing a level data
:
{
"apiVersion":"2.0",
"data": {
"updated":"2010-01-07T19:58:42.949Z",
"totalItems":800,
"startIndex":1,
"itemsPerPage":1,
"items":[]
}
}
and with this KrakenD configuration
{
"endpoint": "/foo",
"method": "GET",
"backend": [
{
"url_pattern": "/bar",
"target": "data"
}
]
}
the gateway will generate responses like this one:
{
"updated":"2010-01-07T19:58:42.949Z",
"totalItems":800,
"startIndex":1,
"itemsPerPage":1,
"items":[]
}
Collections
Working with collections (or arrays) is a special manipulation case. There are two different scenarios regarding collections:
- When the whole backend response is inside an array instead of an object
- When you want to manipulate collections (e.g.: a path like
data.item[N].property
)
When the Backend response is inside an array
KrakenD expects all backends to return an object as the response. For instance, a JSON response containing an object comes encapsulated in curly braces {}
. E.g.:
{ "a": true, "b": false }
When your API does not return an object but a collection ([]
or array) you need to declare it explicitly with "is_collection": true
so that KrakenD can convert it to an object for further manipulation. An example of a JSON collection response is:
[ {"a": true }, {"b": false} ]
In such cases, add inside the backend
key the property "is_collection": true
so KrakenD can convert this collection to an object.
By default, KrakenD adds the key collection
in the response, e.g.:
{
"collection": [
{"a": true },
{"b": false}
]
}
You can rename the default key name collection
to something else using the mapping
attribute (docs above, example below).
The following is a real example based on a collection response, copy and paste to test in your environment:
"endpoints": [
{
"endpoint": "/posts",
"backend": [
{
"url_pattern": "/posts",
"host": ["http://jsonplaceholder.typicode.com"],
"sd": "static",
"is_collection": true,
"mapping": {
"collection": "myposts"
}
}
]
}
]
The response will look like this:
{
"myposts": [
{
...
},
{
...
}
}
When you need to manipulate arrays
All the data manipulation operations (such as whitelist, blacklist, etc) expect to find objects in the response. When an object is nested inside another object you can filter directly, but when there are arrays in the equation KrakenD needs to flatten the structure.
Manipulations with Lua
Backends response can be transformed using Lua scripting.
See Lua scripts documentation


{% extends 'base.html' %} {% block title %}Home{% endblock title %} {% block content %}
A photo gallery website built with Django.
View All Pictures


Belfast Marathon
Belfast NIR
Website: www.belfastcitymarathon.com
Race Winners
(74 runnings)
2:39:02 2:46:04 2:44:03 2:47:44 2:39:22 07 May
2007
2:16:24
2:46:45
01 May
2006
2:16:59
2:43:11
02 May
2005
2:22:20
2:41:33
03 May
2004
2:23:51
2:52:52
05 May
2003
2:17:09
2:45:48
06 May
2002
2:22:21
2:49:39
07 May
2001
2:26:00
2:56:56
01 May
2000
2:24:13
3:02:31
03 May
1999
2:20:58
2:58:49
04 May
1998
2:23:33
2:57:25
05 May
1997
2:20:17
2:55:10
06 May
1996
2:21:36
2:44:57
08 May
1995
2:18:42
2:53:10
02 May
1994
2:20:24
2:44:42
03 May
1993
2:18:12
2:45:05
04 May
1992
2:20:52
2:42:41
06 May
1991
2:18:56
2:55:25
07 May
1990
2:18:58
2:50:07
01 May
1989
2:20:45
2:58:31
02 May
1988
2:19:00
2:49:10
04 May
1987
2:17:47
2:48:28
05 May
1986
2:16:05
2:43:26
06 May
1985
2:15:52
2:45:40
07 May
1984
2:18:01
2:47:33
02 May
1983
2:20:14
2:58:07
03 May
1982
2:20:25
3:11:26
1981
---
---
1980
2:32:26
---
1979
---
19 Aug 1978
2:27:11
13 Aug 1977
2:26:53
1976
---
1975
2:47:05
1974
---
25 Aug
1973
2:26:28
01 Jul
1972
2:22:27
31 Jul
1971
2:23:58
30 May
1970
2:16:52
21 Jun
1969
2:17:37
22 Jun
1968
2:20:40
10 Jun
1967
2:31:34
28 May
1966
2:30:13
29 May
1965
2:28:35
30 May
1964
2:49:06
17 Aug
1963
2:36:44
09 Jun 1962
2:30:20 01 Jul
1961
2:32:17
03 Sep 1960
2:26:11.0
27 Jun
1959
2:33:00
07 Jun
1958
2:37:42
29
Jun 1957
2:39:58 1956
2:38:31
1955
2:38:51
1954
n/t
1953
n/t
1952
n/t
1951
n/t
1950
n/t
1949
n/t
26
Jun 1948
2:48:04 07 Jun 1947
2:39:51
03 Aug 1946
2:46:15
05 May
2019
2:18:41
Joel Kipsang Kositany-4
(nc)
2:36:38
Caroline Jepchirchir-2
(nc)
07 May
2018
2:18:20
Erich Koech (KEN)
(nc)
2:41:17
Caroline Jepchirchir (KEN)
(nc)
01 May
2017
2:16:03
Bernard Rotich Kipkemoi (KEN)
(nc)
2:41:46
Laura Graham (NIR)
(nc)
02 May
2016
2:17:39
Joel Kipsang Kositany-3
(nc)
2:48:26
Birhane Aregawi Gebremichael-2
(nc)
04 May
2015
2:19:36
Joel Kipsang Kositany-2
(nc)
2:40:57
Birhane Aregawi Gebremichael (ETH)
(nc)
05 May
2014
2:18:30
Freddy Sittuck Keron (KEN)
(nc)
2:41:20
Bayush Abebe Shiferaw (ETH)
(nc)
06 May
2013
2:19:28
Joel Kipsang Kositany (KEN)
(nc)
2:36:50
Nataliya Lehonkova (UKR)
(nc)
07 May
2012
2:13:41
Negewo Araisa Urga (ETH)
(nc)
Alice Chelangat Kimeto (KEN)
(nc)
02 May
2011
2:14:56
Jacob Cheshire Kipkorir (KEN)
(nc)
Vera Ovcharuk (UKR)
(nc)
03 May
2010
2:16:56
Negewo Araisa Urga (ETH) (nc)
Sarah Stradling (ENG) (nc)
04 May
2009
2:17:34
John Mutai
Kipyator -3 (nc)
Joyce Kandie (KEN) (nc)
05 May
2008
2:16:31
John Mutai
Kipyator -2 (nc)
Marashet Jimma (ETH) (nc)
John Mutai
Kipyator (KEN) (nc)
Desse Demelesh (ETH) (nc)
Stephen Ndungu
Muchiri (KEN) (nc)
Joyce Kandie (KEN) (nc)
Eric Kiplagat (KEN) (nc)
Lemma Urge (ETH) (nc)
Peter Edukan (KEN) (nc)
Julia Myatt (ENG) (nc)
Lezan Kimutai
Kipkosgei (KEN) (nc) (nc)
Trudi Thompson-3 (nc) (nc)
Simon Pride (SCO) (nc)
Trudi Thompson-2 (nc)
Joseph Riri (KEN) (nc)
Debra Curley (ENG) (nc)
Wilson Cheruiyot
Chumo (KEN) (nc)
Mary Jennings (IRL) (nc)
Samuel Okemwa
Kiplimo (KEN) (nc)
Barbara Brewer (WA/USA) (nc)
Thomas Hughes (IRL) (nc)
Jackie Newton (ENG) (nc)
John Ferrin-2 (nc)
Olive Nolan (IRL) (nc)
Terry Mitchell-2 (nc)
Trudi Thompson (SCO) (nc)
John Ferrin (NIR) (nc)
Patricia Griffin (IRL) (nc)
Terry Mitchell (SCO) (nc)
Catherine Smyth-3 (nc)
Gerard McGrath (IRL) (nc)
Catherine Smyth-2 (nc)
Jerry Kiernan-2 (nc)
Catherine Smyth (IRL) (nc)
Joel Kipchumba (KEN) (nc)
Brenda McNamara (IRL) (nc)
Jerry Kiernan (IRL) (nc)
Eleanor Hill (IRL) (nc)
Ian Bloomfield (ENG) (nc)
Rosaleen Hayden (IRL) (nc)
Thomas Hughes (NIR) (nc)
Theresa Kidd-3 (nc)
Calum Bark (ENG) (nc)
Theresa Kidd-2 (nc)
Martin Deane-2 (nc)
Moira O'Neill-2 (nc)
Martin Deane (NIR) (nc)
Moira O'Neill (NIR) (nc)
Andrew Daly (SCO) (nc)
Theresa Kidd (IRL) (nc)
Paul Craig (NIR) (nc)
Roma McConville
(GBR) (nc)
Gregory Hannon (NIR) (nc)
Susan Boreham
(GBR) (nc)
n/a
n/a
Trevor White
(GBR) (nc)
n/a
n/a
Fred Howell (ENG) (nc)
Davy Nicholson (nc)
n/a
John Gilmore (nc)
n/a
John McLaughlin (NIR) (nc)
Michael Teer-4 (nc)
Roy Kernoghan (nc)
Michael Teer-3 (nc)
Michael Teer-2 (nc)
Michael Teer (NIR)
(nc)
Stanley Vennard-3 (nc)
Stanley Vennard-2 (nc)
Raymond Kirkland-3 (nc)
Raymond Kirkland-2
(nc)
Raymond Kirkland
(nc)
Dave Smythe (NIR) (nc)
Hugh McEleney (IRL) (nc)
(nc) (nc)
Stanley Vennard (GBR) (nc)
Robert Crossan-2 (nc)
(nc) (nc)
James Todd (NIR) (nc)
Vincent Frazer-Walker (IRL) (nc)
Robert Crossan (NIR) (nc)
John Dawson (NIR) (nc)
John Henning-9 (nc)
John Henning-8 (nc)
John Henning-7 (nc)
John Henning-6 (nc)
John Henning-5 (nc)
John Henning-4 (nc)
John Henning-3 (nc)
John Henning-2 (nc)
John Henning (NIR) (nc)
Notes: On 22 Jun 1907, a "go-as-you-please" race at just over the marathon
distance was held from Belfast to Lurgan and won by W F Furlonger (3:08:21.2) with 303 finishers. The
1998 race was rerouted due to two mortar bombs being found near the course; this added about 18 meters. The 2019 course
was 460 meters too long due to a navigation error by a lead vehicle. "Adjusted" (unofficial) winning times were 2:17:09 and 2:34:55. Race currently known
as Deep RiverRock Belfast City Marathon.
(nc) => Northern Ireland championships
2019 Jarlath McKenna was the
Northern Ireland champion (6th place, 2:26:18)
2019 Gladys O'Neill was the
Northern Ireland champion (4th place, 2:37:32)
2018 Jarlath McKenna was the
Northern Ireland champion (7th place,2:30:45)
2018 Karen Alexander was the
Northern Ireland champion (12th place, 2:43:33)
2017 Colum Gaile was the
Northern Ireland champion (9th place, 2:42:02)
2016 Ben Morrow was the
Northern Ireland champion (11th place, 2:42:41)
2016 Laura Graham was the
Northern Ireland champion (2nd place, 2:48:56)
2015 Eddie McGinley was the
Northern Ireland champion (4th place, 2:24:52)
2015 Gerrie Short was the
Northern Ireland champion (9th place, 3:01:11)
2014 Joseph McAlister was the
Northern Ireland champion (6th place, 2:33:09)
2014 Karen Alexander was the
Northern Ireland champion (3rd place, 2:58:22)
2013 Thomas Hughes was the
Northern Ireland champion (6th place, 2:32:31)
2013 Julie Balmer was the
Northern Ireland champion (4th place, 3:00:29)
2012 Thomas Hughes was the
Northern Ireland champion (8th place, 2:29:43)
2012 (women's champion not known)
2012 (women's champion not known)
2011 Thomas Hughes was the
Northern Ireland champion (5th place, 2:33:16)
2011 Lisa Sturgeon was the Northern Ireland champion (4th place, 3:07:10)
2010 Richard Turkington was the Northern Ireland champion (6th place, 2:34:08)
2010 Maria McCambridge was the Northern Ireland champion (2nd place, 2:58:17)
2009 Alan McCullough was the Northern Ireland champion (5th place, 2:33:09)
2009 Suzanne McCormack was the Northern Ireland champion (4th place, 2:59:18)
2008 Thomas Hughes was the Northern Ireland champion (6th place, 2:28:38)
2008 Helena Crossan was the Northern Ireland champion (2nd place, 2:55:12)
2007 Cathal O'Connell was the Northern Ireland champion (4th place, 2:31:36)
2007 Anne Paul was the Northern Ireland champion (3rd place, 2:57:57)
2006 Alan McCullough was the Northern Ireland champion (4th place, 2:31:05)
2006 Amada Perry was the Northern Ireland champion (7th place, 3:19:51)
2005 Alan McCullough was the Northern Ireland champion (4th place, 2:28:54)
2005 Suzanne McCormack was the Northern Ireland champion (4th place, 3:04:47)
1996 John Ferrin was the Northern Ireland champion (3rd place, 2:22:13)
1993 John Ferrin was the Northern Ireland champion (2nd place, 2:21:50)
1989 Martin Deane was the Northern Ireland champion (2nd place, 2:22:28)
1987 Ricky Burke was the Northern Ireland champion (2nd place, 2:19:24)
1984 Moira O'Neil was the Northern Ireland champion (2nd place, 2:53:54)
1983 Martin Deane was the Northern Ireland champion (2nd place, 2:21:51)
1961 E Beck was the Northern Ireland champion (5th place, 3:09:17)
1959 John Dawson was the Northern Ireland champion (3rd place, 2:36:27)
1957 Robert Crossan was the Northern Ireland champion (2nd place, 2:41:57)
(nc)
=> All-Ireland championships
2002 Gary Crossan was the Irish national champion (2nd place, 2:24:19)
2002 Teresa Duffy was the Irish national champion (2nd place, 2:50:33)
(nc) =>
Irish AAU championships
1959 Hugh McEleney was the Irish AAU champion (2nd place, 2:34:52)
Most Wins
Men
9
John Henning (NIR)
1946-54
Women
3
Theresa Kidd (IRL)
1984,1987-88
.
Catherine Smyth (IRL)
1992-94
.
Trudi Thompson (SCO)
1996,2002-03
Prize Money (ADR qualified runners)
Year Men Women Total 2017 $15,025 $13,730 $28,755 2016 16,720 18,115 34,835 2015 16,725 17,560 34,285 2014 18,470 16,865 35,335 2013 15,570 15,180 30,750 2012 20,595 13,325 33,920 2011 13,200 11,695 24,895 2010 11,380 9,550 20,930 2009 9,340 10,465 19,805 2008 11,955 11,360 23,315 2007 9,660 11,060 20,720 2006 10,620 10,730 21,350 .... 2003 6,270 5,630 11,900 .... 1990 2,480 n/a 2,480 Sums $178,010 $165,265 $343,275
Race Time Bias (sec/km) Year Men Women 2014 +12.3 n/c
Competitive Level (1990-date) Year Men Women 2015 17 n/c 2014 28 n/c
Quality Performances
Men <2:14 1 <2:15 2 <2:16 4 <2:17 12 <2:18 21 <2:19 35 <2:20 45
Women
<2:38 2
<2:40 7
<2:42 11
<2:44 18
<2:46 25
<2:48 31
Last Updated on 06 May 2019 mp
Contributors: Malcolm Heyworth, Frieda Michiels, Andy Milroy (21), Malcolm McCausland (10), Maurice Wilson (6), Alex Wilson (7), Klaas Loonstra (5), Paul Craig


#include <sysc/communication/sc_signal_resolved_ports.h>
Definition at line 134 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 144 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 141 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 146 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 147 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 148 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 149 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 143 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | ) | [inline] |
Definition at line 155 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | const char * | name_ | ) | [inline, explicit] |
Definition at line 159 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | inout_if_type & | interface_ | ) | [inline, explicit] |
Definition at line 163 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | const char * | name_, | |
| inout_if_type & | interface_ | |||
| ) | [inline] |
Definition at line 167 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | inout_port_type & | parent_ | ) | [inline, explicit] |
Definition at line 171 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | const char * | name_, | |
| inout_port_type & | parent_ | |||
| ) | [inline] |
Definition at line 175 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | this_type & | parent_ | ) | [inline] |
Definition at line 179 of file sc_signal_resolved_ports.h.
| sc_core::sc_inout_resolved::sc_inout_resolved | ( | const char * | name_, | |
| this_type & | parent_ | |||
| ) | [inline] |
Definition at line 183 of file sc_signal_resolved_ports.h.
| virtual sc_core::sc_inout_resolved::~sc_inout_resolved | ( | ) | [inline, virtual] |
Definition at line 190 of file sc_signal_resolved_ports.h.
| virtual void sc_core::sc_inout_resolved::end_of_elaboration | ( | ) | [virtual] |
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
| virtual const char* sc_core::sc_inout_resolved::kind | ( | ) | const [inline, virtual] |
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 218 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 208 of file sc_signal_resolved_ports.h.
| this_type& sc_core::sc_inout_resolved::operator= | ( | const inout_port_type & | port_ | ) | [inline] |
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved, and sc_core::sc_out_resolved.
Definition at line 205 of file sc_signal_resolved_ports.h.
| this_type& sc_core::sc_inout_resolved::operator= | ( | const in_port_type & | port_ | ) | [inline] |
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved, and sc_core::sc_out_resolved.
Definition at line 202 of file sc_signal_resolved_ports.h.
| this_type& sc_core::sc_inout_resolved::operator= | ( | const in_if_type & | interface_ | ) | [inline] |
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 199 of file sc_signal_resolved_ports.h.
Reimplemented from sc_core::sc_inout< sc_dt::sc_logic >.
Reimplemented in sc_core::sc_out_resolved.
Definition at line 196 of file sc_signal_resolved_ports.h.


--- layout: post date: 2010-11-20 time: "09:00:00" authors: ["Ainsley Lawson"] title: Mid-term Quiz Results tags: ["Assessment"] ---
A few weeks ago we gave a quiz to the SWC students on the first three topics of the course: Version Control, Spreadsheets, and Databases. We did this in addition to our student check-ins in order to get a sense of how the students were doing with the material. Half of the class (24 students) submitted their answers.
Results:
Everyone did really, really well! The majority of the mistakes were small SQL syntax errors, or other similarly minor things.
Problem areas:
Overall, the students did very well. We did not assign numeric scores, but the majority of the quizzes were perfect or near to it.
Well done, Fall 2010 class!


The password is {{ passphrase }}. But which button is the correct one?
I've even filled in the correct password for you using the value attribute. All you have to do is click the right Submit button - the one that's a form input instead of a button. (Mouse over the right element in the Inspector to find it!)


Page not found
We are so sorry.
The page you are looking for has not been found.
This is part of
HTML Secure
by
Pius Ladenburger


A tale of Two Runtimes: Node.js vs Browser
Global vs Window
In Node.js runtime, global object
is where global variables are stored.
In browsers, window objects
are where global variables are stored.
Browsers have access to the document
object, which contains the html for the page, node does not have this.
Browsers also have access to a location
that contains information about the web address, node doesn’t.
Node has the require
module, that we can use to import installed modules, and export our own files.
The FS Module
Node ships with a File System module that contains methods that allow us to interact with our pc’s FS.
require
will return to us a object with many properties that will enable us to do file I/O.
Creating a New File
Write File
: Method used to create an file in the FS module.
fs.writeFile("foo.txt", "Hello world!", "utf8", (err) => {
if (err) {
console.log(err);
}
console.log("write is complete");
});
callback chaining
to guarantee commands occur after a write completes or fails.Reading Existing Files
Read File : Method used to read the contents of a file.
Arguments go as follows:
Callback to signal end
You can do anything you want with the contents of a read file, since it is just one giant string!
Fancy File I/O
We can use Read File and Write file together to replace occurences of certain phrases with something else.
const fs = require("fs");
function replaceContents(file, oldStr, newStr) {
fs.readFile(file, "utf8", (err, data) => {
if (err) {
console.log(err);
}
let newData = data.split(oldStr).join(newStr);
writeContents(file, newData);
});
}
function writeContents(file, data) {
fs.writeFile(file, data, "utf8", (err) => {
if (err) {
console.log(err);
}
console.log("done!");
});
}
replaceContents("poetry.txt", "do not", "should");
Version Control Systems help us keep track of changes over time.
Git
is the most popular VCS in use today.
Repository
: Comprises all the source code for a particular project.
Commits
: collection of changes grouped towards a shared purpose.
Commit Messages & Commit Hashes
: Git id’s your commits with a specially generated series of letters and numbers called a Hash, and a detailed message describing the commit.
References
: Way to alias a commit in plain english.
HEAD
: default reference that points to the most recent commit.Working Directory
Staging Area
Commit History
Tracking Changes in a Repository
Git Init
: Allows you to start a repository in your current directory.
Git Add
: Adds content to your repository.
Git Status
: Used to check what has been staged in your repository.

Git Log
: Used to check your repo’s commit history.
Branches and Workflow
Branch
: Basically a seperate timeline in Git, reserved for it’s own changes - Master is the default branch.
Git branch [name of branch]
: Used to reate a new branch.
Git Checkout
: Used to switch to an existing branch.
Bringing it Back Together
Git Merge
: Used to integrate one branch into another.Connecting with the world via Github
DCVS
: Distributed Version Control System - built in support for managing code both locally and from a distant source.
We typically refer to the primary remote of a repo as the origin
.
We clone
a distant repo once, use pull
to update it and push
our own code into it.
Collaboration via Git and Github
> git branch add-my-new-file
> git add my-new-file.js
> git commit -m "Add new file"
> git push -u origin add-my-new-file
This is the typical push workflow.
-u
flag stands for --set-upstream
.Git Pull
: Used to update your files from remote repo - behind the scenes this is a combination of Git Fetch and Git Merge.
Git Diff
: Used to visualize any tracked differences in our repository.
---
& +++
: let’s us know there are both additions & subtractions in our js file.@@
: shows use where our chunk of changes are line-wise.
Diff Options
# See differences between the 'feature'
# branch and the 'master' branch.
> git diff master feature
# Compare two different commits
> git diff 1fc345a 2e3dff
# Compare a specific file across separate commits
> git diff 1fc345a 2e3dff my-file.js
Time Travel
# You can checkout a branch name.
# You'll be using this particular branch a lot!
> git checkout master
# You can also use commit hashes directly
> git checkout 7d3e2f1
# Using a hyphen instead of a hash will take
# you to the last branch you checked out
> git checkout -
# You can use "HEAD~N" to move N commits prior
# to the current HEAD
> git checkout HEAD~3
Rebase: An Alternative Form of Time Travel
The Golden Rule of Git
Never change the history of a branch that’s shared with others.
Conflict Resolution


{% extends "account/base.html" %} {% block nav_style %} {% endblock nav_style %} {% block content %} Almost done We've sent you an email with a verification link. Please check your emails and verify your email address before you sign in. If you don't receive your email in the next few minutes please email support on<EMAIL_ADDRESS>{% endblock %}
We've sent you an email with a verification link. Please check your emails and verify your email address before you sign in. If you don't receive your email in the next few minutes please email support on support@glasgow.gov.uk


{% extends "base.html" %} {% load websitetags %} {% block content %} {% load static %}
U-report is a free SMS-based system that allows young Ugandans to speak out on what's happening in communities across the country, and work together with other community leaders for positive change.
Read more about the project{{latestRead.created|date}}
{{latestRead.content|truncatewords:50}} read more {% endwith %} {% else %}


| fkgrid reference pages |
b=ISUNIFORM(grid) b=ISUNIFORM(grid,dim)
b=ISUNIFORM(grid) returns 1 for each grid dimension that is uniform (i.e. uniform spacing and size of bins) or 0 for those that are not. This method is not implemented for circular grids.
b=ISUNIFORM(grid,dim) performs test only on dimension dim
grid = fkgrid('linear', [0:100], 'linear', [0 10 30 70 100]); b=isuniform(grid);
| iscategorical | fkgrid | labels |


Blind border collie looking for new home with his ‘guide dog’ best friend
Nine-year-old border collies Bess and Roy were found tied up in woods in Cumbria.
A blind border collie is looking for a new home with his best friend — who acts as his guide dog.
Nine-year-old border collies Bess and Roy were found tied up in the woods in Cumbria and taken to the RSPCA.
The charity believes they were previously working collies on a farm but were abandoned when their owner could no longer take care of them.
The best friends have to be rehomed together because Roy is blind in one eye and seriously impaired in the other, so relies on Bess to be his guide dog.
RSPCA Westmorland branch manager Christine Lowe said: “They are both lovely, friendly, happy dogs who deserve a home where they’ll get all of the affection they crave as they come into their senior years.”
The pair are up for adoption under the branch’s elderly animal rehoming scheme, which means anyone who takes them on will receive ongoing financial assistance with their vet bills.
They have never lived in a domestic environment and are not house-trained, having lived outside for most of their lives.
The pair are both happy being left home alone for short periods of time and know some basic commands, including “sit”.
They would be best suited in a home with no cats but would be happy living with a family with older children.
Ms Lowe said: “They need a home where they can live out their days in comfort with someone who understands their unique needs.”
To find out more about Bess and Roy, visit their online profile.


{{ page.title }}
{{ content }}
Like this article? Reach out to me and say hi on Twitter! :wave:
All articles written with ♥ by Vincent Klaiber
Like this article? Reach out to me and say hi on Twitter! :wave:
All articles written with ♥ by Vincent Klaiber


Adding New Contacts
You can add new contacts, create a group contact list, and edit your contact information.
Add a new contact
When you add a new contact, you enter the name and company information in separate fields. You can select how you want to file the contact in your list. You can enter up to three email addresses and three mailing addresses.
In the Address Book toolbar, click Contact. The New Contact form opens.
Enter contact information, including first and last name, email address, job title, company information, and notes.
In File As, select how you want to name to display in your contact book. The default is to file the contact by last name, first name.
In Address Book select which address books to save the name to.
Click Save.
Create a new group contact list
The Group Contacts feature allows you to create contact lists that contains multiple mailing addresses. When you select a group contact name, everyone whose address is included in the group list is automatically added to the address field of the message.
Note: email addresses you type are not verified.
In the Address Book toolbar, click Group. The New Group Contact form opens.
In the Group Name text box, type the name of this group list.
If you want to create the group list in an address book other than Contacts, in the Address Book text box select the address book.
Note: You can move a contact group to another list after it is created.
Type the email addresses in the Group Members list box. Enter each address on a separate line. To search for email addresses, use the Find text box on the right. Enter a name and select whether to search your address book or the company global address book. Select the contacts to add to the group list.
Click Save. The new group contact is added to your address book.
The icon shows that the contact name is a group contact.


MVP Prototyping
THE IDEA
BRAINSTORMING FEATURES
High Funcionality and Slow Development
High Funcionality and Fast Development
Low Funcionality and Slow Development
Low Funcionality and Fast Development
MVP FEATURES


The Flipside News is a collection of several satirical newspapers at different high school, universities, and online. We started in 2005 at Deerfield High School in Deerfield, Illinois with the DHS Flipside. We expanded to Stanford University and Northwestern University in 2008.
We have a distinct satirical and publication format. Our style is inspired by the Onion, but we also include our own creative weekly features and a puzzles section. If you are interested in contacting the Flipside News, or starting a Flipside newspaper at your own high school or college email Jeremy Keeshin.


{% extends "global/Page.html" %} {% load staticfiles otree %} {% block title %} Part 3 {% endblock %} {% block content %}
In this part, you are asked to answer three questions. You will receive 2 points for each correct answer. After you have submitted your answers, you will see the correct answers and the amount of points you have earned. At the end of the experiment, the points you have earned in this part will be converted at an exchange rate of €{{rate}} per point.
Please answer the following questions.
1. A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost? {% formfield player.answer1 label="Answer (in cents)"%}
2. If it takes 5 machines 5 minutes to make 5 widgets, how long would it take 100 machines to make 100 widgets? {% formfield player.answer2 label="Answer (in minutes)"%}
3. In a lake, there is a patch of lily pads. Every day, the patch doubles in size. If it takes 48 days for the patch to cover the entire lake, how long would it take for the patch to cover half of the lake? {% formfield player.answer3 label="Answer (in days)"%}


THIS IS MY FATHER A film review by Steve Rhodes Copyright 1999 Steve Rhodes RATING (0 TO ****): ** 1/2
The Quinn brothers' THIS IS MY FATHER is such an obvious labor of love that it is a shame that it doesn't have more depth. Primarily set in a 1939 Ireland that seems a half-century earlier still, the film waxes nostalgic for a time that probably never was except in books and motion pictures.
Starring Aidan Quinn as Kieran O'Dea, written with studied simplicity and directed with slow deliberateness by brother Paul and filmed in warm tones by brother Declan, the movie lists all three as executive producers. As a one-hour episode on television's Masterpiece Theater, the story's limitations would not have been so obvious. But at a full two hours, the thinnest of the plot and the reliance on stereotypes can get a bit tiresome. All of this notwithstanding, the cast's heartfelt performances raise the picture above the hackneyed storyline.
The story opens in the present in Illinois. An unhappy high school teacher, Kieran Johnson (James Caan), is being ridiculed by his class. He puts his class in its place by dryly rattling off what he claims will be the most important message they will hear. He reads a set of statistics for lower middle-class youth like themselves. He says that only 2 of them will be financially stable; most of the rest will spend their lives flipping burgers and sweeping floors. And 4 of them will go to prison, one of them for the rest of his life. Afterwards, he looks more depressed than his students.
While visiting his mother, who has had a stroke and can no longer speak, he comes across a picture of her from her youth in Ireland. With her in the picture is a man who he assumes may be the father he never met. He decides to go to Ireland to find the truth about the picture and see if he can locate his father.
Once he arrives in Ireland, he meets a fortune-telling gypsy who knew his mother and tells the story of his mother and father and of the old curse on his family.
Most of the rest of the story is spent in flashback in 1939 when Kieran Johnson was conceived by his father, Kieran O'Dea (Aidan Quinn), and his mother, Fiona Flynn (Moya Farrelly). He's in his early twenties probably, but she's only 17.
Flynn is a spunky lass with a bewitching smile who charms the pants off of O'Dea. A simple farm worker, he's referred to as a "poorhouse bastard," since the tenant farmers who work the Flynn lands got O'Dea from an orphanage to be their live-in laborer.
The movie is full of incidents and plot contrivances that make little sense. The worst of these is John Cusack's cameo as Life magazine photographer Eddie Sharp. As Flynn and O'Dea walk along a remote beach, Sharp lands the plane that he is piloting. Sharp explains that he has a desperate need to pass around a football in order to relax. After he takes the obligatory photo to tie the past with the present, he's gone again.
In another such disingenuous moment, Stephen Rea shows up as a fire-and-brimstone priest who, in the confines of the confessional, demands to hear all of the lurid details of O'Dea's sexual sins. Not content to learn of what O'Dea did, the priest, wanting more titillation, insists on knowing everything the sinner would like to do as well.
Our full audience had one woman who laughed regularly and another who snored loudly, while the rest sat there in almost total silence. Slightly humorous and a little poignant, this small movie tells a simple story without many flourishes. Still, the grace and earnestness of the performances give the relentlessly corny film a soul that makes it more than the sum of its cliched characters.
THIS IS MY FATHER runs 2:00. It is rated R for a little profanity and a brief sex scene and would be fine for teenagers.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


NOTE : Click the Vibing pikachu once to enable sound or double click to mute.
Home
Pokemon List
Pokemon Type Effectivness
Pokemon channel!
Github Profile!
Let's Begin!!
Do you want to play as a
Boy (optional) :
Girl (optional) :
Login
Fire-Pokemon:-Charizard,Arcanine,Infernape
Water-Pokemon:-Blastoise,Feraligator
Poison-Pokemon:-Golbat,Drapion
Steel-Pokemon:-Lucario,Aggron
Psychic/Electric-Pokemon:-Alakazam,Pikachu
Grass-Pokemon:-Sceptile,Venasaur,Ludicolo
List of Pokemon present in the Game
Sorry could not load


Guidance
List of forthcoming professional conduct hearings for teacher misconduct cases.
Details of a forthcoming hearing will appear here 5 working days before it is due to take place.
Members of the press and the public are able to attend professional conduct panel hearings held by the National College for Teaching and Leadership (NCTL) and a small number of observer places are available for this purpose.
If you wish to attend as an observer, please contact NCTL on 0207 593 5393 (for members of the public) or the Department for Education’s press office on 0207 783 8300 (for journalists). Should you not do so in advance of the hearing date, the NCTL cannot guarantee your place as an observer.
You can read the outcomes of regulation hearings here.
Published: 28 March 2014
Updated: 21 March 2017


--- layout: clean title: Startups, bootstrapping, and making magic ---
Thoughts from the co-founder of Drifty and co-creator of Ionic


{% extends "content_template.html" %} {% from "components/banner.html" import banner_wrapper %} {% block per_page_title %} {{ _('Terms of use') }} {% endblock %} {% block content_column_content %}
{{ _('These terms apply to use of Notification. Your account manager must accept them.') }}
{{ _('Follow Canadian law with regard to the privacy act when using this software.') }}
{{ _('You must:') }}
{{ _('If you don’t follow these terms, we may need to stop sending your messages.') }}
{{ _('Notification will:') }}
{{ _('You can leave Notification at any time. Just') }} {{ _('contact us') }} {{ _('and we’ll close your account.') }}
{{ _('We’ll delete all your data when we close your account.')}}
{% endblock %}


--- layout: index title: Ryan Wood ---
Co-Founded with Dodd Caldwell
Co-Founded with Jon Livingston
Accelerator Graduate & Mentor
Proudly live & work in Greenville, SC


Coop
LAG
Button 1
Button 2
Login
Conference
Panel Session
Networking Room
1000
670
68
Ask Question
Clap
Audio
Events Schedule
Events
Schedule
Speakers
Charles Avis
Speaker
Charles Avis
Speaker
Home
Fair
Event
Story
Cart
Profile
Coop
LAG
Cart
Live
Visitors
Shop
Charles Avis
Speaker
Home
Fair
Event
Story
Profile


Data Structures | |
| struct | lh_entry |
| struct | lh_table |
Defines | |
| #define | LH_PRIME 0x9e370001UL |
| #define | LH_EMPTY (void*)-1 |
| #define | LH_FREED (void*)-2 |
| #define | lh_foreach(table, entry) for(entry = table->head; entry; entry = entry->next) |
| #define | lh_foreach_safe(table, entry, tmp) for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp) |
Typedefs | |
| typedef void( | lh_entry_free_fn )(struct lh_entry *e) |
| typedef unsigned long( | lh_hash_fn )(void *k) |
| typedef int( | lh_equal_fn )(void *k1, void *k2) |
Functions | |
| unsigned long | lh_ptr_hash (void *k) |
| int | lh_ptr_equal (void *k1, void *k2) |
| unsigned long | lh_char_hash (void *k) |
| int | lh_char_equal (void *k1, void *k2) |
| struct lh_table * | lh_table_new (int size, char *name, lh_entry_free_fn *free_fn, lh_hash_fn *hash_fn, lh_equal_fn *equal_fn) |
| struct lh_table * | lh_kchar_table_new (int size, char *name, lh_entry_free_fn *free_fn) |
| struct lh_table * | lh_kptr_table_new (int size, char *name, lh_entry_free_fn *free_fn) |
| void | lh_table_free (struct lh_table *t) |
| int | lh_table_insert (struct lh_table *t, void *k, void *v) |
| struct lh_entry * | lh_table_lookup_entry (struct lh_table *t, void *k) |
| void * | lh_table_lookup (struct lh_table *t, void *k) |
| int | lh_table_delete_entry (struct lh_table *t, struct lh_entry *e) |
| int | lh_table_delete (struct lh_table *t, void *k) |
| void | lh_abort (const char *msg,...) |
| void | lh_table_resize (struct lh_table *t, int new_size) |
| #define LH_EMPTY (void*)-1 |
sentinel pointer value for empty slots
| #define lh_foreach | ( | table, | |||
| entry | ) | for(entry = table->head; entry; entry = entry->next) |
Convenience list iterator.
| #define lh_foreach_safe | ( | table, | |||
| entry, | |||||
| tmp | ) | for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp) |
lh_foreach_safe allows calling of deletion routine while iterating.
| #define LH_FREED (void*)-2 |
sentinel pointer value for freed slots
| #define LH_PRIME 0x9e370001UL |
golden prime used in hash functions
| typedef void( lh_entry_free_fn)(struct lh_entry *e) |
callback function prototypes
| typedef int( lh_equal_fn)(void *k1, void *k2) |
callback function prototypes
| typedef unsigned long( lh_hash_fn)(void *k) |
callback function prototypes
| void lh_abort | ( | const char * | msg, | |
| ... | ||||
| ) |
| int lh_char_equal | ( | void * | k1, | |
| void * | k2 | |||
| ) |
| unsigned long lh_char_hash | ( | void * | k | ) |
| struct lh_table* lh_kchar_table_new | ( | int | size, | |
| char * | name, | |||
| lh_entry_free_fn * | free_fn | |||
| ) | [read] |
Convenience function to create a new linkhash table with char keys.
| size | initial table size. | |
| name | table name. | |
| free_fn | callback function used to free memory for entries. |
| struct lh_table* lh_kptr_table_new | ( | int | size, | |
| char * | name, | |||
| lh_entry_free_fn * | free_fn | |||
| ) | [read] |
Convenience function to create a new linkhash table with ptr keys.
| size | initial table size. | |
| name | table name. | |
| free_fn | callback function used to free memory for entries. |
| int lh_ptr_equal | ( | void * | k1, | |
| void * | k2 | |||
| ) |
| unsigned long lh_ptr_hash | ( | void * | k | ) |
Pre-defined hash and equality functions
| int lh_table_delete | ( | struct lh_table * | t, | |
| void * | k | |||
| ) |
Delete a record from the table. If a callback free function is provided then it is called for the for the item being deleted.
| t | the table to delete from. | |
| k | a pointer to the key to delete. |
-1 if it was not found.
Delete a record from the table. If a callback free function is provided then it is called for the for the item being deleted.
| t | the table to delete from. | |
| e | a pointer to the entry to delete. |
-1 if it was not found.
| void lh_table_free | ( | struct lh_table * | t | ) |
Free a linkhash table. If a callback free function is provided then it is called for all entries in the table.
| t | table to free. |
| int lh_table_insert | ( | struct lh_table * | t, | |
| void * | k, | |||
| void * | v | |||
| ) |
Insert a record into the table.
| t | the table to insert into. | |
| k | a pointer to the key to insert. | |
| v | a pointer to the value to insert. |
| void* lh_table_lookup | ( | struct lh_table * | t, | |
| void * | k | |||
| ) |
Lookup a record into the table
| t | the table to lookup | |
| k | a pointer to the key to lookup |
Lookup a record into the table.
| t | the table to lookup | |
| k | a pointer to the key to lookup |
| struct lh_table* lh_table_new | ( | int | size, | |
| char * | name, | |||
| lh_entry_free_fn * | free_fn, | |||
| lh_hash_fn * | hash_fn, | |||
| lh_equal_fn * | equal_fn | |||
| ) | [read] |
Create a new linkhash table.
| size | initial table size. The table is automatically resized although this incurs a performance penalty. | |
| name | the table name. | |
| free_fn | callback function used to free memory for entries when lh_table_free or lh_table_delete is called. If NULL is provided, then memory for keys and values must be freed by the caller. | |
| hash_fn | function used to hash keys. 2 standard ones are defined: lh_ptr_hash and lh_char_hash for hashing pointer values and C strings respectively. | |
| equal_fn | comparison function to compare keys. 2 standard ones defined: lh_ptr_hash and lh_char_hash for comparing pointer values and C strings respectively. |
| void lh_table_resize | ( | struct lh_table * | t, | |
| int | new_size | |||
| ) |


blocked on VMs
unassigned
by None at 2023-08-09 19:25:48.unlabeled
by None at 2023-08-09 19:26:20.labeled
by None at 2023-08-09 19:26:21.head_ref_force_pushed
by None at 2023-08-09 20:51:54.labeled
by None at 2023-08-09 14:25:40.assigned
by None at 2023-08-09 14:28:20.renamed
by None at 2023-08-09 15:30:30.This is probably not needed if https://github.com/PrincetonUniversityLibrary/alma-config/issues/547 succeeds
renamed
by None at 2023-08-09 16:18:03.labeled
by Kevin Reiss at 2023-08-09 22:58:00.labeled
by None at 2023-08-09 14:32:06.labeled
by None at 2023-08-09 14:35:00.labeled
by None at 2023-08-09 14:35:01.labeled
by None at 2023-08-09 14:35:02.labeled
by None at 2023-08-09 14:35:04.closing since we're going to replace dpul
closed
by None at 2023-08-09 19:52:48.closed
by None at 2023-08-09 15:38:42.closed
by None at 2023-08-09 15:40:07.referenced
by None at 2023-08-09 18:59:07.merged
by None at 2023-08-09 18:59:07.closed
by None at 2023-08-09 18:59:07.head_ref_deleted
by None at 2023-08-09 18:59:17.This is very very weird.
Eliot noticed that https://figgy.princeton.edu/?f%5Bmember_of_collection_titles_ssim%5D%5B%5D=Patron+Requests&f%5Bstate_ssim%5D%5B%5D=pending is failing, which I think is what we get when we have a resource in the index that doesn't have a postgres record
Oops. It's not that it had zero results, it's that one of the search results was broken and causing an error page that looked like it was no results.
I parsed out the IDs from the first page of search results and deleted records that had no matching postgres record. Probably from our solr woes. We should reindex at some point.
closed
by Trey Pendragon at 2023-08-08 22:57:52.referenced
by Eliot Jordan at 2023-08-09 14:58:20.merged
by Eliot Jordan at 2023-08-09 14:58:20.closed
by Eliot Jordan at 2023-08-09 14:58:20.head_ref_deleted
by Eliot Jordan at 2023-08-09 14:58:21.closed
by Eliot Jordan at 2023-08-09 14:58:22.We haven't seen this in a long time. closing.
closed
by None at 2023-08-09 17:25:52.related honeybadger errors: * https://app.honeybadger.io/projects/53391/faults/80089019 * https://app.honeybadger.io/projects/53391/faults/80554711 * https://app.honeybadger.io/projects/53391/faults/97580878
labeled
by None at 2023-08-09 18:38:32.labeled
by Trey Pendragon at 2023-08-09 14:59:52.labeled
by Trey Pendragon at 2023-08-09 14:59:52.referenced
by Trey Pendragon at 2023-08-09 18:45:05.merged
by Trey Pendragon at 2023-08-09 18:45:05.closed
by Trey Pendragon at 2023-08-09 18:45:05.head_ref_deleted
by Trey Pendragon at 2023-08-09 18:45:06.Upgrading VIPS didn't fix it. Going to try lowering the number of pages at a time.
We might be able to fix this by shelling out for 50 pages at a time.
referenced
by Trey Pendragon at 2023-08-08 22:40:32.assigned
by Trey Pendragon at 2023-08-09 17:14:56.labeled
by None at 2023-08-09 17:28:06.closed
by Trey Pendragon at 2023-08-09 18:45:07.labeled
by Trey Pendragon at 2023-08-09 18:33:23.labeled
by Trey Pendragon at 2023-08-09 18:33:23.renamed
by None at 2023-08-09 18:33:48.unlabeled
by None at 2023-08-09 19:10:38.labeled
by None at 2023-08-09 19:10:38.labeled
by None at 2023-08-09 19:10:44.closed
by None at 2023-08-09 19:25:22.closed
by None at 2023-08-09 19:28:00.This failed again on https://figgy.princeton.edu/catalog/dec36166-c167-43a9-a858-a6ec824406d6
I suspect this error's a little different - someone put the wrong ark in the record as a placeholder prior to completing the record.
Yes, I should have mentioned that -- I reopened because I wasn't sure what to do about it! Does it just not require action?
Figgy is trying to update the ark in ezid but the ark isn't valid, so it's failing. Things we could do:
ark://
in them (don't pull them in from alma record) How can we tell someone to fix this? - Change the record in alma, pull in the metadata again, and then you'd be able to complete in figgy? - but we think maybe it won't override a local ark value once it's there. - Change it in alma, delete the resource in figgy, then reingest it. - Dev fix it.
reopened
by None at 2023-08-09 17:54:49.Check on the API limit. If we're clear, work this ticket.
Try to work it by hitting the catalog.
Resolved as part of clearing out all the failures in the dashboard
closed
by None at 2023-08-09 19:49:21.renamed
by Robert-Anthony Lee-Faison at 2023-08-09 15:13:41.renamed
by Robert-Anthony Lee-Faison at 2023-08-09 15:24:49.deployed
by None at 2023-08-09 12:50:12.referenced
by Max Kadel at 2023-08-09 12:55:00.merged
by Max Kadel at 2023-08-09 12:55:00.closed
by Max Kadel at 2023-08-09 12:55:00.head_ref_deleted
by Max Kadel at 2023-08-09 12:55:02.assigned
by None at 2023-08-09 13:43:21.Superseded by https://github.com/pulibrary/lib_jobs/pull/600
closed
by Max Kadel at 2023-08-09 14:11:12.renamed
by Max Kadel at 2023-08-09 14:11:26.deployed
by None at 2023-08-09 14:48:53.ready_for_review
by Max Kadel at 2023-08-09 15:03:14.mentioned
by None at 2023-08-09 16:50:17.subscribed
by None at 2023-08-09 16:50:17.review_requested
by Max Kadel at 2023-08-09 16:50:22.referenced
by None at 2023-08-09 17:21:11.merged
by None at 2023-08-09 17:21:11.closed
by None at 2023-08-09 17:21:11.head_ref_deleted
by None at 2023-08-09 17:21:13.referenced
by Max Kadel at 2023-08-09 14:09:05.closed
by None at 2023-08-09 17:21:13.assigned
by Max Kadel at 2023-08-09 16:16:00.labeled
by Max Kadel at 2023-08-09 17:18:06.head_ref_force_pushed
by Max Kadel at 2023-08-09 19:06:29.referenced
by Kevin Reiss at 2023-08-09 21:18:01.merged
by Kevin Reiss at 2023-08-09 21:18:01.closed
by Kevin Reiss at 2023-08-09 21:18:01.head_ref_deleted
by Kevin Reiss at 2023-08-09 21:18:02.closed
by None at 2023-08-09 15:40:39.closed
by None at 2023-08-09 15:41:25.The top_containers API is very slow, so we may need to use the search API instead. This will need some experimenting to make the process succeed in a reasonable timeframe.
Update: it seems to take about 1 hr (tried weekday at 11am)
coverage: 95.406%. remained the same when pulling a50027ae7ec3452e38d6231262f86cd67012cb0a on lizgarciao-patch-1 into ad7d96eac8393d5b9285541bcead8d415a1633d5 on main.
referenced
by Christina Chortaria at 2023-08-09 16:46:08.merged
by Christina Chortaria at 2023-08-09 16:46:08.closed
by Christina Chortaria at 2023-08-09 16:46:08.head_ref_deleted
by Christina Chortaria at 2023-08-09 16:46:10.coverage: 95.406%. remained the same when pulling 0f0310ded29ea1008ca61f6833bd17ead0efc1e9 on lizgarciao-patch-2 into ad7d96eac8393d5b9285541bcead8d415a1633d5 on main.
referenced
by Christina Chortaria at 2023-08-09 16:52:54.merged
by Christina Chortaria at 2023-08-09 16:52:54.closed
by Christina Chortaria at 2023-08-09 16:52:55.head_ref_deleted
by Christina Chortaria at 2023-08-09 16:52:56.For issue #3612.
deployed
by None at 2023-08-09 21:20:28.deployed
by None at 2023-08-09 21:31:08.New Aeon seems to not respect the rft.genre parameter, for example the value rft.genre=serial should open the Serial request form, instead it opens the default one. Need to consult config manager table for format mappings in new Aeon.
referenced
by None at 2023-08-09 12:25:07.merged
by None at 2023-08-09 12:25:07.closed
by None at 2023-08-09 12:25:07.head_ref_deleted
by None at 2023-08-09 12:25:08.closed
by None at 2023-08-09 12:25:09.ready_for_review
by None at 2023-08-09 12:20:02.head_ref_force_pushed
by None at 2023-08-09 12:25:36.referenced
by Bess Sadler at 2023-08-09 12:51:08.merged
by Bess Sadler at 2023-08-09 12:51:08.closed
by Bess Sadler at 2023-08-09 12:51:09.head_ref_deleted
by Bess Sadler at 2023-08-09 12:51:09.closed
by Bess Sadler at 2023-08-09 12:51:10.closed
by None at 2023-08-09 15:34:58.closed
by None at 2023-08-09 15:35:46.closed
by None at 2023-08-09 15:36:05.assigned
by James R. Griffin III at 2023-08-09 17:35:07.@astrochun We updated the UI to have a specific Migrate option in the UI, so please choose that option next time you migrate an object. Previously there was a migrate button next to the save which had to be hit for the migrate dataspace data to be present. I'll set the flag on your recent works in production.
@astrochun I updated https://pdc-describe-prod.princeton.edu/describe/works/71 to be a migrated record. you should now see the button.
@astrochun I updated https://pdc-describe-prod.princeton.edu/describe/works/71 to be a migrated record. you should now see the button.
@carolyncole so what is the problem?
@astrochun The old UI (before the update) required you to hit the migrate button. After your confusion we change the UI to help the workflow be more intuitive:
mentioned
by Chun Ly at 2023-08-09 13:03:10.subscribed
by Chun Ly at 2023-08-09 13:03:10.assigned
by None at 2023-08-09 13:03:14.mentioned
by Chun Ly at 2023-08-09 13:20:19.subscribed
by Chun Ly at 2023-08-09 13:20:19.mentioned
by None at 2023-08-09 13:59:14.subscribed
by None at 2023-08-09 13:59:14.mentioned
by Chun Ly at 2023-08-09 13:59:14.subscribed
by Chun Ly at 2023-08-09 13:59:14.mentioned
by Chun Ly at 2023-08-09 18:05:08.subscribed
by Chun Ly at 2023-08-09 18:05:08.closed
by None at 2023-08-09 18:05:54.assigned
by None at 2023-08-09 18:06:23.renamed
by James R. Griffin III at 2023-08-09 18:13:11.renamed
by James R. Griffin III at 2023-08-09 18:13:23.head_ref_force_pushed
by None at 2023-08-09 17:59:09.referenced
by James R. Griffin III at 2023-08-09 18:19:48.merged
by James R. Griffin III at 2023-08-09 18:19:48.closed
by James R. Griffin III at 2023-08-09 18:19:48.head_ref_deleted
by James R. Griffin III at 2023-08-09 18:19:50.convert_to_draft
by Hector Correa at 2023-08-09 14:28:05.deployed
by None at 2023-08-09 14:47:05.ready_for_review
by Hector Correa at 2023-08-09 18:49:21.referenced
by James R. Griffin III at 2023-08-09 19:00:12.merged
by James R. Griffin III at 2023-08-09 19:00:12.closed
by James R. Griffin III at 2023-08-09 19:00:13.head_ref_deleted
by James R. Griffin III at 2023-08-09 19:00:14.I am going to keep this ticket open until we deploy this code and fix the record in production
work = Work.find(50)
work.upload_snapshots.first
closed
by James R. Griffin III at 2023-08-09 19:00:15.reopened
by Hector Correa at 2023-08-09 19:05:07.deployed
by None at 2023-08-09 19:37:39.referenced
by Hector Correa at 2023-08-09 19:43:52.merged
by Hector Correa at 2023-08-09 19:43:52.closed
by Hector Correa at 2023-08-09 19:43:52.head_ref_deleted
by Hector Correa at 2023-08-09 19:43:53.labeled
by None at 2023-08-09 19:11:38.assigned
by None at 2023-08-09 19:12:39.referenced
by None at 2023-08-09 19:31:02.closed
by Hector Correa at 2023-08-09 19:43:54.referenced
by Hector Correa at 2023-08-09 19:43:54.assigned
by James R. Griffin III at 2023-08-09 19:55:44.We clarified that this should not be done.
closed
by None at 2023-08-09 15:26:46.referenced
by Bess Sadler at 2023-08-09 20:22:29.merged
by Bess Sadler at 2023-08-09 20:22:29.closed
by Bess Sadler at 2023-08-09 20:22:29.head_ref_deleted
by Bess Sadler at 2023-08-09 20:22:30.closed
by Bess Sadler at 2023-08-09 20:22:31.assigned
by Hector Correa at 2023-08-09 20:30:39.closed
by Hector Correa at 2023-08-09 13:16:14.Deployed.
referenced
by Trey Pendragon at 2023-08-09 18:51:41.merged
by Trey Pendragon at 2023-08-09 18:51:41.closed
by Trey Pendragon at 2023-08-09 18:51:41.head_ref_deleted
by Trey Pendragon at 2023-08-09 18:51:42.I believe since #4114 was merged, updating the abid playbook to use the ruby_s
role, we have eliminated the Brightbox PPA (which was installed by the old ruby
role) from all our infrastructure. We should not need to remove it again in future.
More recently we've seen issues with stale keys for postgresql on the boxes listed in @VickieKarasic's comment above. The production boxes are now all fixed. We will open a separate ticket for the staging boxes still failing the Patch Tuesday playbook.
Also related to https://github.com/pulibrary/pul-it-handbook/pull/203.
mentioned
by Vickie Karasic at 2023-08-09 19:08:38.subscribed
by Vickie Karasic at 2023-08-09 19:08:38.closed
by Alicia Cozine at 2023-08-09 19:09:02.renamed
by Francis Kayiwa at 2023-08-09 19:26:32.review_requested
by Francis Kayiwa at 2023-08-09 19:03:42.ready_for_review
by Francis Kayiwa at 2023-08-09 19:05:10.head_ref_force_pushed
by Francis Kayiwa at 2023-08-09 19:06:49.referenced
by Vickie Karasic at 2023-08-09 20:07:50.merged
by Vickie Karasic at 2023-08-09 20:07:50.closed
by Vickie Karasic at 2023-08-09 20:07:50.head_ref_deleted
by Vickie Karasic at 2023-08-09 20:07:51.Related to https://github.com/pulibrary/pul-it-handbook/pull/203
review_requested
by Alicia Cozine at 2023-08-09 19:45:21.works great thank you!
ready_for_review
by Alicia Cozine at 2023-08-09 19:18:03.referenced
by Christina Chortaria at 2023-08-10 00:55:35.merged
by Christina Chortaria at 2023-08-10 00:55:35.closed
by Christina Chortaria at 2023-08-10 00:55:35.head_ref_deleted
by Christina Chortaria at 2023-08-10 00:55:36.closed
by Christina Chortaria at 2023-08-10 00:55:36.referenced
by None at 2023-08-09 12:56:32.merged
by None at 2023-08-09 12:56:32.closed
by None at 2023-08-09 12:56:33.head_ref_deleted
by None at 2023-08-09 12:56:34.referenced
by None at 2023-08-09 12:57:44.closed
by None at 2023-08-09 15:38:22.base_ref_force_pushed
by Alicia Cozine at 2023-08-09 19:23:17.referenced
by Max Kadel at 2023-08-09 19:31:47.merged
by Max Kadel at 2023-08-09 19:31:47.closed
by Max Kadel at 2023-08-09 19:31:47.head_ref_deleted
by Max Kadel at 2023-08-09 19:31:49.labeled
by None at 2023-08-09 17:59:11.labeled
by None at 2023-08-09 17:59:11.renamed
by None at 2023-08-09 17:59:29.renamed
by None at 2023-08-09 19:51:17.labeled
by None at 2023-08-09 19:51:42.unlabeled
by None at 2023-08-09 19:51:53.ready_for_review
by None at 2023-08-09 12:57:36.head_ref_force_pushed
by None at 2023-08-09 12:57:44.referenced
by Hector Correa at 2023-08-09 13:16:12.merged
by Hector Correa at 2023-08-09 13:16:12.closed
by Hector Correa at 2023-08-09 13:16:12.head_ref_deleted
by Hector Correa at 2023-08-09 13:16:13.closed
by None at 2023-08-09 13:30:39.assigned
by Kevin Reiss at 2023-08-09 14:58:34.assigned
by Vickie Karasic at 2023-08-09 14:58:42.closed
by Kate Lynch at 2023-08-09 14:42:14.closed
by None at 2023-08-09 15:36:20.


stk.molecular.topologies.cage.three_plus_four module¶
Defines cage topologies from building blocks of 3 and 4 func groups.
-
class
stk.molecular.topologies.cage.three_plus_four.
SixPlusEight
(A_alignments=None, B_alignments=None, edge_alignments=None, bb_positions=None)¶ Bases:
stk.molecular.topologies.cage.base.VertexOnlyCageTopology
A cage topology of 3 and 4 functional group building blocks.
-
_bb_maps
(macro_mol)¶ Creates a maps from position to building block.
Parameters: macro_mol ( MacroMolecule
) – The macromolecule which needs to have its building blocks mapped to positions.Returns: Each dict
maps a position to the building block which sits on it. The position is refered to its index inpositions_A
orpositions_B
.Return type: tuple
ofdict
-
a
¶
-
b
¶
-
bonded_fgs
(macro_mol)¶ Joins up the separate building blocks which form the molecule.
Parameters: macro_mol ( MacroMolecule
) – The macromolecule being assembled.Yields: tuple
ofint
– Thefg_ids
of functional groups to be bonded.
-
build
(macro_mol, bb_conformers=None)¶ Assembles
rdkit
instances of macromolecules.This method places an
rdkit
molecule of the assembled macromolecule into themol
attribute ofMacroMolecule
. It also creates theMacroMolecule.bb_counter
andMacroMolecule.bonds_made
attributes.Parameters: - macro_mol (
MacroMolecule
) – TheMacroMolecule
instance which needs to be built. - bb_conformers (
list
ofint
, optional) – The ids of the building block conformers to be used. Must be equal in length to building_blocks and orders must correspond. IfNone
, then-1
is used for all building blocks.
Returns: None
Return type: NoneType
- macro_mol (
-
c
¶
-
cleanup
(macro_mol)¶ Performs final clean up actions on an assembled molecule.
Parameters: macro_mol ( MacroMolecule
) – The molecule being assembled.Returns: None Return type: NoneType
-
d
¶
-
e
¶
-
f
¶
-
n_window_types
= 1¶
-
n_windows
= 12¶
-
pair_fgs_with_positions
(scale, macro_mol, vertex)¶ Matches fgs with the closest building block position.
After a building block is placed on a position, each fg which forms a bond must be paired with the location of the building block to which it bonds. This function matches fgs and positions so that each is only present in one pairing and so that the total distance of the pairings is minimized.
This updates of
Vertex.fg_position_pairs
attribute of vertex.Parameters: - scale (
float
) – The amount by which the size of the topology is scaled. - macro_mol (
MacroMolecule
) – The macromolecule being buit. - vertex (
Vertex
) – The position at which all the atoms being paired are located.
Returns: None
Return type: NoneType
- scale (
-
place_mols
(macro_mol)¶ Places all building block molecules on correct coordinates.
The building block molecules are placed in their appropriate positions based on the topology. It does not join them.
Also updates
MacroMolecule.bb_counter
.Parameters: macro_mol ( MacroMolecule
) – The macromolecule being built.Returns: None Return type: NoneType
-
positions_A
¶
-
positions_B
= [Vertex(-0.667, 0.0, 0.333), Vertex(0.0, -0.667, 0.333), Vertex(0.667, 0.0, 0.333), Vertex(0.0, 0.667, 0.333), Vertex(-0.667, 0.0, -0.333), Vertex(0.0, -0.667, -0.333), Vertex(0.667, 0.0, -0.333), Vertex(0.0, 0.667, -0.333)]¶
-
prepare
(macro_mol)¶ Performs ops between placing and reacting building blocks.
Parameters: macro_mol ( MacroMolecule
) – The molecule being assembled.Returns: None Return type: NoneType
-
x
= 1¶
-


Time to turn the calendar to a new year and a new release — our January release is here!
Finagle 18.1.0, Finatra 18.1.0, Scrooge 18.1.0, TwitterServer 18.1.0, and Util 18.1.0.
New Features:
finagle-core: FailureDetector
has a new method, onClose
, which provides
a Future that is satisfied when the FailureDetector
marks a peer as Closed.
186f0949
finagle-core: Introduce trace logging of requests as they flow through a Finagle client or server. These logs can be turned on at runtime by setting the “com.twitter.finagle.request.Logger” logger to trace level. 203fed55
finagle-http2: HTTP/2 clients now expose the number of currently opened streams under
the $client/streams
gauge. add0050e
finagle-http2: HTTP/2 servers now expose the number of currently opened streams under
the $server/streams
gauge. ed6800a3
finagle-memcached: By default, the Memcached client now creates two connections to each endpoint, instead of 4. 1c5d9eac
finagle-redis: Add support for redis Geo Commands. d32d1236 based on the PR https://github.com/twitter/finagle/pull/628 written by Mura-Mi [https://github.com/Mura-Mi]
finagle-thrift: Add c.t.f.thrift.service.ThriftServiceBuilder
and
c.t.f.thrift.service.ReqRepThriftServiceBuilder
for backwards compatibility
of creating higher-kinded method-per-endpoint clients. f61b6f99
finagle-core: c.t.f.http.MethodBuilder
and c.t.f.thriftmux.MethodBuilder
now
expose idempotent
and nonIdempotent
methods, which can be used to configure
retries and the sending of backup requests. 2c1105e5
Bug Fixes:
finagle-mysql: Fix a bug with transactions where an exception during a rollback could leave the connection with a partially committed transaction. 4b76bfc2
finagle-toggle: c.t.f.toggle.Toggle
s are independent; that is, applying the same value to
two different toggles with the same fraction will produce independent true/false
values. 8ef6acb1
Runtime Behavior Changes:
finagle-core, finagle-netty4: When creating engines, SslClientEngineFactories now use
SslClientEngineFactory.getHostString
instead of SslClientEngineFactory.getHostname
.
This no longer performs an unnecessary reverse lookup when a hostname is not supplied
as part of the SslClientConfiguration
. d05d1299
finagle-http2: Supplies a dependency on io.netty.netty-tcnative-boringssl-static, which adds support for ALPN, which is necessary for encrypted http/2. To use a different static ssl dependency, exclude the tcnative-boringssl dependency and manually depend on the one you want to use. 246be7e5
Breaking API Changes:
finagle-base-http, finagle-http: Removed Apache Commons Lang dependency,
org.apache.commons.lang3.time.FastDateFormat
now is java.time.format.DateTimeFormatter
.
8cd6a882
finagle-base-http: c.t.f.http.Message.headerMap
is now an abstract method.
24e74e52
finagle-core: c.t.f.ssl.server.SslServerSessionVerifier
no longer uses the unauthenticated
host information from SSLSession
. 559ae4ad
finagle-memcached: ConcurrentLoadBalancerFactory
was removed and its behavior
was replaced by a Stack.Param inside finagle-core’s LoadBalancerFactory
.
502a91d5
finagle-thrift, finagle-thriftmux: Remove ReqRep
specific methods. Since the “ReqRep”
builders are now subclasses of their non-“ReqRep” counterparts their is no longer a
need to expose “ReqRep” specific methods. 9737ead8
Deprecations:
finagle-exp: c.t.f.exp.BackupRequestFilter
has been deprecated. Please use
c.t.f.client.BackupRequestFilter
instead. 3326d2fd
finagle-http: c.t.f.http.Request.multipart
has been deprecated.
Use c.t.f.http.exp.MultipartDecoder
instead. a205bd20
Added:
finatra-thrift: Add support for building all types of Finagle Thrift clients to
the underlying embedded TwitterServer with the c.t.finatra.thrift.ThriftClient
test utility. See: https://twitter.github.io/scrooge/Finagle.html#creating-a-client
47f7f6c7
finatra-jackson: Added support to finatra/jackson for deserializing com.twitter.util.Duration
instances from their String representations. 9e6576c9
Changed:
c.t.finatra.http.internal.marshalling.RequestInjectableValues
to be correctly specified as private to the http
package. 712edf91Fixed:
Closed:
scrooge-generator: Update c.t.fingale.thrit.service.MethodPerEndpointBuilder
to build MethodPerEndpoint
types. Add new ThriftServiceBuilder
for
building the higher-kinded form from a ServicePerEndpoint
. Users should
prefer using the MethodPerEndpointBuilder
. 08b25e3d
scrooge-generator: Add more metadata to generated java objects 46dd949c Includes:
scrooge: Add support for scrooge.Request
and scrooge.Response
types in generated ThriftMethod
code. 80bfa731
New Features:
c.t.util.security.X509CrlFile
for reading
Certificate Revocation List PEM formatted X509CRL
files.
32d8cc8a


";
$branch_id=$row_branches['br_id'];
$branchpicquery = "SELECT * From branch,picture where pic_br_id=br_id AND br_id='$branch_id' ";
$result5 = mysqli_query($idcon, $branchpicquery);
while ($row_pic = mysqli_fetch_array($result5)) {
$image_path = $row_pic["pic_path"];
$image_name = $row_pic["pic_name"];
echo"
";}
echo"
";
$brcurr_id=$row_branches['br_id'];
$comquery = "select u2.u_fname as commenterfname,u2.u_lname as commenterlname ,rev_text as rev_text,u2.u_pic_path as u2_pic_path , u2.u_pic_name as u2_pic_name from user u1,user u2, company, branch, review where u1.u_id=comp_u_id AND comp_id=br_comp_id AND br_id=rev_br_id AND u2.u_id=rev_u_id AND br_id=$brcurr_id ";
$res1 = mysqli_query($idcon, $comquery);
while ($row_cmt = mysqli_fetch_array($res1)) {
$image_path = $row_cmt["u2_pic_path"];
$image_name = $row_cmt["u2_pic_name"];
echo"


The Coronavirus pandemic upended life as it were for many Americans. According to a September cnbc.com article written by Megan Leonhardt, roughly 64% of Americans say their spending habits have changed since the start of the pandemic in March.
In a survey of 2500 adults conducted by Bank of America, both employed and unemployed Americans have made significant changes to their spending habits. While one might guess that people are attempting to save more money in preparation for a looming recession, research shows that we are instead simply spending our money differently.
Spending categories, such as gym memberships, online shopping, and travel, have seen dramatic shifts. For example, travel would have normally been a much larger budget item during the summer months, but many people are opting to stay home and use that money for other household expenses. Additionally, the increase of people working from home caused a sudden decline in commute and dining expenses for several Americans.
While it is unclear how and when our spending habits will return back to normal, here are the top three ways Americans have spent their money, roughly six months into the pandemic:


Lone Pine Koala Sanctuary
Cuddle a koala and hand-feed kangaroos just minutes from Brisbane city at Lone Pine Koala Sanctuary, the world’s first and largest koala sanctuary. Get up close and personal with Australia’s unique wildlife including over 130 koalas. Travel to the sanctuary via an enjoyable river cruise from South Bank. More information. Recommended by visitor centre.
Australia Zoo
Undoubtedly a highlight of any visit to Queensland is a trip to Australia Zoo. Made famous by the antics of Steve and Terri Irwin and their global documentaries ‘The Crocodile Hunter’, the zoo is a living legacy to Steve and his wildlife conservation efforts. Visitors can experience live shows in the Crocoseum, as well as a large range of Australian, Asian and African animals. More information. Recommended by visitor centre.
Tangalooma Day Trip
For the quintessential sun, surf and sand experience, located an hour boat cruise from Brisbane visitors can enjoy a day trip to Tangalooma Island Resort. Cruise through the picturesque Moreton Bay Marine Park to the beautiful Moreton Island, the third largest sand island in the world. Tangalooma offers over 80 land and water activities to enjoy including snorkelling the ship wrecks, sand tobogganing, 4WD through the National Park, quad bike rides, and the unforgettable experience of hand-feeding wild dolphins at sunset. Recommended by visitor centre.
Beach and Rainforest Day Trip
The Gold Coast and Surfers Paradise are Australia’s premier tourist destinations and Mount Tamborine is our most popular local hinterland destination. Experience the best of Australia in a day trip, located only one hour from Brisbane. Enjoy the experience of beautiful beaches in the morning, lunch in the boutique vineyards, and a walk through the lush rainforest in the afternoon. Enjoy a swim and shop at Surfers Paradise before climbing the mountain to Tamborine for a restaurant lunch, wine tastings, stroll through Gallery Walk (exploring the arts and craft shops, hand-made jewellery, brewery and cheese shop) before ending the day with a relaxing walk through the rainforest to Curtis Falls. Recommended by visitor centre.
Mirrabooka Indigenous Experience
Experience the spiritual wonder of an ancient culture through traditional dance, music and storytelling on the inner-city banks of the Brisbane River. Meet the local Brisbane Indigenous Tribe Riverlife Mirrabooka and share in rich Aboriginal culture presented by the Yuggera Aboriginal dancers. Develop an awareness of the diverse aspects of contemporary Aboriginal culture by witnessing and participating in traditional song and dance passed down over many generations, primitive fire starting techniques, playing of Aboriginal musical instruments (such as didgeridoos) and listening to Indigenous educational talks that offer an insight into Aboriginal life and history of this ancient land. Recommended by visitor centre.
Great Barrier Reef Day Trip
Experience the wonder of the World Heritage listed Great Barrier Reef in a day with a short one hour flight with Seair from Redcliffe, Brisbane to Lady Elliot Island. Visitors can enjoy the short private flight; a full seafood buffet lunch and beverages on the island, followed by an afternoon snorkeling and diving the iconic reef or exploring the island at leisure. Recommended by visitor centre.
Guided City Walking Tour and South Bank Cultural Precinct
For a cost effective program option visitors can experience a free guided city walking tour with passionate and knowledgeable locals, The Brisbane Greeters. Discover hidden secrets of the city and experience a first-hand look at Brisbane with tours available across a range of topics such as art and culture, food and wine, indigenous culture or river history. Enjoy a guided tour through the inner-city South Bank Parklands, home to Street’s Beach and Australia’s most visited major cultural attractions, then explore the cultural precinct with spectacular exhibitions at the Queensland Art Gallery | Gallery of Modern Art, and Queensland Museum. Greeter’s tours are available in over 25 languages. Recommended by visitor centre.
Lamington National Park
Declared in 1915, Lamington National Park covers 21,176 ha and boasts extensive walking tracks along the McPherson Range, which allow visitors to explore the area’s forests, creeks and waterfalls. Dramatic lookouts in Lamington afford views over the Gold Coast, south-east Queensland and northern New South Wales. Lamington is part of the Gondwana Rainforests of Australia World Heritage Area, which includes the most extensive areas of subtropical rainforest in the world, most of the world’s warm temperate rainforest and nearly all of the Antarctic beech Nothofagus moorei cool temperate rainforest. Lamington National Park offers a wide range of walking opportunities ranging from easy strolls to challenging full-day hikes. At dusk pademelons graze on the grass, and bowerbirds can be frequently seen. More information can be found at the National Park web site. Recommended by Di.
North Stradbroke Island
North Stradbroke Island is a place to exhale. Spend a day, a week or a month here and you will feel the importance of this cultural paradise. Known as Minjerribah to the traditional owners (the Quandamooka People), Straddie has a natural beauty not often seen and a spiritual connection not often felt. Just a hop, skip and jump (drive or train and ferry) from Brisbane’s CBD and you’ll feel a million miles away from the hustle and bustle of life. Mobile phone coverage is patchy, the ocean is a twinkling turquoise blue and the waves roll in day in, day out. More information. Recommended by Di.
Pampering
Enjoy a relaxing day out commencing with an exquisite high tea at Stamford Plaza, followed by a trip out to Sirromet winery for a wine tasting tour and lunch overlooking the scenic countryside. Or try your hand at learning some culinary skills at James Street Cooking School and enjoy your hand-made feast of fresh Australian seafood and produce afterwards. Alternatively enjoy being pampered with a relaxing massage or mud therapy treatment at the luxurious Stephanies Spa Retreat, or shop until you drop in our premier shopping precinct in the Queen Street Mall with VIP private experiences such as a pearl lesson at Paspali Pearls or a luggage packing class at Louis Vuitton. Recommended by visitor centre.
Shopping
This vibrant shopping and lifestyle precinct lies at the heart of Brisbane City and is arguably Australia’s most successful pedestrian mall, playing host to over 26 million visitors a year.
The Queen Street Mall offers an unrivalled mix of local, national and international labels and flagship stores.  Queens Plaza, the latest jewel in the Queen Street Mall crown, is a must visit. Other long-time favourites include Wintergarden, Broadway on the Mall, the magnificent and historically significant Brisbane and Tattersall’s Arcades, Queen Adelaide Building, MacArthur Central and The Myer Centre.
The Queen Street Mall is not merely the state’s shopping hotspot, it has long been considered Brisbane’s city heart; the place you head with friends and family if it’s fun and entertainment you seek. Over 1,000 events take place throughout Queen Street Mall each year. In addition, there is a cinema and casino right on the Mall, and parklands, museums, galleries, salons, day spas, restaurants and bars can be found in the surrounding Brisbane City streets.
Art and Culture
South Bank is Brisbane’s cultural epicentre with a thriving precinct of dedicated, world-class theatre, arts and educational institutions. Find out more
Tours
Take a segway tour along the river, or go for a paddle. There are lots of adventure tours available.
Climb the bridge for a fabulous view of Brisbane.
Quench your thirst
From drinking cocktails on rooftop bars to sinking beers and billiards in underground music dens – Brisbane City offers no shortage of variety in its nightlife.
During the week, knock off for aperritivo, on Fridays kick on with co-workers and on weekends come in with a date for riverside drinks. Raise your glass to the 5.01pm club! Great places to unwind with a drink
Whether you judge a coffee shop by its machine, the length of a barista’s beard, single origin offering or variety of brew methods – let’s face it, Australians are total coffee snobs. When it comes to good coffee, Brisbane knows its stuff and if you hate to be disappointed – stick to the below list and we promise you’ll be in safe, coffee-tamping hands.


--- title: Form Elements (Autocomplete) section: Components ---
Add the class .autocomplete-dropdown-menu to dropdown-menu to size the Dropdown Menu according to Lexicon Design specifications.
.autocomplete-dropdown-menu
dropdown-menu