<pre> v2.0.2 [MOD-2167] Recompiled binary for Android 6.0 support
v2.0.2 Building with 2.1.3.GA to support x86 devices
v2.0.1 Fixed a couple multi-touch scenarios that were drawing erratic lines [MOD-638]
v2.0 Upgraded to module api version 2 for <IP_ADDRESS>
v1.1 Added multi-touch support [MOD-243] Added "image" property to the paint view. See example and documentation to find out more.
v1.0 Initial Release


Expenses Tracker
Profile
Your Profile
{{ profile.first_name }} {{ profile.last_name }}
In your profile you can edit your profile data
Budget Left: {{ profile.budget_left }}$
Edit Profile
Delete Profile


--- layout: post title: Flickr Colr Pickr date: 2005-02-19 00:00:00 category: social ---
It's been blogged to death elsewhere, but the Fickr Colr Pickr is a beautiful piece of work.


This environment is part of the SISL environments. Please read that page first for general information.
| Observations | Actions | Agents | Manual Control | Action Shape | Action Values | Num States |
|---|---|---|---|---|---|---|
| Vector (viewable) | Either | 5 (+/-) | No | (2,) | (-1, 1) | ? |
from pettingzoo.sisl import waterworld_v0
agents= ["pursuer_0", "pursuer_1", ..., "pursuer_4"]
AEC diagram
By default there are 5 agents (purple), 5 food targets (green) and 10 poison targets (red). Each agent has 30 range-limited sensors, depicted by the black lines, to detect neighboring agents, food and poison targets, resulting in 212 long vector of computed values about the environment for the observation space. They have a continuous action space represented as a 2 element vector, which corresponds to left/right and up/down thrust. The agents each receive a reward of 10 when more than one agent captures food together (the food is not destroyed), a shaping reward of 0.01 for touching food, a reward of -1 for touching poison, and a small negative reward when two agents collide based on the force of the collision. The enviroment runs for 500 frames by default. Observation shape takes the full form of ((4 + 3speed_features)n_sensors+2,).
waterworld.env(n_pursuers=5, n_evaders=5, n_coop=2, n_poison=10, radius=0.015,
obstacle_radius=0.2, obstacle_loc=np.array([0.5, 0.5]), ev_speed=0.01,
poison_speed=0.01, n_sensors=30, sensor_range=0.2, action_scale=0.01,
poison_reward=-1., food_reward=10., encounter_reward=.01, control_penalty=-.5,
reward_mech='local', speed_features=True, max_frames=500)
about arguments
n_pursuers: number of pursuing archea
n_evaders: number of evaders
n_coop: how many archea touching food at same time for food to be considered consumed
n_poison: number of poison objects
radius: pursuer archea radius
obstacle_radius: radius of obstacle object
obstacle_loc: coordinate of obstacle object
ev_speed: evading archea speed
poison_speed: speed of poison object
n_sensors: number of sensor dendrites on all archea
sensor_range: length of sensor dendrite on all archea
action_scale: scaling factor applied to all input actions
poison_reward: reward for pursuer consuming a poison object
food_reward: reward for pursuers consuming an evading archea
encounter_reward: reward for a pursuer colliding with another archea
control_penalty: reward added to pursuer in each step
reward_mech: controls whether all pursuers are rewarded equally or individually
speed_features: toggles whether archea sensors detect speed of other objects
max_frames: after max_frames steps all agents will return done
Leaderboard:
| Average Total Reward | Method | Institution | Paper | Code |
|---|---|---|---|---|
| x | PPO | UMD |
Add Gupta et al and DDPG paper results too


Try again. If it continues, raise the issue with ICT.
If you think you should have access, speak to your Team Leader or Manager to give you access.


1. To contribute in the growth of the nation as well as the growth of the company. 2. To learn throughout the career. 3. To contribute more on open sources like Linux via programming.


--- title: anyone else think this could have been vetted better? layout: post ---
Hilarious! MSFT can't do anything right lately, it would seem.


Dugdale, Johnson
| Birth Name | Dugdale, Johnson |
| Gender | male |
| Age at Death | 77 years, 18 days |
Narrative
Johnson was unmarried, aged 32 & living with his father on the 1881 census.
1891 Census - Johnson was 41, Susannah 33, Olga 7, Ethel6, Annie 4, Elizabeth 2, & Ellen 1yr.
I've had a reply from Genes Reunited from Paul Swindlehurst, who says his Great grandfather was Johnson Dugdale, he says his brother James had 3 daughters, one of whom was Amy Dugdale, who married Edwin Wilkinson and came to Aust.
8/5/2008 - Replied to Paul, see letter.
Feb 2009 - checked up with a lot of the birthdays on St.Caths. Paul says Johnson was born Dec 1848, but he wasn't reg. until 1st Qtr 1949 Skipton 28/617.
Mar 2009 - Jenny Taylor says Johnson lived at 2 Forresters Buildings whilst being landlord in 1900. He was a Cotton weaver & later a Loom Tackler before becoming a partner in Dugdale & Dewhurst, Wellhouse Mills.
Events
| Event | Date | Place | Description | Sources |
|---|---|---|---|---|
| Birth | 1848-12-14 | Barnoldswick Yks (Skipton 28-617) | ||
|
|
||||
| Death | 1926-01-00 | Barnoldswick Ykshire | ||
|
|
Parents
| Relation to main person | Name | Birth date | Death date | Relation within this family (if not by birth) |
|---|---|---|---|---|
| Father | Dugdale, Richard | 1817 | 1891 | |
| Mother | Huthers, Betty | 1816-07-02 | 1858-10-24 | |
| Brother | Dugdale, John | 1st Qtr 1842 | ||
| Brother | Dugdale, James | 1843-11-02 | 1887-04-15 | |
| Dugdale, Johnson | 1848-12-14 | 1926-01-00 | ||
| Brother | Dugdale, Alfred | 1855-10-16 | 1858 | |
| Sibling | Dugdale, Unknown | 1858-10-24 | 1858-10-24 |
Families
Family of Dugdale, Johnson and Shepherd, Susannah |
||||||||||||||||||||||||||||||||||||||
| Married | Wife | Shepherd, Susannah ( * 1857-02-28 + 1928 ) | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| Children |
| Name | Birth Date | Death Date |
|---|---|---|
| Dugdale, Olga or Elga | 2nd Qtr 1883 | 1907 |
| Dugdale, Ethel | 3rd Qtr 1884 | |
| Dugdale, Annie | 1886-09-10 | 4th Qtr 1926 |
| Dugdale, Elizabeth “Betty” | 1888-03-05 | 1969-01-02 |
| Dugdale, Ellen “Nellie” | 1890-03-17 | |
| Dugdale, Susan | 1891-09-21 | 1936-12-21 |
| Dugdale, Edna | 1892-10-07 | 1st qtr 1967 |
| Dugdale, James Howker | 4th Qtr 1894 | 1st Qtr 1962 |
| Dugdale, Walter | 2nd Qtr 1897 | |
| Dugdale, Joseph Duncan | 1898-10-29 | 1960-09-02 |
| Dugdale, Wilfred (Wilford) Leslie | 1900-03-31 | c1950 |
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | 6001FB65E5C4D5119853B7EB0FA9CA6DCC1B |
Attributes
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | 5F01FB65E5C4D5119853B7EB0FA9CA6DCB0B |
Pedigree
-
Dugdale, Richard
-
Huthers, Betty
- Dugdale, John
- Dugdale, James
- Dugdale, Johnson
- Dugdale, Alfred
- Dugdale, Unknown
-
Huthers, Betty


Alphabet
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ<PHONE_NUMBER> .,!?
Line breaks are just for grouping; they will not be encoded.
Plaintext:
Encode ↓
↑ Decode
Cipher:


Komodo
talk-trading
A channel to discuss trading. For useful links and more info click the pinned messages to the right.
100 messages
Before 05-Dec-19 12:00 AM
Tek
30-May-19 03:45 AM
@차미숙
I unrionicaly think this cycle will be the cycle of binance coin moons
Alexfrog
30-May-19 03:45 AM
everything changes
차미숙
30-May-19 03:45 AM
Yeah I remember polo days
I like bnb but i think the central point of failure is too big
It all depends on CZ
I can be the next eth though
actionslacks
30-May-19 03:46 AM
they already perpetrated a "hack"
차미숙
30-May-19 03:46 AM
It*
Tek
30-May-19 03:47 AM
i like CZ more than CSW
차미숙
30-May-19 03:47 AM
He's def a buidler
actionslacks
30-May-19 03:47 AM
i have some bnb and bsv.

Markus
30-May-19 04:13 AM
why would u use investment money to pay bills with
1
actionslacks
30-May-19 04:13 AM
so is binance gonna re-list bsv or was that a rumor?

 I missed the first wave but started in 2014 / 2015 and bought every month in the long cryptowinter in 2015/16
Markus
30-May-19 04:26 AM
i hope we will have a pullback towards 6k that would be sweet
차미숙
30-May-19 04:26 AM
Just make sure your coin is not something that can get delisted on binance
LocoMB
30-May-19 04:26 AM
then the second wave hit with Komodo,WAVES and all those wonderful platofrm ICOs
Tek
30-May-19 04:26 AM
my biggest bags are kmd dash and bch
Markus
30-May-19 04:27 AM
bch is like a never ending pump
Tek
30-May-19 04:27 AM
yeah im expecting BCH 0.1 BTC by EOY
its actually pretty nice to use
unlike Buttcoin core
LocoMB
30-May-19 04:27 AM
personally, I don't see DASH very positive
Alexfrog
30-May-19 04:27 AM
i already sold my BCH at like .3
차미숙
30-May-19 04:27 AM
Good coin is hard to use
Tek
30-May-19 04:28 AM
dash is even better than BCH to use.
instant send
1 second confirm
can buy coffee with it
차미숙
30-May-19 04:28 AM
It's all about having how many btc in the end
LocoMB
30-May-19 04:28 AM
DASH has bad history, maybe not sustainable
차미숙
30-May-19 04:28 AM
But people can always ride the wave


BoozyFood was a collaborative effort with two other classmates. When you search for an ingredient, then up to five recipes generate. When you click the Random Drink! button, you will be presented with a drink image, ingredients, and instructions for how to make it.
Active BoozyFood Page GitHub Repository Page
SellYoStuff
SellYoStuff is a work that was created with two classmates, Tyler B and Zach. When you load the application it will ask you to allow location services to use your geolocation to pinpoint you on a map and provide the forecast for the next 5 days in your area. After creating an account and logging in you are able to create new garage sale listings, and view the listings around you.
Active Application GitHub Repository Page
Eat-Da-Burger
This application was made using Node Express Handlebars. It allows a user to create and devour burgers with the name of their choosing. This is useful for those of us who love burgers and have a bunch that we want to try. It is now easier to keep track of the ones you have already consumed!
Active Application GitHub Repository Page
Weather Dashboard
Prior tio scheduling your next trip do not forget to look at the weather in the city you are going to! Using the Weather Dashboard, you can search for any city and get the current and upcoming weather.
Active Weather Dashboard Page GitHub Repository Page
Day Planner
Prior tio scheduling your next trip do not forget to look at the weather in the city you are going to! Using the Weather Dashboard, you can search for any city and get the current and upcoming weather.
Active Work Day Scheduler GitHub Repository Page
Password Generator
This application allows you to generate a random password that has between 8 & 128 characters and contains some or all of the following : upper case, lower case, special characters, and/or numbers.
Active Password Generator Page GitHub Repository Page
Note Taker
This application can be used to make, update, and delete notes. I personally use this application for my grocery list. I find the interactivity to be pleasantly simple.
Active Application GitHub Repository Page


