An introduction to economic analysis and policy, with particular application to decision-making in business. The course provides students with the tools to use economic principles in decision-making and an understanding of the broader economic environment in which business decisions must be made.
The aim of this course is to introduce economic concepts and methods of analysis, to enable students to understand and use economic arguments in business decision making. The course assumes no previous study of economics.
ECON5103 is a prerequisite for other postgraduate courses offered by the School of Economics. It is also designed to satisfy the requirements of professional bodies, which require their members to have a basic knowledge of Economics.
1. Describe key micro- and macro-economic concepts.
2. Construct economic arguments in terms of these concepts.
3. Critically read and evaluate economic stories in the media.
4. Apply simple economic models to the analysis of the relevant economic issues.
6. Identify and assess environmental and sustainability considerations in problems in international macroeconomics.
We strongly encourage all enquiries about the subject material be made at lectures or tutorials or during consultation time.
Email communication should be used for advising of absence, or other administrative matters, or for arranging an appointment outside of consultation hours.
Please note that the lecturers have no advance notice of the date and time of the final exam.
Make also sure that you watch the welcome video before you come to your first class.
The purpose of the tutorial is to reinforce and clarify the concepts and issues covered in the lectures and identify and remedy any problems with understanding. Students are expected to prepare for, and contribute to, tutorial discussion.
Review Questions. Students should attempt and self-correct these before attendance at their tutorial class. Questions which pose difficulties can be raised with the tutor.
As part of a registered group, students submit a (typically, one) written answer to a nominated Submission Question as part of Assessment (See Assessment -Tutorial Submission Questions). Details will be given in class.
Reading of the relevant chapter(s) of the text and any other assigned readings before the lecture. This will give you a general idea of the topic area. In-class pop-quizzes pertaining to the assigned readings may occur throughout the term, and at least one of these will be given, and feedback provided, by the end of Week 4. Your performance on these pop-quizzes will be considered in determining the early and final assessment.
Attendance at lectures. Here the context of the topic in the course and its relevance and the important elements of the topic are identified, as well as the key concepts. Students should download a hard copy (or an editable soft copy) of the lecture slides from the website before the lecture. These lecture notes can then be used in lectures for students to make additional notes. Lecture Notes will be posted on the course website.
Attempting the Review Questions before the tutorial and checking the answers. A sketch of the suggested answers to Review Questions (to the extent that they are not already given in the textbook) will be typically posted on the course website a couple of days after they have been covered in the tutorials.
Preparing notes for the class discussion of the Submission Questions. (Even if the submission question for a specific tutorial is not the one you have been allocated to submit, you should prepare notes to contribute to the discussion. See Assessment - Tutorial Participation).
Attending tutorials, asking the tutor to explain those Review Questions which provided difficulties. Presenting (if allocated) or contributing to the class discussion of the Submission Questions.
To assist you in understanding what academic integrity means, and how to ensure that you do comply with the UNSW Student Code, you are required to complete the Working with Academic Integrity module before submitting your first assessment task. It is a free, online self-paced Moodle module that should take about one hour to complete.
There will be a mid-term exam held in lecture times during Week 5. The Exam will be 60 minutes in length. Details of locations for the exam will be advised on the course website.
There will be no supplementary test offered for the mid-term exam. You should make every effort to take the mid-term exam. Students who fail to attend the examination will need to apply for Special Consideration.
In cases of illness, students will need full and convincing documentation of that illness. Students who are found to be genuinely too ill to have attended the exam will have their mark in the remaining assessment tasks re-weighted to include the mark reserved for the missed test. In all other cases of non-attendance students will receive a grade of zero.
The purpose of these questions is to cover the core principles of a topic and to provide some practice in applying the principles for analysis of economic issues.
All students should prepare notes on all questions to contribute to the discussion of these questions in the tutorial class.
Students will be allocated one submission question for which they will be required to submit a written report as a "registered group".
The written report is an item of assessment.
In the first tutorial, you will be placed in a group with another student (or 2 other students) and the group will be allocated a Submission Question. Students allocated to a question will be required to lead the class discussion with an oral presentation of your planned answer, in the tutorial of the week of your question. Your group will then be required to submit a written answer to your allocated question (approx. 1000 words) in the class of the following week. One of the aims of the presentation in class is to allow you to later incorporate any useful comments from the class discussion into your written answer.
You should type up your final answer in the form of a report of about 1000 words. Where appropriate you should include diagrams and acknowledge sources and references. This report should be attached to the signed Assignment Cover Sheet (See the Course Website) and submitted by the due date (in the tutorial one week after the discussion of the question).
Students should be prepared to contribute to the discussion of Submission Questions (even if the Submission Question for a specific tutorial is not the one you have been allocated to submit.). A Tutorial Participation Mark (max 5) will be awarded according to a student's contributions to tutorial discussions. Details will be provided in the tutorials.
A record of attendance in tutorials will be kept. In certain circumstances, such as where a request for special consideration is made in relation to assessment items, tutorial attendance will be considered in determining your final assessment.
Students must sign on by 10 minutes from the start of tutorial to qualify as 'in attendance'. Signing on for another student will be treated as misconduct. If, owing to illness or other exceptional circumstances, you are unable to attend your usual tutorial, you may try to attend another tutorial in the same week. Inform the tutor of the reasons in class and confirm in writing after the tutorial. Cc: the LiC in your message.
The Final Exam will be held in the University examination period and will be 2 hours long. The final exam will cover the entire course.
Further information on the content of the Final Exam will be provided towards the end of the Term. Working through the weekly assignments (review questions) is an excellent way to get prepared for the Final Exam. The purpose of the final exam is to assess knowledge of economic concepts and their appropriate use, to test the ability to use economic reasoning to make deductions, and to test the ability to perform simple calculations of costs and benefits.
All the material covered in this sessions lectures and tutorial program is examinable.
Students must also submit an electronic copy of their Submission Question. The electronic copy is to be submitted to the course website by 11:59pm on the day in which you are required to hand-in your report to your tutor. Instructions will be available on the website. Browse and upload a copy of your document - do not paste text. Use your student ID in the file name. If a registered group submits the same report (which is perfectly fine and encouraged), only one student ought to submit the report but s/he should clearly identify all other students whose Submission Question requirement is covered by the submission.
Electronic copies of essays may be checked for plagiarism via the Turnitin software (to which the assignments are uploaded to). See notes on Plagiarism in the Course Outlines Policies page. Also note that the Turnitin software will automatically check against all other assignments submitted. Therefore, it is important to not submit the same report twice.
If either the hard copy or the electronic copy of the assignment is not received by the due date you will receive a mark of zero unless a suitable medical certificate (or equivalent) is attached. In this case you should notify the Course Coordinator (LiC) via email.
Note that the hard copy of the book is cheaper through the UNSW bookstore than if you buy it online.


What is a tamper evident container?
H&O manufacture tamper-evident containers in a range of sizes, colours and shapes. Clients in the food business love them - and so do our customers operating in the chemical, paint and dye industries. But what exactly does tamper-evident mean?
Also known as tamper-proof or tamper-resistant, tamper-evident containers come with an in-built security feature that tells the end user if the contents of a product may have been compromised.
'Tampering' includes a range of malicious acts – from a delivery driver swiping some of your curry, to a terrorist poisoning your customers. Obviously, tampering is particularly concerning for businesses involved in sensitive industries like food production.
You may remember a number of cases where criminals looking to extort manufacturers began spiking baby-food with ground up glass, razor blades and even poison. In those cases tons upon tons of baby-food stock had to be destroyed, because there was no way of knowing if a particular jar was safe.
This is where tamper-proof technology is useful. If the baby food had a tamper-indicator like a plastic seal or 'popping-top' - then the supermarkets and the consumers would know which jars were safe and which were dangerous.
Tamper-proof technology has been around for centuries. The first tamper-evident technology was adopted by lords when they used melted wax to seal letters before sending them.
We've come a long way since then. H&O Plastic's tamper-evident containers are injection moulded with high impact polypropylene, a food safe material. The container is fitted with a small piece of plastic which acts as a seal. The only way of getting into the product is to break off this plastic seal so the lid can be removed.
For a tamper-proof technology to be successful, a 'tamperer' must not be able to recreate the resistant seal. The BBC once ran a report on the 'popping-top' tamper-evident jar lids in which it demonstrated that the jars could be opened without 'popping' the lid – effectively undermining the whole technology.
With H&O products, there is no way of opening the container without breaking the plastic seal. And there is no way of reconnecting the seal properly once the lid has been removed – meaning that end users can be confident of a container's contents.
For more information on tamper-resistant buckets, or to discuss the needs of your business call a member of our team on 0151 639 0002.
Or to buy tamper resistant containers in smaller quantities shop on our plastic bucket retail site.


On 2 November, MNML SSGS welcomes back one of our favourite artists, Silent Servant. In recent years he has left behind the style of techno he pursued as part of the Sandwell District collective with Regis and Function. Through his DJing, productions, and his Jealous God label, he has been pushing a more mutant sound that connects the earlier sounds of post-punk, EBM, and minimal wave with contemporary strains of techno. Silent Servant has a unique ability to fuse these different sounds while keeping his focus firmly on the dancefloor. Joining him will be Wata Igarashi, an artist that MNML SSGS rates among Japan's very best. After an impressive debut at the last MNML SSGS party, we have invited Aya Gloomy back, this time she will be bringing her charismatic live show to the Studio floor.
In the Contact room, Chris SSG will be hosting a lineup of artists who all will be playing for the first time at a MNML SSGS party. While Mayurashka has been well established in the Tokyo scene, she recently gained further recognition with an impressive Boiler Room session. AKIRAM EN took a break from Forest Limits to play a killer set in the rave cave at Germany's famous Nacht Digital festival and it was clear then he was a good fit for MNML SSGS. Emily Komatsu will be joining us from Fukuoka, with SINSENSA and Silentwave opening the night with ambient live sets.
Keeping with the spirit of MNML SSGS, we are expecting another night of fun and musical experiments. Please join us.


