text:
BLUE LIPS!!
By fidelity377, May 17, 2009 in far
ThisIsHowItWorks 4
Locationthat screaming crowd...
I really love the new Blue Lips... It took me a couple times to like it though... I had gotten too used to the way she sang it on the live recording I had come to love. But now that we're two tracks into Far and they're both amazing, I have no concerns as to how this album will turn out.
Reginaoverdose 6
LocationIn the window of the 99 cent store contemplating what makes the world go slow. (N.C.)
Originally posted by PerksOfAWallflower:
Theres something about her voice...its not deep, theres no passion. And I don't really like the high note on followed lead. Ugh, the more i listen i hate it more and more.
I really think that people get too used to a certain live version of a song, and the notes used on certain words and when a different version comes out with a some notes held in different ways i think it's hard for people to accept it.
I personally love the change on followed lead. just something special and emotional about it. but of course everyone has a differing opinion
mattrscity 0
LocationLincoln,England
Ive been waiting to give an opinion on this until I had listened to it properly many times,I think about 100 by now.
..so here goes...first of all I'd already had reservations about it being overproduced and when I heard the 30 second clip it didnt do anything to quash those fears,as for the full version, I dont mind the drums too much and the strings are always a bonus on any track but did it really need the tamborine to be the most dominant instrument in the parts of the song it was played and that plinky plonk (I have no other way of describing it) guitar thing,what the hell is that?
Dont get me wrong,I know a studio version of any song is obviously going to be different fron a live version and I know that ultimately this is how Regina would have wanted it to sound but I cringe every time I hear the plinky plonk.
Blue Lips (live) is one of two constants in my ever changing top five Regina songs and this is why I feel quite passionately about this, and I dont hate it,in fact if this was the first and only version of the song I had heard I would probably quite like it but when you know the power,the passion and the Genius of the woman in live versions then I cant help but feel a little disappointed..and yes I know the live recordings are still going to be there.
Speaking of Genius, and worryingly, Genius Next Door is the other constant in my ever changing top five and Im hoping this doesnt get too OVERproduced as well...and no plinky plonk!!
I Love Regina Spektor.
bum bum bum 25
Spektorite
LocationCT
I like the plinky plonk
but now that's all I'm going to hear. lol.. I think people are so used to the live version that they're paying a lot more attention to the production and extra instruments. It's not bad imo..
JosephCa64 0
LocationNew York
I love it! I think it's brilliant. And, of course we're still not hearing it in the context of the entire album. With 4 producers on this record, I'm guessing there will be many different sounds. So, we'll have to see where this fits. In the layout of all the tracks, there may be a very good reason why she went with a "bigger," production sound. It might be proceeded, or preceded by a more acoustic/stripped down type of sound. Or it might be part of the album where there is a bigger production quality. Who knows.
MusicLover_2007 4
Plinky plonk? What's that? Stop it with the musical ignorance.
tallchick 16
Originally posted by Ramen:
...I had such high hopes for this song. Blue Lips is one of my favorite songs by her.. I thought with the "more cello" and a more clear recording would make it just amazing.. Guess I won't be getting rid of recording...
yeah your so right. she should have faded the tambourine into the background like two notches. it is very distracting. but i like the song..
Be like the water, people. 21
Originally posted by JosephCa64:
wow! good point! i'd never even considered that! hmm..
Is anyone else wondering what on earth they're going to do with The Wallet? Just curious...
nickynacker 0
Locationcharlotte, nc
I like it live much better. With all the strings and what not. But I love this as well.
Ethan Frome 0
Locationthe cathedral
I only have a problem with one thing: the tambourine. It's just so...chingy. Oh well, I'm sure I'll get used to it and learn to love it.
Go To Topic Listing far


