What to do if your luggage is lost? Choosing a PHP version for Windows Saying discussion thread php

The mother of a good friend of mine lost her suitcase on a flight from St. Petersburg to Moscow, and she had a further flight to warmer shores, and now she was already at the resort - without a swimsuit, sandals and with only a T-shirt from her hand luggage. For old times’ sake, I gave her a couple of tips on what to do and where to run, and today I decided to write everything I know on a given topic here.

To explain where I’m so smart, let me remind you that at one time I worked in ground handling for several airlines, including dealing with certain issues related to baggage search. Well, plus my own flight experience, of course. However, because I left the aviation service industry several years ago, perhaps some nuances might have changed - if so, I will gratefully accept comments on the topic and correct the information in the post.

I'll start with this What you need to do to prevent your luggage from being lost:
1. Tear off all tags and stickers from previous trips from your suitcase, even small ones with a barcode, which are often glued separately to the suitcase itself - they can be confusing automatic system scanning and sorting of luggage.
2. Hang a name tag on your suitcase (bag, box, package - in general, everything that you check in as luggage): you can buy a reusable option in advance or take a paper tag at the check-in counter - usually all more or less decent airlines give them out without restrictions . And Emirates, for example, generally has excellent plastic tags on a durable cord that can last a very long time:

Old paranoids can do like me: I always have a reusable plastic tag from the Samsonite set hanging on my suitcase with my permanent home address, phone number and by email, and when I fly somewhere on vacation, I additionally hang up a paper note on which I indicate the dates of my stay in the new place and all possible contacts (the name and address of the hotel, its local telephone number, if available, and my first and last name, of course ).
3. At the check-in counter, make sure that the baggage tag printed by the check-in agent is affixed to your luggage - with the city code to which you are flying and the flight number.
4. If you have several connecting flights, tell the check-in agent about this and specify to which point you want to check your luggage. In some cases, luggage will have to be picked up at one or another airport along the route, regardless of your desire: this applies, for example, to transfers between airports (Orly and Charles de Gaulle in Paris, Domodedovo - Sheremetyevo - "Vnukovo" in Moscow), separate terminals (terminals 1 and 2 in Frankfurt) or at the first point of arrival in the USA or Mexico - this is a customs requirement in these countries: suppose you are flying Moscow-Washington-Phoenix, a baggage tag is issued for all three segments to Phoenix, but in Washington, the luggage will need to be physically picked up, cleared through customs and checked in again. Also, if you are checking in a baby stroller that you were allowed to take before boarding the plane, or an animal, you will likely need to pick it up at a transit point. In general, in the case of a complex route with transfers, it is better to clarify the details of baggage movements in advance at the airline’s call center or, in extreme cases, at check-in.
5. Make your luggage visible: baggage delays are not always the fault of baggage handlers or failures in the sorting system. Sometimes another absent-minded passenger, tired after a long flight, will take from the luggage carousel the same black Samsonite or nondescript sports bag as yours. Therefore, mark your luggage: hang a bunch of bright ribbons or a small soft toy on the handle, stick a large sticker on it, or simply give preference to an unusual color when choosing a suitcase.