text:
Parenting & Family Relationships
Sleeping Like a Baby
byAvi Sadeh
April 15, 2011|
Earn 166 plum® points
"Why doesn't my baby sleep better?" weary parents ask. "How can we get more sleep?" There are as many answers to these questions as there are babies and families, says Dr. Avi Sadeh in this helpful and reassuring (some may say indispensable) book. Based on his years of research with sleep-disturbed babies and their sleep-deprived parents, Dr. Sadeh suggests a wide variety of practical solutions to babies' and young children's sleep problems.
Other experts may recommend one strict approach to changing a baby's sleep habits, but a single remedy fails to take into account a baby's uniqueness and the dynamics of his or her family, Dr. Sadeh contends. He helps parents first to understand the natural sleep patterns of babies, and then to consider their own family's situation and needs. In an accessible style designed to ease anxious parents' worries, Dr. Sadeh describes the various sleep problems of early childhood, outlines treatment possibilities, and details the pros and cons of each of these choices.
This book will appeal not only to sleepless parents seeking relief but also to those who are curious about the most recent findings in children's sleep research. Dr. Sadeh addresses a full range of questions: What is the importance of sleep to a baby? How do babies in different cultures sleep? How is sleep related to development? What causes Sudden Infant Death Syndrome? How do babies calm themselves? What are the advantages and disadvantages of communal sleeping? With up-to-date answers to these questions and more, Dr. Sadeh offers parents and professionals all the information they need to help babies—and their families—sleep better.
Avi Sadeh is senior lecturer, director of the Laboratory for Children's Sleep and Arousal Disorders, and chairman of the Clinical Child Psychology Graduate Program at Tel Aviv University.
Title:Sleeping Like a Baby
Published:April 15, 2011
Publisher:Yale University Press

redpajama_set_name: RedPajamaCommonCrawl


text:
Crisis Response Marines Familiarize Italian Naval Aviation with Osprey
by USMarines
in Navy News
TARANTO-GROTTAGLIE AIR BASE, Italy: Members of Special Purpose-Marine Air-Ground Task Force Crisis Response, or SP-MAGTF Crisis Response, visited Taranto-Grottaglie Air Base, Italy, June 28, to familiarize Italian naval aviation leaders with the MV-22 Osprey and to also celebrate the 100th anniversary of Italian naval aviation.
SP-MAGTF Crisis Response is a rotational force of approximately 500 Marines and sailors, tasked to respond to crises in the U.S. Africa Command area of responsibility, sourced from a variety of Marine Corps units to include II Marine Expeditionary Force, Camp Lejeune, N.C.
The Marines brought two Ospreys to the air base and conducted a capabilities brief and a static display of the aircraft, followed by a familiarization flight, in which Italian Admiral Giuseppe De Giorgi, chief of the Italian Navy; Italian Rear Admiral Paolo Treu, chief of Italian Naval Aviation; and Italian Vice Admiral Filippo Foffi, chief of the Italian Fleet, flew aboard the aircraft with Lt. Col. Christian Harshberger, Aviation Combat Element commanding officer for SP-MAGTF Crisis Response.
"Italy doesn't currently have an aircraft that is both capable of vertical take-off and also can carry troops and cargo, so this was an excellent opportunity to demonstrate the capabilities of the MV-22," said Capt. Nicholas Arnold, a SP-MAGTF Crisis Response MV-22 Osprey pilot and weapons and tactics instructor. "The leadership here seemed genuinely interested in the aircraft and impressed with its capabilities."
The Marine Corps and Italian aviators share a bond in that both services attend the U.S. Naval flight schools in Pensacola, Fla., and Corpus Christi, Texas. They recognized this bond during the visit, which corresponded with the 100th anniversary of Italian Naval Aviation.
"The Corps and Italian Navy have a common bond that we were able to build upon here," Arnold, a Buffalo, N.Y. native, added. "I think that bond is important and only improves our relationship here in Italy."
Tags: italian navyitalymarinesMV-22Osprey
Defence Partnership Tackles Cyber Security Risks
Jennies to jets to stealth: Bomb wing turns 90
US Navy warship transits through Taiwan Strait
An American warship sailed through the Taiwan Strait on Thursday, the US Navy said, in a move likely to anger...
US Navy's $13bn aircraft carrier embarks on first deployment
The US Navy's newest aircraft carrier embarked on its maiden deployment Tuesday, a milestone for a ship that has suffered...


Replace the price with flexible options. Place a link with redirection or an image instead of the button. Select the group of customers and particular categories to display the 'Call for price' button to. Easily engage customers into more activity, asking to sign up and provide more feedback.
Magento 2 special price formation may become a rather complicated and troublesome procedure. The Call for Price extension copes with many issues, regarding the pricing in Magento. The module helps you to find a consensus between you and your buyers. Due to productive interaction with your customers, you can get the most out of the purchase, keep your customers from leaving and reduce the shopping cart abandonment.
In many cases, the price has to be hidden by design: when the price changes frequently, when the goods are out of stock, when the items are free and etc. With the flexible settings, you can effectively manage all the nuances in no time.
Since you decide to hide the price, the Add to cart button can be replaced with a Call for price button or Request for sign up or any other engaging call to action button.
Replace the Add to cart button with a handy popup. The popup contains fields, that request necessary information. An easy way to know your customers better and gather additional information about them into your database or use in analytics tools.
Place the Call for price button on the particular categories to make your selling policy more flexible.
Systematize and arrange your special pricing policy in Magento 2 according to group attachment.
With the Magento 2 Custom Stock Status extension installed, you're able to select stock statuses you want to hide prices for.
You can use redirection to the landing pages, contacts, or provide any other link. Encourage your customers to sign up, directing them to the registration page. Offer them Learn more page, blog articles or provide the information on the coupons and sales to engage in more activity.
Have an additional advertising tool - use banners instead of the fixed price. Upload any image you think is necessary to catch the customer's attention.
Let admin automatically receive notifications on new price requests via email. Speed up the response time of the store and make your service more convenient and friendly to customers.
There is a separate page with a grid, where you can check and arrange all the price requests to your store. Call your customers or reply via email right away from the page.
The extension offers a handy feature that will help you to collect users' consent on the usage of their data. You can enable a checkbox for opt-in consent with a description of how and why are you going to use their personal data.
Adjust blog posts to your marketing needs with Magento 2 Blog module. Redirect visitors to your blog articles from the replaced Call For Price button.
Do you want to learn your customers' needs better?
Find out how with our Magento 2 Form Builder extension.
Give your customers all the needed product info to make them confident in their purchase choice with our Product Attachments extension. Supply all the needed data in any form preferred: .pdf, .pptx, .flash, .mp3, .jpg, .avi and many others.
This is not the my first Amasty extension i have tried so far. I got all the described features working out of the box. Minor design tweaks were made by support team very quickly. Thank you!
I sell handmade things and with too many changing factors I can't give an exact price for every item. I was looking for such functionality. Though I discovered a small bug with metadata after a while it was fixed fast. Other vendors with who I worked were far less responsive.
– – New: ability to replace "Add to Cart" button into "Request a Quote"


Here's a fun alternative to buying soap: winning soap. Specifically, you can win one of five body bricks from Kent & Bond. How do you win soap? Easy: check out our Facebook page or Twitter feed. We've already posted this review there. Comment or tweet the scent you're most interested in trying out. Next Tuesday, we'll choose one winner per scent at random. Good luck!
Anatomy of a Scene: the Man from U.N.C.L.E.


text:
/*
 * scheduler.c
 *
 *  Created on: Jun 8, 2016
 *      Author: riley
 */

#include "rileyOS_config.h"
#include "scheduler.h"
#include "scheduler_private.h"
#include <msp430.h>
#include <stdint.h>
#include <stdlib.h>

#define NUM_REGISTERS 16

static volatile task_t * task_queue_head = NULL;
static volatile uint32_t scheduler_now_ms = 0;

static void setupSchedulerTick( void );

/**
 * Return the next item in the queue
 * (does not remove from queue, != pop)
 */
static inline volatile task_t * task_queue_get_next( void );

static void idle_task( void ) {
    while (1) {}
}

void scheduler_add_task(task_t * task_handle, const char * name,
                        task_func_t func, uint16_t * task_stack, uint16_t stack_bytes) {
    task_handle->next = NULL;
    task_handle->prev = NULL;
    task_handle->name = name;
    task_handle->sleep_start_ms = 0;
    task_handle->sleep_for_ms = 0;

    // Store initial task context in the stack
    uint16_t * stack = &task_stack[(stack_bytes/sizeof(uint16_t))-1];

    // First, store the 20-bit PC and the status
    // register. These will get popped as a last step
    // when returning from the timer interrupt.
    *(--stack) = (uint16_t)func;
    *(--stack) = GIE; // Only set GIE in the status
                      // register we want to start with
                      // Upper 4 bits of PC are also stored
                      // here but are zeroed.

    int reg;
    for(reg=4; reg<NUM_REGISTERS; reg++) {
        // Start at register 4, since
        // R0 == PC
        // R1 == SP
        // R2 == SR
        // R3 is reserved
        // and we load these separately

        // Emulate PUSHX, and save two words
        // per 20-bit register
        *(--stack) = 0x0;
        *(--stack) = 0x0;
    }

    task_handle->task_sp = (void *)stack;

    if(0 == task_queue_head) {
        task_queue_head = task_handle;
        task_queue_head->next = task_queue_head; //Queue of one wraps around on itself
        task_queue_head->prev = task_queue_head; //Queue of one wraps around on itself
    } else {
        // Insert between head and head + 1
        task_handle->next = task_queue_head->next;
        task_queue_head->next->prev = task_handle;
        task_handle->prev = task_queue_head;
        task_queue_head->next = task_handle;
    }
}

static inline volatile task_t * task_queue_get_next( void ) {
    volatile task_t * ret = task_queue_head->next;
    task_queue_head = task_queue_head->next;
    return ret;
}

volatile task_t * scheduler_get_current_task( void ) {
    return task_queue_head;
}

volatile uint32_t scheduler_now( void ) {
    return scheduler_now_ms;
}

void scheduler_run( void ) {
    // 1. Register timer interrupt
    setupSchedulerTick();

    // 2. Loop until the first
    //    context switch after
    //    which we should never
    //    execute this again.
    while(1);
}

void scheduler_init( void ) {
    SCHEDULER_ADD(idle_task, 64);
}