Happy Thursday, and happy government shutdown day. MAKE NO MISTAKE … There's a chance -- a small one, we think -- that the government could shut down tonight. It's not likely, but Republicans and Democrats are attempting to do hand flips on a tightwire at the moment.
REMINDER WHAT'S AT STAKE: Government funding runs out tonight. Congress isn't attempting to merely avoid a government shutdown today. This bill up for consideration is as major a spending bill as Washington has seen since the stimulus in 2009. If Barack Obama proposed this, he would've been laughed out of the room.
YES, THIS BILL AVERTS A SHUTDOWN, but that's only a tiny sliver of what it does. It sets the stage to boost spending by roughly $300 billion over the next few years. It kicks in another at least $80 billion in disaster spending -- even most Texans seem pleased, at the moment. And it suspends the debt limit until March 2019 -- basically, telling Congress it can spend whatever amount of money it wants between now and then. That's a big win for Republicans who don't want to have to vote on the debt limit again before the midterm election.
HERE'S WHAT TODAY WILL LOOK LIKE … THE SENATE is expected to take up -- and pass -- this bill in the early afternoon. They'll probably pass this bill with 70-plus votes, and then leave town for the weekend.
-- THE PATH TO VICTORY in the GOP is through defense hawks, who get a massive increase in military spending backed both by PRESIDENT DONALD TRUMP and DEFENSE SECRETARY JIM MATTIS. The remaining FISCAL HAWKS are throwing a fit, as is the HOUSE FREEDOM CAUCUS. DISASTER-STATE LAWMAKERS seem somewhat pleased with the aide package. It's Christmas for APPROPRIATORS.
-- THERE ARE DEMOCRATS who want to vote yes -- many of them have told us this. The caucus is split between lawmakers who want HOUSE MINORITY LEADER NANCY PELOSI to try to block everything in favor of a DACA deal, and lawmakers who want a DACA deal, but accept that blocking other legislation will not do anything to assuage Republicans to give them a deal. IN REALITY, Democrats win in this bill.
-- PELOSI had her moment -- the eight-hour speech was great for internal politics, and it was a good move for a leader with few cards to play. At the same time, leadership was lightly encouraging a yes vote on this package. Pelosi's aides were part of the negotiations.
-- ABOUT RYAN…. When Paul Ryan was about to take the speakership from John Boehner, he railed against a package just like this. He took some heat yesterday in a closed Republican meeting from lawmakers who felt cut out by the process by which this bill was put together. He's now putting this bill on the floor, and urging Republicans to vote yes. There's a lot of chatter that a man seeking another term as speaker would never put this bill on the floor. At the moment, it's just that -- chatter. Ryan has said he'll decide on his re-election in the spring after a conversation with his wife.
BY THE WAY, CONGRESS might want to go home for the year. This is likely the last big legislating we'll see in 2018. There might be a shot at infrastructure. But this is really it.
ABOUT THAT PROTEST -- "Pelosi's Dreamers protest leaves some Democrats wanting," by Heather Caygle: "House Minority Leader Nancy Pelosi spoke on the House floor Wednesday for a record-breaking eight hours, vowing to speak -- and stand -- until Republicans concede protections for so-called Dreamers. But for some members on both ends of her caucus who tuned in, the daylong protest did little to repair the fissure pitting lawmakers against each other on immigration and budget talks.
BEHIND THE SCENES … CARL HULSE in the NYT, "Antagonists Days Ago, McConnell and Schumer Find Common Cause": "Two weeks ago, the Senate leaders Mitch McConnell and Chuck Schumer could barely look at each other on the floor as Congress careened into a government shutdown. Their relationship was considered so badly frayed that a bipartisan group of lawmakers intervened to help them save face and temporarily end the impasse.
"Yet on Wednesday, the two happily linked arms and delivered a major budget deal containing eye-popping spending increases and clear political benefits for both sides as lawmakers head into a crucial midterm election season. It just shows how tens of billions of appropriately scattered dollars can soothe any hard feelings.
RAJ SHAH is briefing today.
THE BIG READ -- RACHAEL BADE and JOHN BRESNAHAN: "From Fallujah to FBI investigation: The undoing of Duncan Hunter": "The criminal investigation into Rep. Duncan Hunter is intensifying as a grand jury in San Diego questions multiple former aides about whether the California Republican improperly diverted political funds for personal use.
"Federal prosecutors have subpoenaed Hunter's parents, as well as a female lobbyist with whom many people close to the congressman believe he had a romantic relationship, according to multiple sources with knowledge of the investigation.
"The Justice Department is trying to determine whether hundreds of thousands of dollars from Hunter's campaign account were spent improperly on his family and friends. Hunter already sold his home to pay back what even he now acknowledges were improper charges, moving his wife and kids in with his parents while he mostly lives in his Capitol Hill office.
"It's a stark reversal of fortune for Hunter, 41, whose friends once considered him a hero. The ex-Marine served three tours as an artillery officer in Afghanistan and Iraq, fighting in some of the bloodiest battles in Fallujah.
SOMETHING TO WATCH -- "GOP friendly fire imperils Trump nominees," by Anthony Adragna: "A throng of Republican senators is holding up the confirmations of some of President Donald Trump's nominees -- even as he continues to blame the logjam on Democratic 'obstruction.' At least 11 Republican senators in recent months have disclosed they're blocking votes on nominees for agencies including the Energy, Agriculture, State, Homeland Security and Justice departments. The vast majority of those delays remain in place while the lawmakers demand concessions on issues such as ethanol regulations, marijuana, disaster funding and nuclear waste.
PORTER FILES -- "In new statement, Kelly says he was 'shocked' by Porter allegations and condemns abuse," by Andrew Restuccia and Eliana Johnson: "White House chief of staff John Kelly said late Wednesday that he was 'shocked' by domestic abuse allegations against staff secretary Rob Porter – more than 24 hours after being quoted on the record defending Porter in an initial report. 'I was shocked by the new allegations released today against Rob Porter. There is no place for domestic violence in our society,' Kelly said in a statement issued after-hours by the White House.
-- NBC'S FRANK THORP (@frankthorp): "Just spoke to @senorrinhatch again, he reiterated he 'would prefer (Rob Porter) not to resign. Just work his way through and do what's right.' 'I encouraged him to keep a stiff upper lip and work on his problems,' Hatch said. ... Q: If allegations about Porter are true would you employ him? HATCH: 'That's a Q I'm not going to answer, because he worked for me, he did a tremendous job. If I could find more people like him I would hire them, I think that's how good he is. And he's basically a good person'".
ELIANA JOHNSON: "Kelly's hunt for a deputy bogs down amid personnel issues": "Chief of staff John Kelly's search for a No. 2, which has dragged on for more than four months, shows no signs of wrapping up anytime soon.
"The White House was widely expected to make a public announcement about the position early this year, with officials floating a senior administration lawyer, Jim Carroll, as a likely replacement for Kirstjen Nielsen, a close Kelly confidante who accompanied him from the Department of Homeland Security to the West Wing last summer before the president tapped her to become DHS secretary.
"But while Carroll has assumed some of the responsibilities of Nielsen's old job, Kelly has been disappointed in his performance and has held back on officially bestowing the title, according to two administration officials.
TRUMP'S CABINET -- "How Betsy DeVos softened her message on school choice: Trump's most controversial Cabinet member backs away from divisive rhetoric," by Kim Hefling and Caitlin Emma: "Betsy DeVos became famous — and infamous in some quarters — as the leader of an education movement that pushed for public funding for private schools, including religious education.
"But a year into her tenure as President Donald Trump's Education secretary, DeVos generally steers clear of the words, 'school choice,' a phrase she once used often that's freighted with racial, demographic and religious implications. Instead, she opts for gentler terms such as 'innovation' and 'blended learning,' and speaks of coming together and 'finding solutions.' DeVos has by no means backed off her push to fulfill Trump's promise to inject $20 billion into expanded private education options for kids.
TRUMP'S THURSDAY -- The president is heading to the Washington Hilton this morning as he participates in a bilateral meeting with the president of Guatemala. He will then deliver remarks at the National Prayer Breakfast. Later this morning he will meet with Defense Secretary Jim Mattis. He is having lunch with Veterans Affairs Secretary David Shulkin followed by a meeting with Henry Kissinger.
MEDIAWATCH -- "'A slow-motion disaster': Journalism museum in talks about possible building sale," by WaPo's Peggy McGlone and Manuel Roig-Franzia: "Two months shy of its 10th anniversary in a glass-and-steel showpiece on Washington's most prestigious thoroughfare, executives at the struggling Newseum will meet Thursday with a top real estate firm to explore options that include selling their building or moving to another location. The previously undisclosed talks with officials from the international firm Eastdil Secured -- which were confirmed by museum management after it was contacted by The Washington Post -- are the latest sign of uncertainty at an institution that has been swamped in debt and roiled by leadership shake-ups.
-- FIRST IN PLAYBOOK – BUSH ALUMNI: TEVI TROY has been named as VP of public policy at JUUL Labs Inc., a company trying to provide smokers an alternative to regular cigarettes. Troy was previously CEO of the American Health Policy Institute and served as deputy secretary of HHS in the Bush administration and was also a senior White House aide.
-- THE NRCC just dropped another $362,586 on media in the Pennsylvania special election to replace Tim Murphy. Rick Saccone, the Republican, is running against Conor Lamb.
TRUMP INC. -- "Trump Organization Revives Project In Dominican Republic, Roiling Local Politics," by Marcus Baram in Fast Company: "For President Trump, Haiti may be a 'shithole.' But on the other side of the island is a country that he clearly thinks could be a goldmine -- and a potential windfall for his family's business empire. The Trump Organization is close to an agreement in the Dominican Republic with a developer to partner on a project on the east coast of the island, sources on the island tell Fast Company.
"Garrett, 58 years old, plans to take a position advising SEC Chairman Jay Clayton, according to people familiar with the matter. The job would represent a second act for Mr. Garrett, whom U.S. senators rejected last year as a pick to lead the U.S. Export-Import Bank under the Trump administration.
THE NEVER-ENDING TURMOIL AT THE LA TIMES -- Per Michael Calderone in Morning Media: "In the Tronc-Los Angeles Times divorce, custody of the Tribune Washington bureau goes to biotech billionaire and new Times owner Patrick Soon-Shiong, according to an SEC filing. The Tribune Washington bureau, which has about 20 staffers, has served all the papers in the Tronc -- formerly Tribune Company -- stable, including the Chicago Tribune, the Baltimore Sun, the Orlando Sentinel, and the Hartford Courant.
-- TV TODAY – ANDREA MITCHELL will interview JOE BIDEN at noon live on MSNBC to discuss the launch of the Penn Biden Center.
REMEMBERING JOHN PERRY BARLOW -- THE GUARDIAN: "John Perry Barlow, 'visionary' internet pioneer, dies aged 70": "John Perry Barlow, 'visionary' internet pioneer, press freedom advocate and Grateful Dead lyricist, has died aged 70.
"Barlow was named as a Guardian 'Open 20' fighter for internet freedom in 2012 because of his work to establish the Electronic Frontier Foundation (EFF), which defends online liberties. The organisation announced Barlow, a Wyoming native, died in his sleep on Wednesday morning.
"'We will miss Barlow and his wisdom for decades to come, and he will always be an integral part of EFF,' said a statement by the group's executive director, Cindy Cohn.
SUNDAY SO FAR ... "FOX NEWS SUNDAY": Jason Chaffetz, Guy Benson, Rachael Bade and Juan Williams. "Power Player of the Week": Charles Bowery of the U.S. Army Center of Military History on the Army's art collection.
SPOTTED (separately) last night at the Trump hotel: Stephen Baldwin, Reps. Raul Labrador (R-Idaho) and Joe Wilson (R-S.C.), Maine Gov. Paul LePage … At the Hawk 'n' Dove last night: Reps. Paul Mitchell (R-Mich.) and Drew Ferguson (R-Ga.) at a table for two. Reps. Adam Kinzinger (R-Ill.) and Sean Duffy (R-Wis.) at a full table.


Welcome to revel in our new collection of Best Calendar Mockups & templates to create the first-rate design! We desire all of them will be very beneficial for you or at the least, you'll discover the nice one precisely to your concept.
One extra mockup from vector designs, it's a loose table calendar mockups which include four documents in a PSD layout 300dpi, very beneficial for presentations branding/stationery and layout organization's annual calendar, show your designs for your customers with a more attractive and fashionable draft, no longer just a simple picture.
The Free Table Calendar Mockup is designed in photoshop.
This is a front view of our desk PSD calendar mockup series to assist you to display your branding designs.
This PSD freebie is a totally beautiful searching April Desk Calendar Mockup so as to brighten your day on every occasion you take a look at it. Use it whenever you need and wherever you want it, it's loose for private or industrial use.
The Mock-Up is fully layered and nicely organized. You are loose to download this PSD MockUp template and modify it the manner you want. Make a hit preference!
Easily trade the coloration of the internal a part of the calendar, location artistic endeavors on clever items and lastly trade the background color that compliments the calendar layout.
This free desk calendar mockup that comes with multiple customization alternatives. Featuring a front dealing with the point of view with customizable calendar layout and base design.
Wall Calendar Mockup that is the nice layout aid for you. This piece of portraits has the capacity to permit you for the manipulation as your demand and could truly give you a satisfactory blend of colors and concept in your responsibilities and displays.
This is a set of photorealistic wall calendar mock-ups. There are 4 different calendar formats: – A3 vertical (29,7×42 cm) – A3 horizontal (42×29,7 cm) – 1-fold (34×47 cm) – 3-fold (30,5×77,5 cm) Mock-ups are based on Smart Objects, fully editable, easy to customize.
Desk Calendar Mockups is very suitable for presentations branding/stationery and design company's annual calendar. There are 5 different positions, a whole separate object and allows you to change positions as needed.
This Mock-up allows you to obtain a realistic effect of your printable designs.
Wall Calendar Mockup Landscape Model is very suitable for presentations branding/stationery and design company's annual calendar.
Show your Desk Calendar with style! Create a realistic Desk Calendar preview for your client in few seconds. These PSD files use the Smart-Object feature, so you can replace the mockup content easily and quickly.
for print preview and advertising.
Photo-realistic Vertical Calendar Desk Mockup. these PSD files are using the Smart-Object, so you can replace the mockup content easily and quickly.
Desk Calendar Mockups is very suitable for presentations branding stationery and design company's annual calendar.
This product is a premium Horizontal Calendar Desk Mockup, it's possible to use too many things too save your time and money, and present something beautiful to your customer.
This is Calendars Set Mockup!
In this Calendars Set Mockup included 12 PSD.
Gave a charming presentation for the design of your calendar. consists of 6 High .psd files. very clean product for a wide range of colors.
Easy to use, realistic and fully prepared… Calendar Mockup.
This item consists of 6 Files Wall Calendar PSD Mockups that well documented in layered PSD Photoshop format.
This is Desk Calendar Mock-Up vol.3!
Create a realistic Desk Calendar preview for your client in few seconds. Different angles of view and photorealistic backgrounds will help you promote your design in the best way.
Just place your beautiful artwork using the ready-to-go template. Make it your own by customizing this easily editable background!
Blank design calendar template on a grey background with soft shadows. 3D rendering.
Calendar Desk Mock-up is suitable for print preview and advertising. This item contains a fully editable PSD file Adobe Version: CS5. PSD file uses the smart-object.
Desktop Calendar Mockup is a professional realistic mock-up of a classic tent desktop calendar display, used for marketing campaigns, and brand marketing.
Realistic Desk Calendar Mockups pack consists of five PSD mockups that give you complete controls to edit the mockup object, with fully layered and well-organized layers.
This item consists of 6 PSD calendar mock-ups that well documented in layered PSD Photoshop format. You can use these mock-ups simply by using smart object feature that will turn a flat design into photorealistic appearance mock-ups just in seconds.
Desk Calendar Mock-Up with Photo-Realistic Output.
Desktop Calendar Mockup is a professional realistic mock-up is a classic tent type calendar with metal spiral binding, used for marketing campaigns, and brand marketing. Mockup set has 3 different style presentations.


