text:
Subscribe to our newsletter to receive information on our products, news & special offers.
Price £59.50
BULK BREW (house blend) FILTER COFFEE 40 X 80G
Our Blend 50 has been a favourite with our customers for over 25 years. Perfected in our Roasting room to produce a fine aroma and good flavour in the cup. Well balanced and enjoyable at any time of day. A smooth, medium strength filter coffee.
This Coffee is available to purchase in our online shop in 40g, 50g, 60g and 70g Vacuum Packets for standard Filter coffee machines or call for further information and prices on 80g, 120g or 150g Vacuum Packets for Bulk Brewing systems.
Note: Filter Papers available to purchase - Not inlcuded.
TASTE: Bold, rich, earthy, full of body & balanced with dried fruits
AROMA: Rich, Earthy
BLEND: South America & Asia, medium/dark roast
CONTINENT: South America & Asia
There are currently no reviews for this product. Be the first to Write a review.
Product 1/11
Cookie ControlWe would like to place cookies on your computer to help us make this website more user-friendly.
By using our site you accept the terms of our Privacy Policy.


text:
We see 'bourgeois with a twist' for the second stand-alone show from French designer Mabille
The privilege of opening the Paris menswear shows was once again awarded to French hot shot designer Alexis Mabille. In his second stand-alone menswear collection, the bow tie crazed Mabille continued his self-proclaimed mission to bring 'Bourgeois with a Twist' to the people. On the second floor of the Parisian Academy of Architecture – a fitting venue since Mabille's clothes apparently has an "architectural outlining made out of piping, trimming and painted borders" – he suggested a somewhat sombre look for this autumn.
Luckily it wasn't his take on the, by now boring, climate of financial doom and gloom, but merely a comment on the colour of the winter sky. And it isn't just London that is dark and moody, because Mabille's Paris-inspired collection was all about grey. And black, but mostly…grey! Nevertheless, Alexis being Alexis, there were signs of hope through sparkling and glimmering details that followed the show and, more importantly, the Alexis Mabille customer who went through his daily wardrobe on the catwalk; luxurious office wear to extravagant evening outfits.
His main silhouette was a tight top with loose bottoms, and we saw it in formal suits as well as more casual cords and cardigans. But, as you know, casual isn't what Alexis does best. He excels at taking basic items – like his duffel coat – and re-making it with Persian lamb materials. Suits came in an interesting heavy wool mix, or as a black wool organza tuxedo and the knitwear came out elaborate, to say the least. And rather rebellious for Mabille, Bermuda shorts were shown on top of long johns.
Underwear collection 'Zero' launched with a parade of silk boxers and briefs, often with shirt collar details. The obligatory bow ties were shown in the form of minor details or accessories. All in all Alexis Mabille successfully continued his motto of luxurious menswear for everyday use; sexy AND comfortable!
Dazed Digital: What did you look to for inspiration?
Alexis Mabille: I was influenced by the greyness of the world, how the sky changes colour and how it affects the city. It was very urban, and about being comfortable in a big city – that's why the collection is called Urban Greys!
DD: You're always using Paris as your muse, aren't you?
Alexis Mabille: I love the city – I wake up early when there is no one around, and I go to bed late. I'm not that crazy about travelling like many designers: I get my inspiration here. You won't see me drawing influences from Africa or India any time soon!
DD: You've mentioned sexy and comfortable – aren't they often opposites?
Alexis Mabille: Yes, but you can do sexy things with sweatshirts and t-shirts. For example, I use beautiful Swiss cotton and then I alter the proportions, and then you have a totally new garment…
DD: Yes, you played around with proportions quite a lot this time!
Alexis Mabille: That's how I wear my clothes. Personally, I like buying over sized clothes, but I also like a tiny waist, so I change it around with safety pins to play with the volume of the silhouette.
DD: How did the underwear collection 'Zero' come about?
Alexis Mabille: Every time I wanted to buy underwear I could only find over-sexy or boring ones, nothing in between. They're very comfortable and beautiful– for me it's a question about sensibility.
DD: What's your favourite piece from the collection?
Alexis Mabille: I love the cardigan with push buttons attached on it!

subset: commoncrawl


text:
Do you need to know anything else about the Canterbury House once you find out it has a pool with an island in the middle? Nope. Sold!
The Canny-designed Australian home was inspired by the summer. And can't you tell? It's breezy and airy and seems like a lovely oasis down under. Most of its walls aren't walls at all, but sliding glass doors. And there's plenty of room to move about, across four bedrooms and four living areas. Not that any of that matters once the island is on the table. [Freshome]


text:
Silence of Being CD
Silence of Being CD
The Silence of Being CD provides an easy, effortless way to achieve a meditative state. It gradually guides you to meditate on your own or you can continue to meditate along with the CD.
The Silence of Being CD gently encourages the mind to let go of its usual outer-directed focus and experience silent awareness. Unlike meditations which keep the mind focused on images, the body or the breath, this guided meditation allows the mind to relax completely, creating an open, expanded state of awareness. In this relaxed state, thoughts, emotions and bodily sensations are allowed to come and go without resistance, creating an experience of complete acceptance.
Regular use of this meditation helps develop a peaceful mind and an open heart.
The CD contains three meditations, as well as 20 minutes of music for meditating on your own. The Pure Awareness Meditation brings awareness of stillness, and the Rest in Silence Meditation helps deepen the experience of stillness. The Silence of Being Meditation gently guides you to meditate on your own. The music in tracks 1 and 2 is gentle and soothing, far in the background to support the meditations without being distracting.
Track 1: Pure Awareness Guided Meditation (with music) 19:17
Track 2: Rest in Silence Guided Meditation (with music) 18:40
Track 3: Silence of Being Guided Meditation (without music) 21:25
Track 4: Music to Meditate By 20:00