static void setupSchedulerTick( void ) {
    TA0CTL |= MC_0; //Stop timer A during setup
    TA0CCR0 = 32*SCHEDULER_TICK_MS; //Assume ACLK=32kHz

    /*
     * Clock source: ACLK
     * Mode: Count up to CCR repeatedly (and start)
     * Divisor: 1
     * and clear the clock
     */
    TA0CTL =  TASSEL__ACLK|MC__UP|ID__1|TACLR;
    TA0CCTL0 = CCIE; //Enable interrupt for CCR0
    __enable_interrupt();
}

static volatile void * volatile task_sp;

#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR (void)
{
    // Must be static, can't use stack
    static volatile task_t * volatile task_ptr = NULL;

    // Fight the compiler, undo its register pushing
    asm (" POPM.A #5,R15 \n\t");

    // Push all GP registers onto current task stack
    asm (" pushm.a #12, r15 \n\t");
    asm (" mov sp, task_sp \n\t");

    // Save current task stack pointer
    // (ONLY IF WE ARE CURRENTLY IN A TASK)
    if(task_ptr != NULL) {
        task_ptr->task_sp = task_sp;
    }

    do {
        task_ptr = task_queue_get_next();
    } while((task_ptr->sleep_for_ms != 0) &&
            ((task_ptr->sleep_for_ms + task_ptr->sleep_start_ms) > scheduler_now()));
    task_ptr->sleep_for_ms = 0;
    scheduler_now_ms += SCHEDULER_TICK_MS; // TODO don't assume regular intervals

    // Change stacks
    task_sp = task_ptr->task_sp;
    asm (" mov task_sp, sp \n\t");

    // Restore all GP registers from new stack
    asm (" popm.a #12, r15 \n\t");

    asm (" RETI \n\t");
}

redpajama_set_name: RedPajamaGithub


Radio Micheweni (94.7 FM) celebrates World Radio Day!
Radio Micheweni (94.7 FM) located in Micheweni on Pemba Island, Tanzania, celebrates World Radio Day!
This station is part of the "Empowering Local Radio with ICTs" project, which train local radio stations and provide them with tools to foster inclusiveness and interactivity with their listeners. This year's World Radio Day theme: "Radio and Sports" calls for improving the diversity of sports coverage on radio!


text:
La teoria di Debye-Hückel (elaborata da Peter Debye ed Erich Hückel nel 1923) ha lo scopo di spiegare le deviazioni dall'idealità delle proprietà chimico-fisiche associate alle specie chimiche immerse in soluzioni elettrolitiche.

Viene utilizzata per predire i valori dei coefficienti di attività degli ioni in soluzioni diluite.

Per gli elettroliti, a differenza delle soluzioni di non-elettroliti, la deviazione dall'idealità è particolarmente elevata anche in soluzioni con molalità 10−3 mol kg−1.

Da tale teoria deriva la legge di Debye-Hückel, che è un'espressione che lega il coefficiente di attività ionico medio  di una soluzione elettrolitica alla sua forza ionica.

Premessa: il coefficiente di attività ionico medio
Il coefficiente di attività γ è una misura dello scostamento di una soluzione dal comportamento ideale (descritto dalla legge di Raoult); l'attività è pari al prodotto di tale coefficiente per la concentrazione:

a = γ c/c0 dove c0 è la concentrazione standard (1 M)

Nel caso di una soluzione elettrolitica ideale, i coefficienti di attività di tutti gli ioni sono pari a 1.
Tra le principali cause di scostamento dall'idealità sono da annoverarsi gli effetti dell'attrazione di ioni dotati di carica di segno opposto e la repulsione di ioni dotati di carica di segno uguale.

I coefficienti di attività dei singoli ioni non possono essere misurati direttamente, in quanto ogni soluzione elettrolitica contiene al suo interno ioni positivi (cationi) e ioni negativi (anioni). Si fa quindi uso del coefficiente di attività ionico medio , che nel caso di una soluzione di cloruro di sodio (NaCl) è dato da:

In generale, nel caso di un elettrolita AnBm completamente dissociato, il coefficiente di attività medio è dato da:

Tale coefficiente di attività medio può essere calcolato per via teorica dalla teoria di Debye-Hückel e quindi confrontato con i dati sperimentali. Si è visto a proposito che la teoria di Debye-Hückel è in maggiore accordo con i risultati sperimentali nel caso di soluzioni diluite.

Le interazioni che portano a scostamenti dall'idealità nelle soluzioni biologiche sono in genere di natura elettrostatica, cosicché la distinzione tra attività e concentrazione viene operata soltanto per specie cariche. Si considerano usualmente due tipi di interazioni fra specie cariche. La prima di queste è l'interazione fra piccoli ioni vicini fra loro e la seconda è l'interazione con le molecole del solvente.

La più nota fra le teorie che trattano queste interazioni è la teoria di Debye-Huckel e le sue estensioni. Queste teorie prevedono che il coefficiente di attività di un singolo elettrolita in soluzione inizialmente diminuisca rispetto al valore unitario al crescere della sua concentrazione. A concentrazioni più alte, la pendenza della curva del coefficiente di attività in funzione della concentrazione diventi positiva, ma ciò accade a concentrazioni maggiori di quelle fisiologiche.

 Un altro tipo di interazione, che è più frequente nelle soluzioni biologiche, è costituita dal legame tra soluti carichi e particelle (solubili o insolubili) in soluzione. Questo tipo di legame può essere reversibile o irreversibile. Spesso questi soluti legati non sono disponibili al trasporto, cosicché l'attività del soluto diminuisce. Tuttavia, molto spesso il coefficiente di attività è vicino ad 1.

Il modello di Debye-Hückel

Nel modello di Debye-Hückel, gli anioni (ioni negativi) e i cationi (ioni positivi) sono assimilati a sfere aventi rispettivamente carica z1e+ e z2e-, essendo z la valenza dello ione.

Il solvente (in cui gli ioni sono immersi) viene invece assimilato ad un mezzo continuo. Ogni ione in media è circondato maggiormente da ioni aventi carica di segno opposto rispetto allo ione in questione.

Le interazioni elettrostatiche tra gli ioni possono essere calcolate dalla legge di Coulomb, da cui si ricava:

essendo:
 r: distanza tra i due ioni;
 εr: costante dielettrica del solvente;
 e: carica elettrica di un elettrone.

Si assume inoltre che:
 l'elettrolita sia forte, più precisamente si deve avere una costante di dissociazione Kdiss>10−2;
 l'elettrolita sia completamente dissociato, cioè si abbia un grado di dissociazione α pari a 1;
 gli ioni non siano polarizzati dal campo elettrico circostante;
 il solvente non provochi alcun effetto di tipo elettrico;
 non si abbia elettrostrizione;
 i singoli ioni che circondano uno ione centrale possano essere rappresentati come una nube avente densità di carica continua, con una minima distanza di avvicinamento. In altre parole, ogni catione è circondato da una carica negativa uniforme, mentre ogni anione è circondato da una carica positiva uniforme.

Risultati della teoria di Debye-Hückel
Dalle ipotesi fatte precedentemente, Debye e Hückel hanno ricavato la seguente formula per il coefficiente di attività ionico medio:

dove:
 z+ e z- sono rispettivamente la valenza del catione e la valenza dell'anione;
  I è la forza ionica;
 a0 è un parametro che rappresenta la distanza di massimo avvicinamento degli ioni;
 M peso molecolare del solvente;
 m è la molalità dell'elettrolita;
 ν è il numero di ioni che si originano dalla dissociazione di una molecola di elettrolita;
 i coefficienti A e B sono calcolati come segue:

Nel caso particolare di una soluzione acquosa a 25 °C, si ottengono i seguenti valori:
 A = 0,051 mol-1/2dm3/2
 B = 3,29 mol-1/2dm3/2.

La legge limite di Debye-Hückel

La legge limite è ricavata per il limite di bassissima concentrazione (cioè nella condizione di diluizione infinita).

Per bassi valori della forza ionica, il valore del denominatore si può approssimare a 1 e il termine "" si annulla, per cui l'equazione precedente si riconduce alla legge limite di Debye-Hückel, secondo la quale coefficiente di attività medio è proporzionale alla radice quadrata della forza ionica:

dove  è la forza ionica della soluzione e  è il numero di carica dello ione.  è un parametro dipendente dalla permittività elettrica del vuoto e dalla temperatura, ed è pari a 0,509 per l'acqua a 25 °C.

La legge di Debye-Hückel estesa

La legge di Debye-Hückel estesa fornisce risultati coerenti con i risultati sperimentali per concentrazioni fino a circa 0,1 mol kg−1, quando la forza ionica è troppo alta perché la legge limite sia ancora valida.

dove b è un parametro correttivo che dipende dalle interazioni tra gli ioni, chiamato "parametro d'interazione specifica".

La legge di Debye per concentrazioni ancora più elevate prevede dei termini ulteriori del tipo  dove b, c e così via sono coefficienti che dipendono dall'elettrolita in questione.

Verifica della teoria
Onde verificare la validità della teoria di Debye-Hückel sono stati tentati numerosi metodi sperimentali, tra cui metodi indiretti (quali misure di congelamento, della pressione osmotica o di tensione di vapore), oppure metodi diretti (quali la misura del potenziale elettrico in pile). Il problema fondamentale è costituito dal tentativo di spingersi verso diluizioni il più elevate possibile.
In particolare, negli ultimi anni del XX secolo sono state condotte misure attraverso pile a membrane liquide permeoselettive, misure che hanno consentito di spingersi anche a diluizioni dell'ordine di grandezza di 10−4 m.

Queste misure sperimentali hanno confermato appieno la validità della legge Debye-Hückel per elettroliti 1:1 quali ad esempio NaCl, ma hanno messo in evidenza deviazioni negative dalla pendenza limite per elettroliti ad alta carica quali i 2:2 o i 2:3, mentre la teoria di Debye-Hückel  è in grado di prevedere esclusivamente deviazioni positive.

È probabile che l'incapacità da parte delle leggi di Debye-Hückel di prevedere tali deviazioni negative, osservate esclusivamente a diluizioni spinte, derivi dal fatto che tali leggi sono ricavate dalla linearizzazione dell'equazione di Poisson-Boltzmann: le informazioni su tali deviazioni vanno presumibilmente perdute durante la fase di linearizzazione.

Nonostante le leggi di Debye-Hückel siano vecchie di quasi un secolo, non era stato possibile osservare queste piccole discrepanze prima, in quanto non esistevano metodi sperimentali atti a spingersi a diluizioni dell'ordine di grandezza di 10−4 m.