text:
Robert Indiana artworks and editions
You would like to be informed about Robert Indiana's new arrivals in advance? Register now for free!
Further Robert Indiana artworks and editions on request
Robert Indiana's artworks and editions rate among the most famous artworks of Pop-Art, as the strong and flatly applied colours formally-aesthetically represent all core ideas of Pop art.
The expressivity in his oevre as well as the language of form of Pop art in general is seen in clear relation to the aethetics of commercials. In Robert Indiana's paintings, editions and artworks, letters are the favoured motifs. The strong focus on the written word can be explained by his earlier occupation as journalist. He wrote poems that he implemented machine-like which is considered an important step for his later style. His probably most famous motif is the word love that was widely used two-dimensionally as well as three-dimensionally.
You want to learn more about the artist? Visit Robert Indiana to get more details about the artist's works.
You want to buy artworks and editions of Robert Indiana, but you have further questions? We collected detailed information for this purpose.
Jim Dine

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Exception when returning list back from a restful web service This is my service method..
@Produces({ "application/xml" })
@GET

  public List<Customer> getCustomers() {
    return hd.getAllCustomers();
  }

And this is my client side code.
Client c=Client.create();
        webResource= c.resource(getBaseURI());

        List<Customer> list=webResource.path("customers").type(MediaType.APPLICATION_XML).get(List.class);
        System.out.println(list.isEmpty());

But when i m executing it is throwing me following exception:
com.sun.jersey.api.client.ClientHandlerException: A message body reader for Java class java.util.List, and Java type interface java.util.List, and MIME media type application/xml was not found

Can you please help me reagarding this I m new to restful web sevices

A: Your trying to return a List object as a result of a restful request? As far as I am aware that's not possible.
Even if that's not true The @Produces annotation is used to specify the MIME media types or representations a resource can produce and send back to the client. So your telling it produces xml and trying to return a List.