What should not be checked in luggage?
Remember, all airlines and airports lose luggage. Of course, statistics are different for everyone, but even the most reliable airlines can lose or delay luggage, and even at the smallest airport, where a single baggage handler will transport a cart with suitcases directly from the check-in counter to the plane. Therefore, I advise you to always take in your hand luggage:
- important documents, including those that are not needed during the flight (for example, on my last trip to St. Petersburg I needed to change my license, and I took with me in my hand luggage a marriage certificate and all sorts of cards from a driving school)
- keys (in combination with a tag with your address, this can be dangerous)
- money, jewelry (no comments)
- expensive fragile equipment
- medications that you regularly take, in the amount required for the flight, and with a small reserve in case you have to look for an analogue in a foreign country or city. Prescription medications that cannot be purchased if your luggage is lost, take with you in the amount necessary for the entire trip.
- something that may be needed urgently upon arrival (for example, Charger for phone
- something that has sentimental value for you personally: sometimes luggage is lost forever, and if the loss personal diary will break your heart, better leave it at home or take it with you on the plane

An instructive story: during the time of my work at Lufthansa in St. Petersburg, a married couple from the USA came running to our office, wringing their hands - their luggage, which contained very important documents for the adoption trial, had not arrived, the trial was the next day. Of course, the airline is to blame for the loss of luggage, but who benefits from this? To avoid such a situation, it was enough to simply put important papers in your hand luggage.

So, you arrived and did not find your luggage on the baggage belt. What to do?
1. If you checked in your luggage something different from ordinary suitcases: skis, a cello, a wall-sized plasma panel, a baby stroller, a live marble dane, check if there is a separate point for issuing the so-called. oversized luggage or Bulky baggage - luggage similar to the one I described above is often loaded into a separate compartment and unloaded separately, manually. If your luggage is not found there either
2. Go to the baggage tracing or Lost & Found counter. There you will need to fill out a special form with detailed information about your luggage: route, appearance, a short list of contents, your contacts at your permanent place of residence and temporary stay. Also, in the baggage tracing service you are more likely to see a baggage chart like this:

It is according to this classification that your missing luggage will be coded and, so you understand, these two suitcases will be coded the same:

So feel free to add additional details in the description and don't skip the content clause. As a rule, when you first fill out a baggage delay report, you will be asked to indicate several items of contents by which your bag can be identified if there are no identifying marks on the outside and the bag will have to be opened (if the bag is opened, you will put notification about this). Bad example: T-shirt / book / wet wipes, good example: bright red bikini / catalog of Malevich reproductions / folding iron. After filling out the application, the baggage tracing service employee will give you a number in the format XXXYY11111, where XXX is the arrival airport code, YY is the arrival airline code + 5 digits of the application serial number: for example, JFKLH12345, if you flew with Lufthansa to Kennedy Airport in New York. Remember or write down this number - it will be the easiest way to find your application in future applications.
Using the same number you can check the search status YOURSELF (for some reason the link disappears: if it doesn’t work for you, google World Tracer Online and literally the second link - with the heading Baggage Tracing on the website worldtracer.aero - is what you need), because getting through to lost&found is often very difficult
3. Try contacting the office of your airline at the airport of arrival: sometimes (I emphasize - SOMETIMES!) if you have not flown home, but to a place of temporary stay (vacation, business trip), the airline can provide a set of toiletries (Lufthansa has it). included an oversized T-shirt, a toothbrush and paste, a comb, small packages of shampoo and shower gel, a packet of washing powder, etc.) or make a small cash payment for small expenses on the spot (spot cash payment).

What will happen next?
Your file (so-called AHL) will go to centralized system luggage search (World Tracer). All unclaimed items of luggage fall into the same search system, no matter whether they were found without a tag in the nooks and crannies of the baggage yard or remained on the baggage belt; for each of these items, a file of the XXXYY11111 format is also created, only of a different subtype - the so-called. on-hand report or OHD. If the data from the AHL and OHD files coincide (last name, description of the suitcase, route, etc.), both stations (where the loss of luggage was reported and where the unclaimed luggage was found) will receive a notification, and then it’s a matter of technology: re-checking and in case of success forwarding luggage to the desired city. Of course, there is also a large amount of manual work involved - exchanging messages, rejecting similar but not the same suitcases, plus answering multiple phone calls - in general, the baggage tracing service staff never gets bored.
Approximate statistics: more than 90% lost luggage found in the first 3 days of searching, 3% are lost forever.
What can you do?
1. If you have to buy anything urgently needed upon arrival (from a toothbrush to a business suit), be sure to keep your receipts for later compensation. However, you should avoid unnecessary expensive purchases; I’ll explain why later.
2. Following fresh steps, make the most detailed list of contents, preferably with the color, brand and approximate cost of each item, ideally in English (otherwise an airline employee will have to translate this list for entering into the system), contact the airline and send They receive this list and it will be added to the baggage search application. For the first 5 days, the search for luggage is carried out by the airport of arrival, then the search becomes the responsibility of the carrier airline (the airline that is indicated in the application number - remember JFKLH12345?), and after 21 days you can apply for final compensation.
3. If, after 21 days from the date of filing a statement about lost luggage, it has not been found, contact the carrier airline to demand compensation. If I'm not mistaken, the statute of limitations is 2 years, i.e. You can apply for compensation within two years from the date of filing a claim for loss.