Getting sick pay when you're pregnant
If you get Statutory Sick Pay (SSP) while you’re pregnant, different rules might apply depending if your illness is related to your pregnancy or not.

This is because your first 6 weeks of maternity pay is 90% of your average pay during an 8 week ‘qualifying period’. This qualifying period takes place while you're pregnant.
Example
You work during the whole 8-week maternity pay qualifying period and receive your usual pay of £200 per week. This means your first 6 weeks of maternity pay will be £180 per week.
 This means your first 6 weeks of maternity pay will drop from £180 per week to £154.91 per week, because you'd claimed sick pay.

You also have other rights while you’re pregnant, for example time off for ante-natal appointments.
You can read more about sickness during pregnancy and maternity leave on the Maternity Action website.
Sickness not related to your pregnancyAdd reference
If you’re sick and it’s got nothing to do with being pregnant, for example you have the flu or a stomach bug, you can claim any sick pay you’re entitled to as usual, until either:
- the week the baby is due
- the date you’ve chosen your maternity pay to start
Then you’ll start getting any maternity pay you’re entitled to.
You should be treated the same as anyone else who is off work sick. If you think you're being treated differently because you're pregnant contact your local Citizens Advice for help.
  (You might hear this referred to as the 'disqualifying period').

Example
If Alice phones in sick on the day she's due to start work after her maternity pay ends, she could get SSP if she meets the other conditions.
If she phones in during the last week of her maternity pay and says she won't be able to return to work because she's sick, she won't get SSP for at least 8 weeks.
If your client can't get maternity pay
Unless she's already getting SSP, your client isn't entitled to SSP until 18 weeks after the earlier of:
- the start of the week the baby is born
- the start of the 4th week before the baby’s due, if your client is off sick because of the pregnancy
Your client should get form SSP1 from her employer and claim benefits from the Jobcentre.
You can use the benefits checker to see what she might be entitled to.


--- title: "SUMMER CONTAINER ARRANGEMENTS" date: "2000-01-01 20:06:13 -06:00" categories: - adult subtitle: "" layout: "events" event-image: "SummerContainer.jpg" event-dates: "SATURDAY, JULY 18" event-location: "Online via Zoom" button-type: "register" tickets-link: "" registration-info: "Registration coming soon " instructor-info: "Scott Mower" member-cost: "TBD" public-cost: "TBD" event-notes: "Online" tickets-button: "" published: false ---
SATURDAY, JULY 18
10:00AM - 11:30PM
REGISTRATION REQUIRED
Make a bold statement on your patio or porch this summer by planting a colorful assortment of annuals, perennials, and tropicals into your decorative pots and planters. Learn how to choose vibrant color combinations all while gaining a general knowledge of plant needs and care. You will learn which plants require full sun, part sun, part shade or full shade and the difference between annuals and perennials. Give your houseplants a summer vacation and take them outdoors and incorporate them into your summer container designs. Class will be taught online via Zoom and a materials kit will be available for pick up before class in order for students to follow along with designer and horticulturist, Scott Mower. Cost of materials is included in registration. Students will pick up materials kit at Red Butte Garden a few days before class.