Note

Bibliografia
 P. Debye and E. Hückel (1923). The theory of electrolytes. I. Lowering of freezing point and related phenomena. Physikalische Zeitschrift 1923 24: 185–206.
 R. A. Robinson, R. H. Stokes (1970). Electrolyte Solutions. Butterworths, London.
 F. Malatesta, G. Carrara (1992). Activity coefficients of electrolytes from EMF of liquid membrane cells. I: the metod. Journal of Solution Chemistry 1992, 21, 1251-1270.
 F. Malatesta, S. Trombella, A. Giacomelli, M. Onor (2000). Activity coefficients of 3:3 electrolytes in aqueous solutions. Polyedron 2000, 19, 2493-2500.

Voci correlate
 Attività (chimica)
 Fugacità
 Soluzione ideale
 Elettrolita

Collegamenti esterni

Debye-Huckel
Debye-Hückel
Chimica delle soluzioni

redpajama_set_name: RedPajamaWikipedia


— Enthusiastically married with two awesome kids.
(I'm in blue on the left; my baby boy is abusing me; we climbed half dome the previous day).
— Lots of travel, especially in western Asia and southern Africa (in my twenties), and climbing Mt. McKinley (Denali in Alaska in my teens).


My partner is 22, and I'm worried about her. She has been bedridden since yesterday with a really bad cough, chills, and pain in her chest. She's coughing up green stuff and I think it has blood in it. She just wants to stay home and drink echinacea. Should I take her to the hospital?
It sounds like your partner may have a bad case of pneumonia. If this is the case, she will need a course of antibiotics to ensure it clears. Even if she doesn't have pneumonia, she needs evaluated by a qualified health care professional soon to determine what she has and what treatment strategies are necessary. Pneumonia is caused by an infection of the lung tissue. It is a serious illness that, if left untreated and result in lung abscesses, septic shock, and even death (if severe enough). If your partner has spent any significant time recently in a health care facility (either a hospital or nursing home), she will need intravenous antibiotics in the hospital. If she has not spent time in a health care facility recently, then she may just need oral antibiotics. Other possibilities that cause cough, chills, and pain in her chest is a bad case of bronchitis or a lung abscess (which may need drained). Either way, she needs to be evaluated soon. I suggest you call your partner's primary care physician today and report these symptoms to him or her. You may be instructed to go to the emergency room for further evaluation and treatment. Good luck.
I've had a fever for 5 days started with a headache. What could it be?
Can prolonged abuse of coughe medicine cause permanent mental illness?
What is a distended abdomen?
Do goiters cause one to cough?


The Glendale City Council on Tuesday unanimously approved this design for the city's 100th entry in the upcoming Tournament of Roses Parade.
A floral depiction of Glendale's most famous former ursine resident -- "Meatball" -- will be the centerpiece of the city's next Rose Parade float, council members decided Tuesday.
After he was caught devouring frozen Costco meatballs from a garage refrigerator in Glendale last year, "Meatball" the bear gained celebrity status for frequent jaunts through the city's hillside neighborhoods until his removal to a San Diego County wildlife sanctuary in August.
Titled "Let's be neighbors," the Glendale float will feature the 400-pound California black bear's animatronic likeness popping up and down inside a trash can — its lid teetering on his head — as he's surrounded by wildlife companions, including a waving raccoon, skunk, deer and red-tailed hawk.
The City Council on Tuesday unanimously approved the $155,000 project, concocted by a panel of city workers and float-builder Phoenix Decorating Co.
Mayor Dave Weaver noted that Meatball's star turn has already sparked widespread enthusiasm about the float.
"I never thought [the float] would take off like that. People have associated with Meatball so strongly," said Weaver, a longtime booster for the city's Rose Parade entries.
The float will be the city's 100th in the Rose Parade, a record of participation second only to Los Angeles, Glendale Community Services and Parks Director Jess Duran said.
"I think it's a really cute float and very topical, and really the first one in a long time that speaks to people," Councilwoman Laura Friedman said.
Despite voting for the design, Councilman Ara Najarian shared a less than rose-colored view of Meatball's removal from Glendale after two attempts to relocate the persistent visitor deep within the Angeles National Forest.
Najarian said state wildlife officials should have made more attempts to release Meatball into the wild and was critical of his temporary placement in a fenced concrete enclosure.
Friedman applauded Glendale residents for mobilizing a fundraising campaign to help move Meatball into a more spacious outdoor habitat, though the effort hit a snag when he was denied entrance to a Colorado animal sanctuary.
She and Councilman Frank Quintero instead focused concern on the float's six-figure price tag and the city's slow progress in raising $75,000 from corporate donors and the community in order to reduce the financial burden for the city.
Despite entering residents who donate $25 or more in a drawing for the chance to ride the on float during the parade, the city has raised just $160 from residents and $10,000 from a corporate donor, Duran said.
Weaver, who each year helps organize hundreds of volunteers to help decorate Glendale's floats, was optimistic Meatball's celebrity will help rally community donors.
And in keeping with Meatball's culinary preferences, Weaver suggested the city tap Costco as a sponsor.


Ah, sneakers. By far, one of the most popular kinds of kicks amongst guys worldwide. They're stylish, comfortable and despite being super casual, you can wear them with a lot of different outfits. It's this versatility that's perhaps the most winning reason men love these shoes. However, it's also the main reason so many men can mess up wearing them. After all, their sartorial adaptability is not endless. There are some times when sneakers will simply have to sit on the sidelines.
Keep this caution in mind, but don't let it ruin your love affair with your favorite pair of Chucks. Educate yourself on the dos and don'ts of wearing sneakers, then rock your treads with confidence and sure-fire style.
While you can definitely sport your sneakers with jeans, sweatpants. shorts or chinos, you have to make sure your stylistic planets align. You don't want to pair high-tops with bell-bottoms, for instance, or skateboarding shoes with your perm-pressed, super conservative golfing pants. While you don't have to dress all in one style, the styles should at least be complementary.
The only way to really find out what you really love — and what really looks good on you — is to try them on. Don't buy based on how a pair looked on some celebrity or in a magazine: try them on yourself and see if you like them. See if they are you. You can't always tell this just by looking. Don't confine yourself to what you think you like, either: try on a whole bunch of different pairs. Like shirts and pants, sneakers have different silhouettes and some will just jive better with your body and your vibe than others.
Nothing ruins a good look quite like loose ends. We're talking about the flop: when your pants just hang pointlessly above your sneakers. For a more polished, but not high-maintenance look, pinroll your jeans. This will keep them neatly stacked above your sneakers, showcasing your subtle but undeniable commitment to looking sharp.
When you find true sneaker love, do anything you can to make it yours. As with anything in life, you get out of it what you put in, so if you want your shoes to look great and last, invest in the best sneakers. They are well worth the extra bit of money, since not only will they keep you street-sharp and looking smart for years longer, but they will make you feel like a total boss — and this sort of style confidence is something money can't buy.


text:
Q: How can I render a highcharts solidgauge with Django? I would like to display a highcharts solidgauge (https://www.highcharts.com/demo/gauge-solid). For my little app I use Django and Python3.8. But most examples that I found work only for Angular.
tldr: I get a red error message from highcharts (No. 17), which states that the requested series type does not exist.
The long story: As I did not know any better way I downloaded four js files (https://code.highcharts.com/modules/solid-gauge.js, https://code.highcharts.com/modules/solid-gauge.src.js, https://code.highcharts.com/highcharts-more.js, and https://code.highcharts.com/highcharts-more.src.js). I put them in my Django's static folder and ran manage.py collectstatic.
In my views.py I just tried to replicate the example from the highcharts page, but I do not get it to render. The code looks like this.
def landingpage(request):
   chart = {
       'chart': {
           'type':'solidgauge',
       },
       'title': {'text':'Example gauge'},
       'pane': {
           'center': ['50%', '85%'], 'size': '140%', 'startangle': -90, 'endangle':90, 'background': {
               'backgroundcolor': 'Highcharts.defaultOptions.legend.backgroundColor || \'#EE\'', 'innerRadius': '60%', 'outerRadius': '100%', 'shape': 'arc',
           }
       },
       'exporting': {'enabled': False},
       'tooltip': {'enabled': True},
       'yAxis':{'stops': [
               [0.1, '#55BF3B'], # green
               [0.5, '#DDDF0D'], # yellow
               [0.9, '#DF5353'], # red
           ], 'min':0, 'max':200, 'lineWidth': 0, 'tickWidth': 0, 'minorTickInterval': 'null', 'tickAmount': 2, 'title': {
               'y':-70,
               'text': 'Speed'
           }, 'labels': {
               'y':16
           }
       },
       'credits': {
           'enabled': False
       },
       'plotOptions': {
           'solidgauge': {
               'dataLabels': {
                   'useHTML': True,
                   'borderWidth': 0,
                   'y':6,
               }
           }
       },
       'series': [{
           'name': 'Speed', 'data': [80], 'dataLabels': {
               'format': '
{y}
km/h
'
           }, 'tooltip': {
               'valueSuffix': ' km/h'
           }
       }]
   }
dump = json.dumps(chart, cls=CustomJsonEncoder)
gauge = {'chart':dump}
context['chart_example'] = gauge['chart']
return render(request, templ_folder_name + 'landingpage.html', context)

class CustomJsonEncoder(json.JSONEncoder):
   def default(self, obj):
       if isinstance(obj, Decimal):
           return float(obj)
       return super(CustomJsonEncoder, self).default(obj)

In my template I use this:
{% block content %}

Dashboard

                TBD

    {% load static %}

{% endblock %}

Can you give me any advice where my mistake is located?
Update:
Actually I have no idea how to work with the developer tools in my FF, but I got a screenshot from what it mentions.

A: At least partially I found a solution, but to be honest I do not understand it entirely. I tried several combinations of includes and the one, which seems to work (yet to be tested in detail!) is this:

I am still confused because it has to be exactly this order. First I wanted to take this order highcharts -> highcharts-more -> bullet -> solidgauge. And furthermore I thought that it would make no difference if I used .js or .src.js, but for some reason it does. Maybe someone who is more experienced with this could explain that to me so that I do not make the same mistakes in the future again.
Thanks!

A: I think that it might solve yours considers - highcharts solidgauge module must be initialized after the highcharts-more module, because some of the properties are inherited from the more module. You can test it on this demo: https://jsfiddle.net/BlackLabel/gqLhm3cr/

redpajama_set_name: RedPajamaStackExchange


You're going to get through this.
Bob once lived here. He now lives with a wonderful family in Hayward, California.
Originally from England, I lived in Bristol for many years; home to Banksy, MassiveAttack, Portishead, Tricky, and Wallace and Gromit. I arrived in Oakland, California, in 2012 via 12 years living in the mountains of Colorado. I have worked in education since 1993. For creative outlets I paint, mountain bike, and run. Please feel free to contact me to say hello or talk about art.
The first set of prints the day they arrived from the printer. Available for sale here or at 'Bay Made', Oakland, California.
Me with some of the big head paintings. May 2018.


Nowy Świat - prestigious development in the city centre. High standard apartments, updated rental listing.
Hamilton May presents a two bedroom apartment located in the center of Krakow at Cybulskiego street.
Nowy Świat (or New World) is a new residential development in the centre of Kraków, only 300m from the heart of the old town, the Rynek square. Comprising thirty-two apartments and underground parking, an old building was converted to deliver the highest standard of luxury apartments. On the corner of ulica Garncarska and ulica Cybulskiego, Nowy Świat was completed in early 2007, and is also home to the main office of Hamilton May. Our main office is located on the ground floor of the building as is our administration office.
Nowy Świat has 24 hour porter for the highest security, two levels of covered parking (ground and basement), as well as on-street parking. There are four main levels of apartments, together with two penthouse apartments on the higher floors, all of which are lift serviced. A garden at the rear on the first floor is available for the use of tenants and owners.
Hamilton May Real Estate is the number one agent for this development. Long-term rental apartments available, as well as short-term rental apartments through AAA Krakow Apartments. Call into our office between 9am and 5pm Monday to Friday for more information, or phone/email us for viewings and more information.


text:
Q: Latex Error: Command crashed: biber.exe I am getting an error when running Bibliography on Windows 10, using MikTex 2.9 and TexStudio 2.10, running biblatex 3.1 and biber 2.2, all 64 bit.
Process started: biber.exe "MWE"
Error: Command crashed: biber.exe "MWE"
Process exited with error(s)

In the log file are the following errors:
Package biblatex Info: Trying to load bibliographic data...
Package biblatex Info: ... file 'MWE.bbl' not found.
No file MWE.bbl.
Package biblatex Info: Reference section=0 on input line 10.
Package biblatex Info: Reference segment=0 on input line 10.
LaTeX Warning: Citation 'john' on page 1 undefined on input line 11.
LaTeX Warning: Empty bibliography on input line 12.

I am running the following code:
\documentclass{article}
\begin{filecontents*}{bibliography.bib}
    @book{john,
        author  = {John Johnson},
        title   = {Booktitle},
        year    = {2016}
        }
    \end{filecontents*}
\usepackage[backend=biber]{biblatex}
\addbibresource{bibliography.bib}
\begin{document}
    Hello\cite{john}.
\printbibliography
\end{document}

I also tried running from the command line:
biber --tool MWE.bib

Which gives me the following error:
The procedure entry point Perl_gv_fetchpv could not be located in the dynamic link library
C:\Users\Username\AppData\Local\Temp\par-726f676965\cache-19a661c7206c3f168e864t6as864\biber.exe

Removing the par-726f676965 folder doesn't help either.
Any ideas?

A: Just change the used filename for your bib file from \bibliography.bib to bibliography.bib.  The \ starts a command \bibliography causing your error.
The following MWE compiles with no errors with my current miktex:
\documentclass{article}
\begin{filecontents*}{bibliography.bib} % <================================
    @book{john,
        author  = {John Johnson},
        title   = {Booktitle},
        year    = {2016}
        }
    \end{filecontents*}

\usepackage[backend=biber]{biblatex}
\addbibresource{bibliography.bib}  % <================================

\begin{document}
    Hello \cite{john}.
\printbibliography
\end{document}

A: A complete reinstall of MikTex was the solution for me. See also comments to the opening post.


text:
Central Board of Excise & Customs
New Delhi, the 31st January, 2000
No. 4/2000-Central Excise (N.T.), dated 31-1-2000.
Compounded levy – non-alloy steel ingots/billets and hot re-rolled products – during August 1997
Whereas the Central Government is satisfied that according to a practice that was generally prevalent regarding levy of duty of excise (including non-levy thereof) under section 3A of the Central Excise Act, 1944 (1 of 1944), the duty of excise on goods mentioned in column (2) of the Table below and falling within the sub-heading number of the First Schedule to the Central Excise Tariff Act, 1985 (5 of 1986) specified in the corresponding entry in column (3) of the said Table, manufactured or produced during the period commencing on 1st August, 1997 ending with the 31st August, 1997, was not being levied in excess of the amount mentioned in the corresponding entry in column (4) of the said Table;
Now, therefore, in exercise of the powers conferred by section 11C of the said Central Excise Act, the Central Government hereby directs that the duty of excise leviable in excess of the amount mentioned in column(4) of the said Table shall not be required to be paid in respect of the said products manufactured or produced during the period aforesaid, in accordance with the said practice.
Sub-heading No.
Hot re-rolled products of non-alloy steel on which duty has been paid under Section 3A.
7211.11, 7211.19, 7211.30, 7211.52, 7211.59, 7211.60, 7211.92, 7211.99, 7213.90, 7214.90, 7215.90, 7216.10 and 7216.90
Rs. 300 per metric tonne
Ingots and billets of non-alloy steel on which duty has been paid under Section 3A.
7206.90 and 7207.90
Notification No. 4/2000-C.E. (N.T.), daed 31-1-2000.


text:
Family of Edison grad shot and killed while camping with his children speaks out for the first time
By Cory James
FRESNO, Calif. (KFSN) -- The family of a Central Valley man who was murdered in Southern California is speaking out for the first time.
Fresno native, Tristan Beaudette, was shot while camping in a tent with his two young daughters.
"At least did someone just shoot up in the air and it landed there or did someone target him specifically," said Beaudette's step-dad Terry Krosschell.
That is just one question Krosschell has about the murder of his stepson.
The 35-year-old Edison High School graduate was shot in the head back in June while camping with his two and four-year-old daughters at Malibu Creek State Park.
"They understand that daddy didn't wake up and there was a lot of blood when they woke up with a lot of noise," said Krosschell.
And the noise about who did it is still rumbling.
But now investigators believe they may have the suspect in custody.
42-year-old Anthony Rauda was arrested last week after an intense search in the Malibu Canyon area.
The Los Angeles County Sheriff's Department says he is connected to a series of burglaries and possibly the death of this Central Valley father.
"We are not going to say that yes he is or no he is not we don't have that information yet there will be a lot of work done," said Los Angeles County Sheriff Jim McDonnell. "We've got a weapon in custody, ballistic tests will be performed on that as well as many another scientific test."
That news bringing some hope for Beaudette's family.
"If they can connect him to it at least there will be some sense of relief at least we know we have an idea of what happened," said Krosschell.
However, until authorities give them the closure they need, Beaudette's loved ones hope they will be able to keep his memory alive in his young girls.
"I'm hoping they will stay in camping and the outdoors. I don't want a tragedy like this to stop them from continuing to grow," said Krosschell.
And while this memory at the campground can never be erased, Krosschell knows Beaudette's legacy will live on forever.
Rauda's family tells our sister station, KABC, that he had a history of mental illness and retreated to the Malibu hills because he could not deal with people.
Now Beudettes's stepfather tells us Tristan's Edison High School classmates will be setting up a scholarship fund to honor his life.
malibufresnolos angelesmurderfatal shootinginvestigationmalibu pacific palisades
Fresno Co. mom talks about ex-boyfriend murdering her son
Man accused of killing boss because he was pro-Trump
Former Marine pleads not guilty to murder of Madera County girl
Victim of Fresno's first homicide of 2020 had just enlisted for Army
Death penalty trial starts for suspect in racist killing spree
Arrest warrant issued for Antonio Brown in Florida


text:
Tip: lists of awards, schools, organisations etc
Wood, James (1802–1854)
Our last week's obituary, contained the name of Mr. James Wood, an old colonist, known as an able compiler of statistics, and the original editor and proprietor of Woods Almanack. Mr. Wood, formerly in office in this town, was in Launceston some years, where he kept the Cornwall Hotel, one of the best frequented, and most respectable establishments in the colony. He was subsequently engaged in business houses in Launceston, where he started his sheet Almanack about 1845. The favor this work obtained, and the excellent style in which it was turned out by the printer, Mr. Henry Dowling, induced Mr. Wood to publish his book Almanack, which appeared in the following year and the two Almanacks have been regularly continued since; though of late years, necessarily under other management. About five years since he came to Hobart Town to accept the situation of accountant in the office of Mr. Bicheno, the then Colonial Secretary: this situation he held for about twelve months when he had an apoplectic attack which disabled him from active life. He then received the appointment of Registrar of the Court of Requests, but the duties of which have (in consequence of Mr. Wood's increasing infirmity) been performed for the last two years by his son, Mr. F. G. Wood. Of late deceased was reduced to an almost helpless state, blindness, and deafness being added to his previous ailments. For a week prior to his death, he was bed-ridden; but his death was hastened by a violent attack of dysentery which resulted in a happy release from a world of suffering and sorrow on Wednesday last, at the age of 52, leaving a widow, two sons, and three daughters, him surviving. Deceased was buried on Saturday at St. David's cemetery, the funeral being attended by a number of his old friends and members of their families, among whom was Joseph Hone, Esq. Chairman of the Quarter Sessions, the Revs. Dr. Fry, Dr. Lillie, Medland, Dr. Turnbull, and Messrs. Sorell, McLachlan, Priauix, Millward, T. Macdowell, Capon, Pitcairn, Lovett, Wynne, Vautin, A. Gardiner, Fielding Brown. H. Hull, Jean, Knox, Wise, Fleming, Cartwright, Buckland, Watchorn, Corbett, Lavender, Dermer, Walch, &c. The vacancy in the office of Registrar will most likely be filled by the appointment of his son, who has so long performed the duties of Acting Registrar. The last Almanack with which Mr. Wood had any active concern was that of 1852, which was a greatly improved and enlarged edition comprising useful statistical information respecting the Indian Presidencies, and all the colonies in this hemisphere; to which he gave the more imposing name of the Royal Kalendar. Deceased's indisposition prevented his farther attention to the weighty duties of compilation, and the copyright of the Almanacks came into the hands of his publisher, Mr. Dowling, who as our readers are aware lately disposed of his business and his interest in these "annuals" to Mr. Charles Wilson of Launceston. The benefit conferred on Tasmania, and its various interests by Mr. Wood's labors cannot be estimated. It is known that the Tasmanian Almanack and Royal Kalendar was liberally circulated in England, and had its share in disabusing the people at home as to their ideas of the insignificance of this colony. During deceased's life-time, several gentlemen who arrived in this colony, paid him a visit, and made known the pleasing fact that it was mainly owing to the satisfactory aspect of things given in the Almanack that they had been induced to come here. Mr. Wood was not a wealthy man but he had been enabled to bring up a large family creditably; few men have lived in Tasmania more respected, and few whose afflictions and death have been more sincerely lamented. Requiescat in pace.
Colonial Times (Hobart) , 3 May 1854 , p 3 (view original)
Trove search
Dowling, Henry (acquaintance)
Bicheno, James Ebenezer (employer)
'Wood, James (1802–1854)', Obituaries Australia, National Centre of Biography, Australian National University, https://oa.anu.edu.au/obituary/wood-james-16649/text28548, accessed 29 January 2023.
© Copyright Obituaries Australia, 2010-2023
Hobart, Tasmania, Australia
almanac/directory maker


There's a good chance Cuba is somewhere on your bucket list—it was, after all, our Destination of the Year in 2015. With so many ways to get there and custom journeys popping up, it's hard to ignore the new traveler hot spot that's having a moment some 480 miles off the coast of Florida. Whether you've bought the ticket and planned the itinerary or not, we've got a way to experience the amazing sights—think: retro cars and bold-hued facades—without ever leaving your home.
Onlinetours sent a drone high above the city to take in a view lesser seen. Check it out above. We can't promise you won't be buying yourself a ticket after watching, though.


I'm well aware the I am the prime reason why my co-workers take April 1 off. My pranks around the office have become the stuff of legend. While working for an insurance company soon after I graduated from college, I chose one April Fool's Day afternoon to play a little prank on the entire office. I took several of the leftover pizza boxes from the previous week's company board meeting and stacked them around the cafeteria. I then sent out a department-wide memo stating that free pizza was available in the cafeteria. Dozens of programming nerds schlepped to the cafeteria and all they found was me patting my tummy surrounded by empty pizza boxes. I faked a burp and said "You'll have to be faster than that!".
Another neat thing to do is to print up announcement flyers to place near your office's copiers. Be sure to use the logo of the company that makes your copiers. Indicate that the copiers have been upgraded with a new voice recognition system. Instruct the user to speak commands such as "Copy 100" to into the Start button of the copier. Inform them that the voice recognition system takes several attempts to calibrate to the user's voice, so multiple attempts will be required.
So, there you have it. These are some short, easy pranks that you can use that won't come back to haunt you later. Happy April Fooling!


We're excited to give you free access to RightNow Media—a wonderful library of video resources for all ages from churches, conferences, and pastors all across the country—to help you develop and grow as both a disciple of Jesus and a disciple-maker. Streaming directly to your computer, tablet, Smart TV, or mobile device, you'll find the online Bible Study Library includes relevant content for every age group or spiritual season.
You and your family will love having this online library of over 14,000 videos from respected teachers and leaders covering topics like marriage, finance, parenting, mission, theology, book studies, and a full library for kids. You can search by category, topic, or speaker. Additionally, many of the series have direct links to workbooks and leader guides.
We offer members and attendees free access to this online tool. Utilize the links below to start using this resource today.
Log In Request AccessApple Devices Android DevicesIf you have questions or need assistance, please contact us at office@cfclife.org.


text:
HomeClassicsHenry IV Parts 1 & 2
Henry IV Parts 1 & 2
Edited, introduced and annotated by Cedric Watts, M.A., Ph.D., Emeritus Professor of English, University of Sussex.
In Henry IV, Part 1, the King is in a doubly ironic position. His rebellion against Richard II was successful, but now he himself is beset by rebels, led by the charismatic Harry Hotspur. The King's son, Prince Hal, seems to be more concerned with the pleasures of the tavern world and the company of the fat rogue, Falstaff, than with concerns of state. Eventually, however, Hal proves a courageous foe of the rebels.
This history play is lively in its interplay of political intrigue and boisterous comedy, subtle in the connections between high statecraft and low craftiness, exuberant in its range of vivid characters, and memorable in its thematic concern with honour, loyalty and the quest for power.
In Henry IV, Part 2, the King is ailing, Falstaff is ageing, and the kingdom itself, where rebellion is still rife, seems diseased or debilitated. The comedy has a melancholy undertone, and the politics verge on the Machiavellian. Eventually, the resourceful Hal, inheriting the crown as Henry V, must prove that he can uphold justice in the realm. Here Shakespeare demonstrates a mastery of thematic complexity and subtlety, and shows the price in human terms that may be exacted by political success.
Other titles by William Shakespeare
Romeo and Juliet (Collector's Edition)
The Poems and Sonnets of William Shakespeare
A fool thinks himself to be wise, but a wise man knows himself to be a fool.
Articles related to Henry IV Parts 1 & 2
Sceptical Shakespeare
Cedric Watts examines Shakespeare's religious beliefs.


text:
Q: resize an image using canvas Hi want to resize an image using canvas but can't get it to work...
I want the image to be 100px * 100px, is there any way to solve this?
I have tried googleing and trying but can't get it to work...
I also tried changing the img size in css but this doesn't help either, please help me!
function getBase64Image(img) {
// Create an empty canvas element
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = img.width;
canvas.height = img.height;

// Copy the image contents to the canvas
ctx.drawImage(img, 0, 0);

// Get the data-URL formatted image
// Firefox supports PNG and JPEG. You could check img.src to guess the
// original format, but be aware the using "image/jpg" will re-encode the image.
var dataURL = canvas.toDataURL("image/png");

return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");

}
I also realized that I need to rotate it how can I do this?

A: You have to get a ratio of the width and apply it to the height.
var ratio = 100 / img.width; // 100 for desired width in px
canvas.width = img.width * ratio;
canvas.height = img.height * ratio;

ctx.drawImage(img, 0,0, canvas.width, canvas.height);

typed on phone so forgive small mistakes.


- Bronze Package (1 x PBN) $60 - no discount!
We are offering our popular Done-For-You PBN creation service - PBN Master for the first time ever on Source Market. In this package, you are purchasing the PBN Master 1 x domain package (Bronze) at a very special price! You can also order the Bigger packages by choosing one of the Upgrade option in the bottom of this page. All domains in this PBN are checked by my own proprietary methods.
Very well done job and fast turnaround time, great communication.
I am locked from all of the websites I've purchased. My IP address is blocked, I tried to use hotspot to change my address, that didn't work, cleared cookies, cleared cache, added my IP address through cPanel and it still can not make any edits to any of the websites. I've reached out to the seller multiple times about this without a response. I even contacted them through their ticketing system and they just tell me to contact them in Konker, BUT NOBODY is responding here!!! I spent $530 with this seller and got nothing. I would like a refund or do something so i can make edits to these domains. They are of no use to me if I can not make any edits/changes to them.
Hello, there was a problem with the security plugin that we use that block your IP address. We believe this issue has been solved now.
Social accounts are no longer included but the description says they are. But the sites and domains are good.
Go! Satisfied again with Malaunat & team. Recommend with a capital R!
can you show some sample sites?
Do not trust this seller!I have made an order and paid it on 11/4/2017 however it has not been completed nor refunded.
I'm a repeated buyer of this seller. The PBNs are great for pushing my keywords to the top of google. Solid PBN at a great price. Will buy again!
I'm a bit confused on what happens after the 3 months of free hosting, we start paying for and taking over whatever hosting acct u are using or what?


Today I thought about habits. Why? Because I like to self-improve. Or find fault with myself, depending on your perspective. I certainly always have a to-do list with some potential self-improvement items at hand. I say potential, because most of the time they don't materialize. At least not sustainably. This time will be different, though!
I've been ruminating a lot lately about my need for a career change and the fears going along with it. It hasn't served me well. The rumination I mean. Not the realization that I need to change careers. In fact, ruminating about it has amplified my fears instead of calming them, reminding me of a poem I once read about bad habits: There is a hole in my sidewalk.


text:
require 'spec_helper'

describe Event::Ical::ImportJob, dbscope: :example do
  let(:url) { "http://#{unique_id}.example.jp/#{unique_id}.ics" }
  let(:site) { cms_site }
  let(:cate) { create :category_node_page, site: site }
  let(:node) do
    create :event_node_page, site: site, ical_refresh_method: 'auto', ical_import_url: url, ical_category_ids: [ cate.id ]
  end
  let(:user) { cms_user }
  let(:bindings) { { site_id: site.id, node_id: node.id, user_id: user.id } }

  around do |example|
    Timecop.travel("2018/08/28") do
      example.run
    end
  end

  after { WebMock.reset! }

  context "when importing ics with http success" do
    before do
      WebMock.reset!

      body = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", path))
      stub_request(:get, node.ical_import_url).
        to_return(status: 200, body: body, headers: {})
    end

    context "with regular shirasagi format" do
      let(:path) { "event-1.ics" }

      it do
        expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(2) &
                                                                 output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        Event::Page.site(site).node(node).find_by(ical_uid: 'doc-1').tap do |doc|
          expect(doc.name).to eq "Python 夏休み集中キャンプ"
          expect(doc.category_ids).to eq [ cate.id ]
          expect(doc.event_name).to eq doc.name
          expect(doc.content).to eq "夏休み最後の週に Python の集中キャンプを実施します。"
          expect(doc.summary_html).to eq doc.content
          expect(doc.venue).to eq "教育会館"
          expect(doc.contact).to eq "Python 普及委員会"
          expect(doc.schedule).to eq "8月27日~8月31日"
          expect(doc.related_url).to eq "http://www.example.jp/sabd/"
          expect(doc.cost).to eq "2,000円"
          expect(doc.event_dates).to have(5).items
          event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
          expect(event_dates).to include("2018/08/27", "2018/08/28", "2018/08/29", "2018/08/30", "2018/08/31")
        end
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present
        Event::Page.site(site).node(node).find_by(ical_uid: 'doc-2').tap do |doc|
          expect(doc.name).to eq "SUMMARY-○○○○○○○○○○"
          expect(doc.category_ids).to eq [ cate.id ]
          expect(doc.event_name).to eq doc.name
          expect(doc.content).to eq "DESCRIPTION-○○○○○○○○○○"
          expect(doc.summary_html).to eq doc.content
          expect(doc.venue).to eq "LOCATION-○○○○○○○○○○"
          expect(doc.contact).to eq "CONTACT-○○○○○○○○○○"
          expect(doc.schedule).to eq "SCHEDULE-〇〇年○月〇日"
          expect(doc.related_url).to eq "http://organizer.example.jp/x/y/z/"
          expect(doc.cost).to eq "COST-○○○○○○○○○○"
          expect(doc.event_dates).to have(15).items
          event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
          expect(event_dates).to include("2018/07/30", "2018/07/31", "2018/08/01", "2018/08/02", "2018/08/03")
          expect(event_dates).to include("2018/08/27", "2018/08/28", "2018/08/29", "2018/08/30", "2018/08/31")
          expect(event_dates).to include("2018/09/24", "2018/09/25", "2018/09/26", "2018/09/27", "2018/09/28")
        end
      end
    end

    context "with rdate as period" do
      let(:path) { "event-2.ics" }

      it do
        expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(2) &
                                                                 output(include("there are 1 calendars.\n")).to_stdout
        Event::Page.site(site).node(node).find_by(ical_uid: 'doc-2').tap do |doc|
          event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
          expect(event_dates).to include("2018/07/30", "2018/07/31", "2018/08/01", "2018/08/02", "2018/08/03")
          expect(event_dates).to include("2018/08/27", "2018/08/28", "2018/08/29", "2018/08/30", "2018/08/31")
          expect(event_dates).to include("2018/09/24", "2018/09/25", "2018/09/26", "2018/09/27", "2018/09/28")
        end
      end
    end

    context "ical_refresh_method is auto" do
      let(:path) { "event-1.ics" }
      let!(:node) { create :event_node_page, site: site, ical_refresh_method: 'auto', ical_import_url: url }

      it do
        expect { described_class.perform_jobs(site, user) }.to output(include("there are 1 calendars.\n")).to_stdout

        expect(Job::Log.count).to eq 1
        Job::Log.first.tap do |log|
          expect(log.logs).to include(/INFO -- : .* Started Job/)
          expect(log.logs).to include(/INFO -- : .* Completed Job/)
        end
      end
    end

    context "ical_refresh_method is manual" do
      let(:path) { "event-1.ics" }
      let!(:node) { create :event_node_page, site: site, ical_refresh_method: 'manual', ical_import_url: url }

      it do
        described_class.perform_jobs(site, user)
        expect(Job::Log.count).to eq 0
      end
    end

    context "when ical_max_docs is 1" do
      let(:path) { "event-1.ics" }
      let(:node) { create :event_node_page, site: site, ical_refresh_method: 'auto', ical_import_url: url, ical_max_docs: 1 }

      it do
        expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(1) &
                                                                 output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_blank
      end
    end

    context "when ical is not changed" do
      let(:path) { "event-1.ics" }

      it do
        expect { described_class.bind(bindings).perform_now }.to output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.count).to eq 2

        expect { described_class.bind(bindings).perform_now }.to output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.count).to eq 2

        doc1 = Event::Page.site(site).node(node).where(ical_uid: 'doc-1').first
        expect(doc1.name).to eq "Python 夏休み集中キャンプ"
        doc2 = Event::Page.site(site).node(node).where(ical_uid: 'doc-2').first
        expect(doc2.name).to eq "SUMMARY-○○○○○○○○○○"
      end
    end

    context "when importing ics with exdate" do
      let(:path) { "event-exdate-1.ics" }

      it do
        expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(1) &
                                                                 output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        Event::Page.site(site).node(node).find_by(ical_uid: 'doc-1').tap do |doc|
          expect(doc.name).to eq "Python 夏休み集中キャンプ"
          expect(doc.event_name).to eq doc.name
          event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
          expect(event_dates).to include("2018/08/27", "2018/08/28", "2018/08/30", "2018/08/31")
          expect(event_dates).not_to include("2018/08/29")
        end
      end
    end

    context "when importing ics with rrule" do
      context "daily" do
        let(:path) { "event-rrule-1.ics" }

        it do
          expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(3) &
                                                                   output(include("there are 1 calendars.\n")).to_stdout

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-1').tap do |doc|
            expect(doc.name).to eq "event 1"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to eq %w(2018/08/27 2018/08/28 2018/08/29 2018/08/30 2018/08/31)
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-2').tap do |doc|
            expect(doc.name).to eq "event 2"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to eq %w(2018/08/27 2018/08/28 2018/08/29 2018/08/30 2018/08/31 2018/09/01)
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-3')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-3').tap do |doc|
            expect(doc.name).to eq "event 3"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates.first).to eq "2018/08/27"
            expect(event_dates.last).to eq "2019/08/31"
          end
        end
      end

      context "weekly" do
        let(:path) { "event-rrule-2.ics" }

        it do
          expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(3) &
                                                                   output(include("there are 1 calendars.\n")).to_stdout

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-1').tap do |doc|
            expect(doc.name).to eq "event 1"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to eq %w(2018/08/27 2018/09/02 2018/09/03 2018/09/09 2018/09/10)
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-2').tap do |doc|
            expect(doc.name).to eq "event 2"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to eq %w(2018/08/28 2018/08/29)
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-3')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-3').tap do |doc|
            expect(doc.name).to eq "event 3"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates.first).to eq "2018/08/27"
            expect(event_dates.last).to eq "2019/08/31"
          end
        end
      end

      context "monthly" do
        let(:path) { "event-rrule-3.ics" }

        it do
          expect { described_class.bind(bindings).perform_now }.to change { Event::Page.count }.from(0).to(6) &
                                                                   output(include("there are 1 calendars.\n")).to_stdout

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-1').tap do |doc|
            expect(doc.name).to eq "event 1"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            dates = %w(2018/10/01 2018/10/02 2018/10/03 2018/10/04 2018/10/05 2018/10/06 2018/10/07)
            expect(event_dates).to eq dates
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-2').tap do |doc|
            expect(doc.name).to eq "event 2"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to eq %w(2018/09/29 2018/09/30)
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-3')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-3').tap do |doc|
            expect(doc.name).to eq "event 3"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to start_with(%w(2018/09/15 2018/09/16 2018/09/17))
            expect(event_dates).to end_with(%w(2018/10/13 2018/10/14 2018/10/15))
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-4')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-4').tap do |doc|
            expect(doc.name).to eq "event 4"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            dates = %w(2018/09/24 2018/09/25 2018/09/26 2018/09/27 2018/09/28 2018/09/29 2018/09/30)
            expect(event_dates).to eq dates
          end

          # doc-5 の動作は Thunderbird と Google Calendar とで異なる。ここでは Google Calendar に合わせる。
          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-5')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-5').tap do |doc|
            expect(doc.name).to eq "event 5"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            expect(event_dates).to eq %w(2019/01/31 2019/03/31 2019/05/31 2019/07/31)
          end

          expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-6')).to be_present
          Event::Page.site(site).node(node).find_by(ical_uid: 'doc-6').tap do |doc|
            expect(doc.name).to eq "event 6"
            expect(doc.event_name).to eq doc.name
            event_dates = doc.event_dates.map { |d| I18n.l(d, format: :picker) }
            dates = %w(2018/09/30 2018/10/31 2018/11/30 2018/12/31 2019/01/31 2019/02/28 2019/03/31
                       2019/04/30 2019/05/31 2019/06/30 2019/07/31 2019/08/31)
            expect(event_dates).to eq dates
          end
        end
      end
    end
  end

  context "when ical is updated" do
    context "in second try, there is no doc-2" do
      before do
        WebMock.reset!

        body1 = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", "event-1.ics"))
        body2 = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", "updated_event.ics"))
        stub_request(:get, node.ical_import_url).
          to_return(status: 200, body: body1, headers: {}).then.
          to_return(status: 200, body: body2, headers: {})
      end

      after { travel_back }

      it do
        travel_to('2018-05-01 00:00')
        expect { described_class.bind(bindings).perform_now }.to output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.count).to eq 2
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present

        travel_to('2018-07-01 00:00')
        expect { described_class.bind(bindings).perform_now }.to output(include("update event/page")).to_stdout
        expect(Event::Page.count).to eq 1
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.where(ical_uid: 'doc-2')).to be_blank

        doc1 = Event::Page.site(site).node(node).where(ical_uid: 'doc-1').first
        expect(doc1.name).to eq 'new_doc1'
      end
    end

    context "in second try, there are no events" do
      before do
        WebMock.reset!

        body1 = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", "event-1.ics"))
        body2 = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", "event-empty.ics"))
        stub_request(:get, node.ical_import_url).
          to_return(status: 200, body: body1, headers: {}).then.
          to_return(status: 200, body: body2, headers: {})
      end

      it do
        expect { described_class.bind(bindings).perform_now }.to output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.count).to eq 2
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present

        expect { described_class.bind(bindings).perform_now }.to \
          output(include("there are no events in the calendar\n")).to_stdout
        expect(Event::Page.count).to eq 0
        expect(Event::Page.where(ical_uid: 'doc-1')).to be_blank
        expect(Event::Page.where(ical_uid: 'doc-2')).to be_blank
      end
    end

    context "in second try, timeout error occurs" do
      before do
        WebMock.reset!

        body1 = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", "event-1.ics"))
        stub_request(:get, node.ical_import_url).
          to_return(status: 200, body: body1, headers: {}).then.
          to_timeout
      end

      it do
        expect { described_class.bind(bindings).perform_now }.to output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.count).to eq 2
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present

        expect { described_class.bind(bindings).perform_now }.to output(include("-- Error\n", "execution expired\n")).to_stdout
        expect(Event::Page.count).to eq 2
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present
      end
    end

    context "in second try, 404 error occurs" do
      before do
        WebMock.reset!

        body1 = ::File.read(Rails.root.join("spec", "fixtures", "event", "ical", "event-1.ics"))
        stub_request(:get, node.ical_import_url).
          to_return(status: 200, body: body1, headers: {}).then.
          to_return(status: [ 404, "Not Found" ])
      end

      it do
        expect { described_class.bind(bindings).perform_now }.to output(include("there are 1 calendars.\n")).to_stdout
        expect(Event::Page.count).to eq 2
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present

        expect { described_class.bind(bindings).perform_now }.to output(include("-- Error\n", "404 Not Found\n")).to_stdout
        expect(Event::Page.count).to eq 2
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-1')).to be_present
        expect(Event::Page.site(site).node(node).where(ical_uid: 'doc-2')).to be_present
      end
    end
  end