Payment of compensation.
To pay compensation, you will need to contact the representative office of your airline with an application for payment, documents confirming the flight and the fact of loss of baggage (boarding passes, baggage tags, claim number for loss of baggage, payment details). If I'm not mistaken, in the Russian Federation a decision on compensation must be legally considered within 30 days. You may also be asked to estimate the cost of the contents and, if possible, provide receipts for the purchase of the suitcase and the items in it (I understand that this is unrealistic in most cases, but this is part of the procedure).
Previously, payments were made based on the weight of checked luggage - about $20 per kilogram. Later, the payment system was changed and the liability of airlines was limited to 1000 conventional units (cost conventional unit calculated within the airline), which at the time of my work corresponded to approximately 1300 euros. Those. even if you bring a receipt for the purchase of a Louis Vuitton suitcase made from a thousand Bolivian gecko skins and stuffed with diamonds, you won’t get more than 1,300 euros.

Sometimes it becomes necessary to perform several actions simultaneously, for example, checking changes in one database table and making modifications to another. Moreover, if one of the operations (for example, checking changes) takes a lot of time, it is obvious that sequential execution will not ensure resource balancing.

To solve this kind of problem, programming uses multithreading - each operation is placed in a separate thread with an allocated amount of resources and works inside it. With this approach, all tasks will be completed separately and independently.

Although PHP does not support multithreading, there are several methods for emulating it, which will be discussed below.

1. Running several copies of the script - one copy per operation

//woman.php if (!isset($_GET["thread"])) ( system("wget ​​http://localhost/woman.php?thread=make_me_happy"); system("wget ​​http://localhost/ woman.php?thread=make_me_rich"); ) elseif ($_GET["thread"] == "make_me_happy") ( make_her_happy(); ) elseif ($_GET["thread"] == "make_me_rich") ( find_another_one( ; )

When we execute this script without parameters, it automatically runs two copies of itself, with operation IDs ("thread=make_me_happy" and "thread=make_me_rich"), which initiate the execution of the necessary functions.

This way we achieve the desired result - two operations are performed simultaneously - but this, of course, is not multithreading, but simply a crutch for performing tasks simultaneously.

2. Path of the Jedi - using the PCNTL extension

PCNTL is an extension that allows you to fully work with processes. In addition to management, it supports sending messages, checking status and setting priorities. This is what the previous script using PCNTL looks like:

$pid = pcntl_fork(); if ($pid == 0) ( make_her_happy(); ) elseif ($pid > 0) ( $pid2 = pcntl_fork(); if ($pid2 == 0) ( find_another_one(); ) )

It looks quite confusing, let's go through it line by line.

In the first line, we “fork” the current process (fork is copying a process while preserving the values ​​of all variables), dividing it into two processes (current and child) running in parallel.

To understand where we are at this moment, in a child or maternal process, the pcntl_fork function returns 0 for the child and the process ID for the mother. Therefore, in the second line, we look at $pid, if it is zero, then we are in the child process - we are executing the function, otherwise, we are in the mother (line 4), then we create another process and similarly perform the task.

Script execution process:

Thus, the script creates 2 more child processes, which are its copies and contain the same variables with similar values. And using the identifier returned by the pcntl_fork function, we find out which thread we are currently in and perform the necessary actions.