Originally I was going to call this post, "Look Ma! No view state!" but view state isn't really what I to talk about it. This example will have no view state, but that's a side benefit.
What I want to talk about is client side data binding with jQuery. The jQuery tmpl plugin has been documented in a number of places and I'm not going to show anything new here. This post is intended to be a simple example for people still using data grids and heavy .Net server controls. This example won't use any server controls. We won't have a form tag and there will be no code behind. Let's get to it.
Step 1: Create a web service
Here's our simple web service. I called it "wsPlayers". It has one method and returns a list of custom objects based on a simple NBAPlayer class. Be sure to uncomment the line...
[System.Web.Script.Services.ScriptService]
...so that the web methods in the service can be called from client side JavaScript. We will also want to add a reference to the Script.Services namespace at the top of the file...
using System.Web.Script.Services;
...so that we can change the format of our web method to JSON (it's XML by default).
So here is the full text of our web service method:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services; //Have to add this namespace for the ResponseFormat on the webmethod).
namespace tmplDemo
{
///
/// Summary description for wsPlayers
///
[WebService(Namespace = "http://tmplDemo/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class wsContacts : System.Web.Services.WebService
{
[WebMethod]
//***The ResponseFormat has to be added to the method, not the WebService Class (above).
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List GetPlayers(int paramMinChampionships)
{
List tempPlayers=new List();
NBAPlayer temp1 = new NBAPlayer("Nowitzki","Dirk",1);
NBAPlayer temp2 = new NBAPlayer("James", "LeBron", 0);
NBAPlayer temp3 = new NBAPlayer("Wade", "Dywane", 1);
NBAPlayer temp4 = new NBAPlayer("Bryant", "Kobe", 5);
NBAPlayer temp5 = new NBAPlayer("Paul", "Chris", 0);
tempPlayers.Add(temp1);
tempPlayers.Add(temp2);
tempPlayers.Add(temp3);
tempPlayers.Add(temp4);
tempPlayers.Add(temp5);
return (from p in tempPlayers
where p.championships>=paramMinChampionships
orderby p.lastname,p.firstname
select p).ToList();
}
}
public class NBAPlayer{
public NBAPlayer(string lname,string fname,int chmps){
lastname=lname;
firstname=fname;
championships=chmps;
}
public NBAPlayer()
{
}
public string lastname { get; set; }
public string firstname { get; set; }
public int championships { get; set; }
}
}
As you can see from the code, the web service has a method called GetPlayers and it accepts one parameter of type int called paramMinChampionships. It then returns a list of type NBAPlayer where each NBAPlayer object has a championship property equal to or greater than the paramMinChampionships.
Now, I've made a custom class and hard coded a few elements for the example but this is where you'd put your database calls or Linq objects and build your return set that way. We're done with the web service.
Step 2: Download jQuery files.
Create a directory in your project called jQuery. Download these two jQuery files:
jquery-1.6.1.min.js
jquery-tmpl-min.js (there are several files in the zip link. You only need this one for our project).
Add these files to the jQuery directory you made at the beginning of this step.
Step 3: Create a default.aspx page.
Add a new file called default.aspx. Once you've done that, your solution explorer should look something like the image at left.
Now the fun part. First we're going to create some javascript that will do our Ajax call for us:
If that doesn't make sense, then stop right here and read about the jQuery Ajax method. What we're doing is calling our web service and passing it a numeric value so that it will give us back our list of players. Before we do that lets add the rest of the HTML to our default.aspx page.
We want a select element that looks like this:
Players with at least
championships.
We'll want a button to fire off our ajax web service call:
We'll also want a table to display our data:
First Name
Last Name
Championships
Bing
Lastly, and most importantly, we add the data template:
That's right, we're putting HTML markup directly inside our


Products - Bath Salts, Plant Food, etc. ('White Stallion')
[Erowid Note: 'Bath salts' and similar products generally do not list ingredients or dosage on their packaging. Analysis has revealed that ingredients in a single product of this type may vary over time.]
I first heard about bath salts from a friend who told me the drug was similar to adderall & cocaine. Of these two, I had only ever done adderall. So, I purchased a small container of 'White Stallion' bath salts from a drive-thru. I stuck a straw straight in the container and took a decent sized snort (no idea of the dosage). For roughly the next 2 hours I felt great. I was speeding damn good, similar to a high dose of adderall but more euphoric. I felt on top of the world, extremely alert, and euphoric. It was a GREAT feeling. So great, that while I was peaking I told myself that I would have to control myself with this new drug--it was legal and thus easily accessible, and I loved the feeling it gave me.
The experience then took a gradual, but intensely strong twist.
After about 2 hours the speeding feeling was pretty much gone. Instead I began to feel paranoid, agitated, and odd. This was much more than a simple downbuzz. Before I knew it I had become a different person, and I cannot say that any better. It was AWFUL. I was extremely agitated and depressed (for NO REASON) and could not focus on any one thing or hold a single thought for more than a minute. The 'coming down' was more intense than the high.
I was biting my lips like a madman (similar to meth I hear). I put every ounce of effort I had into trying to stop this. I would have to solely focus on refraining from biting my lips in order to not bite them. With hundreds of paranoid thoughts racing through my mind, I would start biting again within the minute. I attempted to stop biting my lips at least 100 times. I had lost control over my thoughts and remember thinking, 'I could see someone easily committing suicide while experiencing this.' After about 2 hours of battling this indescribable paranoia, I decided to try to just sleep it off. The battle continued for at least another 1.5 hours in bed before I finally fell asleep. While in bed, I remember giving up on trying to snap back to my old self. I had tried everything imaginable to return to normalcy with zero success. There I laid in bed, calling it quits and just praying for morning to arrive quickly so that I could feel normal again, like myself.
I had only got about 4 hours of sleep since I had to get up early for work. I felt much better that next day, but still more unhappy and strange than I typically am (I'm actually a pretty happy guy). After work I threw out the rest of the salts, for I would never think about doing them again! The high certainly was great, and if the downbuzz was not so horrifying I would probably use salts every week. It was incredibly eerie. I had never felt so unlike myself and so terribly frightened, agitated, and paranoid. I lost all control on that down buzz!
I have read about other people having a good time on salts and only experiencing a mild, tolerable downbuzz. But I do not recommend them to anybody, if that's not obvious by now haha. Seriously though, it was the worst night of my life and even though it happened over 3 months ago, I almost get chills when thinking about that night. If you're thinking about trying this drug and think it may be safer since it is legal, at least do some more research before you make the choice.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


|
jubilant-funicular
|
Represents a batch of particles of the same "type". More...
#include <ParticleBatch2D.h>
Public Member Functions | |
| ParticleBatch2D () | |
| basic constructor | |
| ~ParticleBatch2D () | |
| deletes particles | |
| void | init (float il, float dr, float r, int mp, int tex, std::function< void(Particle2D &, float)> updateFunc) |
| initializes particle batch by specifying properties | |
| void | addParticle (Particle2D p) |
| adds a particle to the batch | |
| void | draw (SpriteBatch &batch) const |
| draws all the particles | |
| void | update (float dt) |
| updates the particles | |
| void | clear () |
| removes all particles | |
Private Member Functions | |
| int | getFreeParticle () const |
| returns index of particle with the minimum life | |
Private Attributes | |
| std::function< void(Particle2D &, float)> | m_updateFunction |
| the function used to update the particles | |
| Particle2D * | m_particles = nullptr |
| the particles themselves | |
| float | m_initialLife |
| the life every particle starts out with | |
| float | m_decayRate |
| the rate with which particles lose life | |
| float | m_radius |
| the radius of an individual particle | |
| int | m_maxParticles |
| maximum number of particles allowed | |
| int | m_textureID |
| texture used by the particles | |
Represents a batch of particles of the same "type".
Definition at line 21 of file ParticleBatch2D.h.


{% include favicon.html %}
First time using Cloud Elements? Start here.
Guides on Formulas, Elements, Common Resources and more.
Documentation for all the elements in our catalog.
Read the latest Release Notes from Cloud Elements


Nikku
Web-based BRSTM player
Sorry, this browser is unsupported
Select a BRSTM file:
Controls
00:00.00
/
00:00.00
note
Play
Pause
Volume
Loop
GitHub repository
File metadata


Koans come from the Zen tradition of Mahayana Buddhism. They are paradoxical, non-logical riddles which aim at the surrender and dissolution of categorical thinking. The ultimate goal is to gain a deeper inside into the nature of reality itself, and students of the Zen tradition may sit for weeks and even years on end contemplating a single koan. Some of the koans shared here are legitimate and some are mere fabrications... In either case, don't expect to understand these, just have fun with them.


TimeRangeView Test
If a TimeRangeView shows up here and there are no errors in the console, this test passes.


When entering your request params, you would need to encode them the way they are supposed to be transmitted.
E.g. for GET, you would write "/test-url?test=1&hello=world".
Body for POST/PUT requests should be in json format e.g. {a: 1}
Only POST works at the moment. You have 2 options: 1. Supply the table schema. 2. Ommit the table schema and primary key will be generated for you with name "_id". Example of the request payload without schema {"data":{"_id": "1","my": "test"}}. And with schema {"data":{"_id": "1","my": "test"}, "schema": "++a"}.
For detailt on the schema syntax see.


Welcome to resume viewer.
URL to your JSON Resume
https://example.com/resume.json
Display Resume
{{resume.name}}
{{resume.title}}
Resume
Email
About Me
{{resume.summary}}
Timeline
{{experience.startDate}}
{{experience.company}}
{{experience.startDate}} - {{experience.endDate}}
{{experience.position}}
{{experience.summary}}
Projects
{{project.name}}
{{project.role}}
{{project.summary}}
{{tech}}
Contact
{{resume.contact.mobile}}
{{resume.contact.email}}
Github
view at github
Stackoverflow
view at stackoverflow
Skype
{{resume.contact.skype}}
Personal Skill
{{pSkill.name}}
Very Bad
Good
Very Good
Great
Code Skill
{{tSkill.name}}
Beginner
Proficient
Expert
Master


Psalms 31:18
Let the lying lips be put to silence; which speak grievous things proudly and contemptuously against the righteous.


Titles by Nationality
Drivers
Nationality:
{{nation.nationality}}
Titles:
{{nation.titles}}
Constructors
Nationality:
{{nation.nationality}}
Titles:
{{nation.titles}}


Lazy Load the Map Sample
This sample shows how to delay the loading of the map SDK until it is needed. This is useful if your map is hiden and not displayed by default (i.e. hosted in a tab). By waiting until the user actually needs the map before loading it, you can reduce the amount of resources the browser usesinitially and speed up your page loading while also reducing the number of transactions that are generated by your application and thus reducing your costs.


--- layout: post title: Supporting mobile music for all date: 2004-12-09 00:00:00 category: mobile ---
Supporting mobile music for all the wrong reasons:
Actually, I suspect that mobile is the one place where DRM *could* work - as the platforms and networks are more tightly controlled than in general-purpose PC land. Whether this could be done long-term is a different matter, and personally I believe DRM to be marginally less evil than drowning kittens.


Namespace SmsZilla
Namespaces summary
| SmsZilla\Adapter |
| SmsZilla\Validator |
Classes summary
| SendingError | Model of error message, which can hold details of error of sending message to selcted recipient. |
| SmsMessageModel | Message model |
| SmsSender | Main worker class. |
Interfaces summary
| MessageInterface | SMS message container interface |
| SendingErrorInterface | Interface which can be used to store details of error while sending message to recipient. |
| SmsSenderInterface | Interface for SMS sender engine |
Exceptions summary
| ConfigurationException | Exception rised when Adapter is not well configured |


Changes of checkbox value, as well as of any other component implementing the HasValue interface, can be tracked using a ValueListener.
HasValue
ValueListener


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.mit.csail.sdg.alloy4graph.Graph
public final class Graph
Mutable; represents a graph.
Thread Safety: Can be called only by the AWT event thread.
| Field Summary | |
|---|---|
java.util.List<GraphEdge> |
edges
An unmodifiable view of the list of edges. |
java.util.List<GraphNode> |
nodes
An unmodifiable view of the list of nodes. |
| Constructor Summary | |
|---|---|
Graph(double defaultScale)
Constructs an empty Graph object. |
| Method Summary | |
|---|---|
void |
addLegend(java.lang.Comparable<?> object,
java.lang.String label,
java.awt.Color color)
Add a legend with the given object and the associated text label; if color==null, that means we will still add this legend into the list of legends, but this legend will be hidden. |
java.lang.Object |
find(double scale,
int mouseX,
int mouseY)
Locates the node or edge at the given (X,Y) location. |
int |
getLeft()
Assuming layout() has been called, this returns the left edge. |
int |
getTop()
Assuming layout() has been called, this returns the top edge. |
int |
getTotalHeight()
Assuming layout() has been called, this returns the total height. |
int |
getTotalWidth()
Assuming layout() has been called, this returns the total width. |
void |
layout()
(Re-)perform the layout. |
java.lang.String |
toString()
Returns a DOT representation of this graph. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public final java.util.List<GraphNode> nodes
public final java.util.List<GraphEdge> edges
| Constructor Detail |
|---|
public Graph(double defaultScale)
| Method Detail |
|---|
public int getLeft()
public int getTop()
public int getTotalWidth()
public int getTotalHeight()
public void addLegend(java.lang.Comparable<?> object, java.lang.String label, java.awt.Color color)
public void layout()
public java.lang.Object find(double scale, int mouseX, int mouseY)
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


SENTIMENTAL MANIACS [MANIACI SENTIMENTALI] A film review by Peer Wandel Hansen Copyright 1995 Peer Wandel Hansen
Rating (0-10) 6.0 Directed by Simona Izzo Written by Graziano Diana, Simona Izzo, Giuseppe Manfridi Cast Barbara De Rossi, Ricky Tognazzi, Alessandro Benvenuti, Monica Scattini, Giuppy Izzo, Veronica Logan, Pat O'Hara, Edoardo Mottini, Clelia Rondinella, Alessandro Giannini Cinematography Alessio Gelsini Torresi Music by Antonio Di Pofi Produced by Renato Izzo, Giorgio Leopardi, Ricky Tognazzi
MANIACI SENTIMENTALI is a sweet and funny movie by Simona Izzo but as the movie progress it's becoming almost to neat. To me it looked like a mix between PETER'S FRIENDS with all the chaos happening in the house, and HANNAH AND HER SISTERS with the adultery and deception taking place. Everything is perfect, the actors, the setting, the story, no detail is accidental and because of this it is a bit boring.
Situated in the house "La Casa," a family feast is being prepared. The audience are introduced to all the characters, and it's difficult to keep track of them all. Mara (Barbara De Rossi) has been married for a decade to Luca (Ricky Tognazzi) and they still love each other, but facing his midway crisis Luca is also in love with Cristina, or so he think. Luca's sister Serena is chasing all men and so does both of Mara's sisters, but they are not sure with whom they are in love and how. Sandro, a friend of Luca visit the house. He is not really interested inn women but take part in all the fun and so does all the other lovers and mistresses that pop up when the story need some action.
Eventually it all come a major conflict where the air get cleared and life can go on. The story has some rather funny moments. In particular I remem- ber a part where a cellular phone is lost in the forest and it start to ring. A frog approaches and begin to croak in the same rhythm, like it is attracted to the phone.
You will really enjoy this film if you thought that FOUR WEDDINGS AND A FUNERAL was the masterpiece of the century. If you have a romantic (naive) idea about the family life of the Italians, this movie will not let you down, but if you want renewal, difference or a moving picture, this is not the one. It portray Italians almost lifeless, the more they yell and scream at each other, the less passionate they seem. The central conflict between Mara and Lucas become a matter of secondary importance to the story.
- Peer Wandel Hansen Copenhagen, Denmark
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


Udhagamandalam (Ooty), the "Queen of hill stations" is the capital of Nilgiri district. It is one of the Best tourist resorts and is called as "Blue Mountains". It is a land of dreams and a picturesque hill station. It is situated at a distance of 105 km away from Coimbatore. The height of the hills in the Nilgiri range varies between 2280 and 2290 meters, the highest peak being Doddabetta at a height of 2623 meters.
This famous hill station is at the junction of Tamil Nadu, Kerala and Karnataka, three southern states of India. British founded this hill resort which seemed them as their summer headquarters. Before that time, the area was inhabited by Todas. These tribal people still inhabit the area, but only around 3000 remain.
What was once a getaway from the steamy summers of the plains for the British elite of the Madras Presidency is now a hill station that caters to weekend holidaymakers from all over the South of India and honeymooners from across the country.
|
|
There's something special about the former British settlement of Ooty, nestled among the magnificent blue mountains of southern India. It attracts tourists, adventurers, honeymooners, and the film industry like bees to nectar year after year. Many smart travellers say that Ooty is a dump, a deteriorated, over-rated hill station, and so forth. Nonetheless, the wiser will realise how Ooty may calm frayed nerves and serve as the backdrop for a magical vacation. Ooty is tucked away in an amphitheatre formed by four beautiful hills
The great charm of Ooty is not so much the specific tourist destination; it is, in fact, the long lovely walks that it offers. Anywhere you go, the serenity of the Nilgiris will be all around you. Specially the strategic points from where one could either see Ooty or the view all around, like Snow don, Ketty Valley, the Wenlock Downs and, of course, Doddabetta. Further, one could hire a horse either near the boathouse or at the Savoy. for a slightly more exhilarating excursion in and around town.
Summer |
Monsoon |
Winter |
|---|---|---|
|
The best time to visit Ooty hill station is during the summer. Days can be a little hot, particularly in the afternoons, with an average temperature of around 25°C. The heat is tolerable at other times. The rains help to keep Ooty cool by removing some of the sun and at night, it gets cold enough for you to put on some warm clothing. |
Monsoon season isn't the best time to visit Ooty with family if you want to see as many tourist attractions as possible. If you want to see as much of Ooty as possible during your stay, the monsoons can be a total party pooper. The best time to visit Ooty if you are a nature lover is during the monsoon. |
In Ooty, winter is a whole new ballgame. Despite the fact that treks and adventure sports are likely to be closed due to visibility and safety concerns, you can still visit all of the other iconic tourist destinations. Adventure in Ooty isn't possible in the winter due to temperatures ranging from 5 to 17 degrees Celsius and poor visibility. |
Thus Ooty is not necessarily the definition of Best Time to Visit because it is excellent to visit any time of the year, according to your requirements.
History |
Sights to |
Delicious Dishes |
Restaurents |
AirThe Coimbatore International Airport is at a distance of 88 km from Ootacamund. One can take a cab from there. |
RailOotacamund's nearest railway station is in Mettupalayam, 47 km away. |
RoadWell-constructed roads and motorable national highways connect Ootacamund to most cities of South India. Bus, taxis, cars, are all available on rent. |


W
aka
L
ending
I
nvestor
Add Client
Create Client's Account
ID
*
First Name
*
Last Name
*
Address:
Barangay
*
District
*
Loan Amount
*
create
list of Clients
back to menu


Basic support for dialogs forms part of the Toolkit core. These dialogs provide a simple abstraction around the business of getting input from the user and dealing with it. They're not necessarily fully-featured enough for all applications - they were built for the demo pages in the Toolkit - but they do provide a reasonable amount of functionality for very little effort.
This page provides a discussion of the functionality offered, using the Database Visualizer application for reference.
To initialize the dialogs, first call jsPlumbToolkit.Dialogs.initialize
, either with an appropriate selector for the
templates for your dialogs (see below for an explanation of this):
jsPlumbToolkit.Dialogs.initialize({
selector:".dlg"
});
..or with a map of dialog id -> details:
jsPlumbToolkit.Dialogs.initialize({
dialogs:{
"editor":[ "
FOO
", "Editor", false ]
}
});
The three arguments in the array are [ content, title, isCancelable ]
. title
and isCancelable
may be null; if
title
is null an empty String is used, if isCancelable
is null it is assumed the dialog is cancelable. isCancelable
,
if provided, should be provided as a Boolean and not as a String.
Each dialog has a template in the HTML, with some class name that you matched in the selector
argument to the initialize
call above:

In fact it doesn't necessarily need to be a class name that identifies your dialog templates - any valid selector will work. The code uses document.querySelectorAll
to retrieve matching elements.
These templates use the same template engine as the Surface renderer, so in this example you can see we've extracted
query
from a View node's data, and injected it into the textarea
. But what might not be immediately obvious is the
purpose of the jtk-att
attribute: it tells the dialog code that the value of this textarea should be passed to the
OK handler, using the key query
.
Note also in the above example, the jtk-focus
attribute: this tells the dialog handler that the textarea should be
given the focus when the dialog first opens.
This example is the dialog that is shown when you edit a View query in the Database Visualizer. We provide the id of
the template to use for the dialog, and we provide the View node's data as the backing data for the dialog. Then we
provide an onOK
callback.
We register a tap
listener on the pencil icon in the upper right corner and then inside the event handler we find the
Toolkit object related to the clicked icon, then open a dialog to edit it.
jsPlumb.on(document, "tap", ".view .edit i", function () {
var info = renderer.getObjectInfo(this);
jsPlumbToolkit.Dialogs.show({
id:"dlgViewQuery",
data:info.obj.data,
onOK:function(data) {
// update data
toolkit.updateNode(info.obj, data);
}
});
});
The data
argument to the onOK
callback consists of an object whose key value pairs are determined by the jtk-att
attributes found in the template. Recall that above we had a textarea with jtk-att:"query"
. This means that the data
argument to onOK
looks like this:
{
query:"the contents of the text area"
}
Dialogs may be positioned in one of four locations: top, bottom, left or right. In each location the dialog is centered
in the other axis, eg. for top
, the dialog is positioned at the top of the viewport and centered in the X axis.
The default position is top
. You can provide a position
parameter to the show
method to specify a different location:
jsPlumbToolkit.Dialogs.show({
id:"dlgViewQuery",
data:info.obj.data
position:"bottom"
});
The vast majority of the positioning of these dialogs is controlled through the CSS in jsplumbtoolkit-defaults.css
.
The only exception is the code that keeps the dialog centered in the minor axis when the viewport is resized. CSS
is discussed below.
The list of supported input types is:
If you set a title
attribute on a dialog's template, that value will be used for the title of the dialog. Alternatively,
you can provide a title
parameter to the show
call.
The default button labels are "OK" and "Cancel". This can be overridden with the labels
parameter on a show
method call:
jsPlumbToolkit.Dialogs.show({
id:"dlgViewQuery",
data:info.obj.data
position:"bottom",
labels:{
ok:"Yes",
cancel:"No"
}
});
You can provide your own buttons for use in a dialog, eg:
jsPlumbToolkit.Dialogs.show({
id:"dlgFoo",
buttons:[ button1, button2 ]
});
where button1
and button2
are DOM elements that each have a specific attribute set on them to indicate their function:
var button1 = document.createElement("button");
button1.innerHTML = "YES";
button1.setAttribute("jtk-commit", "true");
button1.className = "yourButtonClass";
var button2 = document.createElement("button");
button2.innerHTML = "NO";
button2.setAttribute("jtk-cancel", "true");
button2.className = "yourButtonClass";
The key things here are the jtk-commit
and jtk-cancel
attributes. When present, and set to "true"
, the indicate
the purpose of the button. Of course you can put anything you like in the array of buttons
; they do not need to have
jtk-**
attributes set on them, and they do not even need to be button
DOM elements.
The contents of buttons
will have been added to the dialog prior to the onOpen
callback being called, so you can
attach functionality to them inside there.
There's one other attribute supported on custom buttons - jtk-clear-all
:
var button3 = document.createElement("button");
button3.innerHTML = "CLEAR";
button3.setAttribute("jtk-clear-all", "true");
button3.className = "yourButtonClass clearButton";
jsPlumbToolkit.Dialogs.show({
id:"dlgFoo",
buttons:[ button3, button1, button2]
});
There are five lifecycle callbacks supported:
onOK
, with the same data that will be passed to onOK
. If you return false from this, the dialog stays open.In addition to providing callbacks to each show
call, you can register a callback for each of these four events
that will be called for every dialog show:
You provide these in a globals
argument to the initialize
method:
jsPlumbToolkit.Dialogs.initialize({
selector:".myDialog",
globals:{
onOpen:function() {
console.log("a dialog was opened");
},
onClose:function() {
console.log("a dialog was closed.");
}
}
});
You can set the jtk-commit
attribute on any text input
elements that you'd like to have close (and persist) the dialog when the user presses the enter key:

For textarea
elements you can also use the jtk-commit
attribute, but in this case you need to press ctrl+enter to close the dialog.

This is the full list of classes used by the dialog code. There are defaults for these declared in jsplumbtoolkit-defaults.css.
| Class | Explanation |
|---|---|
| jtk-dialog-underlay | The element that acts as the modal "mask" |
| jtk-dialog-overlay | The element that acts as the parent for dialog content |
| jtk-dialog-overlay-visible | Assigned to an overlay when the dialog is visible |
| jtk-dialog-overlay-x | Assigned to dialogs appearing in the `top` or `bottom` positions. |
| jtk-dialog-overlay-y | Assigned to dialogs appearing in the `left` or `right` positions. |
| jtk-dialog-overlay-top | Assigned to dialogs appearing in the `top` position |
| jtk-dialog-overlay-bottom | Assigned to dialogs appearing in the `bottom` position |
| jtk-dialog-overlay-left | Assigned to dialogs appearing in the `left` position |
| jtk-dialog-overlay-right | Assigned to dialogs appearing in the `right` position. |
| jtk-dialog-buttons | Button container element |
| jtk-dialog-button | An individual button in a dialog |
| jtk-dialog-title | The titlebar of a dialog |
| jtk-dialog-content | The content of a dialog (does not contain the titlebar) |
The default CSS stylesheet also contains several rules such as hover states etc. You may wish to keep that in mind when you write your app-specific overrides.


{% extends "dashboard/repository_settings/base.html" %} {% load i18n %} {% block content_panel %}
Overview of IP addresses which have acccess to download packages from your localshop. Hosts which are not listed here will receive a 403 error.
| CIDR | Label | Credentials | Actions |
|---|---|---|---|
| {{ cidr.cidr }} | {{ cidr.label|default:'n/a' }} | {{ cidr.require_credentials|yesno }} | edit | delete |


{% extends 'base.html' %} {% block title %}Issue Details{% endblock %} {% block header_title %}Viewing a {{ issue.issue_type }} Priority: {{ issue.priority }}{% endblock %} {% block content %}
Description: {{ issue.description }}
Following the long form description of the bug will be a chronologically ordered discussion. Above it will be a text entry for anyone who wishes to join the conversation.
This is a sample resolution of our bug
In the future this information will be pulled from the database.


Working...
{{message}}
| Message | Author | When |
|---|
Can't sync with uncommitted changes. Please commit first before trying to sync.
Can't contact server. Please try again later.
No changes to sync.
Working...
{{message}}
| Message | Author | When |
|---|
Can't sync with uncommitted changes. Please commit first before trying to sync.
Can't contact server. Please try again later.
No changes to sync.
| {{message}} | {{name}} | {{whenStr}} |


Preparation time
30 mins to 1 hour
Cooking time
10 to 30 mins
Serves
Serves 4
Polenta (cornmeal) is rather strange looking stuff and the instant kind, when boiled up, looks a bit like mashed potato. But when set into a square and cut in to ‘chips’ it starts to turn in to something rather special. Trout would also work well for this very good looking dish.
Equipment and preparation: you will need a 20cm/8in square tin.
Line a 20cm/8in square tin with baking parchment or heatproof cling film. Bring the stock to the boil in a large saucepan. Reduce the heat to a fast simmer and, using a whisk or silicone spatula, gradually stir in the polenta. Add the rosemary and season with salt and pepper.
Cook for 4-5 minutes, stirring constantly until large volcanic-like bubbles form. The polenta will swell and become really thick - don’t leave for a minute or it could become lumpy. Pour the mixture into the prepared tin and smooth the surface with the back of a spoon. Set aside to cool for 20 minutes.
Meanwhile, make the gremolata. Place the garlic, parsley and lemon zest in a pestle and mortar and pound the mixture to a mash so that all the flavours mix together. Stir in the oil. Alternatively, blend everything together in a mini-blender until as fine as possible. Either way, spoon into a small serving bowl and set aside.
Line a large baking tray with baking parchment. Once the polenta is firm, pull it up out of the tin, place on a chopping board and carefully remove the paper or cling film. Cut the slab into 10x2cm/4x¾in wide strips and then cut them in half across to give 20 chunky chips. Being careful not to break the chips, wrap a sage leaf around the middle of each one, followed by a slice of pancetta. Arrange on the tray as you go. These can be prepared to this stage a day ahead of time, in which case, cover with cling film and keep in the fridge.
Preheat the oven to 110C/225F/Gas ¼ (fan 80C). Heat two large frying pans on a medium to high heat and drizzle a tablespoon of oil into each one. Fry 10 polenta chips in each pan for about 1-2 minutes on each side. Use a small fish slice to carefully turn them over to avoid breaking them. Arrange them back on the baking tray once cooked and pop them in the oven to keep warm.
For the fish and asparagus, wipe out the frying pans with kitchen paper and return both to a medium to high heat with a tablespoon of oil in each one. Season the salmon with salt and pepper and, once the oil is hot, place the fish skin-side down in one pan and leave to cook for about 3-4 minutes.
Meanwhile, for the asparagus, fry the asparagus in the other pan for 3-4 minutes tossing occasionally.
If you want to make the sauce, simply melt the butter in a small saucepan and add the finely chopped parsley, lemon juice and season to taste. Keep warm.
Once the fish has had its time, flip it over and let it cook for four minutes on the other side.
Meanwhile, remove the polenta chips from the oven and arrange five on each serving plate. Divide the asparagus up evenly between them also. Once the salmon is cooked to your liking (either a little pink in the centre or cooked completely through) remove from the heat and arrange one on each serving plate. If you made the optional sauce, pour this over now.
Serve at once with the gremolata and lemon wedges.


I am a test of the oabutton bookmarklet. On the right demonstrates how it looks. Drag the below link to your bookmarks bar
Open Access Button


public final class FacesServlet extends java.lang.Object implements Servlet
FacesServlet is a Jakarta Servlet servlet that manages the request processing lifecycle for web applications that are utilizing Jakarta Server Faces to construct the user interface.
If the application is running in a Jakarta Servlet 3.0 (and beyond) container, the runtime must provide an
implementation of the ServletContainerInitializer
interface that declares the following
classes in its HandlesTypes
annotation.
FacesConfig
ResourceDependencies
ResourceDependency
FacesComponent
UIComponent
Converter
FacesConverter
ListenerFor
ListenersFor
FacesBehaviorRenderer
Renderer
FacesValidator
Validator
This Jakarta Servlet servlet must automatically be mapped if it is not explicitly mapped in
web.xml
or web-fragment.xml
and one or more of the following conditions are true.
A faces-config.xml
file is found in WEB-INF
A faces-config.xml
file is found in the META-INF
directory of a jar in the application's
classpath.
A filename ending in .faces-config.xml
is found in the META-INF
directory of a jar in the
application's classpath.
The jakarta.faces.CONFIG_FILES
context param is declared in web.xml
or
web-fragment.xml
.
The Set
of classes passed to the onStartup()
method of the
ServletContainerInitializer
implementation is not empty.
If the runtime determines that the servlet must be automatically mapped, it must be mapped to the following
<url-pattern
> entries.
Note that the automatic mapping to *.xhtml
can be disabled with the context param
DISABLE_FACESSERVLET_TO_XHTML_PARAM_NAME
.
This class must be annotated with jakarta.servlet.annotation.MultipartConfig
. This causes the Jakarta Servlet
container in which the Jakarta Server Faces implementation is running to correctly handle multipart form data.
Some security considerations relating to this class
The topic of web application security is a cross-cutting concern and every aspect of the specification address it. However, as with any framework, the application developer needs to pay careful attention to security. Please consider these topics among the rest of the security concerns for the application. This is by no means a complete list of security concerns, and is no substitute for a thorough application level security review.
Prefix mappings and the
FacesServlet
If the
FacesServlet
is mapped using a prefix<url-pattern>
, such as<url-pattern>/faces/*</url-pattern>
, something must be done to prevent access to the view source without its first being processed by theFacesServlet
. One common approach is to apply a <security-constraint> to all facelet files and flow definition files. Please see the Deployment Descriptor chapter of the Jakarta Servlet Specification for more information the use of <security-constraint>.Allowable HTTP Methods
The Jakarta Server Faces specification only requires the use of the GET and POST http methods. If your web application does not require any other http methods, such as PUT and DELETE, please consider restricting the allowable http methods using the <http-method> and <http-method-omission> elements. Please see the Security sections of the Jakarta Servlet Specification for more information about the use of these elements.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONFIG_FILES_ATTR
Context initialization parameter name for a comma delimited list of context-relative resource paths (in addition to
/WEB-INF/faces-config.xml which is loaded automatically if it exists) containing Jakarta Server Faces
configuration information. |
static java.lang.String |
DISABLE_FACESSERVLET_TO_XHTML_PARAM_NAME
The |
static java.lang.String |
LIFECYCLE_ID_ATTR
Context initialization parameter name for the lifecycle identifier of the
Lifecycle instance to be utilized. |
| Constructor and Description |
|---|
FacesServlet() |
| Modifier and Type | Method and Description |
|---|---|
void |
destroy()
Release all resources acquired at startup time.
|
ServletConfig |
getServletConfig()
Return the
ServletConfig instance for this servlet. |
java.lang.String |
getServletInfo()
Return information about this Servlet.
|
void |
init(ServletConfig servletConfig)
Acquire the factory instances we will require.
|
void |
service(ServletRequest req,
ServletResponse resp)
Process an incoming request, and create the corresponding response according to the following specification. |
public static final java.lang.String CONFIG_FILES_ATTR
Context initialization parameter name for a comma delimited list of context-relative resource paths (in addition to
/WEB-INF/faces-config.xml
which is loaded automatically if it exists) containing Jakarta Server Faces
configuration information.
public static final java.lang.String LIFECYCLE_ID_ATTR
Context initialization parameter name for the lifecycle identifier of the Lifecycle
instance to be utilized.
public static final java.lang.String DISABLE_FACESSERVLET_TO_XHTML_PARAM_NAME
The ServletContext
init parameter consulted by the runtime to tell if the automatic mapping of the
FacesServlet
to the extension *.xhtml
should be disabled. The implementation must disable this
automatic mapping if and only if the value of this parameter is equal, ignoring case, to true
.
If this parameter is not specified, this automatic mapping is enabled as specified above.
public void init(ServletConfig servletConfig) throws ServletException
Acquire the factory instances we will require.
init
in interface Servlet
servletConfig
- a ServletConfig
object containing the servlet's configuration and initialization
parametersServletException
- if, for any reason, the startup of this Faces application failed. This includes errors in
the config file that is parsed before or during the processing of this init()
method.UnavailableException
,
Servlet.getServletConfig()
public void service(ServletRequest req, ServletResponse resp) throws java.io.IOException, ServletException
Process an incoming request, and create the corresponding response according to the following specification.
If the request
and response
arguments to this method are not instances of
HttpServletRequest
and HttpServletResponse
, respectively, the results of invoking this
method are undefined.
This method must respond to requests that contain the following strings by
invoking the sendError
method on the response argument (cast to HttpServletResponse
),
passing the code HttpServletResponse.SC_NOT_FOUND
as the argument.
/WEB-INF/
/WEB-INF
/META-INF/
/META-INF
If none of the cases described above in the specification for this method apply to the servicing of this request, the following action must be taken to service the request.
Acquire a FacesContext
instance for this request.
Acquire the ResourceHandler
for this request by calling
Application.getResourceHandler()
. Call
ResourceHandler.isResourceRequest(jakarta.faces.context.FacesContext)
.
If this returns true
call ResourceHandler.handleResourceRequest(jakarta.faces.context.FacesContext)
.
If this returns false
, call
Lifecycle.attachWindow(jakarta.faces.context.FacesContext)
followed by
Lifecycle.execute(jakarta.faces.context.FacesContext)
followed by Lifecycle.render(jakarta.faces.context.FacesContext)
.
If a FacesException
is thrown in either case, extract the cause from the
FacesException
.
If the cause is null
extract the message from the FacesException
, put it inside of a new
ServletException
instance, and pass the FacesException
instance as the root cause, then
rethrow the ServletException
instance. If the cause is an instance of ServletException
,
rethrow the cause. If the cause is an instance of IOException
, rethrow the cause.
Otherwise, create a new ServletException
instance, passing the message from the cause, as the first
argument, and the cause itself as the second argument.
The implementation must make it so FacesContext.release()
is called within a finally
block as late as possible in the processing for the Jakarta Server Faces related portion of this request.
service
in interface Servlet
req
- The Jakarta Servlet request we are processingresp
- The Jakarta Servlet response we are creatingjava.io.IOException
- if an input/output error occurs during processingServletException
- if a Jakarta Servlet error occurs during processingpublic void destroy()
Release all resources acquired at startup time.
public ServletConfig getServletConfig()
Return the ServletConfig
instance for this servlet.
getServletConfig
in interface Servlet
ServletConfig
object that initializes this servletServlet.init(jakarta.servlet.ServletConfig)
public java.lang.String getServletInfo()
Return information about this Servlet.
getServletInfo
in interface Servlet
String
containing servlet information


mbsrtowcs
, mbsnrtowcs
—convert a character string to a wide-character stringSynopsis
#include <wchar.h> size_t mbsrtowcs(wchar_t *__restrict dst, const char **__restrict src, size_t len, mbstate_t *__restrict ps); #include <wchar.h> size_t _mbsrtowcs_r(struct _reent *ptr, wchar_t *dst, const char **src, size_t len, mbstate_t *ps); #include <wchar.h> size_t mbsnrtowcs(wchar_t *__ restrict dst, const char **__restrict src, size_t nms, size_t len, mbstate_t *__restrict ps); #include <wchar.h> size_t _mbsnrtowcs_r(struct _reent *ptr, wchar_t *dst, const char **src, size_t nms, size_t len, mbstate_t *ps);
Description
The mbsrtowcs
function converts a sequence of multibyte characters
pointed to indirectly by src into a sequence of corresponding wide
characters and stores at most len of them in the wchar_t array pointed
to by dst, until it encounters a terminating null character (’\0’).
If dst is NULL, no characters are stored.
If dst is not NULL, the pointer pointed to by src is updated to point to the character after the one that conversion stopped at. If conversion stops because a null character is encountered, *src is set to NULL.
The mbstate_t argument, ps, is used to keep track of the shift state. If
it is NULL, mbsrtowcs
uses an internal, static mbstate_t object, which
is initialized to the initial conversion state at program startup.
The mbsnrtowcs
function behaves identically to mbsrtowcs
, except that
conversion stops after reading at most nms bytes from the buffer pointed
to by src.
Returns
The mbsrtowcs
and mbsnrtowcs
functions return the number of wide
characters stored in the array pointed to by dst if successful, otherwise
it returns (size_t)-1.
Portability
mbsrtowcs
is defined by the C99 standard.
mbsnrtowcs
is defined by the POSIX.1-2008 standard.


Links
Class notes
CS159 Notes
ECE264 Notes
Webapps
Bodyfat percentage calculator
Weighted rice purity test
SERVER6
DateTrix
Posts
An Update
Healthy Lifestyles
Supplements and why to take them
Misc.
Poster
Pictures


USD/JPY edges higher toward 108.70 as 10-year T-bond yield extends rally
by Eren Sengezer- 10-year US Treasury bond yield adds 2.5% on Thursday.
- Hopes of US delaying December tariff hike boosts sentiment.
- US Dollar Index rebounds to 98 in American session.
The USD/JPY pair rose modestly in the last hour boosted by the improving market sentiment and was last seen trading at 108.65, adding 0.05% on a daily basis.
Earlier in the day, Chinese news outlet South China Morning Post (SCMP) said that the White House could delay the tariff hike on Chinese imports in December and caused safe-haven assets to lose interest. The 10-year US Treasury bond yield, which closed the previous three days in the negative territory, staged a decisive recovery and was last seen up 2.55% on the day at 1.785%.
"There is still some modicum of optimism that a watered-down deal can be reached before new US tariffs go into effect on December 15, but even if the deal proves elusive, sources say it is likely they will be at least postponed," the SCMP reported.
Upbeat data helps USD gather strength
On the other hand, the US Dollar Index capitalized on Thursday's inspiring macroeconomic data releases and advanced to the 98 area to further support the pair's rebound.
Existing Home Sales in the US rose 1.5% in October following Septembers decline of 2.5% and the Philly Fed Manufacturing Index improved to 10.4 in November to ease concerns over the poor performance of the manufacturing sector in the US.
In the early trading hours of the Asian session on Friday, Consumer Price Index data from Japan will be looked upon for fresh catalysts. Later in the day, Markit Manufacturing and Services Purchasing Managers' Index (PMI) data from the US will be featured in the economic docket.
Technical levels to watch for
USD/JPY
| Overview | |
|---|---|
| Today last price | 108.66 |
| Today Daily Change | 0.09 |
| Today Daily Change % | 0.08 |
| Today daily open | 108.57 |
| Trends | |
|---|---|
| Daily SMA20 | 108.76 |
| Daily SMA50 | 108.27 |
| Daily SMA100 | 107.71 |
| Daily SMA200 | 108.98 |
| Levels | |
|---|---|
| Previous Daily High | 108.74 |
| Previous Daily Low | 108.35 |
| Previous Weekly High | 109.3 |
| Previous Weekly Low | 108.23 |
| Previous Monthly High | 109.29 |
| Previous Monthly Low | 106.48 |
| Daily Fibonacci 38.2% | 108.59 |
| Daily Fibonacci 61.8% | 108.5 |
| Daily Pivot Point S1 | 108.36 |
| Daily Pivot Point S2 | 108.16 |
| Daily Pivot Point S3 | 107.96 |
| Daily Pivot Point R1 | 108.76 |
| Daily Pivot Point R2 | 108.95 |
| Daily Pivot Point R3 | 109.16 |


# INFO 450 Fall 2020
Week 4
--- # Agenda * dicts * functions * requests --- # Dictionaries Python dictionaries are a foundational data type in the language Dictionaries (dict) can be thought of as a 'map' structure Dictionaries store other values internally, like a list, but... Values are assigned to keys within the dictionary. * Can be used to group data together, such as information about a person --- # Simple Syntax ```python alien_0 = {"color": "green", "points": 5} print("Aliens color is: ", alien_0["color"]) print("Aliens point value is: ", alien_0["points"]) ``` * Dicts are created with {} as the 'constructor' * Compare to lists, which are notated as: [] Dicts can store 0 or more 'keys' and their values. * Keys must be 'hashable' - (strings, numbers, tuple *) * Values can be 'anything' --- # Creating a dictionary ```python d = {} d = {"key": "value"} ``` syntax: Keys are paired to their values with colons. multiple key/values can be set and separated by commas ```python alien_0 = {"color": "green", "points": 5} ``` --- # Modifying data in a dictionary How do we set key values in a dict? ```python d = {} d['age'] = 35 d['colors'] = ['blue', 'green', 'black'] ``` How do we remove keys from a dict? ```python >>> d = {"age": 35} >>> d {'age': 35} >>> del d['age'] >>> d {} ``` --- # Accessing data in a dict Get a known key (REALLY known, guaranteed, etc. rarely used): ```python >>> d = {"age": 41} >>> d['age'] 41 >>> d['height'] Traceback (most recent call last): File "
", line 1, in
KeyError: 'height' ``` Safely get a key: ```python >>> d = {"age": 41} >>> d.get('age') 41 >>> d.get('height') >>> #Nothing above is the same as None >>> x = d.get('age') >>> x 41 ``` Get a key, but if it doesn't exist, get a default value: ```python >>> x = d.get('height', 99) >>> x 99 >>> x = d.get('height') or 99 >>> x 99 ``` --- # Chaining Dictionaries (not in book that I saw) Common practice can potentially nest dictionaries. Looking at an example from Spotify API: https://developer.spotify.com/documentation/web-api/reference/artists/get-artists-albums/ * note: I fudged the structure a little to make it fit my desired example --- ```json { "href": "https://api.spotify.com/v1/artists/1vCWHaC5f2uS3yhpwWbIA6/albums?offset=0&limit=2&include_groups=appears_on&market=ES", "album": { "album_group": "appears_on", "album_type": "album", "artist": { "external_urls": { "spotify": "https://open.spotify.com/artist/0LyfQWJT6nXafLPZqxe9Of" }, "href": "https://api.spotify.com/v1/artists/0LyfQWJT6nXafLPZqxe9Of", "id": "0LyfQWJT6nXafLPZqxe9Of", "name": "Various Artists", "type": "artist", "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of" } . . . "previous": null, "total": 308 } ``` ```python artist_name = spotify_value.get('album', {}).get('artist', {}).get('name') ``` Better than: ```python album = spotify_value.get('album') if album: artist = album.get('artist') if artist: artist_name = artist.get('name') ``` ## ? OR IS IT BETTER? --- # Functions/docs for Dictionaries
https://docs.python.org/3/library/stdtypes.html#typesmapping
* list(d) - Returns a list of all keys * len(d) - Returns the number of items - (CHF) - number of keys * key in d: Tests whether the key is present in the d * k not in d: Tests (inverse) of 'key in d' * iter(d) - Iterator over the keys in the dictionary * clear(d) - removes all items from the dict * copy(d) - shallow copy (doesn't copy values) * items(d) - returns a view of the data in the items, (key, value) - tuples * keys(d) - returns a list of keys * values(d) - returns a list of keys * ... and more --- # Looping on dicts
https://docs.python.org/3/tutorial/datastructures.html#dictionaries
```python >>> product = {"product_id":"14322", "name": "Big 65 inch TV", "price": 499.99} >>> for key, value in product.items(): ... print(f"{key}: {value}") ... product_id: 14322 name: Big 65 inch TV price: 499.99 >>> for key in product.keys(): ... print(f"{key}: {product[key]}") ... product_id: 14322 name: Big 65 inch TV price: 499.99 >>> for key in product: ... print(f"{key}: {product[key]}") ... product_id: 14322 name: Big 65 inch TV price: 499.99 ``` --- # Generating a unique list of values Wrap the 'values' with a 'set' command, to convert the 'list' datatype to a 'set' Set: A set object is an unordered collection of distinct hashable objects. ```python >>> favorite_languages = {"jen": "python", "sarah": "c", "edward":"ruby", "phil": "python"} >>> for language in favorite_languages.values(): ... print(f"This is a favorite language: {language}") ... This is a favorite language: python This is a favorite language: c This is a favorite language: ruby This is a favorite language: python >>> for language in set(favorite_languages.values()): ... print(f"This is a favorite language: {language}") ... This is a favorite language: ruby This is a favorite language: python This is a favorite language: c ``` --- # TO READ: Read the end of Chapter 6. Using dicts in a list, using lists in a dict ```python aliens = [] aliens.append({"color":"green", "points": 5}) aliens.append({"color":"red", "points": 10}) aliens.append({"color":"yellow", "points": 15}) ``` ```python person = {} person['name'] = 'Chris' person['favorite_colors'] = ["purple", "gold"] ``` --- # BREAK --- # Let's do something fun. Web API - Application Programming Interface: aka REST API, API, HTTP API, Web Service, etc. HTTP - Protocol that powers your web browser. Request / Response. HTTP GET, HTTP POST, etc. OAuth2 - Authentication protocol built so a client application (ours) can trust authentication provided by another service, without having to know the secrets * "Log in with Facebook" --- # Spotify Let's look through Spotify's API Authentication Authorization Consuming APIs --- # Required: Requests library Virtual Environment Anaconda can do it.
spotify code
formatted strings
--- ---


The Session class represents a single user’s interaction with the system. The Session can use any of the underlying drivers. A session can be initialized manually like this:
session = Capybara::Session.new(:culerity, MyRackApp)
The application given as the second argument is optional. When running Capybara against an external page, you might want to leave it out:
session = Capybara::Session.new(:culerity) session.visit('http://www.google.com')
Session provides a number of methods for
controlling the navigation of the page, such as visit
, +#current_path, and so on. It
also delegate a number of methods to a Capybara::Document, representing the
current HTML document. This allows interaction:
session.fill_in('q', :with => 'Capybara') session.click_button('Search') session.should have_content('Capybara')
When using capybara/dsl, the Session is initialized automatically for you.
# File lib/capybara/session.rb, line 51 def initialize(mode, app=nil) @mode = mode @app = app if Capybara.run_server and @app and driver.needs_server? @server = Capybara::Server.new(@app).boot else @server = nil end @touched = false end
@return [String] Host of the current page
# File lib/capybara/session.rb, line 129 def current_host uri = URI.parse(current_url) "#{uri.scheme}://#{uri.host}" if uri.host end
@return [String] Path of the current page, without any domain information
# File lib/capybara/session.rb, line 120 def current_path path = URI.parse(current_url).path path if path and not path.empty? end
# File lib/capybara/session.rb, line 384 def current_scope scopes.last end
@return [String] Fully qualified URL of the current page
# File lib/capybara/session.rb, line 138 def current_url driver.current_url end
# File lib/capybara/session.rb, line 347 def document @document ||= Capybara::Node::Document.new(self, driver) end
# File lib/capybara/session.rb, line 62 def driver @driver ||= begin unless Capybara.drivers.has_key?(mode) other_drivers = Capybara.drivers.keys.map { |key| key.inspect } raise Capybara::DriverNotFoundError, "no driver called #{mode.inspect} was found, available drivers: #{other_drivers.join(', ')}" end Capybara.drivers[mode].call(app) end end
Evaluate the given JavaScript and return the result. Be careful when using
this with scripts that return complex objects, such as jQuery statements. execute_script
might
be a better alternative.
@param [String] script A string of JavaScript to evaluate @return [Object] The result of the evaluated JavaScript (may be driver specific)
# File lib/capybara/session.rb, line 303 def evaluate_script(script) @touched = true driver.evaluate_script(script) end
Execute the given script, not returning a result. This is useful for
scripts that return complex objects, such as jQuery statements. execute_script
should
be used over evaluate_script
whenever possible.
@param [String] script A string of JavaScript to execute
# File lib/capybara/session.rb, line 289 def execute_script(script) @touched = true driver.execute_script(script) end
# File lib/capybara/session.rb, line 373 def has_no_title?(content) document.synchronize do if title.match(Capybara::Helpers.to_regexp(content)) raise ExpectationNotMet end end return true rescue Capybara::ExpectationNotMet return false end
# File lib/capybara/session.rb, line 362 def has_title?(content) document.synchronize do unless title.match(Capybara::Helpers.to_regexp(content)) raise ExpectationNotMet end end return true rescue Capybara::ExpectationNotMet return false end
@return [String] A snapshot of the DOM of the current document, as it looks right now (potentially modified by JavaScript).
# File lib/capybara/session.rb, line 110 def html driver.html end
# File lib/capybara/session.rb, line 358 def inspect %Q(#<Capybara::Session>) end
Reset the session, removing all cookies.
# File lib/capybara/session.rb, line 76 def reset! driver.reset! if @touched @touched = false raise @server.error if Capybara.raise_server_errors and @server and @server.error ensure @server.reset_error! if @server end
Returns a hash of response headers. Not supported by all drivers (e.g. Selenium)
@return [Hash{String => String}] A hash of response headers.
# File lib/capybara/session.rb, line 92 def response_headers driver.response_headers end
Save a snapshot of the page and open it in a browser for inspection
@param [String] file_name The path to where it should be saved [optional]
# File lib/capybara/session.rb, line 330 def save_and_open_page(file_name=nil) require "launchy" Launchy.open(save_page(file_name)) rescue LoadError warn "Please install the launchy gem to open page with save_and_open_page" end
Save a snapshot of the page.
@param [String] path The path to where it should be saved [optional]
# File lib/capybara/session.rb, line 314 def save_page(path=nil) path ||= "capybara-#{Time.new.strftime("%Y%m%d%H%M%S")}#{rand(10**10)}.html" path = File.expand_path(path, Capybara.save_and_open_page_path) if Capybara.save_and_open_page_path FileUtils.mkdir_p(File.dirname(path)) File.open(path,'w') { |f| f.write(Capybara::Helpers.inject_asset_host(body)) } path end
Save a screenshot of page
@param [String] path A string of image path @option [Hash] options Options for saving screenshot
# File lib/capybara/session.rb, line 343 def save_screenshot(path, options={}) driver.save_screenshot(path, options) end
Returns the current HTTP status code as an Integer. Not supported by all drivers (e.g. Selenium)
@return [Integer] Current HTTP status code
# File lib/capybara/session.rb, line 102 def status_code driver.status_code end
@return [String] Title of the current page
# File lib/capybara/session.rb, line 146 def title driver.title end
Navigate to the given URL. The URL can either be a relative URL or an absolute URL The behaviour of either depends on the driver.
session.visit('/foo') session.visit('http://google.com')
For drivers which can run against an external application, such as the selenium driver giving an absolute URL will navigate to that page. This allows testing applications running on remote servers. For these drivers, setting {Capybara.app_host} will make the remote server the default. For example:
Capybara.app_host = 'http://google.com' session.visit('/') # visits the google homepage
If {Capybara.always_include_port} is set to true and this session is running against a rack application, then the port that the rack application is running on will automatically be inserted into the URL. Supposing the app is running on port `4567`, doing something like:
visit("http://google.com/test")
Will actually navigate to `google.com:4567/test`.
@param [String] url The URL to navigate to
# File lib/capybara/session.rb, line 176 def visit(url) @touched = true if url !~ /^http/ and Capybara.app_host url = Capybara.app_host + url.to_s end if @server url = "http://#{<EMAIL_ADDRESS>+ url.to_s unless url =~ /^http/ if Capybara.always_include_port uri = URI.parse(url) uri.port = @server.port if uri.port == uri.default_port url = uri.to_s end end driver.visit(url) end
Execute the given block for a particular scope on the page. Within will find the first element matching the given selector and execute the block scoped to that element:
within(:xpath, '//div[@id="delivery-address"]') do fill_in('Street', :with => '12 Main Street') end
It is possible to omit the first parameter, in that case, the selector is assumed to be of the type set in Capybara.default_selector.
within('div#delivery-address') do fill_in('Street', :with => '12 Main Street') end
@overload within(*find_args)
@param (see Capybara::Node::Finders#all)
@overload within(a_node)
@param [Capybara::Node::Base] a_node The node in whose scope the block should be evaluated
@raise [Capybara::ElementNotFound] If the scope can’t be found before time expires
# File lib/capybara/session.rb, line 220 def within(*args) new_scope = if args.first.is_a?(Capybara::Node::Base) then args.first else find(*args) end begin scopes.push(new_scope) yield ensure scopes.pop end end
Execute the given block within the a specific fieldset given the id or legend of that fieldset.
@param [String] locator Id or legend of the fieldset
# File lib/capybara/session.rb, line 236 def within_fieldset(locator) within :fieldset, locator do yield end end
Execute the given block within the given iframe using given frame name or index. May be supported by not all drivers. Drivers that support it, may provide additional options.
@overload #within_frame(index)
@param [Integer] index index of a frame
@overload #within_frame(name)
@param [String] name name of a frame
# File lib/capybara/session.rb, line 264 def within_frame(frame_handle) driver.within_frame(frame_handle) do yield end end
Execute the given block within the a specific table given the id or caption of that table.
@param [String] locator Id or caption of the table
# File lib/capybara/session.rb, line 248 def within_table(locator) within :table, locator do yield end end
Execute the given block within the given window. Only works on some drivers (e.g. Selenium)
@param [String] handle of the window
# File lib/capybara/session.rb, line 277 def within_window(handle, &blk) driver.within_window(handle, &blk) end


We redefine blockchain!
- deploy granular technologies
- repurpose collaborative functionalities
- e-enable magnetic methodologies
- synergize bricks-and-clicks ROI
- engineer turn-key initiatives
- strategize intuitive synergies
- architect collaborative interfaces
- engineer strategic portals
- facilitate turn-key interfaces
- redefine 24/365 eyeballs


Housing market heating up
by RNZThe housing market is heating up ahead of the holidays, with positive signs of growth, according to ASB's latest quarterly housing confidence survey.
The results suggested house price inflation was picking up and the upturn was expected to last until the middle of next year.
House price expectations rose for the second quarter in a row, with confidence back to average levels at 27 percent, although regional differences remained.
Meanwhile, a net 13 percent of respondents said it was a good time to buy a house - the highest level in seven years.
However, ASB chief economist Nick Tuffley said there was still a way to go before the market could be thought of as "hot".
"The continued lift in house price expectations is consistent with our own reading of the New Zealand housing market tea leaves," he said.
"Housing turnover is finally showing some signs of life after a long period of stagnation."
National prices were expected to rise between 5 and 6 percent by the middle of next year, with interest rates to remain low.
This article was originally published on RNZ and re-published with permission.


input source map
a map of function descriptions for each source in the source map.
The keys in the map must match elements in source map sources
exactly.
PASTA enriched source map
Parse a source file and return descriptions of all functions present in the
source file. Each description includes the name of the function, and start and
end coordinates. For anonymous functions the name is "
the contents of a source file
the type of the source file (e.g. ECMAScript or TypeScript)
Generated using TypeDoc
Produces a PASTA enriched source map based on the input source map and the input function descriptions. The enriched source map differs from the input source map in these two ways:
1) Any function names not already present in the
names
field get appended to it 2) The function descriptions for each source get encoded into Base64 VLQ encoding, and the encoded values get added to thex_com_bloomberg_sourcesFunctionMappings
field.if
functionDescs
for a source contains partial overlaps


Tullamore Dew returns to profit on revenue rise
Staff numbers at whisky maker also increase
by Gordon DeeganThe makers of the Tullamore Dew Irish whiskey brand last year returned to profit after a surge in revenues.
Accounts filed by William Grant & Sons Irish Manufacturing Ltd show that the company recorded a pretax profit of €320,000, driven by revenues increasing 17 per cent f to €43.2million.
The company recorded the pre-tax profit a pre-tax loss of €698,000 in 2017.
However, a corporation tax bill of €2.52 million resulted in a post tax loss of €2.2 million.
The tax bill arose from €2 million in adjustments in respect of previous periods and a €472,000 charge as a result of “origination and reversal of timing differences”.
A note states that the adjustments relate to temporary timing differences arising from capital allowances.
Tullamore Dew’s domestic sales rose 43 per cent ito 13,800 cases against a background of domestic sales of Irish whiskey rising by 5.4 per cent last year from 551,900 nine-litre cases.
According to the directors’ report “production volumes at Tullamore were higher than in the prior year, in part due to the first full year of grain production”.
Scottish drinks group, William Grant acquired Tullamore Dew, along with three other spirits, from Irish drinks group C&C in 2010 for €300 million.
On the outlook for its product, the directors said that “economic and market conditions are improving and the drivers of the premium spirits market are in alignment, demographic trends are positive, emerging economies continue to fuel the growth of middle classes who in turn seek out premium Irish whiskies”.
Staff costs last year increased from €3.86 million to €3.95 million as numbers employed increased from 64 to 70.
The profit last year takes account of non-cash depreciation costs of €7.1 million which was a sharp increase on the €4.2 million depreciation charge for 2017.


Throttler
The Throttler class provides a very simple way to limit an activity to be performed to a certain number of attempts within a set period of time. This is most often used for performing rate limiting on APIs, or restricting the number of attempts a user can make against a form to help prevent brute force attacks. The class itself can be used for anything that you need to throttle based on actions within a set time interval.
Overview
The Throttler implements a simplified version of the Token Bucket
algorithm. This basically treats each action that you want as a bucket. When you call the check()
method,
you tell it how large the bucket is, and how many tokens it can hold and the time interval. Each check()
call uses
1 of the available tokens, by default. Let’s walk through an example to make this clear.
Let’s say we want an action to happen once every second. The first call to the Throttler would look like the following. The first parameter is the bucket name, the second parameter the number of tokens the bucket holds, and the third being the amount of time it takes the bucket to refill:
<?php
$throttler = \Config\Services::throttler();
$throttler->check($name, 60, MINUTE);
Here we’re using one of the global constants for the time, to make it a little more readable. This says that the bucket allows 60 actions every minute, or 1 action every second.
Let’s say that a third-party script was trying to hit a URL repeatedly. At first, it would be able to use all 60 of those tokens in less than a second. However, after that the Throttler would only allow one action per second, potentially slowing down the requests enough that the attack is no longer worth it.
Note
For the Throttler class to work, the Cache library must be set up to use a handler other than dummy. For best performance, an in-memory cache, like Redis or Memcached, is recommended.
Rate Limiting
The Throttler class does not do any rate limiting or request throttling on its own, but is the key to making one work. An example Filter is provided that implements a very simple rate limiting at one request per second per IP address. Here we will run through how it works, and how you could set it up and start using it in your application.
The Code
You could make your own Throttler filter, at app/Filters/Throttle.php, along the lines of:
<?php
namespace App\Filters;
use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Config\Services;
class Throttle implements FilterInterface
{
/**
* This is a demo implementation of using the Throttler class
* to implement rate limiting for your application.
*
* @param array|null $arguments
*
* @return mixed
*/
public function before(RequestInterface $request, $arguments = null)
{
$throttler = Services::throttler();
// Restrict an IP address to no more than 1 request
// per second across the entire site.
if ($throttler->check(md5($request->getIPAddress()), 60, MINUTE) === false) {
return Services::response()->setStatusCode(429);
}
}
/**
* We don't have anything to do here.
*
* @param array|null $arguments
*
* @return mixed
*/
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
{
// ...
}
}
When run, this method first grabs an instance of the throttler. Next, it uses the IP address as the bucket name, and sets things to limit them to one request per second. If the throttler rejects the check, returning false, then we return a Response with the status code set to 429 - Too Many Attempts, and the script execution ends before it ever hits the controller. This example will throttle based on a single IP address across all requests made to the site, not per page.
Applying the Filter
We don’t necessarily need to throttle every page on the site. For many web applications, this makes the most sense to apply only to POST requests, though API’s might want to limit every request made by a user. In order to apply this to incoming requests, you need to edit app/Config/Filters.php and first add an alias to the filter:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class Filters extends BaseConfig
{
public $aliases = [
// ...
'throttle' => \App\Filters\Throttle::class,
];
// ...
}
Next, we assign it to all POST requests made on the site:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class Filters extends BaseConfig
{
public $methods = [
'post' => ['throttle'],
];
// ...
}
Warning
If you use $methods
filters, you should disable Auto Routing (Legacy)
because Auto Routing (Legacy) permits any HTTP method to access a controller.
Accessing the controller with a method you don’t expect could bypass the filter.
And that’s all there is to it. Now all POST requests made on the site will have to be rate limited.
Class Reference
- check(string $key, int $capacity, int $seconds[, int $cost = 1])
- Parameters
$key (
string
) – The name of the bucket$capacity (
int
) – The number of tokens the bucket holds$seconds (
int
) – The number of seconds it takes for a bucket to completely fill$cost (
int
) – The number of tokens that are spent on this action
- Returns
true if action can be performed, false if not
- Return type
bool
Checks to see if there are any tokens left within the bucket, or if too many have been used within the allotted time limit. During each check the available tokens are reduced by $cost if successful.
- getTokentime()
- Returns
The number of seconds until another token should be available.
- Return type
integer
After
check()
has been run and returned false, this method can be used to determine the time until a new token should be available and the action can be tried again. In this case, the minimum enforced wait time is one second.
- remove(string $key) self
- Parameters
$key (
string
) – The name of the bucket
- Returns
$this
- Return type
self
Removes & resets the bucket. Won’t fail if the bucket doesn’t exist.


Angela's Ashes (1999) Reviewed by Eugene Novikov http://www.ultimate-movie.com/ Member: Online Film Critics Society
Starring Robert Carlyle, Emily Watson, Joe Breen, Ciaran Owens, Michael Legge. Directed by Alan Parker. Rated R.
Few films in 1999 have divided the critical consensus as sharply as Alan Parker's adaptation of Frank McCourt's memoir Angela's Ashes. Many dismissed it as an humorless, sentimentalized, uninteresting version of the hugely popular novel; others hailed it as a heartfelt, sincere portrait of the human spirit. I'm somewhere in between, leaning strongly towards the latter. It's certainly well-made and it never becomes tedious like some literary adaptations have a tendency to be. But I have a feeling that Parker filled the movie with pseudo-lyrical shots of rain falling on the homely streets of Ireland just so it can have the two-and-a-half hour running time that screams "I'm important!"
McCourt's book of the same name was about him and his family moving from the US to Ireland in the early 1900's, a time when most people were desperately trying to get into the US. As he comments, "we were the only Irishfolk to say goodbye to the Statue of Liberty." In Ireland, Frank (played by Joe Breen as a small child), his 3 brothers, his mother Angela (Emily Watson) and his father Malachy (Robert Carlyle) get financial help from Angela's mother, a stereotypically strict Catholic who chides her daughter for marrying a Northern Irishman.
She helps them get a rat-infested apartment and Malachy goes looking for a job. Positions are scarce and when he does finally find one, he is unable to hold on to it because of his fondness for drinking. Meanwhile, Frank goes to an uptight Catholic school, where the instructors beat students with blunt wooden objects as often as their heart desires. Two of Frank's brothers soon die, crippled by the dreadful living conditions and malnutrition. As if the poverty and the suffering weren't intense enough as it stood, Malachy and Angela have another baby, worsening the situation further.
I imagine this doesn't sound like much of a plot. That's probably because it isn't one. These are people. This is their story. Director Alan Parker (The Commitments) knows how to tell a good story and Angela's Ashes, despite its relentlessly literary tone remains interesting. Though the film occasionally indulges too much in its gloomily picturesque Irish setting, it avoids looking like a glorified travelogue.
Supplementing Parker's able direction are the engaging, often poignant performances of the leads, some of them seasoned thespians, others relative beginners. Carlyle, the charismatic British actor who has shown astonishing range by hopping from the lead in a rowdy slapstick comedy to the villain in a James Bond movie and now to sentimental melodrama, perfectly portrays his rather pathetic character. We empathize with the guy, but we don't like or admire him. Emily Watson turns in a heartfelt, sincere supporting performance. It is mostly she who implants that lump in our throats.  It is Breen's first feature film and he's extraordinary as young Frank. Not unlike sudden Oscar darling Haley Joel Osment of The Sixth Sense, you can peer into the character's soul through Breen's sad eyes.
On the flip side, one thing that could have vastly improved Angela's Ashes is a more decisive editor. While Gerry Hambling sure makes the most of the scenery, he and Parker also leave in at least a half an hour of unnecessary footage. The first half, especially, could have been trimmed down, bringing the film to a more reasonable running time and doing our bladders a favor in the process. Things pick up at about the halfway point, sort of dismissing a lot of the criticisms I accumulated during the opening hour, but I maintain that the aggressively deliberate pace Parker and Co. set in the first half was ludicrously unnecessary.
*Spoiler Warning! Skip next paragraph if in suspense!*
The film's final message is somewhat conflicted, as Frankie, in effect, leaves his family famished in Ireland while he himself goes back to America. What, exactly, are we supposed to make of that? His mother doesn't seem to mind because she wants the best possible future for her son, as any mother would, but it still seems inconsiderate of him. I haven't read the book, but I'm sure that McCourt justifies his actions therein; therefore, I'm suspicious. Another thing that's never made clear in the movie is the meaning of the title, which, I'm sure, is also explained in the memoir.
If seen as a film onto itself, rather than an adaptation, Angela's Ashes stands tall. Despite a few minor setbacks, it is a captivating story of people forced to live in the trenches by an merciless society where those of weaker character are shoved to the bottom of the financial ladder.
Grade: B+
©2000 Eugene Novikov
Sent via Deja.com http://www.deja.com/ Before you buy.
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


Assignment 2
Show/Hide
Enter some text
Did you enter any text?
Yes
No
Enter a positive number between 1 and 100 (inclusive)
Increase by 5
Double
Enter today's date


My Name is Ben Pawlik...
...and these are a few of my favorite things
People
-
My partner, Parker
Snax
-
Chile relleno burritos from Taqueria y Tienda de Leon
-
Ratones chocolate (also from Taqueria y Tienda de Leon)
- Licorice allsorts
You can find out more about me on my github page.
Back to my main page


{{currentMatch.FighterBlue}}
{{currentMatch.FighterBlueOrganization || '-'}}
{{currentMatch.FighterRed}}
{{currentMatch.FighterRedOrganization || '-'}}
{{currentMatch.LiveTime | timespan}}
{{currentMatch.ScoreBlue}}
{{currentMatch.RoundsBlue}}
{{currentMatch.RoundsRed}}
{{currentMatch.ScoreRed}}
{{currentMatch.ScoreBlue}}
{{currentMatch.ScoreRed}}
{{currentMatch.ExchangeCount}} Exchanges
{{currentMatch.DoubleCount}} Doubles
Round {{currentMatch.Round}}
| Exchange | Round | Time | Event | Blue | Red | Blue |
| {{ event.ExchangeNumber }} |
{{ event.Round }} |
{{ event.Time | timespan }} |
{{ event.Type }} |
{{ event.PointsBlue }} |
{{ event.PointsRed }} |
{{ event.PointsBlue }} |
| No events yet |
Result: {{currentMatch.Result}}
{{nextMatch.FighterBlue}}
{{nextMatch.FighterRed}}


Arsenal vs Southampton, Premier League: What time is kick-off, what TV channel is it on and what is our prediction?
by Telegraph SportWhat is it?
Two teams under-performing, two managers whose futures look uncertain, as Arsenal host Southampton at the Emirates.
Arsenal are currently in sixth and without a win in four. Southampton are currently second-bottom, have lost their last three league games and have the worst goal difference of anyone.
When is it?
Saturday, November 23.
What time is kick-off?
3pm GMT.
What TV channel is it on?
Because this game is a 3pm kick-off it won't be shown live in the UK. However, you can still follow all the action with us - courtesy of our live blog - if you bookmark this page.
What are the current standings?
What is the team news?
Arsenal
Arsenal may recall Granit Xhaka for Saturday's Premier League visit of Southampton.
The former Gunners captain has not featured for the club since swearing at supporters following his substitution against Crystal Palace last month, but could return having played both of Switzerland's internationals last week.
Dani Ceballos (hamstring) is missing while there are minor doubts over Sead Kolasinac, Rob Holding and Bukayo Saka, who will all be tested on Friday to see if they are match fit.
Arsenal provisional squad: Leno, Martinez, Bellerin, Chambers, Mustafi, Holding, Papastathopoulos, Luiz, Kolasinac, Tierney, Guendouzi, Xhaka, Torreira, Willock, Maitland-Niles, Ozil, Pepe, Saka, Nelson, Lacazette, Aubameyang, Martinelli.
Southampton
Southampton manager Ralph Hasenhuttl has a full-strength squad after reporting no fresh selection concerns following the international break.
Poland defender Jan Bednarek and Denmark midfielder Pierre-Emile Hojbjerg were among those involved in Euro 2020 qualifiers.
Defender Ryan Bertrand is available having completed his three-match suspension for a red card in the 9-0 defeat by Leicester.
Southampton provisional squad: McCarthy, Gunn, Soares, Vestergaard, Stephens, Yoshida, Danso, Bertrand, Bednarek, Romeu, Ward-Prowse, Armstrong, Redmond, Ings, Djenepo, Boufal, Adams, Obafemi.
What are they saying?
Ralph Hasenhuttl hopes going back to basics will help pull Southampton clear of the Premier League relegation zone:
"We have a few players who had a successful time with the national teams, so they come back with a positive experience, so that is good for us.
"We had an intense week, with a game against Brentford which was a good test for us. We try to get back to our basics, to our fundamentals.
"It was good for players, I think, that we worked very hard and tried to show them how it can work.
"I think we had a good atmosphere in the sessions and also in the game. The guys are following (things) well and this is what we need."
What are the odds?
- Arsenal - 1/2
- Draw - 7/2
- Southampton - 5/1
What's our prediction?
Both manager - Arsenal's Unai Emery and Southampton's Ralph Hasenhüttl - are having to field questions about their futures. Hasenhüttl would appear to be safe, for now, but if Arsenal were to lose at home to the Saints the calls for Emery to go are likely to become deafening. Unlikely to happen, though.
Predicted score: Arsenal 4 Southampton 0.


"The Route Pyramid", is a visual representation of an approach to progression that emphasizes building a base of routes that are below the climber's maximum ability. This approach, and how to perfect it, is presented in the popular book The Rock Climbers Training Manual.
Note: Unfortunately, onX has deprecated the data API so this tool is no longer functional. I recommend using thecrag.com instead, as they have built in route pyramids and their user content is creative commons. They even have an import tool if you want to migrate your ticks over.