The Taking of Pelham One Two Three (1974) Rating: 5.0 stars out of 5.0 stars
Cast: Walter Matthau, Robert Shaw, Martin Balsam, Hector Elizondo, Earl Hindeman, James Broderick, Dick O'Neill, Jerry Stiller, Kenneth McMillan, Tony Roberts Written by: Peter Stone Based on the novel by: John Godey Directed by: Joseph Sargent Running Time: 104 minutes
This early precursor to Die Hard stars Walter Matthau (that's right, he's the Bruce Willis character) as the transit chief of security for the New York subway system, who must contend with a group of terrorists (led by Robert Shaw, in a ruthless performance) who have hijacked a subway train. The hijacking essentially shuts down the entire subway system, and Shaw demands one million dollars to release the train and his hostages. If his demands are not met, one hostage will be killed every minute.
Filled with tense situations and some very funny dialogue, The Taking of Pelham One Two Three is one of the best films of the 70s. The thing is... you ask anyone about this movie and no one has ever heard of it! Matthau gets the best lines as the frumpy, worn down transit chief... although everyone in the film has a darkly comedic foul attitude that makes for some great dialogue conversations (much like how all the characters in Conspiracy Theory were on edge about something or other). In addition to Matthau and Shaw, the rest of the superb cast is filled out with familiar faces from the 70s. Also the film has one of those ridiculously catchy 70s scores, making the soundtrack album a must own.
The Taking of Pelham One Two Three is available on DVD from MGM Home Entertainment. The disc contains the film in its original theatrical aspect ratio of 2.35:1 and features the original theatrical trailer. Also included with the disc itself is a color booklet featuring materials from the original press kit. Only fault I have with this DVD package: the running time listed on the disc and on the case says 124 minutes... why are studios always getting this wrong? Other than that I have no REAL complaints, as this is a great DVD release of a great forgotten movie. [R]
Chuck Dowling -<EMAIL_ADDRESS>AOL Instant Messenger: FilmJax The Jacksonville Film Journal - http://www.jaxfilmjournal.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


{% extends "base.html" %} {% block title %}Forbidden (403){% endblock %} {% block content %}
You are not allowed to access the content of another user.