I recently tried pthreads and was pleasantly surprised - it's an extension that adds the ability to work with multiple real threads in PHP. No emulation, no magic, no fakes - everything is real.



I am considering such a task. There is a pool of tasks that need to be completed quickly. PHP has other tools for solving this problem, they are not mentioned here, the article is about pthreads.



What are pthreads

That's all! Well, almost everything. In fact, there is something that may upset an inquisitive reader. None of this works on standard PHP compiled with default options. To enjoy multithreading, you must have ZTS (Zend Thread Safety) enabled in your PHP.

PHP setup

Next, PHP with ZTS. Don't mind the big difference in execution time compared to PHP without ZTS (37.65 vs 265.05 seconds), I didn't try to generalize the PHP setup. In the case without ZTS, I have XDebug enabled for example.


As you can see, when using 2 threads, the speed of program execution is approximately 1.5 times higher than in the case of linear code. When using 4 threads - 3 times.


You can note that even though the processor is 8-core, the execution time of the program remained almost unchanged if more than 4 threads were used. It seems that this is due to the fact that my processor has 4 physical cores. For clarity, I have depicted the plate in the form of a diagram.


Summary

In PHP, it is possible to work quite elegantly with multithreading using the pthreads extension. This gives a noticeable increase in productivity.

Tags: Add tags

Attention! This article is hopelessly outdated or is now assessed by the author as having no informational benefit.

The beauty of open-source code is its openness :)) That is. if you have the intelligence/time/desire, you can figure out exactly how the program works. The downside of such code is the difficulty in getting the necessary compiled packages. For example, PHP can be downloaded as sources for Nix systems with subsequent compilation/assembly. Everything is already assembled for Windows, but there are a lot of ready-made binary packages! Options with " thread safe/non thread safe", VC6/VC9 And different versions PHP itself. The article was created to clarify the situation. It is based on different sources, partly on translation from English. All so that next time I won’t have to figure it out again - “what’s the point!?”

Needed PHP version depends on the version of the web server on which it will be used. For example, Apache 1.3.x works with PHP version 3.0.x, Apache 2.x works with PHP version 4.0 and higher. But this is not such a problem, focus on newer stable releases and what the hoster has.

What kind of postscripts VC6, VC9, VC11? PHP sources for Windows are compiled in Visual Studio. VC9 is obtained when compiled in VS 2008, VC11 - Visual Studio 2012. Accordingly, for this whole thing to work for you, libraries must be installed on your computer Visual C++ Redistributable for Visual Studio the corresponding year. Some clarification on this matter.

In addition, if your web server is an old Apache from apache.org, then you need to download the VC6 version of PHP, for compilation of which Visual Studio 6 was used. If PHP will work for IIS or in conjunction with a newer Apache, then you can collect something more modern ;)

For me, the main obstacle in choosing is the hoster. Now there is a stable version of PHP 5.5.4, but he still has 5.2.17!

Now the interesting part: " thread safe or non thread safe?"
Free translation of the article (Dominic Ryan, 09/27/2007)