end


San Jose, CA — March 16, 2010 — WebEnertia today announced that at the annual ADDY® Awards presentation held by the Silicon Valley Chapter of the American Advertising Federation, the company was honored with 12 ADDY Awards. Held on March 4, at the Downtown San Jose Marriott, WebEnertia's impressive haul for the evening included two Best of Category Awards, five Gold ADDYs, four Silver, and one Bronze.
Presented by the American Advertising Federation, the ADDY Awards represent the true spirit of creative excellence by recognizing all forms of advertising from media of all types, creative by all sizes, and entrants of all levels from anywhere in the world. With over 60,000 entries annually, it is the only creative awards program administered by the advertising industry for the advertising industry.
Established in 1999, WebEnertia is a leading interactive digital agency delivering a broad range of services to Silicon Valley clients. Click here to view our winning projects and follow us on Facebook.


text:
All notable changes to this project are documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased](https://github.com/ravage84/SwissPaymentSlipPdf/compare/0.14.0...master)
### Added

### Changed

### Fixed

## [0.15.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.15.0) - 2020-01-22
### Changed
- Updated swiss-payment-slip/swiss-payment-slip to 0.13.0

## [0.14.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.14.0) - 2015-06-15
### Added
- Added testing with PHP 7.0 to Travis, allow failures
- "composer test" command executing phpunit
- "composer check-codestyle" command executing phpcs
- "composer fix-checkstyle" command executing phpcbf

### Changed
- Updated version of swiss-payment-slip/swiss-payment-slip dependency to a more relaxed ^0.12.0
- Remove set minimum-stability ("dev"), get stable version of dependencies
- Changed PHP dependency to  5.4 and higher
- Changed to short array syntax
- Updated phpunit/phpunit development dependency to version ^4.0.0
- Updated squizlabs/php_codesniffer development dependency to version ^2.1.0

### Fixed
- Fixed invalid composer dependency name
- Minor fixes (CS & doc blocks)

## [0.13.1](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.13.1) - 2015-02-18
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.11.1 (API compatible)
- Exclude development/testing only related stuff from the Composer package

## [0.13.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.13.0) - 2015-02-18
### Added
- More tests

### Changed
- Moved the $paymentSlip parameter from the constructor to the createPaymentSlip method (API breaking)
  This way one can create a reusable PaymentSlipPdf object instead of recreating one
  each time he/she wants to create a payment slip as PDF.
  The object is still not fully non stateful but the state (the payment slip reference)
  gets unset after creating the payment slip as PDF.
- Improved the example by making a data dump while processing the payment slip to showcase the functionality

## [0.12.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.12.0) - 2015-02-18
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.11.0 (API breaking)
- Remove $withBackground parameter from createPaymentSlip method
  As it is now settable in the PaymentSlip class.

## [0.11.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.11.0) - 2015-02-18
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.10.0 (API breaking)
- Remove the $fillZeroes parameter in createPaymentSlip method (API breaking)

## [0.10.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.10.0) - 2015-02-17
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.9.0 (API compatible)
  This could lead to exceptions thrown, if you have disabled one or more element data
  but haven't disabled the display of them.

## [0.9.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.9.0) - 2015-02-17
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.8.0 (API breaking)
- Removed the $formatted parameter from PaymentSlipPdf::createPaymentSlip() (API breaking)
  This removes the possibility to decide whether the reference number of the orange payment slip gets formatted or not.
  This functionality must be reimplemented in PaymentSlip somehow.

## [0.8.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.8.0) - 2015-02-17
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.7.0 (API breaking)

## [0.7.1](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.7.1) - 2015-02-17
### Changed
- Updated the swiss-payment-slip/swiss-payment-slip dependency to version 0.6.0 (API compatible)

## [0.7.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.7.0) - 2015-02-17
### Added
- This change log
- .editorconfig file
- PHPUnit 3.7.38 as development dependency
- Scrutinizer CI integration & badges
- composer.lock (not ignored anymore)
- Testing with newer PHP versions and  HHVM in Travis CI
- A .gitattributes
- Packagist Download & Latest badges to the README
- PHPCS 2.1.* as development dependency
- Setup some tests

### Changed
- Set swiss-payment-slip/swiss-payment-slip dependency to version 0.5.0
- Renamed SwissPaymentSlipPdf to PaymentSlipPdf (API breaking)
- Fully adopted the PSR2 Code Style
- Various CS and DocBlock improvements and other code clean up
- Adopted the PSR-4 autoloader standard
- Use a Type Hint for SwissPaymentSlip in the constructor
- Throw an InvalidArgumentException when constructing a SwissPaymentSlipPdf object with invalid parameters
- Reduce complexity of writePaymentSlipLines(), throw InvalidArgumentExceptions
- Implemented/Defined a fluent interface

### Fixed
- Removed misleading time key, which fooled Packagist

## [0.6.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.6.0) - 2013-03-13
### Added
- Added parameter $elementName to SwissPaymentSlipPdf::writePaymentSlipLines()

## [0.5.0](https://github.com/ravage84/SwissPaymentSlipPdf/releases/tag/0.5.0) - 2013-03-08
### Added
- Initial commit with README, LICENSE, composer.json, Travis CI integration, PHPUnit config and actual code


text:
Biografia
In patria è stato paragonato al suo ex compagno di squadra Clemente Rodríguez. È in possesso della cittadinanza italiana, ottenuta nell'agosto del 2014 grazie a un trisavolo, Davide Roca, originario di Decollatura (CZ).

Caratteristiche tecniche
Può essere impiegato come terzino o ala sulla fascia sinistra. Abbina capacità di corsa e di inserimento negli spazi. Di piede mancino, dispone di un buon tiro ed è fisicamente brevilineo.

Carriera

Club

Giovanili e debutto al Boca Juniors
Dopo aver mosso i primi passi nel piccolo club della sua città di origine, lo Juventud de Saavedra, nel 2001 viene notato dall'osservatore Ramón Maddoni, che lo propone per un provino al Boca Juniors. Il club argentino, impressionato dal suo talento, decide di tesserarlo e inserirlo nel suo vivaio, dove si conferma tra i migliori prospetti del calcio argentino.
Il 6 dicembre 2010 l'allenatore Roberto Pompei lo fa debuttare in Primera División in occasione della partita contro il Quilmes.

Durante la Primera División 2011-2012 l'allenatore Julio César Falcioni lo promuove titolare in prima squadra, e il suo contributo si rivela fondamentale: in campionato il 4 marzo 2012 segna la sua prima rete ufficiale in occasione della partita vinta per 2 a 0 contro il San Lorenzo. La squadra vince il torneo di Apertura con 43 punti, ma è in Coppa Libertadores che Sánchez Miño offre le migliori prestazioni: Il 30 marzo realizza il suo primo gol in Copa Libertadores nel match contro l'Arsenal di Sarandí e si ripete il 12 aprile contro il Fluminense. Il 15 giugno 2012 realizza anche il secondo gol nella vittoriosa semifinale di andata contro l'Universidad de Chile, ma resta in panchina nelle due partite della finale, persa contro il Corinthians.

La stagione successiva è ancora protagonista nel torneo di Apertura e Clausura, totalizzando 31 presenze e due reti.

Torino ed Estudiantes
All'inizio di luglio il giocatore inizia a svolgere la preparazione con il Torino, che il 9 agosto annuncia il suo acquisto a titolo definitivo dal Boca Juniors, per una cifra intorno ai 3,2 milioni di euro. Fa il suo debutto con la maglia granata il 31 agosto, nel pareggio interno per 0-0 contro l'.

Dopo una prima parte di stagione negativa si trasferisce in prestito all'Estudiantes con cui disputa 26 partite in campionato segnando 3 reti.

Cruzeiro
Il 6 gennaio 2016 viene ufficializzato un nuovo prestito alla squadra brasiliana del Cruzeiro per tutto l'anno solare 2016.

Independiente
Dopo aver interrotto anticipatamente il prestito al Cruzeiro, nell'estate 2016 si trasferisce a titolo definitivo all'Independiente per la cifra 1,25 milioni di euro.

Elche e ritorno all'Estudiantes
Il 15 settembre 2020 torna in Europa firmando per l', club spagnolo neopromosso in Liga. Il 1º febbraio 2021 rescinde il suo contratto con gli spagnoli.

Rimane svincolato per 16 giorni, dopodiché fa ritorno all'.

Statistiche

Presenze e reti nei club
Statistiche aggiornate al 15 maggio 2016.

Palmarès

Competizioni internazionali

Independiente: 2017

Independiente: 2018

Note

Altri progetti

Collegamenti esterni

Sportivi italo-argentini


We can help you achieve clarity on all of the above and more – providing you with strategic direction to ensure that your plans support your overall goals.
As business owners your time is precious, and you don't want to spend that time on activity that may not really be your 'bag'. For many, this means marketing. We offer a number of one-to-one consultancy services that enable you to maximise your time, whilst benefiting from the expertise of an independent marketing consultant who will ensure that your time (and budget!) is spent wisely.
We're not just here to keep you on the straight and narrow, but are available for you to bounce ideas off, can give you feedback on your marketing activity, and even get our hands dirty and help you and your team implement your plans – from writing content and conducting research to distributing press releases.
From just £150 a month, we will provide an invaluable monthly resource for you and your team. It's up to you how you would like to use the time we allocate to you and we're happy to get involved as much or a little as you wish!
These 4 hour sessions are offered at a fixed price of £350 and are often useful when carried out prior to the start of any of the above consultancy packages.