A: You need to add the following to your Customer class:
import javax.xml.bind.annotation.XmlRootElement;

    @XmlRootElement
    public class Customer {

redpajama_set_name: RedPajamaStackExchange


text:
from CIM15.IEC61970.Core.IdentifiedObject import IdentifiedObject

class EndDeviceGroup(IdentifiedObject):
    """Abstraction for management of group communications within a two-way AMR system or the data for a group of related meters. Commands can be issued to all of the meters that belong to a meter group using a defined group address and the underlying AMR communication infrastructure.Abstraction for management of group communications within a two-way AMR system or the data for a group of related meters. Commands can be issued to all of the meters that belong to a meter group using a defined group address and the underlying AMR communication infrastructure.
    """

    def __init__(self, groupAddress=0, EndDeviceControls=None, EndDevices=None, DemandResponseProgram=None, *args, **kw_args):
        """Initialises a new 'EndDeviceGroup' instance.

        @param groupAddress: Address of this end device group.
        @param EndDeviceControls: All end device controls sending commands to this end device group.
        @param EndDevices: All end devices this end device group refers to.
        @param DemandResponseProgram: Demand response program for this group of end devices.
        """
        #: Address of this end device group.
        self.groupAddress = groupAddress

        self._EndDeviceControls = []
        self.EndDeviceControls = [] if EndDeviceControls is None else EndDeviceControls

        self._EndDevices = []
        self.EndDevices = [] if EndDevices is None else EndDevices

        self._DemandResponseProgram = None
        self.DemandResponseProgram = DemandResponseProgram

        super(EndDeviceGroup, self).__init__(*args, **kw_args)

    _attrs = ["groupAddress"]
    _attr_types = {"groupAddress": int}
    _defaults = {"groupAddress": 0}
    _enums = {}
    _refs = ["EndDeviceControls", "EndDevices", "DemandResponseProgram"]
    _many_refs = ["EndDeviceControls", "EndDevices"]

    def getEndDeviceControls(self):
        """All end device controls sending commands to this end device group.
        """
        return self._EndDeviceControls

    def setEndDeviceControls(self, value):
        for x in self._EndDeviceControls:
            x.EndDeviceGroup = None
        for y in value:
            y._EndDeviceGroup = self
        self._EndDeviceControls = value

    EndDeviceControls = property(getEndDeviceControls, setEndDeviceControls)

    def addEndDeviceControls(self, *EndDeviceControls):
        for obj in EndDeviceControls:
            obj.EndDeviceGroup = self

    def removeEndDeviceControls(self, *EndDeviceControls):
        for obj in EndDeviceControls:
            obj.EndDeviceGroup = None

    def getEndDevices(self):
        """All end devices this end device group refers to.
        """
        return self._EndDevices

    def setEndDevices(self, value):
        for p in self._EndDevices:
            filtered = [q for q in p.EndDeviceGroups if q != self]
            self._EndDevices._EndDeviceGroups = filtered
        for r in value:
            if self not in r._EndDeviceGroups:
                r._EndDeviceGroups.append(self)
        self._EndDevices = value

    EndDevices = property(getEndDevices, setEndDevices)

    def addEndDevices(self, *EndDevices):
        for obj in EndDevices:
            if self not in obj._EndDeviceGroups:
                obj._EndDeviceGroups.append(self)
            self._EndDevices.append(obj)

    def removeEndDevices(self, *EndDevices):
        for obj in EndDevices:
            if self in obj._EndDeviceGroups:
                obj._EndDeviceGroups.remove(self)
            self._EndDevices.remove(obj)

    def getDemandResponseProgram(self):
        """Demand response program for this group of end devices.
        """
        return self._DemandResponseProgram

    def setDemandResponseProgram(self, value):
        if self._DemandResponseProgram is not None:
            filtered = [x for x in self.DemandResponseProgram.EndDeviceGroups if x != self]
            self._DemandResponseProgram._EndDeviceGroups = filtered

        self._DemandResponseProgram = value
        if self._DemandResponseProgram is not None:
            if self not in self._DemandResponseProgram._EndDeviceGroups:
                self._DemandResponseProgram._EndDeviceGroups.append(self)

    DemandResponseProgram = property(getDemandResponseProgram, setDemandResponseProgram)

redpajama_set_name: RedPajamaGithub


What is a X Bitmap ? An X Pixmap ?
This tutorial is based on the Xlib Tutorial written by Guy Keren. The author allowed me to take some parts of his text, mainly the text which deals with the X Windows generality.
This tutorial is intended for people who want to start to program with the XCB library. keep in mind that XCB, like the Xlib library, isn't what most programmers wanting to write X applications are looking for. They should use a much higher level GUI toolkit like Motif, LessTiff, GTK, QT, EWL, ETK, or use Cairo. However, we need to start somewhere. More than this, knowing how things work down below is never a bad idea.
After reading this tutorial, one should be able to write very simple graphical programs, but not programs with decent user interfaces. For such programs, one of the previously mentioned libraries should be used.
Latency hiding: Xlib requests requiring a reply are effectively synchronous: they block until the reply appears, whether the result is needed immediately or not.
Direct access to the protocol: Xlib does quite a bit of caching, layering, and similar optimizations. While this is normally a feature, it makes it difficult to simply emit specified X protocol requests and process specific responses.
Threaded applications: While Xlib does attempt to support multithreading, the API makes this difficult and error-prone.
New extensions: The Xlib infrastructure provides limited support for the new creation of X extension client side code.
Lightweight emulation of commonly used portions of the Xlib API.
The X Window System was developed with one major goal: flexibility. The idea was that the way things look is one thing, but the way things work is another matter. Thus, the lower levels provide the tools required to draw windows, handle user input, allow drawing graphics using colors (or black and white screens), etc. To this point, a decision was made to separate the system into two parts. A client that decides what to do, and a server that actually draws on the screen and reads user input in order to send it to the client for processing.
This model is the complete opposite of what is used to when dealing with clients and servers. In our case, the user sits near the machine controlled by the server, while the client might be running on a remote machine. The server controls the screens, mouse and keyboard. A client may connect to the server, request that it draws a window (or several windows), and ask the server to send it any input the user sends to these windows. Thus, several clients may connect to a single X server (one might be running mail software, one running a WWW browser, etc). When input is sent by the user to some window, the server sends a message to the client controlling this window for processing. The client decides what to do with this input, and sends the server requests for drawing in the window.
The whole session is carried out using the X message protocol. This protocol was originally carried over the TCP/IP protocol suite, allowing the client to run on any machine connected to the same network that the server is. Later on, the X servers were extended to allow clients running on the local machine with more optimized access to the server (note that an X protocol message may be several hundreds of KB in size), such as using shared memory, or using Unix domain sockets (a method for creating a logical channel on a Unix system between two processes).
Unlike conventional computer programs, that carry some serial nature, a GUI program usually uses an asynchronous programming model, also known as "event-driven programming". This means that that program mostly sits idle, waiting for events sent by the X server, and then acts upon these events. An event may say "The user pressed the 1st button mouse in spot (x,y)", or "The window you control needs to be redrawn". In order for the program to be responsive to the user input, as well as to refresh requests, it needs to handle each event in a rather short period of time (e.g. less that 200 milliseconds, as a rule of thumb).
This also implies that the program may not perform operations that might take a long time while handling an event (such as opening a network connection to some remote server, or connecting to a database server, or even performing a long file copy operation). Instead, it needs to perform all these operations in an asynchronous manner. This may be done by using various asynchronous models to perform the longish operations, or by performing them in a different process or thread.
Connect to the X server.
Receive the next event from the X server.
Handle the event, possibly sending various drawing requests to the X server.
If the event was a quit message, exit the loop.
Close down the connection to the X server.
XCB has been created to eliminate the need for programs to actually implement the X protocol layer. This library gives a program a very low-level access to any X server. Since the protocol is standardized, a client using any implementation of XCB may talk with any X server (the same occurs for Xlib, of course). We now give a brief description of the basic XCB notions. They will be detailed later.
The major notion of using XCB is the X Connection. This is a structure representing the connection we have open with a given X server. It hides a queue of messages coming from the server, and a queue of pending requests that our client intends to send to the server. In XCB, this structure is named 'xcb_connection_t'. It is analogous to the Xlib Display. When we open a connection to an X server, the library returns a pointer to such a structure. Later, we supply this pointer to any XCB function that should send messages to the X server or receive messages from this server.
The total time is N * (T_write + T_round_trip + T_read).
The total time is N * T_write + max (0, T_round_trip - (N-1) * T_write) + N * T_read. Which can be considerably faster than all those Xlib round-trips.
Here is a program that computes the time to create 500 atoms with Xlib and XCB. It shows the Xlib way, the bad XCB way (which is similar to Xlib) and the good XCB way. On my computer, XCB is 25 times faster than Xlib.
When we perform various drawing operations (graphics, text, etc), we may specify various options for controlling how the data will be drawn (what foreground and background colors to use, how line edges will be connected, what font to use when drawing some text, etc). In order to avoid the need to supply hundreds of parameters to each drawing function, a graphical context structure is used. We set the various drawing options in this structure, and then we pass a pointer to this structure to any drawing routines. This is rather handy, as we often need to perform several drawing requests with the same options. Thus, we would initialize a graphical context, set the desired options, and pass this structure to all drawing functions.
Note that graphic contexts have no client-side structure in XCB, they're just XIDs. Xlib has a client-side structure because it caches the GC contents so it can avoid making redundant requests, but of course XCB doesn't do that.
A structure is used to pass events received from the X server. XCB supports exactly the events specified in the protocol (33 events). This structure contains the type of event received (including a bit for whether it came from the server or another client), as well as the data associated with the event (e.g. position on the screen where the event was generated, mouse button associated with the event, region of the screen associated with a "redraw" event, etc). The way to read the event's data depends on the event type.
TODO: These instructions are out of date. Just reference the main XCB page so we don't have to maintain these instructions in more than one place.
Note that xcb-proto exists only to install header files, so typing 'make' or 'make all' will produce the message "Nothing to be done for 'all'". That's normal.
An X program first needs to open the connection to the X server. There is a function that opens a connection. It requires the display name, or NULL. In the latter case, the display name will be the one in the environment variable DISPLAY.
This functions also flushes all pending requests to the X server, and then waits until the X server finishing processing these requests. In a normal program, this will not be necessary (we'll see why when we get to write a normal X program), but for now, we put it there.
The window that is created by the above code has a non defined background. This one can be set to a specific color, thanks to the two last parameters of xcb_create_window(), which are not described yet. See the subsections Configuring a window or Registering for event types using event masks for examples on how to use these parameters. In addition, as no events are handled, you have to make a Ctrl-C to interrupt the program.
Drawing in a window can be done using various graphical functions (drawing pixels, lines, rectangles, etc). In order to draw in a window, we first need to define various general drawing parameters (what line width to use, which color to draw with, etc). This is done using a graphical context.
We give now an example on how to allocate a graphic context that specifies that each drawing function that uses it will draw in foreground with a black color.
Note should be taken regarding the role of "value_mask" and "value_list" in the prototype of xcb_create_gc(). Since a graphic context has many attributes, and since we often just want to define a few of them, we need to be able to tell the xcb_create_gc() which attributes we want to set. This is what the "value_mask" parameter is for. We then use the "value_list" parameter to specify actual values for the attribute we defined in "value_mask". Thus, for each constant used in "value_list", we will use the matching constant in "value_mask". In this case, we define a graphic context with one attribute: when drawing (a point, a line, etc), the foreground color will be black. The rest of the attributes of this graphic context will be set to their default values.
See the next Subsection for more details.
It is possible to set several attributes at the same time (for example setting the attributes of a font and the color which will be used to display a string), by OR'ing these values in value_mask. Then value_list has to be an array which lists the value for the respective attributes. These values must be in the same order as masks listed above. See Subsection Drawing with a color to have an example.
TODO: give an example which sets several attributes.
After we have created a Graphic Context, we can draw on a window using this Graphic Context, with a set of XCB functions, collectively called "drawing primitives". Let see how they are used.
If XCB_COORD_MODE_PREVIOUS is used, then all points but the first one are relative to the immediately previous point.
You could see an example in xpoints.c. TODO Set the link.
This function will draw the line between the first and the second points, then the line between the second and the third points, and so on.
Note: the angles are expressed in units of 1/64 of a degree, so to have an angle of 90 degrees, starting at 0, angle1 = 0 and angle2 = 90 << 6. Positive angles indicate counterclockwise motion, while negative angles indicate clockwise motion.
The corresponding function which fill inside the geometrical object are listed below, without further explanation, as they are used as the above functions.
To illustrate these functions, here is an example that draws four points, a polygonal line, two segments, two rectangles and two arcs. Remark that we use events for the first time, as an introduction to the next section.
TODO: Use screen->root_depth for depth parameter.
In an X program, everything is driven by events. Event painting on the screen is sometimes done as a response to an event (an Expose event). If part of a program's window that was hidden, gets exposed (e.g. the window was raised above other widows), the X server will send an "expose" event to let the program know it should repaint that part of the window. User input (key presses, mouse movement, etc) is also received as a set of events.
This registers for Expose events as well as for mouse button presses inside the created window. You should note that a mask may represent several event sub-types.
Note: A common bug programmers do is adding code to handle new event types in their program, while forgetting to add the masks for these events in the creation of the window. Such a programmer then should sit down for hours debugging his program, wondering "Why doesn't my program notice that I released the button?", only to find that they registered for button press events but not for button release events.
xcb_wait_for_event (xcb_connection_t *c) is the blocking way. It waits (so blocks...) until an event is queued in the X server. Then it retrieves it into a newly allocated structure (it dequeues it from the queue) and returns it. This structure has to be freed. The function returns NULL if an error occurs.
xcb_poll_for_event (xcb_connection_t *c, int *error) is the non-blocking way. It looks at the event queue and returns (and dequeues too) an existing event into a newly allocated structure. This structure has to be freed. It returns NULL if there is no event. If an error occurs, the parameter error will be filled with the error status.
The events are managed in the same way as with xcb_wait_for_event_t. Obviously, we will need to give the user some way of terminating the program. This is usually done by handling a special "quit" event, as we will soon see.
A window that covered part of our window has moved away, exposing part (or all) of our window.
Our window was raised above other windows.
Our window mapped for the first time.
You should note the implicit assumption hidden here: the contents of our window is lost when it is being obscured (covered) by either windows. One may wonder why the X server does not save this contents. The answer is: to save memory. After all, the number of windows on a display at a given time may be very large, and storing the contents of all of them might require a lot of memory. Actually, there is a way to tell the X server to store the contents of a window in special cases, as we will see later.
User input traditionally comes from two sources: the mouse and the keyboard. Various event types exist to notify us of user input (a key being presses on the keyboard, a key being released on the keyboard, the mouse moving over our window, the mouse entering (or leaving) our window, and so on.
XCB_EVENT_MASK_BUTTON_PRESS: notify us of any button that was pressed in one of our windows.
XCB_EVENT_MASK_BUTTON_RELEASE: notify us of any button that was released in one of our windows.
The time field may be used to calculate "double-click" situations by an application (e.g. if the mouse button was clicked two times in a duration shorter than a given amount of time, assume this was a double click).
Their names are self explanatory, where the first 5 refer to the mouse buttons that are being pressed, while the rest refer to various "special keys" that are being pressed (Mod1 is usually the 'Alt' key or the 'Meta' key).
TODO: Problem: it seems that the state does not change when clicking with various buttons.
XCB_EVENT_MASK_POINTER_MOTION: events of the pointer moving in one of the windows controlled by our application, while no mouse button is held pressed.
XCB_EVENT_MASK_BUTTON_MOTION: Events of the pointer moving while one or more of the mouse buttons is held pressed.
XCB_EVENT_MASK_BUTTON_1_MOTION: same as XCB_EVENT_MASK_BUTTON_MOTION, but only when the 1st mouse button is held pressed.
XCB_EVENT_MASK_BUTTON_2_MOTION, XCB_EVENT_MASK_BUTTON_3_MOTION, XCB_EVENT_MASK_BUTTON_4_MOTION, XCB_EVENT_MASK_BUTTON_5_MOTION: same as XCB_EVENT_MASK_BUTTON_1_MOTION, but respectively for 2nd, 3rd, 4th and 5th mouse button.
xcb_event_enter_window_t: notify us when the mouse pointer enters any of our controlled windows.
xcb_event_leave_window_t: notify us when the mouse pointer leaves any of our controlled windows.
There may be many windows on a screen, but only a single keyboard attached to them. How does the X server then know which window should be sent a given keyboard input ? This is done using the keyboard focus. Only a single window on the screen may have the keyboard focus at a given time. There is a XCB function that allows a program to set the keyboard focus to a given window. The user can usually set the keyboard focus using the window manager (often by clicking on the title bar of the desired window). Once our window has the keyboard focus, every key press or key release will cause an event to be sent to our program (if it regsitered for these event types...).
XCB_EVENT_MASK_KEY_PRESS: notify us when a key was pressed while any of our controlled windows had the keyboard focus.
XCB_EVENT_MASK_KEY_RELEASE: notify us when a key was released while any of our controlled windows had the keyboard focus.
The detail field refers to the physical key on the keyboard.
TODO: Talk about getting the ASCII code from the key code.
As an example for handling events, we show a program that creates a window, enters an events loop and checks for all the events described above, and writes on the terminal the relevant characteristics of the event. With this code, it should be easy to add drawing operations, like those which have been described above.
"Button1", "Button2", "Button3", "Button4", "Button5"
Besides drawing graphics on a window, we often want to draw text. Text strings have two major properties: the characters to be drawn and the font with which they are drawn. In order to draw text, we need to first request the X server to load a font. We then assign a font to a Graphic Context, and finally, we draw the text in a window, using the Graphic Context.
The fid parameter is the font Id defined by xcb_generate_id() (see above). The name parameter is the name of the font you want to open. Use the command xlsfonts in a terminal to know which are the fonts available on your computer. The parameter name_len is the length of the name of the font (given by strlen()).
The string parameter is the text to draw. The location of the drawing is given by the parameters x and y. The base line of the text is exactly the parameter y.
This example draw a text at 10 pixels (for the base line) of the bottom of a window. Pressing the Esc key exits the program.
After we have seen how to create windows and draw on them, we take one step back, and look at how our windows are interacting with their environment (the full screen and the other windows). First of all, our application needs to interact with the window manager. The window manager is responsible to decorating drawn windows (i.e. adding a frame, an iconify button, a system menu, a title bar, etc), as well as handling icons shown when windows are being iconified. It also handles ordering of windows on the screen, and other administrative tasks. We need to give it various hints as to how we want it to treat our application's windows.
Many of the parameters communicated to the window manager are passed using data called "properties". These properties are attached by the X server to different windows, and are stored in a format that makes it possible to read them from different machines that may use different architectures (remember that an X client program may run on a remote machine).
for the program to compile fine.
One more thing we can do to our window is manipulate them on the screen (resize them, move them, raise or lower them, iconify them, and so on). Some window operations functions are supplied by XCB for this purpose.
The first pair of operations we can apply on a window is mapping it, or un-mapping it. Mapping a window causes the window to appear on the screen, as we have seen in our simple window program example. Un-mapping it causes it to be removed from the screen (although the window as a logical entity still exists). This gives the effect of making a window hidden (unmapped) and shown again (mapped). For example, if we have a dialog box window in our program, instead of creating it every time the user asks to open it, we can create the window once, in an un-mapped mode, and when the user asks to open it, we simply map the window on the screen. When the user clicked the 'OK' or 'Cancel' button, we simply un-map the window. This is much faster than creating and destroying the window, however, the cost is wasted resources, both on the client side, and on the X server side.
To have a simple example, see the example above. The mapping operation will cause an Expose event to be sent to our application, unless the window is completely covered by other windows.
The utilization of this function is the same as xcb_map_window().
We then give to value_mask the new value. We now describe how to use xcb_configure_window_t in some useful situations.
Note that when the window is moved, it might get partially exposed or partially hidden by other windows, and thus we might get Expose events due to this operation.
Remark that you have to free the structure, as xcb_get_geometry_reply_t allocates a newly one.
One problem is that the returned location of the window is relative to its parent window. This makes these coordinates rather useless for any window manipulation functions, like moving it on the screen. In order to overcome this problem, we need to take a two-step operation. First, we find out the Id of the parent window of our window. We then translate the above relative coordinates to the screen coordinates.
Of course, as for geom, tree and trans have to be freed.
The work is a bit hard, but XCB is a very low-level library.
TODO: the utilization of these functions should be a prog, which displays the coordinates of the window.
As for geom, attr has to be freed.
Up until now, all our painting operation were done using black and white. We will (finally) see now how to draw using colors.
In the beginning, there were not enough colors. Screen controllers could only support a limited number of colors simultaneously (initially 2, then 4, 16 and 256). Because of this, an application could not just ask to draw in a "light purple-red" color, and expect that color to be available. Each application allocated the colors it needed, and when all the color entries (4, 16, 256 colors) were in use, the next color allocation would fail.
Thus, the notion of "a color map" was introduced. A color map is a table whose size is the same as the number of simultaneous colors a given screen controller. Each entry contained the RGB (Red, Green and Blue) values of a different color (all colors can be drawn using some combination of red, green and blue). When an application wants to draw on the screen, it does not specify which color to use. Rather, it specifies which color entry of some color map to be used during this drawing. Change the value in this color map entry and the drawing will use a different color.
In order to be able to draw using colors that got something to do with what the programmer intended, color map allocation functions are supplied. You could ask to allocate entry for a color with a set of RGB values. If one already existed, you would get its index in the table. If none existed, and the table was not full, a new cell would be allocated to contain the given RGB values, and its index returned. If the table was full, the procedure would fail. You could then ask to get a color map entry with a color that is closest to the one you were asking for. This would mean that the actual drawing on the screen would be done using colors similar to what you wanted, but not the same.
On today's more modern screens where one runs an X server with support for 16 million colors, this limitation looks a little silly, but remember that there are still older computers with older graphics cards out there. Using color map, support for these screen becomes transparent to you. On a display supporting 16 million colors, any color entry allocation request would succeed. On a display supporting a limited number of colors, some color allocation requests would return similar colors. It won't look as good, but your application would still work.
When you draw using XCB, you can choose to use the standard color map of the screen your window is displayed on, or you can allocate a new color map and apply it to a window. In the latter case, each time the mouse moves onto your window, the screen color map will be replaced by your window's color map, and you'll see all the other windows on screen change their colors into something quite bizzare. In fact, this is the effect you get with X applications that use the "-install" command line option.
This will return the color map used by default on the first screen (again, remember that an X server may support several different screens, each of which might have its own resources).
Note that the window parameter is only used to allow the X server to create the color map for the given screen. We can then use this color map for any window drawn on the same screen.
As xcb_alloc_color_reply() allocates memory, you have to free rep.
TODO: Talk about freeing colors.
One thing many so-called "Multi-Media" applications need to do, is display images. In the X world, this is done using bitmaps and pixmaps. We have already seen some usage of them when setting an icon for our application. Lets study them further, and see how to draw these images inside a window, along side the simple graphics and text we have seen so far.
One thing to note before delving further, is that XCB (nor Xlib) supplies no means of manipulating popular image formats, such as gif, png, jpeg or tiff. It is up to the programmer (or to higher level graphics libraries) to translate these image formats into formats that the X server is familiar with (x bitmaps and x pixmaps).
What is a X Bitmap? An X Pixmap?
An X bitmap is a two-color image stored in a format specific to the X window system. When stored in a file, the bitmap data looks like a C source file. It contains variables defining the width and the height of the bitmap, an array containing the bit values of the bitmap (the size of the array is (width+7)/8*height and the bit and byte order are LSB), and an optional hot-spot location (that will be explained later, when discussing mouse cursors).
An X pixmap is a format used to stored images in the memory of an X server. This format can store both black and white images (such as x bitmaps) as well as color images. It is the only image format supported by the X protocol, and any image to be drawn on screen, should be first translated into this format.
Remark: In Xlib, there is no specific difference between a Drawable, a Pixmap or a Window: all are 32 bit long integer. XCB wraps all these different IDs in structures to provide some measure of type-safety.
Sometimes we want to create an un-initialized pixmap, so we can later draw into it. This is useful for image drawing programs (creating a new empty canvas will cause the creation of a new pixmap on which the drawing can be stored). It is also useful when reading various image formats: we load the image data into memory, create a pixmap on the server, and then draw the decoded image data onto that pixmap.
As you can see, we could copy the whole pixmap, as well as only a given rectangle of the pixmap. This is useful to optimize the drawing speed: we could copy only what we have modified in the pixmap.
One important note should be made: it is possible to create pixmaps with different depths on the same screen. When we perform copy operations (a pixmap onto a window, etc), we should make sure that both source and target have the same depth. If they have a different depth, the operation would fail. The exception to this is if we copy a specific bit plane of the source pixmap using the xcb_copy_plane_t function. In such an event, we can copy a specific plane to the target window (in actuality, setting a specific bit in the color of each pixel copied). This can be used to generate strange graphic effects in a window, but that is beyond the scope of this tutorial.
Of course, after having freed it, we must not try accessing the pixmap again.
It it possible to modify the shape of the mouse pointer (also called the X pointer) when in certain states, as we otfen see in programs. For example, a busy application would often display the sand clock over its main window, to give the user a visual hint that he should wait. Let's see how we can change the mouse cursor of our windows.
There are two methods for creating cursors. One of them is by using a set of predefined cursors, that are supplied by the X server, the other is by using a user-supplied bitmap.
We have created the cursor "right hand" by specifying 58 to the source_font argument and 58 + 1 to the mask_font.
In the second method, we create a new cursor by using a pair of pixmaps, with depth of one (that is, two colors pixmaps). One pixmap defines the shape of the cursor, while the other works as a mask, specifying which pixels of the cursor will be actually drawn. The rest of the pixels will be transparent.
Of course, the cursor and the font must be freed.
The following example displays a window with a button. When entering the window, the window cursor is changed to an arrow. When clicking once on the button, the cursor is changed to a hand. When clicking again on the button, the cursor window gets back to the arrow. The Esc key exits the application.
The problem when you want to port an Xlib program to XCB is that you don't know if the Xlib function that you want to "translate" is a X Window one or an Xlib macro. In that section, we describe a way to translate the usual functions or macros that Xlib provides. It's usually just a member of a structure.
In this section, we look at how to translate the macros that return some members of the Display structure. They are obtained by using a function that requires a xcb_connection_t * or a member of the xcb_setup_t structure (via the function xcb_get_setup), or a function that requires that structure.
However, this points out a basic difference in philosophy between Xlib and XCB. Xlib has several functions for filtering and manipulating the incoming and outgoing X message queues. XCB wishes to hide this as much as possible from the user, which allows for more freedom in implementation strategies.
The name of the display is not stored in XCB. You have to store it by yourself.
in Xlib, ScreenOfDisplay returns a Screen structure that contains several characteristics of your screen. XCB has a similar structure (xcb_screen_t), but the way to obtain it is a bit different. With Xlib, you just provide the number of the screen and you grab it from an array. With XCB, you iterate over all the screens to obtain the one you want. The complexity of this operation is O(n). So the best is to store this structure if you use it often. See screen_of_display just below.
Xlib provides generally two functions to obtain the characteristics related to the screen. One with the display and the number of the screen, which calls ScreenOfDisplay, and the other that uses the Screen structure. This might be a bit confusing. As mentioned above, with XCB, it is better to store the xcb_screen_t structure. Then, you have to read the members of this structure. That's why the Xlib functions are put by pairs (or more) as, with XCB, you will use the same code.
As mentioned above, you might want to store the value returned by this function.
All the functions below will use the result of that function, as they just grab a specific member of the xcb_screen_t structure.
It is the default screen that you obtain when you connect to the X server. It suffices to call the screen_of_display function above with the connection and the number of the default screen.
It is the Id of the black pixel, which is in the structure of an xcb_screen_t.
It is the Id of the white pixel, which is in the structure of an xcb_screen_t.
It is the width in pixels of the screen that you want, and which is in the structure of the corresponding xcb_screen_t.
It is the height in pixels of the screen that you want, and which is in the structure of the corresponding xcb_screen_t.
It is the width in millimeters of the screen that you want, and which is in the structure of the corresponding xcb_screen_t.
It is the height in millimeters of the screen that you want, and which is in the structure of the corresponding xcb_screen_t.
It is the depth (in bits) of the root window of the screen. You get it from the xcb_screen_t structure.
in Xlib, the Screen structure stores its associated Display structure. This is not the case in the X Window protocol, hence, it's also not the case in XCB. So you have to store it by yourself.


JClub.com Reviews - Legit or Scam?
According to their website, jClub.com says that their team works directly with suppliers to cut out the middlemen and all the additional costs they bring to retail products so that they can provide their customers with some of the very best prices available online.
Each day at noon Eastern Standard Time, new deals will go live in their Hot New Deals section. Customers are welcome to click on any deal to see the product's description and to see more deals which may be available in that specific category.
In addition, their website will always keep a rotating inventory of products that will be available in different categories, including Women's, Electronics, Home, Jewelry, Lifestyle, and Men's.
This company promises that everyone will have access to their special sales without the burden of any kind of membership fees and they promise they will never charge their customers hidden fees at any point. Finally, all purchases from this company will ship for free.
This company says that for most items sold on their website, including Final Sale items that are damaged or defective, customers will have 30 days from the date of delivery in which to make a free return. Customers will not be responsible for any shipping costs, but they will need to contact the jClub Customer Service team by email during business honors in order to have their returns approved and arranged.
Customers who wish to contact their Customer Service team with any questions, concerns, or complaints can do so by phone at 844-465-2582, by email at [email protected], or by submitting them directly to their website through their Contact Us link.
There are not that many reviews of this company available at this time, but the few which can be found online appear to all be positive in tone, with many of the customers describing similar experiences. Most reviews detail situations where people ordered multiple products from this website, but decided to only keep one or two.
These customers claim that jClub's Customer Service team was very helpful in arranging their returns and they were able to successfully complete the process without difficulty. In terms of working with a retailer for the first time, it is very important that you are able to get good quality Customer Service when you are unhappy with a purchase, so these reviews are a good sign.
There are many, many other "daily deal" websites available for customers depending on the type of products they are hoping to find or depending on where they live, as some of these companies work with local retailers.
If you have any experience with this company or their products, please leave your jClub.com reviews below.
I have purchased a few items from jclub, have had no problems until today. I ordered a tea pot, received today, box was smashed and opened. The top of the tea was missing. Just waiting on a response from jclub. Everything else I ordered was awesome no problems.
I ordered from them prior to November 28th. I had to ask them for tracking info or confirmation on the 29th.
Tracking originally said Dec 7th. Now today Dec 7th I get an update that it's not expected until Dec 12th.


Is there a way to show exposure values in a non-photographer-friendly way? I'm thinking in adding a GConf key to optionally enable something like "exposure info in statubar". End-users would free from those evil info then.
Should the time reside on statusbar?
Show simplified date/time ("23/12/2007, 12:48") or a full descriptive one ("23 December 2007, 12:48")?
What do you think is missing in statusbar?


text:
Watch Kodak Black's 'ZEZE' Video Feat. Travis Scott and Offset
Kodak Black has dropped a video for his hit song "ZEZE" featuring Travis Scott and Offset. The track peaked at No. 2 on Billboard's Hot 100 and was the fourth most-downloaded song of October on DJcity.
The visual, directed by Scott, takes a comical look at low-budget music video production. The rappers perform in front of a green screen as the set gets increasingly chaotic.
Watch the video above and download the track on DJcity.
Related: Watch Gucci Mane, Bruno Mars, and Kodak Black's 'Wake Up in the Sky' Video
Rob Sickelco | Tracks, Videos
Kodak Black, Music Video, Offset, Travis Scott,
Watch Gucci Mane, Bruno Mars, and Kodak Black's 'Wake Up in the Sky' Video
Gucci Mane, Bruno Mars, and Kodak Black have dropped a lavish video for their laid-back single, "Wake Up in the Sky." The collab, which peaked at No. 30 on Billboard's Hot 100, was the seventh most-downloaded track of September on DJcity.
Co-directed by Bruno Mars, the throwback visual finds him, Gucci, and Kodak performing in stylish suits as an old-school R&B group.
"Wake Up in the Sky" is expected to appear on Gucci's forthcoming album, Evil Genius.
Related: Gucci Mane, Bruno Mars, and Kodak Black Connect for New Single, 'Wake Up in the Sky'
Hugo Pacheco | Tracks, Videos
Bruno Mars, Gucci Mane, Kodak Black, Music Video,
Gucci Mane, Bruno Mars, and Kodak Black Connect for New Single, 'Wake Up in the Sky'
Gucci Mane (Source: Instagram)
Gucci Mane, Bruno Mars, and Kodak Black have connected for a surprise collaboration, "Wake Up in the Sky."
The laid-back track features all three artists boasting about their success over a Bruno-produced instrumental. It is the first time Bruno and Kodak have appeared on a song together.
Stream "Wake Up in the Sky" below and download it on DJcity.
Related: Watch Gucci Mane's 'Solitaire' Video Feat. Migos and Lil Yachty
Bruno Mars, Gucci Mane, Kodak Black,
Watch the Producers of Chris Brown's 'Pills & Automobiles' Explain How They Made the Track
Producers Smash David, OG Parker, and The Martianz have explained how they made Chris Brown's hit single, "Pills & Automobiles." The track, which was one of DJcity's 50 most-downloaded songs of 2017, features Yo Gotti, A Boogie Wit Da Hoodie, and Kodak Black.
Released in August, "Pills & Automobiles" peaked at No. 46 on Billboard's Hot 100 and has been certified platinum. The song serves as the fourth single from Breezy's 45-track studio album, Heartbreak on a Full Moon.
Smash David is a Grammy-nominated producer best known for co-producing Big Sean's "Bounce Back," Khalid's "Location," and Flo Rida's "Hola" featuring Maluma. Atlanta's OG Parker co-produced Migos' "Slippery" featuring Gucci Mane and "Walk It Talk It" featuring Drake. The Martianz, which consist of Hutch and Hide, have produced tracks for Rae Sremmurd, Lil Skies, and Lil Baby.
In the episode, each producer takes a turn breaking down their contribution to the track. OG Parker then recalls how they linked up with Breezy.
Watch it above and download "Pills & Automobiles" on DJcity.
Related: Honorable C.N.O.T.E. Explains How He Produced Trippie Redd's 'Dark Knight Dummo'
Hugo Pacheco | Music Tech, Videos
A Boogie Wit Da Hoodie, and Yo Gotti., Chris Brown, Kodak Black, Music Production, OG Parker, Smash David, The Martianz,
Kodak Black Drops 'Roll in Peace' Video Feat. XXXTentacion
Kodak Black has dropped a fitting video for his XXXTentacion-assisted single, "Roll in Peace." The track, which addresses Kodak and XXX's legal disputes, has become one of his most popular to date.
"Roll in Peace" appears on Kodak's mixtape, Project Baby 2. It was produced by London on da Track and CuBeatz.
Watch above and download the song on DJcity.
Related: London On Da Track: Transitioning From Producer to Artist
Anthony Polis | Tracks, Videos
Kodak Black, Music Video, XXXTentacion,
Watch A Boogie Wit Da Hoodie's 'Drowning' Video
After unleashing his debut album, The Bigger Artist, A Boogie Wit Da Hoodie has returned with a video for his platinum single, "Drowning (Water)." The track peaked at No. 38 on Billboard's Hot 100 and became the Bronx rapper's highest-charting single.
The bubble-filled visual shows A Boogie rapping and playing piano underwater while mermaids and sharks swim around him. Kodak Black, who is featured on the track, does not appear in the video and his verse is also replaced by a black-and-white clip.
Watch the video above and download "Drowning (Water)" on DJcity.
Related: Watch the Producer of A Boogie Wit Da Hoodie's 'Drowning (Water)' Explain How He Made the Track
Patricia Lin | Tracks, Videos
A Boogie Wit Da Hoodie, Kodak Black, Music Video,
Watch the Producer of A Boogie Wit Da Hoodie's 'Drowning (Water)' Explain How He Made the Track
Grammy-nominated producer Jahaan Sweet has explained how he made A Boogie Wit Da Hoodie's "Drowning (Water)" featuring Kodak Black in a new episode of Genius' Deconstructed. The track peaked at No. 38 on Billboard's Hot 100.
"Drowning (Water)," which appeared in the March edition of DJcity Trends, is A Boogie's highest-charting single. It was certified platinum in July and currently has over 100 million streams on Spotify.
In the video, Jahaan recalls how the track came about and breaks it down in Logic Pro. He discusses his chance encounter with A Boogie and says that 18th-century composer Johann Sebastian Bach inspired the beat.
The Los Angeles-based producer is a graduate of the world-renowned music school, Juilliard. He's best known for his work with Kehlani, though he has also produced tracks for Lana Del Rey and Ty Dolla $ign.
Watch Deconstructed above.
Related: Watch Teddy Walton Explain How He Produced GoldLink's 'Crew' Feat. Brent Faiyaz and Shy Glizzy
A Boogie Wit Da Hoodie, Jahaan Sweet, Kodak Black, Music Production,
Watch Chris Brown's 'Pills & Automobiles' Video Feat. Yo Gotti, A Boogie Wit Da Hoodie, and Kodak Black
Shortly after unveiling his video for "Questions," Chris Brown is back with a visual for his guest-filled single "Pills & Automobiles" with Yo Gotti, A Boogie Wit Da Hoodie, and Kodak Black. The track was included in this month's edition of DJcity's Trends charts.
The highly-choreographed video finds the four rappers partying at a water park.
Watch the visual above and download "Pills & Automobile" on DJcity.
Related: Watch Chris Brown's 'Questions' Video
A Boogie Wit Da Hoodie, Chris Brown, Kodak Black, Music Video, Yo Gotti,
Watch Kodak Black's 'Patty Cake' Video
Rising Florida rapper Kodak Black has shared a video for his single, "Patty Cake." Filmed at a high school, the visual depicts an animated, young Kodak running for prom king.
"Patty Cake" serves as the latest single from Kodak's debut album Painting Pictures. It follows his double-platinum hit, "Tunnel Vision."
Related: Watch Lil Yachty's 'Forever Young' Video Feat. Diplo
Kodak Black, Music Video,


Kingsday Festival, one of Amsterdam's biggest music events of the year ended with a boom as the one and only Snails decided to join forces with Martin Garrix, Oliver Heldens, Carnage and Skrillex for an epic and memorable back 2 back surprise after-party performance. It's not often that so many world class DJs are in the same city at the same time and for that reason they jumped on the opportunity to turn an incredible night into a historic one. To our chagrin there doesn't appear to be too much video evidence of the night, but you can at least salivate over the picture proofs of what was sure to be an event for the books.


Looking for a second opinion? With my background in screenwriting and novel writing, I've got a strong ear for dialogue, pacing and story structure. Let me use my strengths to help you take your work to the next level.
One-on-one meeting (via phone, email, or in person) to discuss your draft and any recommendations to create a stronger, more engaging narrative.
Turnaround time from receipt of manuscript to written report is 2-3 weeks. Send me an email with a quick synopsis, page count, genre and specific issues you'd like me to address and let's touch base.


Ascended Master Chananda is a master who, though we may not remember him on the outer, at the inner levels of our being, we may remember him in his white robe and turban, his distinctive personality and his role as mentor and advisor to many.
The goal is to put people in touch with the higher self as their guide, guardian, and friend. Other goals include using spiritual energy to change the past and using every encounter and circumstance as an opportunity to grow while practicing loving-kindness towards everyone, including one's self.
Although he is concerned with the destiny of many nations, Chananda is mainly responsible for the divine destiny of the continent of India. In fact, he tells us that he is the governing authority and the flame of India the land of the Mother that was once a part of the ancient continent of Lemuria. He comes to reacquaint us with the culture of the Mother Light that was once the Golden Age of Lemuria- and he reveals that India in the east and America in the west have a destiny that is connected.
The great masters such as Chananda seek the conscious cooperation of mankind to forge a union of hearts between heaven and earth that will span the octaves and create a bridge over which the currents of light, love and truth can flow into the governments of mankind to solve the issues of our time–thus the master is in search of his students. This beloved master tells us that the ascended masters never cease in their search for their chelas. Chananda is in search of the one or the many who can help him to fulfill the destiny of a great land and a great people. Perhaps you are that one!
Who is the Master Chananda?
Chananda is a master of light from the continent of India. His expertise is with the governments of the nations. "Chananda is particularly concerned with the problems of racial and religious divisions between people and with the future of India." To this end, he works with the councils of masters and adepts in the heaven world to help bring about harmonious resolutions of conflicts and to contribute to world peace.
Chananda has been described as a tall, personable and majestic master of Indian extraction. He wears white and also wears a white turban with a jewel in front. Chananda is frequently at the etheric Darjeeling Council table. "It is located in the etheric realm in the foothills of the Himalayas above the city of Darjeeling, India." He is concerned, of course, with the affairs of India, just as the etheric Council of the Royal Teton is concerned with the affairs of United States. However, the concerns of these masters are not limited by the boundaries of their nations.
Chananda, like all of the ascended masters, is a devotee of the Divine Mother. He teaches us the application of the Culture of the Mother to life as it is lived today. He is concerned with the raising again of the Mother Light, intended to occur in all nations, but especially in the nations of India and America, whose divine destinies are intertwined.
Chananda is also a sponsor and initiator of twin flames. The twin flame is the other half of the divine whole. You have only one twin flame and you and your twin flame were created in the beginning from the white fire core of God. In the Age of Aquarius, many are seeking to reunite with their twin flames. Karma is what produces difficulty in relationships and separation from the beloved twin flame and the ascended masters are concerned that twin flames be re-united unto cosmic service. Chananda is one such master who is deeply concerned with the union of twin flames. He understands why twin flames became separated during their many lifetimes on earth and has keys to their reunion in love.
Chananda features prominently in the books of the I AM Activity – authored by Godfre Ray King (the pen name of Guy Ballard), who was a messenger for the ascended masters for the I AM Activity. The date of Chananda's ascension is not known.
Chananda came forth in 1937 to assist the ascended master Saint Germain to implement his plan for the freedom of the earth. He assists the governments of the world. Specifically, Chananda's role is with God-government. As he is so intimately involved with the governments of the nations, he can teach us about God-government from the perspective of the ascended masters. Because of his intimate understanding of government as it should be, Chananda is an important master to know. His skills, expertise and intercession are needed as never before, as the leadership of governments and nations deal with complex and intricate problems of global significance.
India and America share a divine destiny together―India is the matter or feminine polarity; America is the spirit or masculine polarity between the two nations. India is the head and America is the heart of the radiant plan for the world and the unfoldment of love in the world. The polarity between the nations of America and India has a figure-eight-flow of energy between them ―India the ancient motherland, America the future land of the mother – and at the nexus, the Middle East, the base chakra for the planet.
The ascended masters such as Chananda, who serve tirelessly on the Indian and Darjeeling Councils, continually desire to find ways to reach unascended mankind with the concepts that can change their world. Having graduated from earth's schoolroom, they long to help bring about freedom, peace and enlightenment to a world that yearns for these divine attributes.
Masters such as Chananda stand just beyond the veil ready and waiting to assist us if we will invite him into our world. Anyone on earth can ask Chananda and other members of the Councils of the Great White Brotherhood to enter the affairs of men and they will do so. But the laws of the universe state that they cannot enter uninvited. Mankind must use their free will to invite the angelic hosts and the masters into the physical events of earth, and then they can act.
We can call therefore to Chananda for the proper implementation of the plan for God-government throughout the world and we can ask that God's divine plan for India and America be implemented through his intercession.


Designed by Kira Gray and manufactured by Fyfe Kitchens, the latter was voted for and won the NKBA's 2014 Bathroom design of the year, Best use of lighting, People's Choice, and Auckland Regional Bathroom Design award. Click here to know more of NKBA's 2014 Award Winners.
The bathroom design features a timber vanity with plenty of storage. Its use of lighting and the floated mirror enhance the bathrooms overall appeal and use of space.
The white Caesar stone top is consistent with the sculptural bath and magnifies the silver glass basins glitz and glamour.
Ask us to find out more about this bathroom design.


text:
Home » Noise » Live Reviews » Review: Dan Reed Network @ The O2 Academy, Brixton
Review: Dan Reed Network @ The O2 Academy, Brixton
Dan Reed Network sealed off their Europian tour supporting rock legends Extreme with a special show at The O2 Academy Brixon, London
Dan Reed Network, photo by Gili Dailes
Dan Reed Network was originated in Portland, Oregon in the mid 80s, and have been active until 1993 – when they disbanded.
Since their reunion in 2012, Dan Reed Network had their latest album "Fight Another Day" released and promoted on a world tour in 2016, followed by a European tour in 2017.
Tonight's show at the O2 Academy Brixton in London was the last one for this tour supporting rock legends Extreme, sealing it on a high note and leaving long awaiting fans satisfied yet yearning for more.
Throughout the show, the band members truly gave their heart and soul – it was honest, raw, warm and energetic and we could really appreciate how they've managed to bring their essence, with all that 80's aroma into the present on songs like "Champion" from the new album, sounding relevant but with a prominent experienced touch.
Between Brion James ablazing with his guitar solos, Melvin Brannon II's slinky, funky, deep 5 string bass playing, Dan Pred's groovy and powerful drumming and huge snare sound and Rob Daiker's keys and samples (which brings some of the futuristic ambiance to the game), Dan Reed was exceptional:
Aside for holding the vocal front while constantly moving around and covering every possible inch of the stage, he managed to maintain great communication with the crowd and visited the pit a couple of times to give some in-person love and attention to the fans.
Being the stage veteran that he is, Dan had managed to take over two instances of tech-issues and professionally morph them into priceless opportunities, getting the crowd kindelled on a juicy unplanned bass solo on the first one, and later on – bursting into a surprise on-the-spot vocal performance of the famous Jazz(!) standard "All of me".
Combine all this happening on stage with the spectacular sound and lighting facilities at the O2 Academy and a top-notch production behind Dan Reed Network, and the result was an absolute treat of a show, for us and clearly for all the chanting die-hard fans surrounding us.
Having the venue fully packed with such love on their last show of the tour was surely a great indicator for Dan Reed Network, and we hope it will motivate them to come back again soon.
Dan Reed Network supporting Extreme
December 20th 2017 | O2 Academy Brixton, London
Words by Nanneq
Photos by Gili Dailes
← Preview: Stone Sour @ Brighton Centre, 01/12/17
Review: Anvil @ The Green Door Store →


text:
Q: TOMCAT 9 +Java 8 upgrade issue: The method URLDecode(String) is undefined for the type RequestUtil Recently I upgraded my application to Tomcat 9 and Java 8 and deployed my war files. When I launch my application I'm getting errors like,
  An error occurred at line: [3] in the jsp file: [/app/myPage.jsp]
  The method URLDecode(String) is undefined for the type RequestUtil
   1: </script>
   2: <%
   3: String fromPage = org.apache.catalina.util.RequestUtil.URLDecode( "redirect" );

in my lib path catalina.jar has the method.
Please guide me on what is missing.

A: The functionality has been removed in version 9:
https://tomcat.apache.org/tomcat-9.0-doc/api/org/apache/catalina/util/RequestUtil.html
Try UDecoder from Tomcat 9:
https://tomcat.apache.org/tomcat-9.0-doc/api/org/apache/tomcat/util/buf/UDecoder.html
or Java 8's built-in decoder:
https://docs.oracle.com/javase/8/docs/api/java/net/URLDecoder.html


Fifteen US teams ages 17 to 20 years competed in the Red Bull Foiling Generation US Qualifier on October 14-16 with the winning team advancing to the Red Bull Foiling Generation World Finals on October 22-23. Both events are in Newport, RI. Photos by Stephen Cloutier.


This group will be an opportunity for patients in the mental health system to come together to share their experiences in order to identify ways to improve the system in the future. Family and friends who have experiences to share are also welcome or if you have an interest in supporting improvements to the mental health system locally and nationally. Please feel free to contact Faye below with any questions.
Our local group aims to re-boot democracy and to get involved in local and national campaigns.
38 Degrees is not currently able to support the launch of new local groups. You can see if there's a group near you on this page and contact the organiser if you're interested in joining.
If you have an idea for a local campaign, or a local angle for an important national one, you can start a petition yourself on our Campaigns By You website.
What can a 38 Degrees local group expect from 38 Degrees?
What does 38 Degrees expect from a local group?


text:
import { Destructible, Dimensions, Resizable, Styleable } from './types/interfaces';
import FilterizrOptions from './FilterizrOptions';
import EventReceiver from './EventReceiver';
import StyledFilterizrElement from './StyledFilterizrElement';
export default abstract class FilterizrElement implements Destructible, Resizable, Styleable {
    node: Element;
    options: FilterizrOptions;
    protected eventReceiver: EventReceiver;
    constructor(node: Element, options: FilterizrOptions);
    readonly dimensions: Dimensions;
    destroy(): void | Promise<void>;
    trigger(eventType: string): void;
    abstract readonly styles: StyledFilterizrElement;
    protected abstract bindEvents(): void;
    protected abstract unbindEvents(): void;
}