Heading out for babymoon (aka last getaway before kiddo #2 arrives). Yes, we're going to the coast, and yes, we are watching for #tsunami.
3/11/2011, 10:53:07 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Heading out for babymoon (aka last getaway before kiddo #2 arrives). Yes, we're going to the coast, and yes, we are watching for #tsunami.
3/11/2011, 10:53:07 AM
Favs: 0
Retweets: 0
link


{% if prev_result %}
{% endif %}
{{ prev_result.message }} {% ifnotequal prev_result.class 'success' %} Correct answer was {{ prev_result.correct }} {% endifnotequal %}
Question ({{ question.number }}/{{ length }})
You need Flash player 8+ and JavaScript enabled to hear music.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.xerces.dom.NodeImpl | +--org.apache.xerces.dom.ChildNode | +--org.apache.xerces.dom.ParentNode
ParentNode inherits from ChildNode and adds the capability of having child nodes. Not every node in the DOM can have children, so only nodes that can should inherit from this class and pay the price for it.
ParentNode, just like NodeImpl, also implements NodeList, so it can return itself in response to the getChildNodes() query. This eliminiates the need for a separate ChildNodeList object. Note that this is an IMPLEMENTATION DETAIL; applications should _never_ assume that this identity exists. On the other hand, subclasses may need to override this, in case of conflicting names. This is the case for the classes HTMLSelectElementImpl and HTMLFormElementImpl of the HTML DOM.
While we have a direct reference to the first child, the last child is stored as the previous sibling of the first child. First child nodes are marked as being so, and getNextSibling hides this fact.
Note: Not all parent nodes actually need to also be a child. At some point we used to have ParentNode inheriting from NodeImpl and another class called ChildAndParentNode that inherited from ChildNode. But due to the lack of multiple inheritance a lot of code had to be duplicated which led to a maintenance nightmare. At the same time only a few nodes (Document, DocumentFragment, Entity, and Attribute) cannot be a child so the gain in memory wasn't really worth it. The only type for which this would be the case is Attribute, but we deal with there in another special way, so this is not applicable.
This class doesn't directly support mutation events, however, it notifies the document when mutations are performed so that the document class do so.
WARNING: Some of the code here is partially duplicated in AttrImpl, be careful to keep these two classes in sync!
| Field Summary | |
protected ChildNode |
fCachedChild
Last requested node. |
protected int |
fCachedChildIndex
Last requested node index. |
protected int |
fCachedLength
Cached node list length. |
protected ChildNode |
firstChild
First child. |
protected CoreDocumentImpl |
ownerDocument
Owner document. |
| Fields inherited from class org.apache.xerces.dom.ChildNode |
nextSibling,
previousSibling |
| Fields inherited from class org.apache.xerces.dom.NodeImpl |
ELEMENT_DEFINITION_NODE,
FIRSTCHILD,
flags,
HASSTRING,
IGNORABLEWS,
OWNED,
ownerNode,
READONLY,
SPECIFIED,
SYNCCHILDREN,
SYNCDATA,
UNNORMALIZED |
| Constructor Summary | |
|
ParentNode()
Constructor for serialization. |
protected |
ParentNode(CoreDocumentImpl ownerDocument)
No public constructor; only subclasses of ParentNode should be instantiated, and those normally via a Document's factory methods |
| Method Summary | |
Node |
cloneNode(boolean deep)
Returns a duplicate of a given node. |
NodeList |
getChildNodes()
Obtain a NodeList enumerating all children of this node. |
protected NodeList |
getChildNodesUnoptimized()
Create a NodeList to access children that is use by subclass elements that have methods named getLength() or item(int). |
Node |
getFirstChild()
The first child of this Node, or null if none. |
Node |
getLastChild()
The last child of this Node, or null if none. |
int |
getLength()
NodeList method: Count the immediate children of this node |
Document |
getOwnerDocument()
Find the Document that this Node belongs to (the document in whose context the Node was created). |
boolean |
hasChildNodes()
Test whether this node has any children. |
Node |
insertBefore(Node newChild,
Node refChild)
Move one or more node(s) to our list of children. |
Node |
item(int index)
NodeList method: Return the Nth immediate child of this node, or null if the index is out of bounds. |
void |
normalize()
Override default behavior to call normalize() on this Node's children. |
Node |
removeChild(Node oldChild)
Remove a child from this Node. |
Node |
replaceChild(Node newChild,
Node oldChild)
Make newChild occupy the location that oldChild used to have. |
void |
setReadOnly(boolean readOnly,
boolean deep)
Override default behavior so that if deep is true, children are also toggled. |
protected void |
synchronizeChildren()
Override this method in subclass to hook in efficient internal data structure. |
| Methods inherited from class org.apache.xerces.dom.ChildNode |
getNextSibling,
getParentNode,
getPreviousSibling |
| Methods inherited from class org.apache.xerces.dom.NodeImpl |
addEventListener,
appendChild,
changed,
changes,
dispatchEvent,
getAttributes,
getLocalName,
getNamespaceURI,
getNodeName,
getNodeType,
getNodeValue,
getPrefix,
getReadOnly,
getUserData,
hasAttributes,
isSupported,
removeEventListener,
setNodeValue,
setPrefix,
setUserData,
synchronizeData,
toString |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
| Field Detail |
protected CoreDocumentImpl ownerDocument
protected ChildNode firstChild
protected transient int fCachedLength
protected transient ChildNode fCachedChild
protected transient int fCachedChildIndex
| Constructor Detail |
protected ParentNode(CoreDocumentImpl ownerDocument)
public ParentNode()
| Method Detail |
public Node cloneNode(boolean deep)
Example: Cloning a Text node will copy both the node and the text it contains.
Example: Cloning something that has children -- Element or Attr, for example -- will _not_ clone those children unless a "deep clone" has been requested. A shallow clone of an Attr node will yield an empty Attr of the same name.
NOTE: Clones will always be read/write, even if the node being cloned is read-only, to permit applications using only the DOM API to obtain editable copies of locked portions of the tree.
Example: Cloning a Text node will copy both the node and the text it
contains.
Example: Cloning something that has children -- Element or Attr, for
example -- will _not_ clone those children unless a "deep clone"
has been requested. A shallow clone of an Attr node will yield an
empty Attr of the same name.
NOTE: Clones will always be read/write, even if the node being cloned
is read-only, to permit applications using only the DOM API to obtain
editable copies of locked portions of the tree.
public Document getOwnerDocument()
public boolean hasChildNodes()
ParentNode
public NodeList getChildNodes()
NodeLists are "live"; as children are added/removed the NodeList will immediately reflect those changes. Also, the NodeList refers to the actual nodes, so changes to those nodes made via the DOM tree will be reflected in the NodeList and vice versa.
In this implementation, Nodes implement the NodeList interface and provide their own getChildNodes() support. Other DOMs may solve this differently.
public Node getFirstChild()
ParentNode
public Node getLastChild()
ParentNode
public Node insertBefore(Node newChild, Node refChild) throws DOMException
newChild
- The Node to be moved to our subtree. As a
convenience feature, inserting a DocumentNode will instead insert
all its children.refChild
- Current child which newChild should be placed
immediately before. If refChild is null, the insertion occurs
after all existing Nodes, like appendChild().public Node removeChild(Node oldChild) throws DOMException
public Node replaceChild(Node newChild, Node oldChild) throws DOMException
public int getLength()
public Node item(int index)
index
- intprotected final NodeList getChildNodesUnoptimized()
To use this method, the subclass should implement getChildNodes() and have it call this method. The resulting NodeList instance maybe shared and cached in a transient field, but the cached value must be cleared if the node is cloned.
public void normalize()
public void setReadOnly(boolean readOnly, boolean deep)
Note: this will not change the state of an EntityReference or its
children, which are always read-only.
protected void synchronizeChildren()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


| Methods' Summary |
| getAvailableScanners |
returns all avilable scanner devices
|
| configureScanner |
produce some kind of User Interface to let the user have a preview,
configure the scan area, etc., it
returns FALSE if user cancelled this process
|
| startScan |
start the scanning process
listener will be called when scan is complete
the EventObject of the disposing call will contain
the ScannerManager if the scan was successfull,
an empty interface otherwise
|
| getError |
get the state of scanning after completion of scan
|
| getBitmap |
get the image after completion of scan
|
| Methods' Details |
getAvailableScanners
- Description
- returns all avilable scanner devices
|
|
configureScanner
- Description
- produce some kind of User Interface to let the user have a preview,
configure the scan area, etc., it
returns FALSE if user cancelled this process
|
|
startScan
- Description
- start the scanning process
listener will be called when scan is complete
the EventObject of the disposing call will contain
the ScannerManager if the scan was successfull,
an empty interface otherwise
|
|
getError
- Description
- get the state of scanning after completion of scan
|
|
getBitmap
- Description
- get the image after completion of scan
|
|
Top of Page
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


This package is responsible for ensuring that the AST corresponds to a `good' program: It does name resolution (that is, it builds a symbol table) and type checking.


Javascript: Hot or Not?
If you're like me, you took one look at a typical JavaScript file before quailing under curly braces and semicolons. It looks difficult to type. Even with a cursory knowledge of programming languages, it's hard to read. We're all going to have to get over that, though, because JavaScript is one of the most popular languages for web development.
Why JavaScript?
Curly braces aside, JavaScript is read by all browsers - it's universal. With AJAX, JavaScript can work on both server and client sides - it's versatile. Since CSS and HTML are also pretty universal, JS, CSS, and HTML are basically the "three sisters" of web design. When you use HTML, CSS, and JS together, you'll have a powerful webpage with virtually no communication problems. This makes it incredibly easy to use when writing a web page.
JS Greatest Hits
- It allows for object-oriented development, and objects can be designed and developed on the fly with JSON (JavaScript Object Notation)
- JSON is a data-interchange format built on unordered name/value pairs or an ordered list of values.
- It is easy to debug because of the plethora of developer tools available
- With Chrome's V8 JavaScript Engine, JS doesn't have to load everything sequentially - with this engine, JS can process more than one task simultaneously
- It communitcates well with the server and works more quickly for the end user
- It is reponsive and interactive in creating HTML files
JS Worst
- Incredibly dependent on AJAX for server-side script - it can't access databases or the server without AJAX, in fact!
- JS also can't read from or write files to the client because, other than cookies, it's not allowed to access anything outside the webpage on which it's running.
The pros of using JavaScript definitely outweigh the cons, and I'm excited to dive in further!
7.29.2014


Mat's Cultural Blog
Unit 1 Week 1
June 10, 2015
Though it has only been a few days, I'm enjoying the DBC experience. Before starting Phase 0, everything was a little clouded in what is exactly being done. But after reading through this phase and actually seeing the work involved, I'm happy with how I'm learning.
The video introduced worries I had with DBC. Shereef mentioned two camps of people, those who feel everyone else is ahead of them and they will never catchup and the group who are ahead and are not sure if they'll learn enough. I fall in the camp between these two. I have done my own independent study but am nervous with when will I be good enough? I was glad to hear that everyone moves together as a team and the experience is what you make of it. Hearing my worries outloud was reassuring and made me feel better about the program.


RT @Fighting4Nippon: Drift over to our latest episode review of Drifters!
Read it here - t.co/56L3SiuCz… t.co/jER47xiDK…


We keep it clean.
We love the style.
The Perfect fashion.
new sensation.
always stylish.
authenticity at its best.
outfit


This Google Chrome extension is open source and is available at https://github.com/javoire/DyslexiaFriendly
Based on concepts from http://antijingoist.github.io/web-accessibility/
Uses OpenDyslexic, available at http://dyslexicfonts.com


| 1 |
09:05: 9:15 am |
Keynote |
Ajeet Singh Raina |
| 2 |
09:15 - 09:45 am |
Automating Infrastructure with Kubernetes and Microservices Using Terraform |
Aditya Soni |
| 3 |
09:50 - 10:20 am |
A New Era of .Net Core Deployment using Azure Devops Starter. |
Menaka Priyadharshini Baskar |
| 4 |
10:20 - 10:30 am |
Fun Quiz on Kahoot.it |
Sangam Biradar |
| 5 |
10:30 - 11:00 am |
Panel Discussion on Terraform |
Vinay Agarlwal, Vamsikrishna Burugadda, Ravichandran Somasundaram |
| 6 |
11:05 - 11:35 am |
Monitoring and debugging Kubernetes applications with BotKube |
Prasad Ghangal |
| 7 |
11:40 - 12:10 pm |
Turning Virtual Machines 'Cloud-Native' using KubeVirt |
Suman Chakraborty |
| 8 |
12:15 - 12:45 pm |
Kubernetes Admission controllers using Python |
Arunvel Arunachalam |
| 9 |
12:50 - 13:20 pm |
Building Microservices on Kubernetes using Envoy Proxy and Istio |
Prashansa Kulshrestha |
| 10 |
13:20 - 13:35 pm |
Fun Quiz on Kahoot.it |
Sangam Biradar |
| 11 |
13:35 - 14:05 pm |
Simplified Deployments into Cloud using Docker Desktop |
Sanchit Balchandani |
| 12 |
14:10 - 14:40 pm |
Shorten all URLs: Quarkus, Kotlin, Hazelcast and GraalVM |
Nicolas Frankel |
| 13 |
14:45 - 15:15 pm |
Testing your Kubernetes platform before and after upgrades through GitOps |
Uma Mukkara |
| 14 |
15:20 - 15:40 pm |
Panel Discussion on Kubelabs |
Vinay Agarlwal, Sangam Biradar, Apurva Bhandari |


--- layout: post title: Rails, Moment.js And Time Zones categories: - ruby-rails - javascript ---
Here are a few quick tips for the time zone aware Rails developer that finds themselves deep into JavaScript date objects. First, use the Moment.js JavaScrpt date library! Moment.js has a very rich API for parsing and working with times, very similiar to ActiveSupport's extensions. However, it does not have a solid way of moving times across zones. Especially if those zones may or may not observer daylight savings time (DST).
Many JavaScript time zone libraries require a huge set of geographic data to both identify zones and their observance of DST. These data files can add a significant overhead to JavaScript. But wouldn't it be great if there was a simple way of leveraging your Rails model's time zone settings? There is, but first we need to serialize an ActiveSupport::TimeZone
object in JSON. Easy, just define an #as_json
method like the one below. I suggest adding this to an initializer in your Rails config/initializers/active_support.rb
directory. The key attribute here is the utc_total_offset
. This will be a number in minutes that properly observes DST.
Now assuming you have serialized a models time zone attribute using the full ActiveSupport::TimeZone
object, we can easily use this information client side via a quick extension to Moment.js' prototype. Here is a moment.js.coffee
file I have required in my Rails applications.
So we let Ruby do all the hard work of telling us what time zones are observing DST without all the bloat to our JavaScript for parsing zone identifiers. Some sample output.
{% highlight javascript %} eastern = { friendly_identifier: "America - New York", identifier: "America/New_York", name: "Eastern Time (US & Canada)", utc_offset: -18000, utc_total_offset: -14400 } noonPacific =<PHONE_NUMBER>000 // "2012-08-06T12:00:00-07:00" format = 'MMMM Do, YYYY \\at h:mma' moment(noonPacific).format(format) // "August 6th, 2012 at 12:00pm" moment(noonPacific).forTimeZone(eastern).format(format) // "August 6th, 2012 at 3:00pm" {% endhighlight %}


Layout
In Codebase, components and utility classes are built upon a 0.5rem element grid. Codebase also gives you a range of containers of different sizes, simple columnar positioning by flexbox, and complex layouts can be built using a real CSS grid system. A few more things can be found in layout utilities.
On this page:
The Codebase Element Grid
Codebase uses a “soft” 0.5rem element grid for consistently positioning elements relative to each other.
This is similar in principle to various 8px grids out there (also known as 8-point or 8dp [device pixel] grids). For example:
- SpecFM’s 8-point grid
- Intro to The 8-Point Grid System by Elliot Dahl
- Material Design’s 4dp square baseline grid
The Codebase element grid has been deployed a follows:
- Element grid increments of 0.5rem have been used for setting all line-heights, margins and paddings throughout Codebase.
- By default, the base typography vertical rhythm (line-height) is set at 1.5rem (= 3 element grid units). The line heights for headers have also been set using 0.5rem increments.
- The layout
.grid
and.flexbox
gaps have been set at 1.5rem. - Decoration utilities for margins and paddings have been set using values from the 0.5rem element grid.
padding: 0.5rem 1rem;
is also available as the padding utility class .p-block`.
See block padding.Element Grid Unit Suffixes in Utility Classes
For various utility classes, the element grid is set using “element grid units” of 0.5rem.
1 element grid unit = 1e = 0.5rem
Where element grid units have been used in utility classes (e.g. margins and paddings), these have been given the unit e
as follows:
| Element grid measure | Utility class suffix |
|---|---|
| 0.25rem | -He * |
| 0.5rem | -1e |
| 1rem | -2e |
| 1.5rem | -3e |
| 3rem | -6e |
| 4.5rem | -9e |
1 This half element-grid spacer is also available in margin and padding (i.e. spacing) utility classes.


Philosophy and Fun of Algebra
by Mary Everest Boole
Chapter 17: "From Bondage to Freedom"
Additional Information
- Year Published: 1909
- Language: English
- Country of Origin: England
- Source: Boole, M. E. (1909). Philosophy and Fun of Algebra.London, England:.
-
Readability:
- Flesch–Kincaid Level: 6.0
- Word Count: 848
- Genre: Informational
- Keywords: math history, mathematics
- ✎ Cite This
Downloads
Moses had said, from the first, that the people of Israel would have to think of “I Am” as the deliverer from bondage; but they were not, at the time when he said it, advanced enough in their algebra to understand that idea properly. So he gave them, as an hypothesis to work on for the time being, that “I Am” did not like the people of Israel to eat and drink and smell unwholesome things. He wished to make them attend to their own affairs, and think as little as possible about what was done and thought outside of their own land.
But, after the time of Elijah, there came a change. A higher kind of algebra came into use. Its incarnation was called Isaiah.
The imagination of the Hebrews broke loose from the hypothesis that “I Am” had wishes and likes about the people of Israel different from what was right for all the rest of the world.
When that hypothesis was taken away, the imagination of such people as Isaiah took wings and flew to—well—we do not know where, but we call it Infinity. We know nothing about Infinity; except that it comes when a chain is loosened.
If you want to understand what it was that happened to Isaiah, and what Infinity means in algebra, this is how you can find out. Get a bowl and dip up some of the water out of a barrel in which a gnat has laid her eggs. Little wigglers are born from those eggs. If you watch them you will see that they swim in different positions, some with their tails uppermost, some with their heads uppermost. There may also be some worms, who do not swim much, but wriggle about at the bottom of the bowl. Perhaps if we could hear them talking we should hear them quarrelling about which was the right position. Some of them might be disputing about what would happen to them in the future.
They might quarrel till the end of the world, and know no more about it at the end than at the beginning. They are all tied by the same hypothesis:—that everybody lives under water. It is a very good working hypothesis for them; for if one of them got out of the water it would die. If they knew algebra properly, they would understand that water is only their present working hypothesis, and that it is quite possible there may be people who live out of it. But it is not sure that they do know enough algebra to be aware of their own ignorance.
If you watch them carefully, you will some day see a wiggler come out of the water. He has got wings. The water-hypothesis no longer concerns him. Some link in the chain that bound him down to water has opened; he is set free; Infinity has come to him.
That is what happened to Isaiah when he got out of the kind of Mosaism by which such people as Joshua and Samuel were tied down. That is what will happen to you (if you learn your algebra properly) when you are no longer tied down to a, b, c, and √-1, as the values of x; and learn to see that the answer to a problem may sometimes be X = Infinity.
Please notice that if a winged gnat fell back into the water he would die. You will find this a good working rule:—Whenever anything comes near your imagination which calls itself either “Infinity” or “The Liberation from Bondage,” go slack for a few minutes; say over the Ten Commandments; and make a mind-picture of the gnat-grub in the water. Tell yourself that his best chance of growing strong wings and being able to fly, when Infinity comes and calls him to go up higher, is to stay in the water till the wings have grown strong and work out the water-hypothesis to its logical conclusion.
Then make another mind-picture:—The gnat who has got wings, and therefore must not try to amuse himself in the water.
Please observe:—There is nothing in this rule contrary to any commandment.

You are not asked to have any opinions about it; or to think that it is a duty in itself; or to think that you are better than other people because you do it, or that every one is wrong who does not do it. If you do it, it will be for no reason that you know of, except that an old woman who has been trying to amuse you asks you to do it as a token of friendly feeling towards her.


This application is designed to visualize R-tree (trees that store spatial data, e.g. geographical coordinates).
You can click on the orange canvas on the left to add a point. The application will render minimum boundary rectangle, when there are enough points.
You can select multiple points by dragging mouse over it. Selected points will be displayed next to the canvas and you can hover or delete the point, or delete the whole selection.
Each rectangle is indexed by a number. 0 is the root and other numbers represent the tree.
Below the canvas there are buttons - You can specify, how many points should be added or deleted. There are also current coordinates of the mouse cursor on the canvas. You can also enable hierarchical view.
This application uses RBush project.


A weather application to check the weather.
Any time. Any day. Anywhere.
Temperature:
Wind:
Humidity:
UV Index:
Five Day Forecast:
Temperature:
Wind:
Humidity:
Temperature:
Wind:
Humidity:
Temperature:
Wind:
Humidity:
Temperature:
Wind:
Humidity:
Temperature:
Wind:
Humidity:


A WeatherEffect that represents fog. More...
#include <FogWeather.h>
Public Slots | |
| void | opacityStep_ () |
| Executed periodically to blend the fog in (slowly increase its opacity). More... | |
| void | moveStep_ () |
| Executed periodically to move the fog graphics. More... | |
| Public Slots inherited from qge::WeatherEffect | |
| void | onMapVisualized_ () |
| Executed when the Map of the WeatherEffect is visualized. More... | |
| void | onMapUnvisualized_ () |
| Executed when the Map of the WeatherEffect is unvisualized. More... | |
Public Member Functions | |
| FogWeather (QPixmap tileableFogGraphic=QPixmap(":/resources/graphics/effects/fog.png"), int tileWidth=1024, int tileHeight=1024, double initialOpacity=0.05, double finalOpacity=0.5, double opacityFadeTimeMs=2000, double opacityStepSize=0.005) | |
| ~FogWeather () | |
| virtual void | start_ () override |
| virtual void | stop_ () override |
| virtual void | resume_ () override |
| virtual void | pause_ () override |
| void | setFogSpeed (double pixelsPerSecond) |
| Sets how fast the fog should travel. More... | |
| void | setFogStepSize (double numPixels) |
| Sets the granularity of movement of the fog. More... | |
| Public Member Functions inherited from qge::WeatherEffect | |
| WeatherEffect () | |
| virtual void | start () |
| Starts the WeatherEffect. More... | |
| virtual void | stop () |
| Stops the WeatherEffect. More... | |
| virtual void | resume () |
| Resumes the WeatherEffect (i.e. More... | |
| virtual void | pause () |
| Pauses the WeatherEffect. More... | |
Additional Inherited Members | |
| Public Types inherited from qge::WeatherEffect | |
| enum | State { STOPPED, STARTED, PAUSED } |
| Protected Attributes inherited from qge::WeatherEffect | |
| QPointer< Map > | map_ |
| State | state_ |
| FogWeather::FogWeather | ( | QPixmap | tileableFogGraphic = QPixmap(":/resources/graphics/effects/fog.png") , |
| int | tileWidth = 1024 , |
||
| int | tileHeight = 1024 , |
||
| double | initialOpacity = 0.05 , |
||
| double | finalOpacity = 0.5 , |
||
| double | opacityFadeTimeMs = 2000 , |
||
| double | opacityStepSize = 0.005 |
||
| ) |
| FogWeather::~FogWeather | ( | ) |
|
slot |
Executed periodically to move the fog graphics.
|
slot |
Executed periodically to blend the fog in (slowly increase its opacity).
|
overridevirtual |
Implements qge::WeatherEffect.
|
overridevirtual |
Implements qge::WeatherEffect.
| void FogWeather::setFogSpeed | ( | double | pixelsPerSecond | ) |
Sets how fast the fog should travel.
| void FogWeather::setFogStepSize | ( | double | numPixels | ) |
Sets the granularity of movement of the fog.
The lower, the smoother the movement but the more expensive.
|
overridevirtual |
Implements qge::WeatherEffect.
|
overridevirtual |
Implements qge::WeatherEffect.


Car pursuit policy 'hamstrung' Vic police
Police lacked confidence in the force's pursuit policy at the time they were chasing the delusional and erratic Bourke Street driver before he mowed down pedestrians in Melbourne's CBD.
Detective Senior Constable Murray Gentner told the third day of an inquest into the January 20, 2017 tragedy police overwhelmingly felt "hamstrung" when it came to pursuits.
"There was a degree of hesitation," he said, following a member being charged with ramming a stolen car.
There were concerns chases at that time could "land you in hot water".
He said pursuit rule changes introduced this year potentially "freed us up to police in a more natural way again".
Det Sen Const Gentner came under scrutiny on Wednesday over a bail hearing for the offender, James Gargasoulas, six days before he rammed pedestrians.
The detective had interviewed Gargasoulas at St Kilda police station after his arrest for threatening to kill a family member with a knife.
The offender admitted to serious crimes and the detective was typing up new charges against him as they awaited a bail justice.
However, Det Sen Const Gentner said he "literally ran down the stairs" to intervene in the hearing when it looked like Gargasoulas would get bail.
Aine Magee QC, representing families of the six victims killed, asked why he did not ask for the hearing to be delayed for 15 minutes so the bail justice had all charges, including the new ones.
"I believe I gave evidence to the bail justice as to what the serious charges were. I don't see how that changes anything," he replied.
The detective said while Gargasoulas was a risk of reoffending, at that stage he wasn't considered "overly dangerous".
But by the morning of the massacre six days later, he had engaged in a series of bizarre and violent acts and critically stabbed his brother.
Police tailed him across several suburbs and Det Sen Const Gentner followed, trying to negotiate Gargasoulas to surrender through phone calls and texts.
"Do you accept you lost control of the situation?" Ms Magee asked him.
"It's a difficult question to answer," Det Sen Const Gentner replied.
"If you look at the net result, I would've certainly hoped to have prevented what occurred down the track."
The detective was texting and calling Gargsoulas to give himself up, at one point texting: "Please don't do this".
He rejected suggestions the increasingly erratic offender was in control and "playing" him.
"I certainly had a strong belief he may come in and surrender," he said.
"He was giving me a commitment he was going to come in."
Det Sen Const Gentner said when Gargasoulas arrived at the Flinders Street intersection in the CBD doing burnouts, there was no indication he'd attack anyone and ramming his car was a risky tactic in a crowded area.
In hindsight, he said if the event was to occur again, he would seek further support of the Special Operations Group - specialists in large, dynamic and serious arrests - and surveillance and the air wing as early as possible.
He understood those resources were requested but not supplied.


New version available.
UPDATE
X
Inbound track
LH
Hdg
Dark theme
Use compass
Fix
Track
Direction
☰
00:00
Start
Stop
Reset


Nautilus(1) Nautilus(1) NAME nautilus - the GNOME File Manager SYNOPSIS nautilus [options] URIs... DESCRIPTION This manual page documents briefly the nautilus command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. Nautilus is the file manager for the GNOME desktop. OPTIONS Nautilus follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. -c --check Perform a quick set of self-check tests. -g --geometry=GEOMETRY Create the initial window with the given geometry. -n --no-default-window Only create windows for explicitly specified URIs. --no-desktop Do not manage the desktop — ignore the preference set in the pref‐ erences dialog. -q --quit Quit Nautilus. --help Show a summary of options. --version Show Nautilus' version. Other standard GNOME options not listed here are also supported. SEE ALSO Nautilus documentation can be found from the "Help" menu, or by pressing the F1 key. Nautilus also has a website at http://www.gnome.org/projects/nautilus/ AUTHOR This manual page was written by Takuo KITAME<EMAIL_ADDRESS>and Dafydd Harries<EMAIL_ADDRESS>for the Debian GNU/Linux system (but may be used by others). 24 May 2004 Nautilus(1)


CS Offers a limited lifetime manufacturers warranty; what this means is we will
replace the product if there is a determination that the blank was defective.
While 99% of breakage occurs due to misuse, and all of our rods are hand made
by artisans. typically our rods dont leave our shop unless they meet our strict
quality control standards.
HOW DO I CARE FOR MY NOODLE ROD?
There are a few tricks, general steps you can take to preserve the life of your noodle rod.
Firstly, it's not a hockey stick Gretzky! no high sticking. Secondly, hook keepers are placed
on your rod for hole hopping Not for storage. your noodle is extruded glass and if stored loaded,
eventually it will retain memory (be bent). Always cut your jigs off the line and store unloaded.
Thirdly, Overeeling if you over reel your jig and jam it into the tip guide, your rod will bend
in a way that will most likely crack the tip. it may not break right away, but it will break eventually.
(not covered) if your rod breaks or cracks between the first and second guide, this has most likely occured.
BE CAREFUL and your high end fish slaying machine will last for years to come.
WHITE AND METALLIC THREADS
Though white threads look cool, they never truely turn out white. Rule of thumb, most blanks are black or dark colored.
When a white thread or light colored thread wrap is applied to the blank with finish, the finish soaks into the thread making
white transparent. The only way to make a white thread stay "White" is to add color preserver to the thread wraps (see below for details about using color preserver).
Metallic thread is weak in strength compaired to nylon thread. For guide wraps, the thread coupled with finish is the structural integrity for the guide.
It is important that the guide foot adhears and has all the structural strength possible to maximize the life of the fishing rod.
Matallic threads might look nice, but they should only be used as trim bands or for decorative wraps that do not offer structural support.
Metallic guide wraps are not an option with my rods.
GUIDE WRAPS WITH COLOR PRESERVER
Color Preserver is a liquid that is applied directly onto thread wraps. The purpose of color preserver is to create a barrier from the finish.
That being said, color preserver applied to any wrap, that requires structural support, is being compromised by the use of color preserver.
The thread wraps offer alot of the guide bonding and strength from the guide wraps. The barrier that is created with color presever, makes the finished
procduct weak because the finish is not able to soak into the threads for maximum strength. I will NOT use color preserver on guide wraps.
WHAT SHOULD I EXSPECT WHEN ORDERING A TIGER WRAP?
Tiger wraps are time consuming, difficult to wrap and the finished product is unpredictable.
The process to making a tiger wrap consists of multiple layers of thread in which each layer
also has multiple colors of thread. Tiger wraps can have as few as 2 colors in each layer to as many
as 5 colors per layer. Between each layers are three coats of finish. When picking colors for a tiger wrap,
its best to pick colors that have high contrast and are NOT white, neon colors or tinsel. Colors generally mute and darken
after final coats of finish are applied.

That entirely depends on the season, and workload. Typically we run about 3 weeks, and in the busy times
(December to March) we run as much as 5-6 weeks.


System Architect Picture "Inter Subject Relationship"
Parent Diagram:
Subject Property
(OMT Object Model)


The alternative would be converting the MP3 source files to WAV for ingest. But since we added support for ingesting JPEG and PNG, supporting MP3 seems more consistent.
labeled
by Kim Leaman at 2021-02-01 14:46:36.labeled
by Kim Leaman at 2021-02-01 14:46:36.assigned
by Kate Lynch at 2021-02-01 16:37:44.assigned
by Kate Lynch at 2021-02-01 16:37:53.This was a side effect of the Trentonian having FileSets and ScannedResources, so it was generating an 88k page manifest. We removed the directly attached filesets, so I'm closing this.
closed
by Trey Pendragon at 2021-02-01 18:51:27....What? Sorry, I'm confused. So you want to search for the ARK of a child record in Figgy and have the parent record return?
@tpendragon This is one of a handful of SC collections that have item-level metadata, including ARKs, in PUDL because that's the way they were ingested in PUDL. But there aren't components or item-level metadata for each photo in the finding aid.
So the compromise for getting these migrated to Figgy is to create a MVW linked to each finding aid component (representing all photos of a building), with child volumes for each photo, which allows us to:
The main outstanding issue is a navigation problem. Each photo has an ARK that currently points at PUDL. We can update those ARKs to go to the finding aid, but there are dozens or hundreds of photos for some buildings. But if you have a citation including the ARK, how would you know which photo it was referring to? We'd like some way for a user who lands at the finding aid component to navigate to the right photo.
Oh. So a link which navigates to the page in pulfa and the viewer loads the right item? There's a IIIF working group for this, but also an existing solution in UV I think. Would take some fiddling.
mentioned
by Trey Pendragon at 2021-02-01 20:11:12.subscribed
by Trey Pendragon at 2021-02-01 20:11:12.closed by #1021
closed
by Christina Chortaria at 2021-02-01 13:38:55.referenced
by None at 2021-02-01 14:16:25.referenced
by None at 2021-02-01 14:16:25.end-end test successful.
referenced
by None at 2021-02-01 14:16:25.closed
by None at 2021-02-01 15:29:09.Coverage remained the same at 82.49% when pulling 5d0007d6c874fe41cb6425f6f1abe93606bda93b on remove-update-crons into 4b43185d0e81086af91bbb1d53e90b25b4816a66 on alma.
referenced
by Christina Chortaria at 2021-02-01 16:38:29.merged
by Christina Chortaria at 2021-02-01 16:38:29.closed
by Christina Chortaria at 2021-02-01 16:38:29.head_ref_deleted
by Christina Chortaria at 2021-02-01 16:38:30.Coverage remained the same at 82.49% when pulling 32a7a673a2963ea0044e88e5b1dd81441e5b5ee6 on 1026-bibdata-default-url into 4b43185d0e81086af91bbb1d53e90b25b4816a66 on alma.
@christinach sorry this needs to be rebased since the alma branch was rebased this morning.
@hackartisan rebased
base_ref_force_pushed
by None at 2021-02-01 14:16:24.mentioned
by Christina Chortaria at 2021-02-01 15:12:32.subscribed
by Christina Chortaria at 2021-02-01 15:12:32.head_ref_force_pushed
by Christina Chortaria at 2021-02-01 15:36:23.mentioned
by None at 2021-02-01 15:37:34.subscribed
by None at 2021-02-01 15:37:34.referenced
by Christina Chortaria at 2021-02-01 16:41:48.merged
by Christina Chortaria at 2021-02-01 16:41:48.closed
by Christina Chortaria at 2021-02-01 16:41:48.head_ref_deleted
by Christina Chortaria at 2021-02-01 16:41:49.closed by #1027
labeled
by Christina Chortaria at 2021-02-01 13:26:15.assigned
by Christina Chortaria at 2021-02-01 13:26:15.closed
by Christina Chortaria at 2021-02-01 16:42:07.renamed
by None at 2021-02-01 15:53:20.renamed
by None at 2021-02-01 15:53:27.referenced
by None at 2021-02-01 15:54:38.closed
by None at 2021-02-01 16:46:14.@hackartisan I approved but can you also update the readme file before merging?
Coverage remained the same at 82.49% when pulling b49a4ceb064c377a17a5f88e8ec19c37a5d02526 on 1025-server-task into e7f4f3d8d1040f96fbe216d74a3037d289698640 on alma.
@christinach thanks for catching that! done.
head_ref_force_pushed
by None at 2021-02-01 16:30:29.mentioned
by None at 2021-02-01 16:39:56.subscribed
by None at 2021-02-01 16:39:56.review_dismissed
by None at 2021-02-01 16:45:24.head_ref_force_pushed
by None at 2021-02-01 16:45:24.mentioned
by Christina Chortaria at 2021-02-01 16:45:36.subscribed
by Christina Chortaria at 2021-02-01 16:45:36.referenced
by None at 2021-02-01 17:12:48.merged
by None at 2021-02-01 17:12:49.closed
by None at 2021-02-01 17:12:49.head_ref_deleted
by None at 2021-02-01 17:12:49.assigned
by None at 2021-02-01 16:26:14.referenced
by None at 2021-02-01 16:28:28.referenced
by None at 2021-02-01 16:30:29.referenced
by None at 2021-02-01 16:45:23.referenced
by None at 2021-02-01 17:12:50.closed
by None at 2021-02-01 17:13:06.Coverage decreased (-0.08%) to 82.49% when pulling d4bce42d14531bd93e2dc98076160275e3a7ab98 on alma into a61226211819ec7a205da5cdff5b8b3741a8f70a on main.
head_ref_force_pushed
by None at 2021-02-01 14:16:24.We decided instead to have bibliographic#update enhance marc records so that they work with the traject configuration already in place for the bib records coming from the alma publishing job.
comment_deleted
by None at 2021-02-01 18:54:18.comment_deleted
by None at 2021-02-01 18:54:33.closed
by None at 2021-02-01 18:56:04.unassigned
by James R. Griffin III at 2021-02-01 18:38:04.renamed
by None at 2021-02-01 19:41:13.renamed
by None at 2021-02-01 19:41:31.Below are a few screenshots showing that fields adds to enrich the records during the Publishing job. To get the current fields login to Alma and go to Resources + Publishing Profiles + select "General Publishing via FTP" + "Edit".
labeled
by None at 2021-02-01 19:39:52.It seems that I can indeed click on the fields on the Schema and browse through the fields. I thought I couldn't (?)
But I also noticed that the Solr log is showing up and error on some of the fields defined in solrconfig.xml
. The error says:
2/1/2021, 2:35:17 PM | ERROR true | x:marc-liberation-core-development | RequestHandlerBase |
org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError:
Cannot parse 'cataloged_tdt:[NOW/DAY-7DAYS NOW/DAY+1DAY]': Encountered " <RANGE_GOOP> "NOW/DAY+1DAY "" at line 1, column 29.
org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError:
Cannot parse 'cataloged_tdt:[NOW/DAY-7DAYS NOW/DAY+1DAY]': Encountered " <RANGE_GOOP> "NOW/DAY+1DAY "" at line 1, column 29.
Was expecting: "TO" ... at
org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:218) at
...
java.base/java.lang.Thread.run(Unknown Source) Caused by: org.apache.solr.search.SyntaxError:
Cannot parse 'cataloged_tdt:[NOW/DAY-7DAYS NOW/DAY+1DAY]': Encountered " <RANGE_GOOP> "NOW/DAY+1DAY "" at line 1, column 29.
These fields are defined as follow:
<lst><str name="fq">cataloged_tdt:[NOW/DAY-7DAYS NOW/DAY+1DAY]</str></lst>
<lst><str name="fq">cataloged_tdt:[NOW/DAY-14DAYS NOW/DAY+1DAY]</str></lst>
<lst><str name="fq">cataloged_tdt:[NOW/DAY-21DAYS NOW/DAY+1DAY]</str></lst>
<lst><str name="fq">cataloged_tdt:[NOW/DAY-1MONTH NOW/DAY+1DAY]</str></lst>
<lst><str name="fq">cataloged_tdt:[NOW/DAY-2MONTHS NOW/DAY+1DAY]</str></lst>
<lst><str name="fq">cataloged_tdt:[NOW/DAY-3MONTHS NOW/DAY+1DAY]</str></lst>
<lst><str name="fq">cataloged_tdt:[NOW/DAY-6MONTHS NOW/DAY+1DAY]</str></lst>
It seems like Solr expects a TO
statement between the ranges cataloged_tdt:[NOW/DAY-6MONTHS TO NOW/DAY+1DAY]
@hectorcorrea The configs are refreshed manually from the pulsolr repo via this rake task: https://github.com/pulibrary/marcliberation/blob/alma/lib/tasks/dev.rake#L40
The way to fix this error would probably be to fix it in the staging config in pul_solr, deploy that config and check that it's good, then fix it in the production and production-alt configs in pul_solr and merge all those, then run the rake task above to pull in the fix to lando / circleci here in marc liberation.
mentioned
by Hector Correa at 2021-02-01 20:20:08.subscribed
by Hector Correa at 2021-02-01 20:20:08.renamed
by None at 2021-02-01 20:27:32.labeled
by None at 2021-02-01 20:27:43.labeled
by None at 2021-02-01 20:27:57.renamed
by Christina Chortaria at 2021-02-02 00:34:55.labeled
by Christina Chortaria at 2021-02-01 18:43:43.assigned
by Christina Chortaria at 2021-02-01 18:43:44.renamed
by Christina Chortaria at 2021-02-02 00:46:34.referenced
by None at 2021-02-01 18:02:19.merged
by None at 2021-02-01 18:02:19.closed
by None at 2021-02-01 18:02:19.head_ref_deleted
by None at 2021-02-01 18:02:22.head_ref_force_pushed
by None at 2021-02-01 18:42:38.referenced
by Axa Mei Liauw at 2021-02-01 18:47:15.merged
by Axa Mei Liauw at 2021-02-01 18:47:16.closed
by Axa Mei Liauw at 2021-02-01 18:47:16.@escowles the request you asked for are out on staging: https://catalog-staging.princeton.edu/
Coverage remained the same at 96.589% when pulling 4c1126620261f2764a8b7781328adeaa873eb2a9 on revert-student-message into 1afe91f1700e02dcb395f82c768894f9b635bf17 on main.
head_ref_force_pushed
by None at 2021-02-01 14:35:32.deployed
by Trey Pendragon at 2021-02-01 14:36:13.head_ref_force_pushed
by None at 2021-02-01 14:42:33.deployed
by Trey Pendragon at 2021-02-01 14:42:43.head_ref_force_pushed
by None at 2021-02-01 14:57:52.head_ref_force_pushed
by None at 2021-02-01 15:06:09.deployed
by Trey Pendragon at 2021-02-01 15:06:30.head_ref_force_pushed
by None at 2021-02-01 15:18:53.deployed
by Trey Pendragon at 2021-02-01 15:18:57.mentioned
by Esmé Cowles at 2021-02-01 15:22:20.subscribed
by Esmé Cowles at 2021-02-01 15:22:20.referenced
by Kevin Reiss at 2021-02-01 15:38:07.merged
by Kevin Reiss at 2021-02-01 15:38:07.closed
by Kevin Reiss at 2021-02-01 15:38:07.head_ref_deleted
by Kevin Reiss at 2021-02-01 15:38:08.It might be good to merge dependabot PRs before doing this.
This will run on Wednesday.
closed
by None at 2021-02-01 18:31:54.head_ref_force_pushed
by None at 2021-02-01 19:57:04.referenced
by Christina Chortaria at 2021-02-01 16:49:13.merged
by Christina Chortaria at 2021-02-01 16:49:13.closed
by Christina Chortaria at 2021-02-01 16:49:13.closed
by Christina Chortaria at 2021-02-01 16:49:13.renamed
by None at 2021-02-01 14:40:40.closed
by None at 2021-02-01 14:56:34.referenced
by None at 2021-02-01 14:56:34.merged
by None at 2021-02-01 14:56:34.closed
by None at 2021-02-01 14:56:34.head_ref_deleted
by None at 2021-02-01 14:56:39.referenced
by Trey Pendragon at 2021-02-01 23:15:11.merged
by Trey Pendragon at 2021-02-01 23:15:11.closed
by Trey Pendragon at 2021-02-01 23:15:11.labeled
by Christa Cleeton at 2021-02-01 14:35:22.closed
by Trey Pendragon at 2021-02-01 18:25:39.The feature's been added to our plugin, we're just waiting on Lyrasis to update our plugin.
assigned
by Trey Pendragon at 2021-02-01 19:34:56.referenced
by Trey Pendragon at 2021-02-01 19:29:56.referenced
by Trey Pendragon at 2021-02-01 19:34:03.closed
by Shaun Ellis at 2021-02-01 19:44:25.Added to access and use as well:
This looks good to me but I will defer to @faithc
head_ref_force_pushed
by Trey Pendragon at 2021-02-01 19:34:03.referenced
by Shaun Ellis at 2021-02-01 19:44:25.merged
by Shaun Ellis at 2021-02-01 19:44:25.closed
by Shaun Ellis at 2021-02-01 19:44:25.head_ref_deleted
by Shaun Ellis at 2021-02-01 19:44:26.mentioned
by None at 2021-02-01 20:25:21.subscribed
by None at 2021-02-01 20:25:21.closed
by Shaun Ellis at 2021-02-01 21:20:37.@ccleeton Using the "Ask Us" form on the SC website takes the user away from Finding Aids. I believe this would be better if we used the Finding Aids "Ask A Question" form that shows up as a pop up, but this seems to be progress, so I won't hold it up.
mentioned
by Christa Cleeton at 2021-02-01 21:19:50.subscribed
by Christa Cleeton at 2021-02-01 21:19:50.referenced
by Shaun Ellis at 2021-02-01 21:20:37.merged
by Shaun Ellis at 2021-02-01 21:20:37.closed
by Shaun Ellis at 2021-02-01 21:20:37.head_ref_deleted
by Shaun Ellis at 2021-02-01 21:20:38.referenced
by Christina Chortaria at 2021-02-01 22:03:42.merged
by Christina Chortaria at 2021-02-01 22:03:42.closed
by Christina Chortaria at 2021-02-01 22:03:42.head_ref_deleted
by Christina Chortaria at 2021-02-01 22:03:43.unassigned
by Shaun Ellis at 2021-02-01 19:45:39.unassigned
by None at 2021-02-01 19:45:39.assigned
by Trey Pendragon at 2021-02-01 19:45:39.unassigned
by Trey Pendragon at 2021-02-01 19:45:48.referenced
by Trey Pendragon at 2021-02-01 21:53:51.referenced
by Trey Pendragon at 2021-02-01 22:07:19.closed
by Trey Pendragon at 2021-02-01 23:42:30.head_ref_force_pushed
by Trey Pendragon at 2021-02-01 22:07:19.ready_for_review
by Trey Pendragon at 2021-02-01 22:07:34.deployed
by Trey Pendragon at 2021-02-01 22:53:22.review_requested
by Christina Chortaria at 2021-02-01 23:23:22.referenced
by Trey Pendragon at 2021-02-01 23:42:30.merged
by Trey Pendragon at 2021-02-01 23:42:30.closed
by Trey Pendragon at 2021-02-01 23:42:30.head_ref_deleted
by Trey Pendragon at 2021-02-01 23:42:31.referenced
by Esmé Cowles at 2021-02-01 12:56:16.merged
by Esmé Cowles at 2021-02-01 12:56:16.closed
by Esmé Cowles at 2021-02-01 12:56:16.


Kotlet de'Volaille 8.90 £
Large chicken breast stuffed with cheese. Served with Polish salad, fried potatoes, and traditional mash.
Pierogi Onufrego Zagloby 8.90 £
Polish ravioli with your choice of minced beef and cabbage, potato and cheese, or combination of both. Topped with bacon pieces.
Nalesniki Olenki* 8.50 £
Sweet pancakes topped with Polish cheese, whipped cream, and chocolate sauce sprinkled with chopped walnuts.
Ryba w Jarzynach* 8.50 £
Oven baked cod filet served on a bed of mixed vegetables.
Kaczka w Bialym Winie 9.50 £
Duck breast roasted with white wine, mushrooms, and herbs. Served with mashed potatoes.
Specjalnosc Hajduczka* 25.90 £
Your choice of 3 specialty dishes. Serves 2-3 people.
Przystawki / Starters
Sledz po Baltycku 4.50 £
Marinated Baltic herring with herbs and boiled egg. Served on a bed of Polish salad.
Bigos Staropolski* 4.50 £
Traditional stew made from sauerkraut, Polish smoked meats, and herbs.
Fasolka po Bretonsku 4.50 £
Hearty dish made from butter beans and a variety of cured Polish meat with onions, tomato and seasonings.
Placki Ziemniaczane z Sosem* £
The famous traditional pancake made from graded potatoes, eggs, onions and spices. Served with the house sauce or sour cream.
Kopytka* 4.50 £
Handmade Polish dumplings served with either goulash, cream or fried breadcrumbs.
Kawior 9.90 £
Caviar served on a bed of sliced egg.
Dania glowne / Main Courses
Kotlet Schabowy 6.90 £
Pork cutlet seasoned and coted with breadcrumbs. Served with traditional cabbage dish and mashed potatoes
Sznycel Mielony 6.90 £
Seasoned, minced lamb cutlet. Served with Polish salad and mashed potatoes
Golabki z Miesem 6.90 £
Poached cabbage leaves stuffed with minced meat and rice and seasonings.
Pierogi Ruskie* 6.90 £
Polish style ravioli stuffed with Polish white cheese, potatoes and onions and topped with bacon. Accompanied with the house sauce.
Szaszlyk Kozacki 6.90 £
Marinated chicken breast skewers with three types of peppers and onions. Pan fried and served on a bed of vegetable pilaf made with saffron & Pakistani Basmati rice.

Zupa Pomidorowa* 3.50 £
Our own special tomato soup recipe.
Zupa Staropolski* 3.50 £
Fermented rye flour with choices of smoked sausage, egg or potatoes.
Barszcz Czerwony* 3.50 £
PTraditional Polish beetroot soup served with a meat or vegetable croquette or “Jasiek” butter beans.
Grochowka 3.50 £
White peas and vegetable broth with smoked bacon, herbs and traditional seasonings.
Desery / Desserts
Mezalians Krolewski 4.50 £
Vanilla, chocolate and strawberry ice cream laced with liquor and whipped cream.
Kielich Pieknej Heleny 4.50 £
Jello dessert served with fruits and whipped cream.
Nalesniki z Owocami 4.50 £
Sweet pancakes with a variety of fruit fillings topped with whipped cream. Choose between:
Peach, strawberries or banana
Gofry 4.50 £
Waffles served with ice cream, fresh fruits, whipped cream and a choice of toppings.
Champagne / Sparkling Wine
- Moet / Chandon 35.95 £
- Cava Methode Chamenoise 19.90 £
- Asti Spurnante 12.50 £
White Wines £
- Don Pavral 10.90 £
- Muscadet 10.90 £
- Frascati Superiore 12.90 £
- Sauvignon Blanc 12.90 £
- Chablis (French) 1999 20.90 £
- Australian Chardonnay 20.90 £
Red Wines
Cotes du Rhone 10.90 £
Valpolicella 10.90 £
Beaujolais 12.90 £
Claret 12.90 £
Cabernet Sauvignon 12.90 £
Rioja Marquise de Caceres 13.90 £
Langhorne Creek Red 20.90 £
Liquor
Polish Vodka, 17 varieties, from 1.70 £ to 2.50 £
Special Polish Liquers, from 2.10 £ to 3.00 £


{% load static %}
| Membership: | {{ user.membership.package_name }} |
| Member Since: | {{ user.profile.first_visit }} |
| Organization{{ org_memberships|pluralize }}: |
{% for org in org_memberships %}
|
| Neighborhood: | {{ user.profile.neighborhood }} |
| Has Kids? | {{ user.profile.has_kids|yesno:"Yes,No" }} |


Elevation map of the study area, Jeonnam province in Korea. Major counties growing kiwifruits in the province are labelled on the map: JD, Jindo; HN, Haenam; WD, Wando; GJ, Gangjin; JH, Jangheung; BS, Boseong; GH, Goheung; SC, Suncheon; YS, Yeosu; and GY, Gwangyang. Note that the 7 Automated Synoptic Observing System (ASOS) stations used for the downscaling of 11 GCM scenarios are starred on the map.


SQL injection attacks represent a serious threat to any database-driven site. The methods behind an attack are easy to learn and the damage caused can range from considerable to complete system compromise. Despite these risks, an incredible number of systems on the internet are susceptible to this form of attack.

It is always good practice to sanitize all input data, especially data that will used in OS command, scripts, and database queries, even if the threat of SQL injection has been prevented in some other manner.
The form below allows a user to view weather data. Try to inject an SQL string that results in all the weather data being displayed.


WITNESS LIST Veteran Affairs & Military Installations Committee December 3, 2002 - 9:00A Base Realignment and Closure (BRAC) ON: Alcala, Dora Mayor (City of Del Rio), Del Rio, TX Carlow, James County Judge (Bowie County), New Boston, TX Chase, Tim President (Wichita Falls Board of Commerce and Industry), Wichita Falls, TX Cooper, Kevin Regional Director (United States Senator Kay Bailey Hutchison), Austin, TX Dalby, Michael President (San Angelo Chamber of Commerce), San Angelo, TX Ehrie, William President (Abilene Industrial Foundation), Abilene, TX Garza, Ed Mayor (City of San Antonio), San Antonio, TX Hall, David Deputy City Manager (City of Killeen City of Killeen), Killeen, TX Hawley, Judy Executive Director (San Patricio County Economic Development Council/South Texas Facilities Military Task Force), Gregory, TX Maloney, James Major General (Texas Strategic Military Planning Commission), El Paso, TX Messbarger, Dick Director of Economic Development (City of Kingsville), Kingsville, TX Reyes, Silvestre Congressman (Self), Washington, DC Yeager, Kathryn Vice Chairman of Military Affairs (Wichita Falls Bureau of Commerce and Industry), Wichita Falls, TX Texas National Guard ON: Johnson, Gregory Mobilization Officer (Texas National Guard Texas National Guard), Austin, TX Patterson, Garry Director Facilities and Engineering (Texas Army National Guard Texas Army National Guard), Round Rock, TX Texas Veteran's Commission ON: Nier, James Executive Director (Texas Veterans Commission), Austin, TX The Veteran's Museum in Texas ON: Browne, Malcom Chairman (The Veteran's Museum of Texas), Houston, TX


Lua 5.1 / LuaJIT Quick Summary (part 1: types, control flow, and scope)
Read about the Lua/LuaJIT language here, including documentation and resource links.
Go to part 2.
Syntax
-- Two dashes create a comment that ends at the line break print("hello world") -- Note: there is no need for semicolons to terminate statements.
Simple types
All values in Lua are one of the following types; however unlike C, the type does not belong to the variable, but to the value itself. That means that a variable can change type (dynamic typing).
-- Unlike C, the type information is stored with the value, not the variable; -- this means that the type of a variable can change dynamically. x = 1 -- x now refers to a number x = "foo" -- x now refers to a string -- check types like this: if type(x) == "number" then -- do stuff end
Numbers
All numbers in Lua are 64-bit floating point type (aka ‘double’ for C programmers). There is no distinction between integers and non-integers.
-- these lines are all equivalent -- they assign the number value 1 to the variable name x: x = 1 x = 1.0 x = 100e-2 -- e base10 format x = 0x1 --hexadecimal format -- Note: all numbers in Lua are 64-bit doubles
The exception is FFI objects, which present any C type to Lua, including number types.
Strings
Lua strings are immutable: each string operation creates a new string.
-- strings: print("a simple string") print('a simple string') -- embedding special characters and multi-line strings: x = 'escape the \' character, and write \n a new line' x = [[ The double square brackets are a simple way to write strings that span over several lines]]
Strings are hashed internally very efficiently, and garbage collected.
Booleans and nil
Boolean values are the keywords true and false. The nil value indicates the absence of a value, and also counts as false for conditional tests.
-- Boolean values: t = true f = false if t then print("t!") end -- prints t! if f then print("f!") end -- prints nothing -- nil indicates the absence of value. -- Assigning nil to a variable marks the variable for garbage collection. n = nil -- nil also evaluates to false for a predicate: if n then print("n!") end -- prints nothing
Assigning nil to a variable removes a reference to the value; if the value is no longer accessibly referenced by code, it can be garbage collected. Assigning nil to a table key effectively removes that key from the table.
Tables (structured data)
Lua provides only one data structure: the table. Tables in Lua are associative arrays, mapping keys to values. Both keys and values can be any valid Lua type except nil. However, the implementation makes sure that when used with continuous number keys, the table performs as a fast array.
-- creating an array-like table of strings, the quick way: t = { "one", "two", "three" } -- creating a dictionary-like table, the quick way: t = { one = 1, two = 2, three = 3 } -- creating a table with both array-like and dictionary-like parts: t = { "one", "two", "three", one = 1, two = 2, three = 3 } -- create an empty table: t = {} -- add or replace key-value pairs in the table: t[1] = "one" -- array-like t["two"] = 2 -- dictionary-like -- a simpler way of saying that: t.two = 2 print(t.two, t["two"]) --> 2 2 -- special case of nil: -- remove a key-value pair by assigning the value nil: t.two = nil print(t.two) -->-- create a table with a sub-table: t = { numbers = { 1, 2, 3 }, letters = { "a", "b", "c" }, } -- any Lua type (except nil) can be used as key or value -- (including functions, other tables, the table itself, ...) t[x] = t t[function() end] = false t[t] = print -- and other madness...
It’s important to remember that a Lua table has two parts; an array-portion and a hash-table portion. The array portion is indexed with integer keys, starting from 1 upwards. All other keys are stored in the hash (or record) portion.
The array portion gives Lua tables the capability to act as ordered lists, and can grow/shrink as needed (similar to C++ vectors). Sometimes the array portion is called the list portion, because it is useful for creating lists similarly to LISP. In particular, the table constructor will insert numeric keys in order for any values that are not explicitly keyed:
-- these two lines are equivalent local mylist = { [1]="foo", [2]="bar", [3]="baz" }: local mylist = { "foo", "bar", "baz" } print(mylist[2]) --> bar print(unpack(mylist)) --> foo bar baz
Remember that Lua expects most tables to count from 1, not from 0.
Iterating a table
To visit only array-portion of a table, use a numeric for loop or ipairs, like the following. The traversal follows the order of the keys, from 1 to the length of the table:
for i = 1, #mytable do local v = mytable[i] -- do things with the index (i) and value (v) print(i, v) end for i, v in ipairs(mytable) do -- do things with the index (i) and value (v) print(i, v) end
To visit all key-value pairs of a table, including the array-portion, use a for loop with pairs. Note that in this case, the order of traversal is undefined; it may be different each time.
for k, v in pairs(mytable) do -- do things with the key (k) and value (v) print(k, v) end
Functions
Functions can be declared in several ways:
-- these are equivalent: sayhello = function(message) print("hello", message) end function sayhello(message) print("hello", message) end -- using the function: sayhello("me") -- prints: hello me sayhello("you") -- prints: hello you -- replacing the function sayhello = function(message) print("hi", message) end sayhello("me") -- prints: hi me
Functions can zero or more arguments. In Lua, they can also have more than one return value:
function minmax(a, b) return math.min(a, b), math.max(a, b) end print(minmax(42, 13)) -- prints: 13 42
In Lua, functions are first-class values, just like numbers, strings and tables. That means that functions can take functions as arguments, functions can return other functions as return values, functions can be keys and values in tables. It also means that functions can be created and garbage collected dynamically.
Method-call syntax
A special syntax is available for a table’s member functions that are intended to be used as methods. The use of a colon (:) instead of a period (.) passes the table itself through as the first implicit argument self. This is called method-call syntax:
-- create a table local t = { -- with one value being a number: num = 10, -- and another value being a function: -- (note the use of the keyword "self") printvalue = function(self) print(self.num) end, } -- or declare/modify it like this: function t:printvalue() print(self.num) end -- use the method: t.printvalue(t) -- prints: 10
There’s nothing really special here except some fancy syntax for convenience; saying t:printvalue() is just the same as saying t.printvalue(t).
Logic and control flow
-- if blocks: if x == 1 then print("one") -- as many elseifs as desired can be chained elseif x == 2 then print("two") elseif x == 3 then print("three") else print("many") end -- while loops: x = 10 while x > 0 do print(x) x = x - 1 end repeat print(x) x = x + 1 until x == 10 -- numeric for loop: -- count from 1 to 10 for i = 1, 10 do print(i) end -- count 1, 3, 5, 7, 9: for i = 1, 10, 2 do print(i) end -- count down from 10 to 1: for i = 10, 1, -1 do print(i) end -- logical operators: if x == y then print("equal") end if x ~= y then print("not equal") end -- combinators are "and", "or" and "not": if x > 12 and not x >= 20 then print("teen") end
Lexical scoping
If a variable is declared local, it exists for any code that follows it, until the end of that block. (You can tell what a block is by how the code is indented.) Local identifiers are not visible outside the block in which they were declared, but are visible inside sub-blocks. This is called lexical scoping.
If a variable is not declared local, it becomes a global variable, belonging to the entire script. This is a very common cause of bugs, so it is better to use local in nearly all cases. (Also, local variables are more efficient).
function foo(test) -- a function body is a new block local y = "mylocal" if test then -- this is a sub-block of the function -- so "y" is still visible here print(y) -- prints: mylocal end end -- this is outside the block in which "local y" occurred, -- so "y" is not visible here: print(y) -- prints: nil
Assigning to a variable that has not been declared locally within the current block will search for that name in parent blocks, recursively, up to the top-level. If the name is found, the assignment is made to that variable. But if the name is still not found, Lua creates a new global instead. Mostly this does what you'd expect, so long as you use local whenever you declare a new variable.
-- an outer variable: local x = "outside" print(x) -- prints: outside -- sub-block uses "local", which does not affect the variable "x" outside: function safe() local x = "inside" end safe() print(x) -- prints: outside -- sub-block does not use "local", so this updates the variable "x" outside: function unsafe() x = "inside" end unsafe() print(x) -- prints: inside
Closures
Closures arise from the mixed use of lexically scoped local variables, and higher order functions. Any function that makes use of non-local variables effectively keeps those variable references alive within it. An example explains this better:
function make_counter() local count = 0 -- notice that one function returns another -- each call to "make_counter()" will allocate and return a newly defined function: return function() count = count + 1 print(count) end end -- call to make_counter() returns a function; -- and 'captures' the local count as an 'upvalue' specific to it local c1 = make_counter() c1() -- prints: 1 c1() -- prints: 2 c1() -- prints: 3 -- another call to make_counter() creates a new function, -- with a new count upvalue local c2 = make_counter() c2() -- prints: 1 c2() -- prints: 2 -- the two function's upvalues are independent of each other: c1() -- prints: 4
Garbage collection
Objects are never explicitly deleted in Lua (though sometimes resources such as files might have explicit close() methods). When Lua gets to the end of a block, normally it can release any local variables created with it.
However they might still be referenced (e.g. by tables or closures), in which case Lua won’t release the memory until those values are no longer accessible. Most of the time we don’t even need to think about it.
Lua uses an fast incremental garbage collector that runs in the background, which silently recycles the memory for any values to which no more references remain.
Go to part 2.


Birthdays only happen once a year and we, at BlockParty, want to make sure that your special day is perfect. Whether it's your 15th birthday or your 50th, you are bound to find everything you need to make sure your party is extravagant. With this premade package you'll have cake, streamers, decorations and catering so that we can ensure that your birthday is a success.
"My computer is lagging," "Hacks," "I'm not trying," we've all heard these excuses coming from our friends and we all hate them. By ordering a LAN Party from BlockParty, we'll make sure that all your gaming needs are met. We'll provide the Doritos, the controllers, the console or PCs, network hub, projectors and sound equipment. Now you can beat your friends at a game without any excuses.
Get ready to invite all of your friends and family for the game! No matter what team you root for, BlockParty will be sure to give you the best experience for your money. This party will provide you with state of the art film projectors and surround sound equipment. And don't forget the delicious wings that our caterers provide!


gokrazy development happens primarily on the Raspberry Pi 4 B.
Appliances which are marked in bold are tested in the CI setup on real hardware and gate new kernel and firmware versions, and hence can be considered supported.
Non-bold appliances are supported in a best-effort way, meaning they might be temporarily broken at HEAD.
The leading github.com
in front of package import paths has been omitted for space reasons.
| Target | Hardware | GOARCH | Kernel package | Firmware package | Appliances |
|---|---|---|---|---|---|
| apu2c4 | apu2c4 | amd64 | rtr7/kernel | rtr7/kernel | gokrazy/bakery/cmd/bake |
| rtr7/router7 | |||||
| x86-64 | qemu | amd64 | rtr7/kernel | rtr7/kernel | gokrazy/bakery/cmd/bake |
| rpi4b | raspi4b | arm64 | gokrazy/kernel | gokrazy/firmware | gokrazy/bakery/cmd/bake stapelberg/hmgo stapelberg/scan2drive |
| rpi3b | raspi3b | arm64 | gokrazy/kernel | gokrazy/firmware | gokrazy/bakery/cmd/bake |
| rpi3b+ | raspi3b+ | arm64 | gokrazy/kernel | gokrazy/firmware | gokrazy/bakery/cmd/bake |
| rpizero2w | raspizero2w | arm64 | gokrazy/kernel | gokrazy/firmware | gokrazy/bakery/cmd/bake |
The JPEG encoding column is the result of running scan2drive’s neonjpeg
micro-benchmark.
| Hardware | JPEG encoding |
|---|---|
| raspi4b | 0.69s |
| raspi3b | 1.22s |
| raspizero2w | 1.47s |
These power measurements were done using a HomeMatic HM-ES-PMSw1-Pl power switch with measurement feature. The Raspberry Pi 4 was using the original Raspberry Pi power supply, the others were measured with a random USB power supply.
| Hardware | Power Usage |
|---|---|
| apu2c4 | 4.0W |
| raspi3b | 1.5W |
| raspi3b+ | 2.5W |
| raspi4b | 2.8W |
| raspizero2w | 0.8W |
| Hardware | WiFi | Bluetooth |
|---|---|---|
| apu2c4 | needs card, untested | needs dongle, untested |
| raspi3b | open or WPA-PSK | limited |
| raspi3b+ | open or WPA-PSK | limited |
| raspi4b | open or WPA-PSK | limited |
| raspizero2w | open or WPA-PSK | limited |
Independently from the official gokrazy kernel and firmware, people of our community provide alternative kernels and firmwares, in order to run gokrazy on unsupported platform or to provide new features. They may not be as thoroughly tested as the official platforms. Please report any issue to their respective repostitory.
gokrazy’s official kernel is an upstream Linux kernel (directly from kernel.org) that supports ARMv8 64-bit machines, meaning the Raspberry Pi 3 and newer. The primary reason for using the upstream kernel is so that security fixes can be immediately pulled in without having to wait on third parties.
The community-supported github.com/gokrazy-community/kernel-rpi-os-32 kernel on the other hand is the Raspberry Pi OS kernel (provided by the Raspberry Pi foundation) that supports ARMv6 32-bit machines, which includes all Raspberry Pis. The corresponding firmware for this kernel is github.com/gokrazy-community/firmware-rpi.
This kernel might generally be useful if you want to use hardware peripherals that are not yet supported in the upstream Linux kernel.
This kernel is the only choice for you if you have a Raspberry Pi that’s older than the Raspberry Pi 3, but you still want to use gokrazy with it.
Odroid XU4/HC1/HC2 is based on a Samsung Exynos 5422 SOC (4 ARM Cortex-A15 cores and 4 ARM Cortex-A7 cores) and has been on the market since ~2016. HC1 and HC2 variants support installing a 2.5’/3.5’ hard drive on board.
Kernel for these devices is available at github.com/anupcshan/gokrazy-odroidxu4-kernel. This package contains a recent kernel, U-boot and some binary blobs that are required to initiate the boot process. It has been tested against Odroid HC2 hardware with gigabit networking, USB and HDD functional.
See github.com/anupcshan/odroidbake for an example on how to create a new disk image.
{
"Hostname": "odroid",
"DeviceType": "odroidhc1",
"Packages": [
"github.com/gokrazy/fbstatus",
"github.com/gokrazy/hello",
"github.com/gokrazy/serial-busybox",
"github.com/gokrazy/breakglass"
],
"KernelPackage": "github.com/anupcshan/gokrazy-odroidxu4-kernel",
"FirmwarePackage": "",
"EEPROMPackage": ""
}


Despite the anxiety and contrariety of the situation, she found herself smiling as she felt a sudden surge of gaiety that made her heart feel lighter. [G|D]
His impiety and impropriety had no bounds, resulting in him claiming a larger moiety of the resources than was truly his due. [G|D]
Her reputation had quickly spread, giving her notoriety in the community, yet she still upheld a standard of piety and propriety so that others could look up to her as an example. [G|D]
After his long journey, he was finally filled with a sense of satiety due to the vast variety of experiences he had encountered and the sobriety of mind he had cultivated along the way. [G|D]


Preparation time
less than 30 mins
Cooking time
less than 10 mins
Serves
Serves 1
Dietary
The ultimate chef's challenge, a perfectly cooked fluffy omelette is a lovely breakfast or elegant supper. Fill with your favourite cheese or vegetables.
Crack the eggs into a bowl and beat with a fork until smooth. Stir in the cold diced butter.
Season the eggs with salt and freshly ground black pepper.
Heat a heavy non-stick frying pan over a high heat and add the oil. When the oil is smoking-hot, pour the eggs quickly into the pan.
Using a wooden fork or a spatula and working in a circular motion, move the eggs in the pan around, while at the same time moving the pan back and forth across the heat. Allow the eggs to start coagulating.
Stop moving the pan. Allow the eggs to form a light skin, and then remove the pan from the heat.
Pick up the pan and tilt the handle upwards and away from you. At the same time, tap the handle of the pan so that the omelette moves towards the opposite end of the pan.
Using the side of a fork, fold the omelette in towards the middle on both sides to form a cigar shape.
Tip the omelette onto a plate. Serve immediately.


Berry farm goes beyond ice cream
by Shawn McAvinuePut the pitchfork down, there’s no need to stage a mutiny.
McArthur’s Berry Farm will continue to sell its ice cream after a new product range is launched from its Outram shop soon.
Farm co-owner Kaye McArthur, of North Taieri, said she has selected the products set to be sold from the shop on State Highway 87 when it officially reopens on Sunday, December 1.
For the first time, Mrs McArthur and her husband Steve have a Dunedin City Council consent to sell Otago produce, other than the berries grown on the 2ha property their shop sits on.
The changing of the business plan was ‘‘the most out there thing we’ve ever done’’, Mrs McArthur said.
The Otago products set to be sold include honey from Heriot, jams from Waihola and pip and stonefruit from Ettrick and vegetables from Outram.
The product range would evolve as the search for suppliers continued, she said.
‘‘We are still looking for more but we’ve got the basics.’’
The produce grown on the farm — raspberries, strawberries, boysenberries, currents and gooseberries —would continue to be sold.
The ice cream featuring those berries would also continue to be dispensed.
‘‘I think we would have a mutiny on our hands if we stopped the ice creams . . . people would go nuts but there is no fear of that.’’
The decision to sell produce from across Otago was made to give customers a greater choice and to give smaller Otago growers an outlet to sell their goods, she said.
Horticulture ‘‘is a dying art form’’ as it was hard to turn a profit owning a small market garden.
‘‘The wee grower can’t compete with the big ones.’’
The council consent allowed a 200sq m residential property to be built on the farm.
A house on the property would make it more attractive business proposition, as its owner would have somewhere to live and be able to be on-site to tend to the farm, such as maintaining the hydroponically-grown strawberries.
The couple had no immediate plans to start building the home, as they wanted to see if the new business model worked.


{% include 'notifications.html' %}
{% include 'download_container.html' %}
PERMANOVA
Significance test for the difference in the centroid between groups. Learn more here
Loading...
ANOVA
Significance test for the multivariate homogeneity between groups (ie. whether the spread of samples is different between multiple group). Learn more here


allthegraphmldatagoeshere
If you are not redirected, most likely you have javascript disabled. The cBio viewer requires javascript. Click the "Submit Data" button above to submit the data manually


The put calendar spread can be long or short.
The long put calendar spread is a limited-reward-limited-risk strategy. The payoff is taken at the shorter-term expiration. The payoff is
$$ \begin{array}{rcll} P^{\textrm{short-term}}_T & = & (K - S_T)^{+}\\ P_T & = & (P^{\textrm{long-term}}_T - P^{\textrm{short-term}}_T + P^{\textrm{short-term}}_0 - P^{\textrm{long-term}}_0)\times m - fee \end{array} $$ $$ \begin{array}{rcll} \textrm{where} & P^{\textrm{short-term}}_T & = & \textrm{Shorter term put value at time T}\\ & P^{\textrm{long-term}}_T & = & \textrm{Longer term put value at time T}\\ & S_T & = & \textrm{Underlying asset price at time T}\\ & K & = & \textrm{Strike price}\\ & P_T & = & \textrm{Payout total at time T}\\ & P^{\textrm{short-term}}_0 & = & \textrm{Shorter term put value at position opening (credit received)}\\ & P^{\textrm{long-term}}_0 & = & \textrm{Longer term put value at position opening (debit paid)}\\ & m & = & \textrm{Contract multiplier}\\ & T & = & \textrm{Time of shorter term put expiration} \end{array} $$The following chart shows the payoff at expiration:
The maximum profit is undetermined because it depends on the underlying volatility. It occurs when $S_T = S_0$ and the spread of the puts are at their maximum.
The maximum loss is the net debit paid, $P^{\textrm{short-term}}_0 - P^{\textrm{long-term}}_0$. It occurs when the underlying price moves very deep ITM or OTM so the values of both puts are close to zero.
If the Option is American Option, there is risk of early assignment on the sold contract. Naked long puts pose risk of losing all the debit paid if you don't close the position with short put together and the price drops below its strike.
The short put calendar spread is a limited-reward-limited-risk strategy. The payoff is taken at the shorter-term expiration. The payoff is
$$ \begin{array}{rcll} P^{\textrm{short-term}}_T & = & (K - S_T)^{+}\\ P_T & = & (P^{\textrm{short-term}}_T - P^{\textrm{long-term}}_T + P^{\textrm{long-term}}_0 - P^{\textrm{short-term}}_0)\times m - fee \end{array} $$ $$ \begin{array}{rcll} \textrm{where} & P^{\textrm{short-term}}_T & = & \textrm{Shorter term put value at time T}\\ & P^{\textrm{long-term}}_T & = & \textrm{Longer term put value at time T}\\ & S_T & = & \textrm{Underlying asset price at time T}\\ & K & = & \textrm{Strike price}\\ & P_T & = & \textrm{Payout total at time T}\\ & P^{\textrm{short-term}}_0 & = & \textrm{Shorter term put value at position opening (debit paid)}\\ & P^{\textrm{long-term}}_0 & = & \textrm{Longer term put value at position opening (credit received)}\\ & m & = & \textrm{Contract multiplier}\\ & T & = & \textrm{Time of shorter term put expiration} \end{array} $$The following chart shows the payoff at expiration:
The maximum profit is the net credit received, $P^{\textrm{long-term}}_0 - P^{\textrm{short-term}}_0$. It occurs when the underlying price moves very deep ITM or OTM so the values of both puts are close to zero.
The maximum loss is undetermined because it depends on the underlying volatility. It occurs when $S_T = S_0$ and the spread of the 2 puts are at their maximum.
If the Option is American Option, there is risk of early assignment on the sold contract. Additionally, if you don't close the put positions together, the naked short put will have unlimited drawdown risk after the long put expires.


Petss is a family-owned Pet Store located in Clearwater, Largo area.
Since we opened our doors in 1991, Petss has grown from a grooming salon into a full line pet store. We are known for reliability, friendly customer service, and high-quality products. We carry a broad range of pet supplies and feature in-store grooming for cats and dogs.
Linda and Steve are proud of their youngest son, partner, and manager, David. He has a deep commitment to our customers and employees and regards them as part of our extended family. David has a beautiful wife, Roxanne, and two wonderful children, Brittany and Joey.
The most important aspect of our business is our customers. We work every day to keep our commitment to excellent service and appreciation while maintaining a family business.
Whether it’s choosing your first puppy or buying a goldfish, step into Petss and experience a family owned pet store.
Our pets are our children, and just like kids, we expect them to be cared for both physically and emotionally. Playtime, potty breaks and routine feeding schedules are critical for dog comfort and happiness. We make sure every dog in our care is accommodated as if they were our own.
Our pets are our children, and just like kids, we expect them to be cared for both physically and emotionally. Playtime, potty breaks and routine feeding schedules are critical for dog comfort and happiness. We make sure every dog in our care is accommodated as if they were our own.


Welcome to BioCompoundML’s documentation!¶
BioCompoundML provides a chemoinformatic tool for predicting chemical properties using machine learning.
Purpose¶
- Quantitative Structure Property/Activity Relationships (QSPRs and QSARs) often attempt to determine as exactly as possible the exact value of a given chemical property. Tools for predicting these properties are incredibly useful, but are often limited in one of two regards:
- They lack generality - they cannot be readily rebuilt for an arbitrary set of chemical properties.
- They can require highly sophisticated and expensive computation.
If however, our question is discrete, for instance, binary classification above or below a certain threshold (e.g., melting point at room temperature), then the problem can be reframed as a machine learning classification problem and solved rather quickly.
We came to this problem with a particular interest in mind, one we feel is common in cheminformatics. The rapid screening of a large number of compounds for multiple chemical properties can oftentimes be handled efficiently and effectively using a classification paradigm.
Common BioCompoundML Workflow¶
Input file¶
BioCompoundML starts with the training of a model using random forest classification. As such it requires an initial training file. This file provides a list of compounds and with a measured value. This can take a variety of forms, however the easiest one uses a tab-delimited file with the name of the compound, a PubChem identifier and a measured value.
#Name RON PubChem
1-Butene 98.8 7844
1-Ethyl-3-Methylcyclopentane 57.6 19502
1-Heptene 54.5 11610
1-Hexene 76.4 11597
1-Isopropyl-4-methylcyclohexane 67.3 7459
1-Methyl-1-ethylcyclohexane 68.7 35411
There are a few important things to recognize. 1) The header line is essential and must start with #. 2) Name and PubChem are important and must be capitalized as they are here. 3) The format of the file is tab-delimited text. 4) You can output tab-delimited text from Excel, but do it with caution, export from MSOffice products can have unexpected effects.
BioCompoundML uses the NCBI PubChem API heavily. There are ways of handling CAS numbers, but PubChem ID (CID) is the easiest and most direct. Providing CAS requires a separate call to NCBI to retrieve CIDs.
The user must specify the name of the feature being trained, in the above case RON
. If a split-value isn’t provided, then BioCompoundML splits on the median.
Feature Collection¶
User-provided features¶
The next step in the workflow is to collect Cheminformatic features. There are a variety of these. One is to simply use ‘user’ provided features. Below is an example of the original training file including OH Rate Constant.
#Name RON PubChem OH_Rate_Constant
Methyl acetate 120 6584 0.2598
O-Xylene 120 7237 6.5119
Ethyl acetate 118 8857 1.7038
Ethyl buanoate 115.4 7762 3.3339
Propylbenzene 111 7668 7.31
When additional columns are included in the training file and ‘user’ is selected as a parameter (see Script documentation for examples of the parameters available), this feature is added to the model. This is particularly useful when you have private or licensed values. It is important to remember that if you wish to use these features for prediction, you will need to provide them in both the training and testing datasets.
PubChem features¶
In addition to user-provided features, BioCompoundML also collects features directly from PubChem. These include computationally predicted/experimentally measured features, 881 SMILES fingerprints and Structural Data Files (SDFs).
The choice of which of these features to collect are specified in the --fingerprints
, --experimental
and --chemoinformatics
parameters for bcml.py
Fingerprints¶
Fingerprints directly collects a CACTVS string and converts this to 881 binary SMILES features (e.g., C > 4 or C(-C)(-C)(=C)), a full list can be found at ftp://ftp.ncbi.nlm.nih.gov/pubchem/specifications/pubchem_fingerprints.txt
Experimental and Computationally-Predicted features¶
The experimental/estimated features that are used by the feature extraction package include experimentally measured properties (e.g., melting point, boiling point, vapor pressure); inferred structural features (e.g., rotatable bond count, heavy atom count); chemical properties (e.g., molecular weight, formal charge) and inferred chemical properties (e.g., XLogP3 – which estimates the Octanol-Water partitioning – a property directly related to hydrophobicity). The file Chemoinformatics/feature_list.txt
contains the features that are collected from PubChem. Additional features can be added or removed from this file, depending on the importance of the features. The standard file ships with the following features selected
Density
Vapor Density
Boiling Point
Hydrogen Bond Donor Count
Rotatable Bond Count
XLogP3
Flash Point
Formal Charge
Undefined Atom Stereocenter Count
Auto-Ignition
Molecular Weight
Hydrogen Bond Acceptor Count
XLogP3-AA
LogP
Defined Atom Stereocenter Count
Complexity
Vapor Pressure
Covalently-Bonded Unit Count
Isotope Atom Count
Undefined Bond Stereocenter Count
Heavy Atom Count
Exact Mass
Monoisotopic Mass
Topological Polar Surface Area
Melting point
Defined Bond Stereocenter Count
Additional chemoinformatic features¶
Additionally, this package also has the capacity to retrieve substance data files (SDFs) from NCBI. These may be useful in downstream QSPR/QSAR feature extraction.BioCompoundML includes a copy of PaDEL-Discriptor, a molecular descriptor calculator, that takes as input an SDF file and provides thousands of individual QSPR and QSAR descriptors for each compound. By default, BioCompoundML calculates 1444 of these descriptors (1D/2D descriptors). This software is provided with its open source Apache 2.0 License.
Imputing Missing Data¶
Imputing missing values is achieved using a two-step approach. The first step is to perform K-Nearest Neighbors (KNN) imputation. This process takes a distance matrix and imputes missing values using the KNN. The distance matrix in this tool is calculated using the Jaccard Distance/Tanimoto Score, using the 881 NCBI fingerprint variables. This allows the distance matrix to be collected separately from value imputation. This matrix is used to identify the nearest neighbors. The default for BioCompoundML is k=5. The distance matrix is then used to assign a weight to each value for the nearest neighbors and return a weighted average, such that nearer neighbors (in this case compounds) are more heavily weighted. This approach is generalizable and has shown consistent success as an approach to missing data. In cases where features were too sparse to fully resolve using KNN, we used the mean value for the feature as a minimum information imputer.
Feature Reduction¶
The Boruta algorithm was chosen for selecting features for classification. This algorithm generates a set of shadow random features, duplicating and then shuffling the variables. The result of this is a set of Z-score distributions for each feature. Each original feature is compared to the maximum Z-score for the list of shadow features. Features that fail to score significantly better than distribution of shadow features (using standard t-tests) are then excluded from the model. This step can dramatically reduce the complexity of the model - eliminating needless and uninformative features (see https://github.com/danielhomola/boruta_py for examples of this).
Random Forest Classification¶
The main function of BioCompoundML is to run the Random Forest Classifier. This function ties up the scikit-learn RandomForestClassifier. The default parameters are n_estimators=512, oob_score=True and n_jobs=-1, which specify that the number of estimators be high, the out of bag samples is used to estimate the general error and it is run on as many cpus as possible.
Cross-Validation¶
By default BioCompoundML runs 50% leave-out cross-validation 100 times. This allows the calculation of the mean and standard deviations for accuracy, precision, recall and Receiver Operator Characteristic Area Under the Curve.
Feature Weightings¶
BioCompoundML also weights individual features that were used to build the model. If Boruta was selected using --selection
, this only includes the reduced features
Complexity 0.1778
XLogP3-AA 0.1751
Rotatable Bond Count 0.1317
Monoisotopic Mass 0.0771
Molecular Weight 0.0671
Testing¶
Using the --test
command, BioCompoundML, takes a second file after the --test_input
parameter in nearly the same format as the training input (minus the training feature). If user input was provided for training, the same input will need to be provided in this file
#Name PubChem
isoamyl acetate 31276
myrcene 31253
eucalyptol 2758
3-carene 26049
The output looks this
isoamyl acetate [0.033, 0.967]
myrcene [0.201, 0.799]
eucalyptol [0.084, 0.916]
3-carene [0.246, 0.754]
This specifies the compound name, its probability of classification below the threshold and its probability of classification above the threshold.


Career
Before we jump into the meat of things here, I want to mention that I'll only be talking about my career as a Software Engineer here.
If you want to see the rest of my job history, check out my LinkedIn profile.
Pharos Systems International - November 2017 to Present
I've worked on a wide variety of things at Pharos. Some of the highlights include:
- Helping to improve our Cake build process
- Redesigning and implementing our authentication and secure print client
- Improving our Android app for Ricoh iMFPs
- Building multiple PoCs
- Microservices!
My team was responsible for the redesign and implementation of our authentication and secure print client. This was a fun and unique challenge
because our client is browser-based, in an effort to reduce the amount of client-specific logic we would have to write. This limitation, in
conjunction with the limitations of Multi-Functional Printer (MFP) browsers, resulted in us writing our own pure TypeScript web client app.
The app has no runtime dependencies, other than those required by certain vendors to interact with their iMFPs--which are only delivered to the client in
the case that it's running on an iMFP that requires them. The resulting application is a lot more performant than the legacy application
and is also a lot more streamlined. I'm very proud of the work my team and I put into this one.
Wegmans Food Markets - July 2015 to November 2017
I spent my first year at Wegmans on a Support Development team. I had worked on designing and developing a system to distribute seasonal items.
The goal was to reduce the amount of items that would have to be sold on clearance after the season for the item had ended. I worked on productionalizing
this application in addition to supporting many other legacy apps, while also developing a few new ones. It was here that I picked up an appreciation for
writing stable, maintainable software, since we had an on-call rotation that had a tendency to be pretty rough.
After my first year at Wegmans, I was given an amazing opportunity to join the Enterprise Services (ES) team and was promoted shortly thereafter.
This would prove to be a great learning opportunity for me. As a part of the ES team, I got to design and implement services that much of the
internal organization and even some external sources would utilize in their systems. I learned how to write more resilient software, what message queues were
and when/how to use them, and I got to be on the forefront of helping to move Wegmans infrastructure into the cloud (Microsoft Azure).
RDI Diamonds - Jun 2012 to Oct 2012 and Jan 2015 to July 2015
The first time around at RDI, I gained a solid understanding of relational databases.
Additionally, I spent some time doing IT administration--such as setting up and maintaining servers, networking, and more--which helped round out my skill set a bit more.
During my time here on both occasions, I helped to develop in-house software on the FileMaker platform for sales representatives as well as developing websites for customers in PHP on a MAMP stack.
CloudCheckr - May 2013 to Dec 2014
CloudCheckr has been one of my favorite experiences to date. There's nothing quite like the start-up vibe when you're surrounded by good people.
While I was here, I worked as a full-stack web developer in ASP.NET (C#). I worked with the ever-talented Bob Pease, who I learned tons of great things from, such as how to properly divide responsibilities into classes.
Unfortunately, it was a little too late for the code base, since I had already been using dictionaries (A.K.A. hash maps) everywhere instead of semantically meaningful objects...Hindsight is 20-20, right?
Some of the things I worked on included:
- Automating deployment processes via Powershell
- Developing many resource utilization and cost reports
- Developing an invoice generator for resellers using our product
- Designing and implementing various new features and immprovements
- Bug fixes!


{% extends "base/base.html" %} {% load staticfiles %} {% block content %}
You will be able to vote from {{ poll.opening_date|date:"d/m/Y" }}, {{ poll.opening_date|time:"H:i" }} to {{ poll.closing_date|date:"d/m/Y" }}, {{ poll.closing_date|time:"H:i" }}
Getting started with Pnyx


Toner Transfer Method.. is no doubt sheer Awesomeness. With just a few steps you can have your prototype in your hands without waiting for weeks for the fab house to deliver. Certainly relieves me of a lot of anxiety. I even made this Open Agitator a while back to help me ease out the etching process.
I usually (used to) print my designs on the glossy photopaper near my college where there is a usual hub of shops catering to student needs. Carrying the photopapers from my house to the college in the crowded metro would often crumble them. I preferred buying them from the local stationary shops near the college itself who would sell it at varying prices anachronistically.
The shop used to charge for a round of paper into the printer (actually one print) and if i printed multiple on the same sheet, if was charged more. As students we should cut costs. Further the several-times-on-a-page approach had more issues:
Thats too much work specially after waiting in a queue to get to the printer !
I actually never thought of getting out of this circle for a while until the last few semesters, which were less academically demanding. I then wrote a small python script to combine all the pages that i used to print seperately to a Single page and then go and just print one pdf. No worries about messing up the orientation/scaling etc..
Well.. Why python when i could have used any photo-editing tool? Its simpler and automatic and I had once messed around the scale on a photo-editing tool and had to re-etch (just imagine) a whole board.
The Process
Like usual ways instead of directly printing files to printer, print them to pdf and choose different locations like center, top, left etc or you may also manually do that using the margins.Make sure that they dont overlap.
This way you will have many pdfs on the same folder. Now:
git clone https://github.com/IndianTinker/BoardMerge.git
or download from here
You need to install pyPDF dependency. PIP is the boss here!
sudo pip install pypdf
Now paste the merge.py
in the active eagle folder and run :
python merge.py file1.pdf file2.pdf .. .. ..
Wait till it gets completed and you shall see a file Combine.pdf
with all the pdfs on a single page!

Cheers!
Rohit


My Profile
Press Start Game or hit the space Bar
Session Based Scoreboard
| Name |
Win-rate |
Games |
Wins |
Winnings |
MBK
(09:23)
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Totam
quod
dolorum omnis ipsam voluptas id voluptate velit. Molestiae, tempore provident?
Game Instructions
- You must spin atleast once before being able to lock the wheels.
- You can only lock 2 wheels at a time.
- Locking the wheels disables the locking mechanism the following round.
- Locking the wheels can be done by clicking, aswell as by using Button 1, 2 or 3 respectively.