I have never seen such broken English:((I wanted to quickly translate the article, but I have difficulty understanding what the author wrote. The constant transitions between “what-is-that” and complex sentences generally make Moscow stand out. Translation into Russian is the same complicated by the fact that I do not have enough knowledge and imagination on how to correctly call something in Russian that is usually written only in English%) For example, I have never seen the technical concept of “multi process architecture” in Russian, but my pearl is “flow- unsafe" is generally a question of common sense. In general, I’ll give you what happened.

Difference between thread safe And non thread safe PHP binary packages

Since PHP first appeared on Windows on October 20, 2000 with PHP 3.0.17, its binary packages have always been built as thread safe (TS). The reason is as follows: Windows uses a multi-threaded architecture, and Nix systems support a multi-process architecture. If PHP was compiled as a multi-process CGI application instead of a multi-threaded one, then using it as a CGI module under Windows on an IIS server leads to severe slowdowns and CPU usage. On the other hand, you can connect PHP to IIS as an ISAPI module ( multi-threaded build required- approx. translator). Then another problem arises: some popular PHP extensions designed with a focus on Unix/Linux, i.e. with a multi-process architecture, which leads to the crash of PHP connected to IIS as an ISAPI module. That. CGI creation is the most stable environment for PHP on IIS with the main drawback that it is terribly slow. We have to load and unload the entire PHP environment from memory every time there is a request.

At the time, there were several options to improve PHP performance on IIS. The first is to use opcode caching with programs like eAccelerator, which store PHP scripts in a partially compiled state on disk and/or in memory. This approach significantly reduces script execution time. Another option was to configure IIS to use PHP in mode FastCGI. In this case, the PHP process did not close after completion, but received a new task with the next PHP request. In addition, it was possible to run several PHP processes at the same time, significantly speeding up the processing of requests, which was a bonus of the PHP CGI mode. However, there may have been minor compatibility issues with PHP extensions. It's still the most quick way use of PHP, and the “IIS Aid PHP Installer” installer is configured to set this IIS configuration.

Binaries collected in thread-unsafe mode (non thread safe, NTS), allow you to configure IIS (and other web servers on Windows) to use PHP as a standard CGI interface with a strong performance boost, because in this case (in such a build), the PHP process does not need to wait for threads to synchronize. When comparing the performance of "thread safe" and "non thread safe" PHP binary packages on IIS as a standard CGI interface, the performance increase is up to 40%, but this is still not as fast as using an opcode in the FastCGI method. And the biggest problem is that you cannot reliably use thread-unsafe binaries together with thread-safe ones. This means that you cannot use opcode caching systems like eAccelerator in a PHP environment created by thread-unsafe binary packages (a statement that is correct at the time of writing).

If thread-unsafe PHP cannot be configured to the same speed as a thread-safe environment, then why is it needed in such a build? Let's return to FastCGI and Microsoft's developments in this area over the past few years. Small-soft coders have created their own version of FastCGI, which allows you to configure thread-unsafe PHP binaries in FastCGI mode, which brings performance to the speed of light :)

From the article I concluded that the brakes are observed only when used with the IIS web server. In any case, I haven’t seen any stupid things under Windows+Apache. It also says that you can overclock the NTS assembly by any web server, but I can't imagine such an Apache config.

Threaded discussion

A threaded discussion is an electronic discussion (such as one via e-mail, e-mail list, bulletin board, newsgroup, or Internet forum) in which the software aids the user by visually grouping messages. Messages are usually grouped visually in a hierarchy by topic. A set of messages grouped in this way is called a topic thread or simply "thread". A discussion forum, e-mail client or news client is said to have "threaded topics" if it groups messages on the same topic together for easy reading in this manner. Moreover, threaded discussions typically allow users to reply to particular posting within a topic"s thread. As a result, there can be a hierarchy of discussions within the thread topic. Various types of software may allow this hierarchy to be displayed in what"s called Threaded Mode. (The alternative being Linear Mode, which typically shows all of the posts in date order, regardless of who may have specifically replied to whom.)

Advantages

The advantage of hierarchically threaded views is that they allow the reader to appreciate quickly the overall structure of a conversation: specifically who is replying to whom. As such it is most useful in situation with extended conversations or debates, such as newsgroups: indeed, for really complex debate, it quickly becomes impossible to follow the argument without some sort of hierarchical threading system in place.

Another benefit is in the more subtle appreciation of community in hierarchically threaded systems. As responses have to be made to specific posts, they are also made to specific individuals. Threaded conversations therefore tend to focus the writer on the specific views and personality of the individual being responded to. This occurs less in fora where the latest comment is just inserted into the general pool.

Disadvantages