text:
LETTER: Mitt Romney took hypocrisy to extreme
To The Editor:
The most important winner on election night was something truly endangered during what Conan O'Brien called "our long national nightmare," the 2012 campaign: objective truth. Neil Newhouse, a Romney operative, said that Romney's campaign was not going to be dictated by fact-checkers. What? Even Bush the younger, convinced by the Neo-Cons that Saddam Hussein must be ousted, sent Cheney to the CIA to demand "facts" that could be spun and sold to the public. Never mind that Curve Ball lived up to his name as the Bush Administration ignored the warning of German intelligence; Curve Ball's made-up story would do to justify the invasion. And throwing in Colin Powell's "testimony" was the cherry on the cake.
But Mr. Romney, dubbed Etch-a-Sketch and Shape Shifter, as he pandered to the base and then pivoted to a more moderate stance for the general election, was certain that anti-Obamaism was strong enough that truth didn't matter. In so doing he disgraced his religion and his principled parents. A co-religionist, Jon Huntsman, would have presented Obama with a much more serious challenge as he was a qualified candidate of integrity; but he didn't pass muster with The Base.
Mitt Romney is a whited sepulchre: a tomb whitewashed to be pleasing to the eye but which covers up unclean things. Even his statements that were not lies did not tell the whole truth. He was able to bring health care to Massachusetts, not because he reached across the aisle (he established a private elevator because he did not want to engage with Democrats) but because Ted Kennedy was so passionate about the issue that he smoothed the way for Romney; and his Olympics turnaround could not have occurred without taxpayer support, something he would if he could happily withdraw from Big Bird. (Hurray for our athletes; but you're on your own, you poor kids trying to get ready for school).
All politicians exaggerate and spin, but the 2012 fact-checking "pants on fires" that Romney racked up and for which he was unrepentant were just astounding. Romnesia? No, forgetfulness it was not; although even he must have had trouble keeping track of what he had said to whom.
Jesus uses the whited sepulchre image in Matthew 23:27 to decry hypocrisy; I use it to decry Romney's political record which is hypocrisy on steroids. He looks like someone Central Casting had sent to play the president but if we can't disentangle that kind of make-believe from reality we are in serious trouble.
So for President Obama to have a one-on-one with Romney is really disturbing. Not Paul Krugman nor Joseph Stiglitiz, acclaimed economists, but the venture (vulture?) capitalist who lost by insulting voters and offering simplistic stale solutions larded with lies! Does not bode well for a second term that reflects a positive learning curve!
The Oneida Daily Dispatch welcomes letters from our readers about subjects of interest. Letters should be fewer than 500 words.
Letters are subject to editing for clarity, brevity and taste and limited to one per writer per calendar month. For more information call 363-5100 ex 137 or visit: http://bit.ly/Pes27p
All letters must include the author's name, address and a daytime phone number to verify the letter's authenticity; phone number and exact street address will not be published.
Please send to Oneida Daily Dispatch,
130 Broad St. Oneida, NY, 13421


text:
The innovative 2013 Chevrolet Volt
The Chevrolet Volt has established an entirely new segment in the global automotive market. It is a four-passenger car designed to provide the fuel-saving and emissions-reducing benefits of an electric vehicle without the range limitations associated with all-electric vehicles.
With numerous awards that include prestigious North American Car of the Year and European Car of the Year honors – as well as a loyal and passionate customer base – the innovative Volt is bringing new customers into Chevrolet dealerships.
For 2013, Volt offers an e-AT-PZEV specification that earns the Volt a coveted "green sticker" for single-occupancy HOV lane access in California and New York. Volt also adds a Hold mode that allows owners to direct when the Volt uses its gas generator. This feature helps save money because owners who mix city and highway driving can save the battery charge for city travel, where the Volt's EV mode operates most efficiently.
Volt propulsion system
The heart of the Chevrolet Volt is its Voltec propulsion system, which combines pure electric drive and an efficient, range-extending engine, giving the Volt up to 382 total miles of range.
The Volt's long-life battery consists of a 5.5-foot, 435-pound T-shaped, 16 kWh lithium-ion battery pack. It supplies energy to an advanced, 149-horsepower electric drive unit to propel the vehicle. Using only the energy stored in the battery, the Volt delivers an EPA-estimated 38 miles of tailpipe emissions-free electric driving, depending on terrain, driving techniques and temperature.
The Volt battery is covered by an eight-year/100,000-mile warranty. When the battery is depleted, the Volt transitions to extended-range mode. Power is inverted from a technically advanced, 1.4L 84-horsepower gasoline-powered onboard engine to the electric drive unit to provide up to 344 additional miles of range.
Volt design and exterior features
Working closely with aerodynamicists in GM's wind tunnel to shape the Volt, design and engineering teams developed the most aerodynamic vehicle in Chevrolet's history. By reducing the energy needed to overcome air resistance, Volt aerodynamicists contributed an estimated eight miles of electric range and 50 miles of extended range.
The Volt's rounded and flush-front fascia, tapered corners and grille enable air to move easily around the car to reduce drag. In the rear, a carefully designed spoiler controls airflow.
Volt interior
Inside, the Volt offers space, comfort and convenience – including storage compartments and 40/40 rear-folding seats. It also delivers them in a variety of interior color, lighting and trim options unlike any offered before on a Chevrolet sedan.
Standard interior features include SiriusXM Satellite Radio with a three-month trial, automatic climate control and premium cloth seats. Interior trim combinations include jet black seats with ceramic white accents, jet black seats with dark accents, jet black and white seats with ceramic white accents, jet black and spice red seats with dark accents, and pebble beige seats with dark accents.
Volt's starting MSRP is $39,145. It is built at General Motors' Detroit-Hamtramck assembly plant, home to the largest photovoltaic solar array in southeast Michigan. The facility can use the 516 kilowatts of solar energy generated by the 264,000-square-foot array to charge up to 150 Volts or help power the plant.
To learn more about this innovative vehicle, including an informative FAQ section, visit www.chevy.com. You can also learn more by visiting your local Southeast Texas Chevrolet dealer.


text:
Corps sablés
Corps sablés
from 800.00
Printed on Hahnemühle Baryta Fine Art paper with 5cm white border
Signed and Limited Edition of 30 pieces worldwide
All prints are made to order, please allow 2-3 business days for printing. Shipping worldwide in a mailing tube within 10-14 business days.
size (in cm):


text:
Real Estate Radio With Louis Cammarosano 11/7/11
On Monday November 7, 2011, Louis Cammarosano, General Manager of HomeGain, was a guest on the Real Estate Radio show on The Big Talker 1580 AM, hosted by Ryan Sloper.
Listen to the show.
Part 1 (13:55)
Ryan notes that there is a city near Detroit, Hyland Park that has turned off the city's electricity and pulled out the street lights because they can not pay the electric bills. Louis notes that this is considered "austerity". Louis notes that local governments should be able to provide the necessities(fire, police, water and lighting) if the money was managed properly.
Instead local governments rely on bond issues and getting money from Washington to pay for government services. Louis notes the irony of hiring local politicians to get money sent to Washington back to the local municipality. Louis also notes that governments generally don't threatened to cut the non essentials and when they are short on cash, but rather threaten the essential services in order to extract more money. Ryan and Louis discuss the raising of bank fees on consumers and the backlash that it has created, leading to the Bank of America has retracted their intention to charge consumers to use their bank cards.
Louis notes that the entire episode was the unintended consequence of government intervention. Ryan discusses the best way to shop for a mortgage. Ryan discusses factors that impact mortgage interest rates. Ryan notes that the treasury will sell $72 billion of bonds. Ryan notes the change of government in Greece and that the contagion has spread to Italy. Louis notes the the Greek crisis has been lingering because the central bank has been propping them up.
Louis also notes that if more municipalities can not provide services, the Fed may provide a bail out. This would lead to higher interest rates and inflation. Louis predicts that the dollar will out last the Euro in that it can probably print more money and that eventually, entities including sovereigns, must be allowed to fail. Louis notes that the Federal Deposit Insurance Corporation creates a moral hazard. Louis and Ryan discuss fractional reserve banking and its role in creating the potential for bank runs.


text:
BoomWriter necesitaba un nuevo diseño de otro y lanzó un concurso de diseño en 99designs.
Un ganador ha sido elegido entre 58 diseños de 33 diseñadores freelance.
BoomWriter (http://www.boomwriter.com)
BoomWriter allows children to collaborate on books. With BoomWriter, every book is a competition - authors write their own version of the next chapter and then vote on which entry is their favourite. The winning entry becomes the next chapter and the competiton starts again. Authors are awarded points as they take part in and win chapter competitions.
Every author has their own avatar which they can customise. More points unlocks more options.
Used in schools it is a fantastic learning aid, engaging the children in a fun, safe environment. It promotes competition whilst allowing everyone to shine.
BoomWriter is a not-for-profit organisation, set up to promote creative writing in children.
Predominantly children aged between 8 and 13, but may include a couple of years either side.
2 character variations - 1 male, 1 female (vector format - adobe illustrator). Looking for a human form, but open to interpretation (e.g. a robot, a monster with a human shape). Can be very similar to each other (male and female twins).
Characters will be displayed at various sizes, but should fit into a 200-250px square and still look good. Attached some examples to show the style we have in mind. Our best reference is the characters from Pixar films - a stylised 3d feel. We are open to different styles.
Characters will be used in a flash app. allowing the children to customise them (different t-shirts, tops, trousers, shoes, boots, hats etc). We only expect you to show a single set of options/clothes as this competition is for the base character.
Over time, extra characters will be created so there is a possibility that this contest could lead to further opportunities.


text:
If Xdebug saves you time, please consider supporting the project.
» Feature: DBGP - A common debugger protocol for languages and debugger UI communication
1. Description
This document describes a simple protocol for use with language tools and engines for the purpose of debugging applications. It does not describe user interfaces or interactions with the debugger. The protocol provides a means of communication between a debugger engine (scripting engine, vm, etc.) and a debugger IDE (IDE, etc.). Any references to the debugger IDE UI are recommendations only, and are provided for additional explanation or as reasoning for specific design decisions.
1.1 Issues
1. The handling of proxy errors needs to be clarified. Without both IDE and debugger engine supporting commands to be received at arbitrary times, the proxy may have problems sending error or status information to either one. See section 5.3.2. We should think a bit more about what a proxy might need to do.
2. Requirements
3. Terminology
4. Security
It is expected that implementations will provide security, such as ip filtering, ssh tunneling, etc. This protocol itself does not provide a means of securing the debugging session.
5. Initiating a debugging session
The debugger engine initiates a debugging session. The debugger engine will make a connection to a listening IDE, then wait for the IDE to initiate commands. The debugger engine does not step into the first line of execution until the IDE issues one of the continuation commands. The first thing that should happen in a debug session is that the IDE negotiates features using the feature_get and feature_set commands, and sets any additional data, such as breakpoints. Debugger engine implementations should store any data it receives if it is unable to process them prior to compiling and/or executing code. Commands such as stack_get should not be expected to work during this phase, otherwise known as the 'starting' state (see section 7.1 for status levels).
Likewise, at the end of a debug session, there is a 'stopping' state. This state is entered after all execution is complete. For most debugger engine implementations, only a 'stop' command can be accepted at this point, however some implementations may provide additional commands for retrieving various data from the engine for post debug session processing.
5.1 Standard DBGP port
The IDE listens on port 9000 for debugger connections, unless the IDE is using a proxy, in which case it may listen on any port. In that case, the IDE will tell the proxy which port it is listening on, and the proxy should listen on port 9000. While this document defines port 9000 as the standard DBGP port, an implementation may support the use of any port. Current implementations accept various forms of configuration that allow this port to be defined.
5.2 Connection Initialization
When a debugger engine connects to either a IDE or proxy, it must send an init packet:
<init appid="APPID" idekey="IDE_KEY" session="DBGP_COOKIE" thread="THREAD_ID" parent="PARENT_APPID" language="LANGUAGE_NAME" protocol_version="1.0" fileuri="file://path/to/file">
Attributes in the init element can include:
The IDE responds by dropping socket connection, or starting with debugger commands.
The init packet may have child elements for additional vendor specific data. These are entirely optional and must not effect behavior of the debugger interaction. Suggested child elements include:
<engine version="1.abcd">product title</engine> <author>author</author> <company>company</company> <license>licensing info</license> <url>url</url> <copyright>xxx</copyright>
5.3 Just in time debugging and debugger proxies
Proxies are supported to allow multiuser systems work with a defined port for debugging. Each IDE would listen on a unique port and notify the proxy what port it is listening on, along with a key value that is used by the debugger engine to specify which IDE it should be connected with.
With the exception of the init packet, all communications will be passed through without modifications. A proxy could also implement support for just in time debugging. In this case, a debugger engine would break (perhaps on an error or exception) and connect to the proxy. The proxy would then start the IDE (if it is not already running) and initiate a debugging session with it.
The method for handling just in time debugging is not defined by the protocol and is implementation specific. One example of how this may work is that the proxy has a configuration file that defines key's for each user, along with the path to the executable that will provide the UI for that user. The debugger engine would have to know this key value in advance and provide it to the proxy in the init packet (see IDE_KEY in section 5.2). The proxy would know if the IDE is running, since the IDE should have communicated with the proxy already, if it has not, the proxy could execute the IDE directly.
To support proxies and JIT daemons, the IDE should be configured with a port pointing to the proxy/JIT. The IDE then makes a connection to the proxy when it starts and sends the following command:
The proxy should respond with a simple XML statement alerting the IDE to an error, or the success of the initialization (see section 6.5 for more details on the error element).
<proxyinit success="[0|1]" idekey="{ID}" address="{IP_ADDRESS}" port="{NUM}> <error id="app_specific_error_code"> <message>UI Usable Message</message> </error> </proxyinit>
Once the IDE has sent this command, and received a confirmation, it disconnects from the proxy. The IDE will only connect to the proxy when it initially wants to start accepting connections from the proxy, or when it wants to stop accepting connections from the proxy.
The address and port attributes of the returned proxyinit element are the address and port that the proxy is configured to listen for DBGP connections on. This information is returned to the IDE so that it may pass this information on to build systems or the user via some UI.
5.3.1 Init Packet Handling
If a proxy receives the init packet (see section 5.2), it will use the idekey attribute to pass the request to the correct IDE, or to do some other operation such as which may be required to implement security or initiate just in time debugging. The proxy will add the idekey as a attribute to the init packet when it passes it through to the IDE. The proxy may also add child elements with further information, and must add an attribute to the init element called 'proxied' with the attribute value being the ip address of the debugger engine. This is the only time the proxy should modify data being passed to the IDE.
5.3.2 Proxy Errors
If the proxy must send error data to the IDE, it may send an XML message with the root element named 'proxyerror'. This message will be in the format of the error packets defined in 6.3 below.
If the proxy must send error data to the debugger engine, it may send the proxyerror command defined in section 7 below.
5.3.3 Proxy Ports
The proxy listens for IDE connections on port 9001, and for debugger engine connections on port 9000. As with section 5.1, these ports may be configurable in the implementation.
5.4 Multiple Processes or Threads
The debugger protocol is designed to use a separate socket connection for each process or thread. The IDE may or may not support multiple debugger sessions. If it does not, the debugger engine must not attempt to start debug sessions for threads, and the IDE should not accept more than one socket connection for debugging. The IDE should tell the debugger engine whether it supports multiple debugger sessions, the debugger engine should assume that the IDE does not. The IDE can use the feature_set command with the feature name of 'multiple_sessions' to notify the debugger engine that it supports multiple session debugging. The IDE may also query the debugger engine specifically for multithreaded debugging support by using the feature_get command with a feature name of 'language_supports_threads'.
5.5 Feature Negotiation
Although the IDE may at any time during the debugging session send feature_get or feature_set commands, the IDE should be designed to negotiate the base set of features up front. Differing languages and debugger engines may operate in many ways, and the IDE should be prepared to handle these differences. Likewise, the IDE may dictate certain features or capabilities be supported by the debugger engine. In any case, the IDE should strive to work with all debugger engines that support this protocol. Therefore, this section describes a minimal set of features the debugger engine must support. These required features are outlined here in the form of discussion, actual implementation of feature arguments are detailed in section 7 under the feature_get and feature_set commands.
Data packet negotiation
IDE's may want to limit the size of data that is retrieved from debugger engines. While the debugger engines will define their own base default values, the IDE should negotiate these terms if it needs to. The debugger engine must support these requests from the IDE. This includes limits to the data size of a property or variable, and the depth limit to arrays, hashes, objects, or other tree like structures. The data size excludes the protocol overhead.
Asynchronous Communications
While the protocol does not depend on asynchronous socket support, certain design considerations may require that the IDE and/or debugger engine treat incoming and outgoing data in an asynchronous fashion.
For ease of design, some implementations may choose to utilize this protocol in a completely synchronous fashion, and not implement optional commands that require the debugger engine to behave in an asynchronous fashion. One example of this is the break command.
The break command is sent from the IDE while the debugger engine is in a run state. To support this, the debugger engine must periodically peek at the socket to see if there are any incoming commands. For this reason the break command is optional. If a command requires this type of asynchronous behavior on the part of the debugger engine it must be optional for the debugger engine to support it.
On the other hand, IDE's MUST at times behave in an asynchronous fashion. When an IDE tells the debugger engine to enter a 'run' state, it must watch the socket for incoming packets for stdout or stderr, if it has requested the data be sent to it from the debugger engine.
The form of asynchronous communications that may occur in this protocol are defined further in section 6.2 below.
6. Message Packets
The IDE sends simple ASCII commands to the debugger engine. The debugger engine responds with XML data. The XML data is prepended with a stringified integer representing the number of bytes in the XML data packet. The length and XML data are separated by a NULL byte. The XML data is ended with a NULL byte. Neither the IDE or debugger engine packets may contain NULL bytes within the packet since it is used as a separator. The IDE to debugger engine data element (behind --) MUST be encoded using base64.
IDE: command [SPACE] [args] -- data [NULL] DEBUGGER: [NUMBER] [NULL] XML(data) [NULL]
Arguments to the IDE commands are in the same format as common command line arguments, and should be parseable by common code such as getopt, or Pythons Cmd module:
command -a value -b value ...
All numbers in the protocol are base 10 string representations, unless the number is noted to be debugger engine specific (e.g. the address attribute on property elements).
6.1 Why not XML both ways?
The primary reason is to avoid the requirement that a debugger engine has an XML parser available. XML is easy to generate, but requires additional libraries for parsing.
6.2 Packet Communications
The IDE sends a command, then waits for a response from the debugger engine. If the command is not received in a reasonable time (implementation dependent) it may assume the debugger engine has entered a non-responsive state. The exception to this is when the IDE sends a 'continuation' command which may not have an immediate response.
'continuation' commands include, but may not be limited to: run, step_into, step_over, step_out and eval. When the debugger engine receives such a command, it is considered to have entered a 'run state'.
During a 'continuation' command, the IDE should expect to possibly receive stdin and/or stderr packets from the debugger engine prior to receiving a response to the command itself. It may also possibly receive error packets from either the debugger engine, or a proxy if one is in use, either prior to the 'continuation' response, or in response to any other command.
Stdout and stderr, if requested by the IDE, may only be sent during commands that have put the debugger engine into a 'run' state.
If the debugger engine supports asynchronous commands, the IDE may also send commands while the debugger engine is in a 'run' state. These commands should be limited to commands such as the 'break' or 'status' commands for performance reasons, but this protocol does not impose such limitations. The debugger engine MUST respond to these commands prior to responding to the original 'run' command.
An example of communication between IDE and debugger engines. (this is not an example of the actual protocol.)
IDE: feature_get supports_async DBG: yes IDE: stdin redirect DBG: ok IDE: stderr redirect DBG: ok IDE: run DBG: stdin data... DBG: stdin data... DBG: reached breakpoint, done running IDE: give me some variables DBG: ok, here they are IDE: evaluate this expression DBG: stderr data... DBG: ok, done IDE: run IDE: break DBG: ok, breaking DBG: at breakpoint, done running IDE: stop DBG: good bye
6.3 IDE to debugger engine communications
A debugging IDE (IDE) sends commands to the debugger engine in the form of command line arguments.
Some comments support a data argument that is included at the end of the "command line". This data is included in the packet's data length. The data itself is the last part of the command line, after the -- separator. The data must be base64 encoded:
command [SPACE] [arguments] [SPACE] -- base64(data) [NULL]
Standard arguments for all commands
-i Transaction ID unique numerical ID for each command generated by the IDE
All the other arguments depend on which command is being sent.
6.3.1 Escaping Rules
If a value for an option includes a space or NULL character, the IDE MUST encapsulate the value in double quotes ("):
property_get -i 5 -n "$x['a b']"
In other cases, the value MAY be encapsulated in double quotes:
property_get -i 6 -n "$x['ab']"
Inside a double-quoted argument, the double-quote ("), back-slash (\) and NULL character (chr(0)) MUST be escaped with a back-slash. Single quotes (') MAY be escaped.
Escaping double-quote and single-quote:
property_get -i 7 -n "$x[\"a b\"]" property_get -i 8 -n "$x['a b']" property_get -i 9 -n "$x[\'a b\']"
Most languages don't support this, but we have if we have a NULL character in the string, like in $x chr(0) y, or, $x->f chr(0) oo, than they need to be quoted with a back-slash (\), as in:
property_get -i 10 -n "$x\0y" property_get -i 11 -n "$x->f\0oo"
If the NULL character is already escaped according to a language, for example, as part of an array element key, then there is no un-escaped NULL character in the string any more, and hence does not need to be escaped again.
The Debugging Engine in this case would already have returned the XML attribute value $x["a\0b"] [*], where the chr(0) is already escaped as \0.
XML decoding this gives $x["a\0b"], which can be used as argument as either one of:
property_get -i 12 -n $x["a\0b"] property_get -i 13 -n "$x[\"a\\0b\"]"
6.4 debugger engine to IDE communications
The debugger engine always replies or sends XML data. The standard namespace for the root elements returned from the debugger engine MUST be urn:debugger_protocol_v1. Namespaces have been left out in the other examples in this document. The messages sent by the debugger engine must always be NULL terminated. The XML document tag must always be present to provide XML version and encoding information.
For simplification, data length and NULL bytes will be left out of the rest of the examples in this document.
Three base tags are used for the root tags:
6.4.1 response
This data packet is returned as response to continuation commands:
data_length [NULL] <?xml version="1.0" encoding="UTF-8"?> <response xmlns="urn:debugger_protocol_v1" command="command_name" transaction_id="transaction_id"/> [NULL]
6.4.2 stream
This data packet is sent when stream redirection is enabled through 7.15 stdout, stderr redirections. As the data is base64 encoded, the stream packet always has the encoding attribute set to base64:
data_length [NULL] <?xml version="1.0" encoding="UTF-8"?> <stream xmlns="urn:debugger_protocol_v1" type="stdout|stderr" encoding="base64"> ...Base64 Data... </stream> [NULL]
6.4.3 notify
This data packet is sent when 8.5 Notifications are enabled through setting the notify_ok feature (see 7.2.1 Feature names). As the data is base64 encoded, the notify packet always has the encoding attribute set to base64:
data_length [NULL] <?xml version="1.0" encoding="UTF-8"?> <notify xmlns="urn:debugger_protocol_v1" xmlns:customNs="http://example.com/dbgp/example" name="notification_name" encoding="base64"> <customNs:customElement/> ...Base64 Data... </notify> [NULL]
6.5 debugger engine errors
A debugger engine may need to relay error information back to the IDE in response to any command. The debugger engine may add an error element as a child of the response element. Note that this is not the same as getting language error messages, such as exception data. This is specifically a debugger engine error in response to a IDE command. IDEs and debugger engines may elect to support additional child elements in the error element, but should namespace the elements to avoid conflicts with other implementations.
<response command="command_name" transaction_id="transaction_id"> <error code="error_code" customNs:apperr="app_specific_error_code"> <customNs:message>UI Usable Message</customNs:message> </error> </response>
6.5.1 Error Codes
The following are predefined error codes for the response to commands:
000 Command parsing errors
0 - no error 1 - parse error in command 2 - duplicate arguments in command 3 - invalid options (ie, missing a required option, invalid value for a passed option, not supported feature) 4 - Unimplemented command 5 - Command not available (Is used for async commands. For instance if the engine is in state "run" then only "break" and "status" are available).
100 File related errors
100 - can not open file (as a reply to a "source" command if the requested source file can't be opened) 101 - stream redirect failed
200 Breakpoint, or code flow errors
200 - breakpoint could not be set (for some reason the breakpoint could not be set due to problems registering it) 201 - breakpoint type not supported (for example I don't support 'watch' yet and thus return this error) 202 - invalid breakpoint (the IDE tried to set a breakpoint on a line that does not exist in the file (ie "line 0" or lines past the end of the file) 203 - no code on breakpoint line (the IDE tried to set a breakpoint on a line which does not have any executable code. The debugger engine is NOT required to return this type if it is impossible to determine if there is code on a given location. (For example, in the PHP debugger backend this will only be returned in some special cases where the current scope falls into the scope of the breakpoint to be set)). 204 - Invalid breakpoint state (using an unsupported breakpoint state was attempted) 205 - No such breakpoint (used in breakpoint_get etc. to show that there is no breakpoint with the given ID) 206 - Error evaluating code (use from eval() (or perhaps property_get for a full name get)) 207 - Invalid expression (the expression used for a non-eval() was invalid)
300 Data errors
300 - Can not get property (when the requested property to get did not exist, this is NOT used for an existing but uninitialized property, which just gets the type "uninitialised" (See: PreferredTypeNames)). 301 - Stack depth invalid (the -d stack depth parameter did not exist (ie, there were less stack elements than the number requested) or the parameter was < 0) 302 - Context invalid (an non existing context was requested)
900 Protocol errors
900 - Encoding not supported 998 - An internal exception in the debugger occurred 999 - Unknown error
6.6 file paths
All file paths passed between the IDE and debugger engine must be in the URI format specified by IETF RFC 1738 and 2396, and must be absolute paths.
6.7 Dynamic code and virtual files
The protocol reserves the URI scheme 'dbgp' for all virtual files generated and maintained by language engines. Such virtual files are usually managed by a language engine for dynamic code blocks, i.e. code created at runtime, without an association with a regular file. Any IDE seeing an URI with the 'dbgp' scheme has to use the 'source' command (See section 7.14) to obtain the contents of the file from the engine responsible for that URI.
All URIs in that scheme have the form:
The engine-specific-identifier is some string which the debugger engine uses to keep track of the specific virtual file. The IDE must return the URI to the debugger engine unchanged through the source command to retrieve the virtual file.
7. Core Commands
Both IDE and debugger engine must support all core commands.
7.1 status
The status command is a simple way for the IDE to find out from the debugger engine whether execution may be continued or not. no body is required on request. If async support has been negotiated using feature_get/set the status command may be sent while the debugger engine is in a 'run state'.
The status attribute values of the response may be:
The reason attribute value may be:
status -i transaction_id
debugger engine
<response command="status" status="starting" reason="ok" transaction_id="transaction_id"> message data </response>
7.2 Options and Configuration
The feature commands are used to request feature support from the debugger engine. This includes configuration options, some of which may be changed via feature_set, the ability to discover support for implemented commands, and to discover values for various features, such as the language version or name.
An example of usage would be to send a feature request with the string 'stdin' to find out if the engine supports redirection of the stdin stream through the debugger socket. The debugger engine must consider all commands as keys for this command, but may also have keys that are for features that do not map directly to commands.
7.2.1 Feature Names
The following features strings MUST be available:
The following features strings MAY be available, if they are not, the IDE should assume that the feature is not available:
Additionally, all protocol commands supported must have a string, such as the following examples:
breakpoint_set break eval
7.2.2 feature_get
arguments for feature_get include:
feature_get -i transaction_id -n feature_name
debugger engine
<response command="feature_get" feature_name="feature_name" supported="0|1" transaction_id="transaction_id"> feature setting or available options, such as a list of supported encodings </response>
The 'supported' attribute does NOT mean that the feature is supported, this is encoded in the text child of the response tag. The 'supported' attribute informs whether the feature with 'feature_name' is supported by feature_get in the engine, or when the command with name 'feature_get' is supported by the engine.
Example: Xdebug does not understand the 'breakpoint_languages' feature and will therefore set the supported attribute to '0'. It does however understand the feature 'language_supports_threads' and the 'supported' attribute is therefore set to '1', but as PHP does not support threads, the returned value is in this case "0".
7.2.3 feature_set
The feature set command allows a IDE to tell the debugger engine what additional capabilities it has. One example of this would be telling the debugger engine whether the IDE supports multiple debugger sessions (for threads, etc.). The debugger engine responds with telling the IDE whether it has enabled the feature or not.
Note: The IDE does not have to listen for additional debugger connections if it does not support debugging multiple sessions. debugger engines must handle connection failures gracefully.
arguments for feature_set include:
feature_set can be called at any time during a debug session to change values previously set. This allows a IDE to change encodings.
feature_set -i transaction_id -n feature_name -v value
debugger engine
<response command="feature_set" feature="feature_name" success="0|1" transaction_id="transaction_id"/>
If the feature is not supported, the debugger engine should return an error with the code set to 3 (invalid arguments).
7.5 continuation commands
resume the execution of the application.
The response to a continue command is a status response (see status above). The debugger engine does not send this response immediately, but rather when it reaches a breakpoint, or ends execution for any other reason.
run -i transaction_id
debugger engine
<response command="run" status="starting" reason="ok" transaction_id="transaction_id"/>
7.6 breakpoints
Breakpoints are locations or conditions at which a debugger engine pauses execution, responds to the IDE, and waits for further commands from the IDE. A failure in any breakpoint commands results in an error defined in section 6.5.
The following DBGP commands relate to breakpoints:
There are six different breakpoints types:
A breakpoint has the following attributes. Note that some attributes are only applicable for some breakpoint types.
Breakpoints should be maintained in the debugger engine at an application level, not the thread level. Debugger engines that support thread debugging MUST provide breakpoint id's that are global for the application, and must use all breakpoints for all threads where applicable.
As for any other commands, if there is error the debugger engine should return an error response as described in section 6.5.
7.6.1 breakpoint_set
This command is used by the IDE to set a breakpoint for the session.
IDE to debugger engine:
breakpoint_set -i TRANSACTION_ID [<arguments...>] -- base64(expression)
where the arguments are:
An example breakpoint_set command for a conditional breakpoint could look like this:
breakpoint_set -i 1 -t line -f test.pl -n 20 -- base64($x > 3)
A unique id for this breakpoint for this session is returned by the debugger engine. This session breakpoint id is used by the IDE to identify the breakpoint in other breakpoint commands. It is up to the engine on how to handle multiple "similar" breakpoints, such as a double breakpoint on a specific file/line combination - even if other parameters such as hit_value/hit_condition are different.
debugger engine to IDE:
<response command="breakpoint_set" transaction_id="TRANSACTION_ID" state="STATE" resolved="RESOLVED" id="BREAKPOINT_ID"/>
7.6.2 breakpoint_get
This command is used by the IDE to get breakpoint information from the debugger engine.
IDE to debugger engine:
breakpoint_get -i TRANSACTION_ID -d BREAKPOINT_ID
debugger engine to IDE:
<response command="breakpoint_get" transaction_id="TRANSACTION_ID"> <breakpoint id="BREAKPOINT_ID" type="TYPE" state="STATE" resolved="RESOLVED" filename="FILENAME" lineno="LINENO" function="FUNCTION" exception="EXCEPTION" expression="EXPRESSION" hit_value="HIT_VALUE" hit_condition="HIT_CONDITION" hit_count="HIT_COUNT"> <expression>EXPRESSION</expression> </breakpoint> </response>
where each breakpoint attribute is only required if its value is relevant. E.g., the <expression/> child element need only be included if there is an expression defined, the function attribute need only be included if this is a function breakpoint.
The lineno attribute might be different from the one set through 7.6.1 breakpoint_set due to breakpoint resolving, but only if the resolved attribute is set to resolved.
7.6.3 breakpoint_update
This command is used by the IDE to update one or more attributes of a breakpoint that was already set on the debugger engine via breakpoint_set.
IDE to debugger engine:
breakpoint_update -i TRANSACTION_ID -d BREAKPOINT_ID [<arguments...>]
where the arguments are as follows. All arguments are optional, however at least one argument should be present. See breakpoint_set for a description of each argument:
debugger engine to IDE:
<response command="breakpoint_update" transaction_id="TRANSACTION_ID"/>
7.6.4 breakpoint_remove
This command is used by the IDE to remove the given breakpoint. The debugger engine can optionally embed the removed breakpoint as child element.
IDE to debugger engine:
breakpoint_remove -i TRANSACTION_ID -d BREAKPOINT_ID
debugger engine to IDE:
<response command="breakpoint_remove" transaction_id="TRANSACTION_ID"/>
7.6.5 breakpoint_list
This command is used by the IDE to get breakpoint information for all breakpoints that the debugger engine has.
IDE to debugger engine:
breakpoint_list -i TRANSACTION_ID
debugger engine to IDE:
<response command="breakpoint_list" transaction_id="TRANSACTION_ID"> <breakpoint id="BREAKPOINT_ID" type="TYPE" state="STATE" resolved="RESOLVED" filename="FILENAME" lineno="LINENO" function="FUNCTION" exception="EXCEPTION" hit_value="HIT_VALUE" hit_condition="HIT_CONDITION" hit_count="HIT_COUNT"> <expression>EXPRESSION</expression> </breakpoint> <breakpoint ...>...</breakpoint> ... </response>
The lineno attribute for each entry might be different from the one set through 7.6.1 breakpoint_set due to breakpoint resolving, but only if the resolved attribute is set to resolved.
7.7 stack_depth
Returns the maximum stack depth that can be returned by the debugger. The optional -d argument of the stack_get command must be less than this number.
stack_depth -i transaction_id
debugger engine
<response command="stack_depth" depth="{NUM}" transaction_id="transaction_id"/>
7.8 stack_get
Returns stack information for a given stack depth. For extended debuggers, multiple file/line's may be returned by having child elements of the stack element. This is to allow for debuggers, such as XSLT, that have execution and data files. The filename returned should always be the local file system path translated into a file URI, and should include the system name if the engine is not connecting to an ip on the local box: file://systemname/c|/path. If the stack depth is specified, only one stack element is returned, for the depth requested, though child elements may be returned also. The current context is stack depth of zero, the 'oldest' context (in some languages known as 'main') is the highest numbered context.
stack_get -d {NUM} -i transaction_id
debugger engine
<response command="stack_get" transaction_id="transaction_id"> <stack level="{NUM}" type="file|eval|?" filename="..." lineno="{NUM}" where="" cmdbegin="line_number:offset" cmdend="line_number:offset"/> <stack level="{NUM}" type="file|eval|?" filename="..." lineno="{NUM}"> <input level="{NUM}" type="file|eval|?" filename="..." lineno="{NUM}"/> </stack> </response>
Attributes for the stack element can include:
The attributes where, cmdbegin and cmdlength are primarily used for relaying visual information in the IDE. cmdbegin and cmdend can be used by the IDE for high lighting the command that is currently being debugged. The where attribute contains the name of the current stack. This could be the current function name that the user is stepping through.
7.9 context_names
The names of currently available contexts at a given stack depth, typically Local, Global and Class. These SHOULD be UI friendly names. The numerical id attribute returned with the names is used in other commands such as context_get to identify the context. The context id zero is always considered to be the 'default' context is no context id is provided. In most languages, this will the be 'local' context.
context_names -d {NUM} -i transaction_id
debugger engine
<response command="context_names" transaction_id="transaction_id"> <context name="Local" id="0"/> <context name="Global" id="1"/> <context name="Class" id="2"/> </response>
7.10 context_get
Returns an array of properties in a given context at a given stack depth. If the stack depth is omitted, the current stack depth is used. If the context name is omitted, the context with an id zero is used (generally the 'locals' context).
context_get -d {NUM} -c {NUM} -i transaction_id
debugger engine
<response command="context_get" context="context_id" transaction_id="transaction_id"> <property ... /> </response>
7.11 Properties, variables and values
Properties that have children may return an arbitrary depth of children, as defaulted by the debugger engine. A maximum depth may be defined by the IDE using the feature_set command with the max_depth argument. The IDE MAY then use the fullname attribute of a property to dig further into the tree with property_get, property_set and property_value. An IDE MUST NOT apply any escaping rules to the fullname attribute except for the escaping rules as are explained in 6.3.1 Escaping Rules. Data types are defined further in section 7.12 below.
The number of children sent is defined by the debugger engine unless otherwise defined by sending the feature_set command with the max_children argument. If max_depth > 1, irregardless of the page argument, the childrens pages are always the first page. Children are only returned if max_depth > 0 and max_children > 0.
<property name="short_name" fullname="long_name" type="data_type" classname="name_of_object_class" constant="0|1" children="0|1" size="{NUM}" page="{NUM}" pagesize="{NUM}" address="{NUM}" key="language_dependent_key" encoding="base64|none" numchildren="{NUM}"> ...encoded Value Data... </property>
Attributes in the property element can include:
7.11.1 Extended Properties
If the debugger engine and IDE have negotiated to use extended properties (through feature_set -n extended_properties), then a debugging engine MAY use the extended property return type defined here.
A debugging engine MUST use this format if either the name, fullname, or classname values can not be encoded in XML, but only when extended properties are negotiated with the IDE.
If extended properties are not negotiated, a debugger engine MUST NOT use this format, but instead use the normal format, even if this means returning invalid XML to IDEs.
An IDE can detect that a debugger engine has sent this extended format, by detecting that the name attribute on the property element is missing. If the name attribute is not set, then a debugger engine MUST provide name, fullname (optional), classname (optional) and value as sub elements of the <property> element, and encode their values in base64:
<property type="data_type" constant="0|1" children="0|1" size="{NUM}" page="{NUM}" pagesize="{NUM}" address="{NUM}" key="language_dependent_key" encoding="base64|none" numchildren="{NUM}"> <name encoding="base64">...</name> <fullname encoding="base64">...</fullname> <classname encoding="base64">...</classname> <value encoding="base64">...</value> </property>
The debugger engine MAY only pick this format if the extended_properties feature has been negotiated and SHOULD only pick this format if one of the attribute values for name, fullname, classname or value contain information that can not be represented as valid XML within attributes (such as �).
7.12 Data Types
Languages may have different names or meanings for data types, however the IDE may want to be able to handle similar data types as the same type. For this reason, we define a minimal set of standard data types, and a method for specifying more explicit facets on those types. We provide three different type attributes, and a command to map those types to each other. The schema type serves as a hint to the IDE as to how to handle this specific data type, if it so chooses to, but should not be considered to be generally supported. If the debugger engine chooses to support Schema, it should handle all data validation itself.
7.12.1 Common Data Types
This is a list of the common data types supported by this protocol. For ease of documentation, and as hints to the IDE, they are mapped to one or more schema data types, which are documented at http://www.w3.org/TR/xmlschema-2/. Some non-scalar types are also defined, which do not have direct mappings to the base types defined by XML Schema.
Data types that do not map to schema:
For the most part, this protocol treats array's and hashes in the same way, placing the key or index into the name attribute of the property element.
7.12.2 typemap_get
The IDE calls this command to get information on how to map language specific type names (as received in the property element returned by the context_get, and property_* commands). The debugger engine returns all data types that it supports. There may be multiple map elements with the same type attribute value, but the name value must be unique. This allows a language to map multiple language specific types into one of the common data types (eg. float and double can both be mapped to float).
typemap_get -i transaction_id
debugger engine
<response command="typemap_get" transaction_id="transaction_id" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <map type="common_type" name="language_type_name" xsi:type="xsd:schema_type_name"/> </response>
Using the map element, a language can map a specific data type into something the IDE can handle in a more generic way. For example, if a language supports both float and double, the IDE does not necessarily need to distinguish between them (but MAY).
<map type="float" name="float" xsi:type="xsd:float"/> <map type="float" name="double" xsi:type="xsd:double"/> <map type="float" name="real" xsi:type="xsd:decimal"/>
Complex types may be supported if an implementation wishes to. Any implementation doing so should work without the other end having support for this:
<response command="typemap_get" transaction_id="transaction_id" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mytypes="http://mysite/myschema.xsd"> <map type="resource" name="SpecialDataType" xsi:type="mytypes:SpecialDataType"/> </response>
7.13 property_get, property_set, property_value
Gets/sets a property value. When retrieving a property with the get method, the maximum data that should be returned is a default defined by the debugger engine unless it has been negotiated using feature_set with max_data. If the size of the property's data is larger than that, the debugger engine only returns the configured amount, and the IDE should call property_value to get the entire data. This is to prevent large data from slowing down debugger sessions. The IDE should implement UI that allows the user to decide whether they want to retrieve all the data. The IDE should not read more data than the length defined in the packet header. The IDE can determine if there is more data by using the property data length information. As per the context_get command, the depth of nested elements returned is either defaulted by the debugger engine, or negotiated using feature_set with max_children.
property_get -n property_long_name -d {NUM} -i transaction_id
debugger engine
<response command="property_get" transaction_id="transaction_id"> <property ... /> ... </response>
property_set -n property_long_name -d {NUM} -i transaction_id -l data_length -- {DATA}
debugger engine
<response command="property_set" success="0|1" transaction_id="transaction_id"/>
property_value -n property_long_name -d {NUM} -i transaction_id
debugger engine
<response command="property_value" size="{NUM}" encoding="base64|none" transaction_id="transaction_id"> ...data... </response>
When the encoding attribute is not present then the default value of "none" is assumed.
7.14 source
The body of the request is the URI (retrieved from the stack info), the body of the response is the data contents of the URI. If the file uri is not provided, then the file for the current context is returned.
source -i transaction_id -f fileURI
debugger engine
<response command="source" success="0|1" transaction_id="transaction_id"> ...data source code... </response>
7.15 stdout, stderr
Body of the request is null, body of the response is true or false. Upon receiving one of these redirect requests, the debugger engine will start to copy data bound for one of these streams to the IDE, using 6.4.2 stream message packets.
stdout -i transaction_id -c 1
debugger engine
<response command="stdout" success="0|1" transaction_id="transaction_id"/>
8. Extended Commands
A IDE can query the debugger engine by using the feature_get command (see above). The feature strings for extended commands defined in this specification are the same as the command itself. For commands not listed in this specification, the prefix is 'xcmd_name'. Vendor or language specific commands may be prefixed with 'xcmd_vendorname_name'.
8.1 stdin
The stdin command has nearly the same arguments and responses as stdout and stderr from the core commands (section 7). Since redirecting stdin may be very difficult to support in some languages, it is provided as an optional command. Uses for this command would primarily be for remote console operations.
If an IDE wishes to redirect stdin, or cancel the stdin redirection, then it must send the stdin command with the -c argument, without any data. After the IDE has redirected stdin, it can send more stdin commands with the data. Sending both the -c argument and data in the same command is invalid.
If the IDE requests stdin, it will always be a redirection, and the debugger engine must not accept stdin from any other source. The debugger engine may choose to not allow stdin to be redirected in certain situations (such as when running under a web server).
stdin -i transaction_id -c 1 stdin -i transaction_id -- base64(data)
debugger engine
<response command="stdin" success="0|1" transaction_id="transaction_id"/>
8.2 break
This command can be sent to interrupt the execution of the debugger engine while it is in a 'run state'.
break -i transaction_id
debugger engine
<response command="break" success="0|1" transaction_id="transaction_id"/>
8.3 eval
Evaluate a given string within the current execution context. A property element MAY be returned as a child element of the response, but the IDE MUST NOT expect one. The string being evaluated may be an expression or a code segment to be executed. Languages, such as Python, which have separate statements for these, will need to handle both appropriately. For implementations that need to be more explicit, use the expr or exec commands below.
The eval and expr commands can include the following optional parameters:
eval -i transaction_id -- {DATA}
debugger engine
<response command="eval" success="0|1" transaction_id="transaction_id"> <property .../> </response>
8.3.1 expr
expr, short for expression, uses the same command and response as eval above, except that it is limited to evaluating expressions. Only some languages support this functionality. expr should always return a property element if the expression is evaluated successfully. This command is specified for those applications that may need to implement this specific functionality. General uses of the protocol should not expect to find this command available, and should rely on eval above.
8.3.2 exec
exec, short for execute, uses the same command and response as eval above, except that it is limited to executing code fragments. Only some languages support this functionality. An IDE should not expect exec to return a value. This command is specified for those applications that may need to implement this specific functionality. General uses of the protocol should not expect to find this command available, and should rely on eval above.
8.4 spawnpoints
Spawnpoints are points in (currently Tcl) file where a new debug session might (i.e. if this position is a point in the code where a new application is created) get spawned when hit. Spawnpoints are treated much like a different type of breakpoint: They share many of the same attributes as breakpoints, using a type=="spawn" to distinguish themselves. Spawnpoints have an equivalent set of commands. A failure in any spawnpoint commands results in an error defined in section 6.5.
The following DBGP commands relate to spawnpoints:
A spawnpoint has the following attributes:
Spawnpoints should be maintained in the debugger engine at an application level, not the thread level. Debugger engines that support thread debugging MUST provide spawnpoint id's that are global for the application, and must use all spawnpoints for all threads where applicable.
As for any other commands, if there is error the debugger engine should return an error response as described in section 6.5.
8.4.1 spawnpoint_set
This command is used by the IDE to set a spawnpoint for the session.
IDE to debugger engine:
spawnpoint_set -i TRANSACTION_ID [<arguments...>]
where the arguments are:
A unique id for this spawnpoint for this session is returned by the debugger engine. This session spawnpoint id is used by the IDE to identify the spawnpoint in other spawnpoint commands.
debugger engine to IDE:
<response command="spawnpoint_set" transaction_id="TRANSACTION_ID" state="STATE" id="SPAWNPOINT_ID"/>
8.4.2 spawnpoint_get
This command is used by the IDE to get spawnpoint information from the debugger engine.
IDE to debugger engine:
spawnpoint_get -i TRANSACTION_ID -d SPAWNPOINT_ID
debugger engine to IDE:
<response command="spawnpoint_get" transaction_id="TRANSACTION_ID"> <spawnpoint id="SPAWNPOINT_ID" state="STATE" filename="FILENAME" lineno="LINENO"/> </response>
8.4.3 spawnpoint_update
This command is used by the IDE to update one or more attributes of a spawnpoint that was already set on the debugger engine via spawnpoint_set.
IDE to debugger engine:
spawnpoint_update -i TRANSACTION_ID -d SPAWNPOINT_ID [<arguments...>]
where the arguments are as follows. Both arguments are optional, however at least one should be provided. See spawnpoint_set for a description of each option:
debugger engine to IDE:
<response command="spawnpoint_update" transaction_id="TRANSACTION_ID"/>
8.4.4 spawnpoint_remove
This command is used by the IDE to remove the given spawnpoint.
IDE to debugger engine:
spawnpoint_remove -i TRANSACTION_ID -d SPAWNPOINT_ID
debugger engine to IDE:
<response command="spawnpoint_remove" transaction_id="TRANSACTION_ID"/>
8.4.5 spawnpoint_list
This command is used by the IDE to get spawnpoint information for all spawnpoints that the debugger engine has.
IDE to debugger engine:
spawnpoint_list -i TRANSACTION_ID
debugger engine to IDE:
<response command="spawnpoint_list" transaction_id="TRANSACTION_ID"> <spawnpoint id="SPAWNPOINT_ID" state="STATE" filename="FILENAME" lineno="LINENO"/> <spawnpoint .../> ... </response>
8.5 Notifications
At times it may be desirable to receive a notification from the debugger engine for various events. This notification tag allows for some simple data to be passed from the debugger engine to the IDE. Customized implementations may add child elements with their own XML namespace for additional data.
As an example, this is useful for handling STDIN. The debugger engine interrupts all STDIN reads, and when a read is done by the application, it sends a notification to the IDE. The IDE is then able to do something to let the user know the application is waiting for input, such as placing a cursor in the debugger output window.
A new feature name is introduced: notify_ok. The IDE will call feature_set with the notify_ok name and a TRUE value (1). This lets the debugger engine know that it can send notifications to the IDE. If the IDE has not set this value, or sets it to FALSE (0), then the debugger engine MUST NOT send notifications to the IDE. If the debugger engine does not understand the notify_ok feature, the call to feature_set should return an error with the error code set to 3 (invalid arguments).
The debugger engine MUST NOT expect a notification to cause an IDE to behave in any particular way, or even to be handled by the IDE at all.
A proxy may also use notifications, during a debug session, to let the IDE know about events that happen in the proxy. To do this, the proxy will have to listen for feature_set commands and keep track of the values set, as well as passing them through to the debugger engine.
IDE initialization of notifications:
feature_set -i TRANSACTION_ID -n notify_ok -v 1
debugger engine notifications to IDE:
<notify xmlns="urn:debugger_protocol_v1" xmlns:customNs="https://example.com/xmlns/debug" name="notification_name"> <customNs:.../> TEXT_NODE or CDATA </notify>
8.5.1 Standard Notifications
The following list of notifications are standardized for the protocol. Other notifications may be added by other implementations. It is suggested that notification names not found in this document are preceded with 'XXX' or some similar tag as a means of preventing name conflicts when new notifications get added to the protocol in the future.
8.5.2 Error Notification
When a language engine creates a debugging notification, the debugger engine MAY convert this to a DBGp notification. As an example, this can be used to convert PHP's Notices and Warnings to DBGp notifications.
With the notify_ok feature set, a notification like the following would be returned. As the notification comes straight out of the debugger engine, the data passed in this packet is base64 encoded (as indicated by the encoding attribute on the notify tag. This extensive XML snippet also displays how XML namespaces SHOULD BE used for providing additional information:
<notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" name="error" encoding="base64"> <xdebug:message filename="file:///tmp/xdebug-dbgp-test.php" lineno="5" type="Notice"> <![CDATA[Undefined variable: bar]]> </xdebug:message> Tm90aWNlOiBVbmRlZmluZWQgdmFyaWFibGU6IGJhciBpbiBmaWxlOi8vL3RtcC94ZGVidWctZGJncC10ZXN0LnBocCBvbiBsaW5lIDU= </notify>
8.6 interact - Interactive Shell
The interact command allows an IDE to send chunks of code to be compiled and executed by the debugger engine. While this is similar to the eval command, it has a couple important differences.
First, it buffers code sent to it until a successful compile is achieved. The buffering allows the IDE to send a line of code for each call to the interact command, which reflects a user typing code into a console. Each line is joined in the debugger engine with a newline character. As soon as a successful compile happens, the code is run and any output returned to the IDE (via stdout/stderr or otherwise).
Second, it returns a prompt string that can be used by the IDE as an input prompt for the user.
The interact command can only be called during a break or interactive state.
The debugger engine implementation MAY also be designed to work in and interactive-only mode, where there is no script being debugged, and all code is received through the interact command. This allows the protocol to be utilized for the purpose of a pure interactive shell for the language.
Control characters should be sent in the data section of the command, and the debugger engine should handle the control characters in a way that is expected by the implementation. These characters can include Ctrl-C (KeyboardInterupt in Python) and other such console like controls. The IDE should not expect the debugger engine to handle control characters in any specific way.
The IDE can query the debugger engine for interact support using the feature_get command.
The 'filename' in the stack for an interactive session should be '<console>' or some other string to denote a console stack level.
The debugger engine is not required to enable debugging of code received via the interact command, however it should provide access to other information, such as the variables retrieved via context_get.
IDE to debugger engine:
interact -i TRANSACTION_ID -m mode -- base64(code)
debugger engine to IDE:
<response command="interact" transaction_id="TRANSACTION_ID" status="STATUS_NAME" more="CONTINUE_FLAG" prompt="PROMPT" />
A. ChangeLog
2018-01-09 - draft 21
2017-07-10 - draft 20
2016-12-24 - draft 19
2010-01-20 - draft 17
2007-07-14 - draft 16
This site and all of its contents are Copyright © 2002-2019 by Derick Rethans.
All rights reserved.


text:
Sheryl Sandberg's "Lean In" venture is being rightly attacked for all the wrong reasons. She's been drubbed for being too privileged and too powerful. What could a Harvard MBA who hopped from the World Bank to Google to Facebook's COO know about the lives of "real" women?
So much of the flap -- pro and con -- over Sandberg's attempt to jump-start a women's revolution has less to do with the attempt than with resentment over her class status.
Her antagonists can't get two sentences into their critique without invoking her net worth and the square footage of her house ($500 million and 9,000, respectively). And her proponents can't get two sentences into their defense without telling us how marvelous she was at that tete-a-tete at that five-star restaurant or that world power brokers' summit that they had the good fortune to attend.
Economic envy is the skunk at Sandberg's book release party.
We hate her for being so anointed, or we love her because we were deemed anointed enough to rub shoulders with her at some post-TED-talk party -- "we" being the comfortable middle-to-upper class women fueling this media debate. Either way, what's been missed is a real opportunity that Sandberg's proposal unintentionally spotlights: the opportunity to talk honestly about feminism and class.
The unmentionable issue of class
Americans are notoriously averse to discussing class. We want to believe the prime barrier to socioeconomic advancement is ourselves. Sandberg believes that, too.
"We can reignite the revolution by internalizing the revolution," she writes in "Lean In: Women, Work, and the Will to Lead." All we need to do is "lean in" to our ambitions, and up, up and away we go.
The handpicked positive stories posted on the Lean In website all attest to the same ethos: "You are the boss of you," writes Beth Comstock, "CMO, G.E." Or, as Reese Witherspoon, "Actress & Global Ambassador," puts it: "Just jump!"
What we need to do, Sandberg tells us in her book, is jettison our fears: "Fear of overreaching. Fear of being judged. ... And the holy trinity of fear: the fear of being a bad mother/wife/daughter."
In this feminist-sounding riff on "the only thing we have to fear is fear itself," the only fear not raised is the one FDR was addressing: economic. It's remarkable oversight in the wake of the worst economic crisis since the Great Depression.
But Sandberg isn't alone in her silence. Mainstream feminist debate, for all the lip service paid to the "intersectionality" of race, class and gender, has also left economic divisions on the cutting-room floor. It's more marketable to talk about sex or pop culture.
The recoil from class issues came early, when American feminism began retreating from its examination of root causes.
In a 1972 article in the feminist newspaper, The Furies, Coletta Reid observed: "Early in the women's liberation movement, I saw class as an issue that men in the Left used to put down feminism. Later it became an issue that many women said we had to discuss," but never seriously did.
And yet, we won't ever productively confront women's secondary status without confronting class. Our economic framework is founded on women's subjugation.
The power structure that Sandberg wants to feminize was built to cement the power of (some) men, and on the backs of (most) women, who would not only stay out of the power suites but would make all the power plays possible by assuming every backstage duty, from minding the kids to handling the least glamorous and lowest-paid work. It's in capitalism's DNA, and no cosmetic paste-ons at the top are going to change the dynamic without significant change on the bottom.
Charlotte Bunch, whose sane voice on so many feminist questions deserves more notice, limned that connection years ago in her essay, "Class and Feminism."
"Class distinctions are an outgrowth of male domination," she wrote, "a political mechanism for maintaining not only capitalism but also patriarchy and white supremacy."
You can't change the world for women by simply inserting female faces at the top of an unchanged system of social and economic power. "You can't," to quote Bunch again, "just add women and stir."
Could Sandberg's book have launched such a necessary discussion?
Well, actually, yes, if you skip the many pages devoted to variations on her exhortation to "have the ambition to lean in to your career and run the world," and linger instead on one sentence that should be at the forefront of such a conversation: "The number of women supporting families on their own is increasing quickly; between 1973 and 2006, the proportion of families headed by a single mother grew from one in 10 to one in five."
Breadwinners and barely staying afloat
Since 2000, as many households depend on a single mother as the breadwinner as depend on a traditional male breadwinner. One fourth of mothers are single, and at least half of children will spend some time in a single-mother home. In short, single mothers are now a huge demographic and a potential force for change.
And they're a subjugated majority.
Most single mothers operate under extreme social and economic impediments -- triple the poverty rate of the rest of the population, the highest rate of low-wage employment, the worst wage gap, the lowest net worth, the highest risk of bankruptcy -- that add up to a massive inequality in American society.
And this isn't because of a lack of lean-in self-confidence. The U.S. provides the worst support structure for single parents of any economically comparable nation, a recent major study by Legal Momentum found.
And it's only getting worse, as politicians aim to slash welfare programs, enforcement of child support, child tax credits and anything else they can think to deny single mothers, as they blame them for all that's wrong with society.
Nor is their plight because of a lack of lean-in commitment.
The study found that American single mothers work more hours than single mothers in any developed nation. And many of them work for subsistence wages for the same companies that have signed up to sponsor Sandberg's Lean In campaign for executive equality. Wal-Mart, a Lean In "partner," is facing sex discrimination claims from 2,000 female employees in 48 states.
Sandberg's book mentions single mothers in passing. But what if she were to champion them? What if the Lean In community or any group of feminist-minded women were to organize around the cause of single motherhood instead of the cause of their own self-congratulation?
It would involve, first of all, a change in Sandberg's rules.
Testimonials on her Lean In website must be inspirational, not troubling: "Share a positive ending," its story guidelines instruct.
The flip side of the view that women can do anything if they "just jump" is the assumption that anyone who doesn't should remain invisible. That message is the precise opposite of feminism.
Consider instead the benefits of a campaign that bore down on the causes behind the negative endings that mar so many single mothers' lives. It would not only be confronting a problem that affects huge numbers of women, it would be mounting a significant challenge to a system that will otherwise continue to stand between women and full emancipation.
Because what does a single mother signify?
She is an adult woman with responsibilities who is not supported by a man. Symbolically, she stands for the possibility of women to truly remake the patriarchal structure. That would require a movement built not around corporate bromides, but a collective grassroots effort to demand the fundamental social change necessary to grant independent mothers a genuine independence.
Single mothers can only be insulted by the advice to "lean in" -- they couldn't lean out if they wanted. And any brand of feminism that leaves them out is a faux liberation.
Liberating single mothers requires more than showing other women of privilege how they can be queen of the system. It means following the advice of Charlotte Bunch, and changing -- even destroying -- the system that the Lean In women are so happy and eager to run.
Susan Faludi is a Pulitzer-winning journalist and author of Backlash: The Undeclared War Against American Women, and, most recently, The Terror Dream: Myth and Misogyny in an Insecure America.
Co-published with CNN.
Help us change the conversation about inequality in America. Donate to EHRP.


text:
POTLUCK! Please bring something to share and enrich our meal time together after worship. Assignments are according to the first letter of your last name:
A-I: Protein, eggs, bacon, etc.
J-Q: Baked Goods, biscuits, scones, etc.
R-Z: Fruits & Veggies, etc.
Worship at Salt House is designed to be an experiment; trial and error, full of the sacred and flavored with sometimes silly things that happen when make human plans in an effort to engage with the divine. We are not perfect people and we worship in imperfect ways, but we want to trust in God's leading.
Here are some things you can expect when you come to worship at Salt House:
Singing // Music helps us orient ourselves. Learn as you go + sing as you feel comfortable. We use modern music and practices informed by the church's historical and liturgical traditions.
Teaching // We teach through an interactive time of engaging the countless intersections between the Bible + Jesus + our lives + our world.
Reflection + Response // A quiet moment with music, prayer, listening to God + choosing a response for now or the week to come.
Communion // As Jesus showed us, we take bread + dip it in wine to remember God's generosity and presence with + in us.
Salt House Kids // We have childcare available during worship for kids from birth to 7 years old (older if necessary). We always have at least 2 people on duty and everyone who works with children is background checked.


text:
Luxor Giraffe Multi
Care: Wash Cold, Lay Flat to Dry, Don't Tumble Dry
Country: Italian Fabrics/German Thread/Made In Turkey
Material: 100% Luxury Egyptian Cotton
Color: Blue
Detail: Breathable Fabric - 100% Cotton - Quick Dry - Contemporary Fit - No Smell Treatment 26 Pieces Fabrics Combined - Hand Made - German Stitching - Inside Trim - Unique Interlining - Hip Trim - Engraved Logo on Button - Bicolor Button - Soft Hand - Maceoo Luxury Collection
Returns Policy
You may return items in new condition within 60 DAYS of delivery for a full refund. We will pay the return shipping cost. Submitting your return is easy via our online automated returns manager. You should expect to receive your refund within 2 days of the received return. We'll notify you via e-mail of your refund or credit once we've received and processed the returned item.
MACEOO Shipping
Shipping is FREE via USPS priority mail, unless you are located outside of the United States. All orders ship within 48 hours. Expedited shipping options are also available at checkout. All orders over $350 (within the United States) have the option to choose FREE expedited priority shipping.


text:
X200 Critical Battery Error 0190
This seems to be the place to talk about lenovo laptop batteries. I have a relatively new (1 yearish) x200 that I love to death. Last week it started making horrific EEE-RRR EEE-RRRR EEE-RRR wailing noises. I figured it was because the battery needed to be plugged in, but it was continuing, despite being plugged in. After a while, the noises quit and it looked like the computer was no longer possessed.
Yesterday, unfortunately, my ThinkPad bit the big one. I can't get it to do anything other than turn on, tell me I have a critical 0190 battery error and then turn off on me. I have tried removing the battery cell & re-inserting it. It has been plugged in for a solid 24 hours and I'm not getting a charge.
In looking on here & other forums, I have not found a clear solution. Is the battery part of the recall? Is it the flux capacitor? Is it the charging port? AM I A BAD COMPUTER MOM? It's hard to tell!
It's also unclear, from the website, where I can get this diagnosed. Does anyone have any tips on what may be wrong so I can have it serviced or purchase the applicable remedy?
Going by what you say, power supply is dead. I'd check the outlets you plug it into as it is unusual for it to fail so quickly, and make sure to use a good surge protector. I would check Amazon too, but this is the part in Lenovo's shop:
As far as your warranty, there are some Lenovo support softwares installed from the factory called Lenovo Thinkvantage Toolbox. If you open that, it will tell you your warranty status at the top. Or you can search the site and find your warranty status by punching in some numbers located on the bottom of your laptop.
Many thanks. I did try connecting from various outlets (fail all around) so I've ordered a replacement from Amazon. Hopefully it isn't the port itself - I read on another forum that this was an issue for another user.
Big thanks for the tip on the warranty; the computer was a gift from my then boyfriend and I no longer have the papers!
It is possible it's the port, but you didn't mention any accidents. Generally that's a noise a failing transformer in a power supply would make. Let's hope it's not the port, though. Having a spare will be convenient at least.
Here is another victim. My x61 8 cell battery (model listed in the recall) died with only 37 counts (see my previous post)! The status shows the battery is full but it just cant discharge and function properly... Thinkpad "was" the sign of durable in most people's mind, including me, however, I really lost confidence in this brand this time. We are not asking to replace a misused or damaged battery caused by human errors but in fact the batteries are obviously defective (that's why there was recalls). Can Lenovo do something to deal with these unusual battery failure cases and help the unlucky victims? I look forward to your reply soon. Thank you.


text:
Are you sitting in your home right now, in the South, feeling embarrassed and resentful because there was some snow and ice last week and everyone made fun of you? Well fear not, for now you can point in the faces of those who mock and say "look, it happens, even in Russia!"
This video was actually taken last winter, but from the looks of this hill this ridiculously slow pile-up is not an unusual occurrence. All you need is a mix of snow, ice, and gravity to cause this kind of danger.
I do like, however, that it looks like everyone in town came out to watch, point, and laugh.


text:
Public input sought on Hwy. 210 project
Andy Hubley,the ARDC Regional Planning Director, spoke to the Carlton County Board of Commissioners on July 9 about public meetings that will be conducted in the area to gather input about rebuilding a portion of Minnesota Highway 210 through Jay Cooke Park. The highway had been washed out in the June 2012 flood.
Hubley explained that Highway 210 is being rebuilt from the visitors' center to Oldenburg Point at the present time but this request for input is for the portion beyond the point to Highway 23. The highway provides access to Minnesota Power's hydroelectric plant.
Two alternatives routes take 21 minutes or 14 minutes, said Hubley.
"There are concerns for businesses, and motorcycle traffic tend to use that road (210)," said Hubley. "We hope to be done (receiving input) by the end of the year. We hope to get input from outside of the area. If the road doesn't open, it makes all of the trails a 10-minute loop."
Hubley said that he is expecting the meetings to gather public input to begin in August or September.
The commissioners asked about the impact on the county road system.
Hubley reported that, because of the two alternative routes, the traffic is split. The impact on the southern route, County Road 18, was estimated at 100 vehicles a day.
The commissioners discussed the proposal to charge a wheelage tax of $10 per vehicle registered in the county, as provided in a law passed by the Legislature, to raise funds for repair of county roads and for Safe Routes to School funding.
It is estimated that the wheelage tax would generate $320,000 in revenue per year.
The county would have to make a decision by August 1 for the tax to be implemented.
The county is also able to charge a one-half percent sales tax to raise an estimated $975,000 in funding for the road repairs.
County Engineer Mike Tardy said that there are 71 or 72 miles of paved roads within the county.
The commissioners were reluctant to make a decision.
"The people in the county think that it went through (the Legislature) too fast," said Commissioner Gary Peterson. "We could do both or either one of the taxes."
Board Chair Bob Olean said that he didn't want to make a decision right then, that he wanted more discussion.
Commissioner Peterson said that it could wait until next year, if necessary.


text:
it will explain you how you can install LAMP, that is apache2, PHP5, mysql and optionally phpMyAdmin.
I will do this in several steps:
1. Installing Apache2
2. Installing PHP5
3. Installing MySql
4. Setting up phpMyAdmin
So, here we go:
1. Installing Apache2
First you will need to open the terminal, you can do this by clicking on the application launcher icon (in the lower left corner) and then clicking on 'Terminal'. Now you should see a frame with the username, and the computer name.
[email protected]:~>
Now you can give commands to your computer.
To install programs, you need to have root access, so we're going to do a root login. Simply type the following command, and then press enter:
su root
Now this will appear:
[email protected]:~>su root Password:
Simply type the root password that you entered at the installation, then press enter again.
Now something like this will show up:
linux-akcg:/home/username #
Now we're going to really install apache2, so just type
yast -i apache2and let the computer do it's work.
Now, you want to check if everything is installed correctly. Enter the following command:
rcapache2 status
If you get:
linux-akcg:/home/username # rcapache2 status Checking for httpd2: unusedthen you are good, if if you get something else, then another httpd2 client is already running.
If you have 'running' instead of 'unused', try the following command:
rcapache stop
then check the status again.
Now you want to check if it really works, so we need to go to the htdocs folder which is located in /srv/www.
Enter the following command:
cd /srv/www/htdocs
Then make a file using the VI editor (or another) named index.html with the following content:

You succesfully installed Apache2</h>
Save it.
Now the last step is to start apache, enter the following command:
rcapache2 start
You should get this:
linux-akcg:/home/username # rcapache2 start Starting httpd2 (prefork) done
Now, open your favorite browser and navigate to http://localhost.
If everything works there should be a text, 'You succesfullly installed Apache2'.
Congratulations, you made it through the first chapter!
Here are some commands you can use:
rcapache2 start //this will start your httpd2 rcapache2 stop //this will stop your httpd2 rcapache2 restart//this will restart your httpd2 rcapache2 status//this will give you the status of your httpd2 [size="4"][b][u] 2. Installing PHP5[/u][/b][/size] If you still have your terminal open, then fine. If not, log in with 'su root' again. To install PHP5, enter the following command: [code]yast -i php5 php5-mysql apache2-mod_php5
Now everything is installed, but to get results, you have to restart the server:
rcapache2 restart
That's it, but you want to test it out, don't you?
So we go to the htdocs folder again
cd /srv/www/htdocs
and we make a new file named index.php with the following content:
    <?php echo "
You succesfully installed PHP5!</h>" ?>
Save it and start your favorite browser again.
Navigate to http://localhost/index.php
If there is "You successfully installed PHP5!", then everyting works.
3. Installing MySql
If you don't have root access in your terminal, enter
su rootagain.
To install mysql and mysql-tools, which is needed for the administration, enter the following command:
yast -i mysql mysql-tools
Start the server with:
rcmysql start
To set the root password, enter
mysqladmin -u root password NEWPASSWORD
If you want to change the password later:
mysqladmin -u root -p'oldpassword' password NEWPASSWORD
So for example, if my older password was root, and now I want it root123, I do the following:
mysqladmin -u root -p'root' password 'root123'
Now you can login into the server client, enter the following:
mysql -u root -p
exitto go back to the terminal
4. Installing phpMyAdmin
Coming soon ...
This post has been edited by Curtis Rutland: 08 July 2015 - 07:53 AM
Reason for edit:: removed personal info


text: Pope Benedict XVI baptizes a child at the Vatican Sunday, Jan. 8, 2012. The pope baptized 16 babies in the splendor of the Sistine Chapel. Some of the infants looked at him wide-eyed after he poured water from a golden shell-shaped dish over their forehead, as Benedict administered the sacrament Sunday, welcoming them formally by name into the Catholic church. (AP Photo/L'Osservatore Romano)


text:
National League
Nationals' Daniel Murphy Might Not Be Ready For Opening Day
Washington Nationals' second baseman Daniel Murphy underwent successful knee surgery on Friday (10/20), and there's currently no timetable for his return.
The procedure repaired articular cartilage in Murphy's right knee, and was performed by orthopedic surgeon Timothy Kremchek.
In part of a statement released by Washington, the team said Murphy "will progress throughout the offseason."
Murphy, 32, will be entering the final season of a three-year, $37.5 million contract. In his two years in Washington, he's averaged 45 doubles, 24 homers, and 98.5 RBIs, while hitting .334 overall.
American League
2019 Trade Deadline Highlights
This year's Trade Deadline in the MLB wasn't as boisterous as previous seasons and might rank as one of the less-exciting ones in history. There was still a good number of high-profile moves, however, and a few big names went on to new homes. Here's a look at the more notable acquisitions of July 31, 2019 and how they will impact the teams that got the big returns.
Blue Jays trade RHP Marcus Stroman to Mets in exchange for RHP Anthony Kay, RHP Simeon Woods-Richardson
The move that unofficially kicked off trading season was a bit of a head scratcher. It had long been rumored that Toronto was shopping ace Marcus Stroman, but the team he ended up with isn't exactly a contender. The Mets are currently four games under .500 and may not be vying for the postseason in 2019. The move is likely another part of the Mets rebuilding process, and since Noah Syndergaard stayed put, New York may have a formidable rotation next season.
Indians acquire LHP Scott Moss, OF Yasiel Puig from Reds and OF Franmil Reyes, LHP Logan Allen and IF Victor Nova from Padres, Padres acquire OF Taylor Trammell from Reds, Indians acquire Reds acquire RHP Trevor Bauer from Indians
The literal biggest trade of the day was a this three-team blockbuster. Trevor Bauer firing the ball over the center field wall on Sunday after he was pulled in the fifth inning ended up being the last pitch he threw in an Indians uniform. A day later the Tribe rid itself of his petulance and pulled off a massive trade with intrastate rival Cincinnati as well as San Diego that saw Bauer go to the Reds and Reds top prospect Taylor Tramell go to the Friars. Cleveland received a host of players from both teams, most namely Yasiel Puig, who is ironically also known as a prima donna.
Though Bauer is undeniably talented when he keeps his act together and bolsters the Reds attempts to trend upward, San Diego may have won the trade with Tramell, MLB's no. 30 overall prospect.
Rays acquire 1B Jesus Aguilar from Brewers in exchange for RHP Jacob Faria
Milwaukee was certainly brewing before the Deadline and made a commendable effort to improve its pitching. GM David Stearns' most notable move was a straight swap with the Rays that brought back righty Jacob Faria in exchange for power hitting 1B Jesus Aguilar. Aguilar is having a down year but has proven many times that he can be deadly. He gives the Rays the big bat they've been seeking in their hunt for a Wild Card berth.
It's a good move for both sides because it clears Milwaukee's infield logjam and gives the team another quality starter. Faria never quite broke out in Tampa Bay but a change of scenery always has potential to pay dividends. After having already gotten Jordan Lyles from Pittsburgh on Monday, the Brewers made another move and got Drew Pomeranz from San Fransisco later on Wednesday. Though none of the returns are big name guys, Milwaukee is serious about making another run after coming so close last year.
Cubs acquire OF Nicholas Castellanos from Tigers in exchange for RHP Alex Lange and RHP Paul Richan.
The Cubs made their chances of taking the NL Central back even better with this move. Nicholas Castellanos has been one of the MLB's more underrated players in recent years, largely because he was on the Tigers after the team's glory days of the early 2010s ended. Adding him to a lineup that already includes Kris Bryant, Willson Contreras and Javier Baez gives the Cubbies even more firepower, especially given Castellanos success vs. lefty pitchers. It's also a great move for him personally as he gets to join a contending team at last. The Cubs are vying to appear in the playoffs for a fifth consecutive season, and their chances look pretty good.
Astros acquire RHP Zack Greinke from Diamondbacks in exchange for RHP Corbin Martin, RHP JB Bukauskas, IF Josh Rojas and IF Seth Beer
If Houston was scary good before this trade, they're terrifyingly good now. The Astros just added Zack Greinke to a rotation that already includes Justin Verlander and Gerrit Cole in a last-minute deal that wasn't announced until after the deadline officially passed. Arizona received a package of four minor leaguers in return as the team is now officially in the rebuilding process.
Like Verlander, Greinke is in the second half of his thirties but has not declined at all and owned a 10-4 record with a 2.90 on a sub-par Diamondbacks team at the time of his departure. The six-time All-Star's presence gives Houston the best rotation in baseball by far and should get the knees of any upcoming opponent knocking. The MLB said it best on Instagram today, "Facing Houston? You have a problem."
Notable non-moves:
- After being heavily rumored as top targets, Mets RHP Noah Syndergaard and Giants LHP Madison Bumgarner are still members of their longtime teams.
- The Boston Red Sox, whose bullpen has blown 18 saves, made no moves to improve its relief core, to the amazement of the team's fanbase.
- The New York Yankees were thought to be Syndergaard's top suitor, but the team did not acquire any starting pitching to aid Aaron Boone's struggling rotation.
What was the biggest move of the deadline this year? Be sure to let us know on Twitter @HomeRunDaily.
Atlanta Braves
Braves Acquire Shane Greene, Mark Melancon, John Ryan Murphy
The Atlanta Braves have been busy at the trade deadline, making a flurry of moves to bolster their lineup for the stretch run.
According to ESPN's Buster Olney, Atlanta has acquired Shane Green from the Detroit Tigers.
Additionally, the Braves have also landed reliever Mark Melancon from the San Francisco Giants in exchange for right handers Tristan Black and Dan Winkler.
According to The Athletic's Robert Murray, the Braves will acquire catcher John Ryan Murphy from the Arizona Diamondbacks in exchange for cash considerations.
National League
Nationals Acquire Hunter Strickland
The Washington Nationals have acquired reliever Hunter Strickland from the Seattle Mariners, according to MLB.com's Mark Feinsand.
As part of the deal, left hander Aaron Fletcher will be heading to Seattle in return.
- American League2 years ago
A Look at the Future: Gleyber Torres
- American League2 years ago
The Hall of Fame Case for Keith Hernandez
- National League3 months ago
Mets To Place Zack Wheeler On Injured List
- American League2 years ago
Another Glimpse of the Future: Miguel Andujar
- American League2 years ago
The Yankees Do Not Need Gerrit Cole, or Any Other Starter…
- American League2 years ago
Anticipation of the Yankees 2018 Quest for Number 28
- American League2 years ago
White Sox Yoan Moncada To Return, Willy Garcia Out At Least A Month
- Atlanta Braves3 months ago
Braves Acquire Shane Greene, Mark Melancon, John Ryan Murphy