A disadvantage of hierarchical threading over flat threading is an increased level of complication, and such a view therefore requires an increased level of comfort and sophistication on the part of its users. It is therefore not surprising that its takeup has been heaviest in some of the oldest and/or most sophisticated of online communities, such as Usenet, CIX or Slashdot. Web chat and comment systems are, by comparison, younger and open to a wider audience, and as such hierarchical threading is only recently becoming commonplace in such arenas.

Imposing a tree hierarchy also tends to fragment discussion within a topic: it no longer becomes possible to post a message responding to or summarizing several different previous posts. Instead, every previous post must be responded to individually. It is arguable that this leads to a more confrontational debating style in fora that use hierarchical threading. However, true though that may be, if a direct threaded reply is no longer possible due to volume of replies to the desired post, users are now often using quotes by the person they are responding to in order to keep the conversation on track and flowing smoothly This is recommended by most message board communities in the event that the threading has reached its otherwise comprehensive limit.

Open thread

An open thread refers to a blog post where readers may comment and discuss any topic that they choose. They are usually more useful on popular blogs with large amounts of traffic; they are often used when the author of the blog has no subject matter to post on or when there is a lull in posting.

Open threads are also used to break up the monotony of posts on the main pages of blogs. Comments may build up on content-oriented posts; therefore, authors use the open threads so page load times won't be slowed down.

Examples

*Yahoo! Groups [ http://groups.yahoo.com/], MSN Groups [ http://groups.msn.com/] and Slashdot [ http://www.slashdot.com/] all offer web-based forums that feature threaded discussions.

See also

*Scholarly Skywriting
* List of blogging terms

References

*Dartmouth. (2003). [ http://www.dartmouth.edu/~webteach/articles/discussion.html "Taking discussion online" ]
*Wolsey, T. DeVere, [ http://www.readingonline.org/articles/art_index.asp?HREF=wolsey/index.html "Literature discussion in cyberspace: Young adolescents using threaded discussion groups to talk about books] . "Reading Online", 7(4), January/February 2004. Retrieved December 30, 2007

Wikimedia Foundation.

  • 2010.
  • Leon Powe

Barh Azoum

    Look at other dictionaries: Internet forum

    - The phpBB Internet Forum software package, one of the most popular forum packages… Wikipedia History of virtual learning environments 1990s

    - In the history of virtual learning environments, the 1990s was a time of growth, primarily due to the advent of the affordable computer and of the Internet.1990s1990* Formal Systems Inc. of Princeton, NJ, USA introduces a DOS based Assessment… … Wikipedia CoFFEE - Collaborative Face to Face Educational Environment Developer(s) LEAD consortium Stable release 5.0 / June 2010 Operating system

    Cross platform... Wikipedia Conversation threading

    - is a feature used by many email clients, bulletin boards, newsgroups, or Internet forums in which the software aids the user by visually grouping messages. Messages are usually grouped visually in a hierarchy by topic. A set of messages grouped... ... Wikipedia Slashdot

    - Screenshot of the Slashdot.org main page URL slashdot.org Slogan News for nerds. Stuff that matters...Wikipedia MediaWiki

    - namespace redirects here. For help regarding the MediaWiki namespace on Wikipedia, see Help:MediaWiki namespace. For general information about Wikipedia namespaces, see Wikipedia:Namespace. Talk page and MediaWiki talk page redirect here. For... ... Wikipedia Computer-mediated communication

    Comparison of wiki software- The following tables compare general and technical information for a number of wiki software packages. Contents 1 General information 2 Target audience 3 Features 1 4 Features 2 … Wikipedia

    Scholarly Skywriting- is a term coined by cognitive scientist Stevan Harnad describing the combination of multiple email and a topic threaded web archive such as a newsgroup, electronic mailing list, hypermail, netnews or Internet forum, linked and sortable by date,… … Wikipedia

    Collaborative decision-making software- Collaborative decision making (CDM) software is a software application or module that coordinates the functions and features required to arrive at timely collective decisions, enabling all relevant stakeholders to participate in the process. The... ... Wikipedia



2024 wisemotors.ru. How it works. Iron. Mining. Cryptocurrency.