text:
Hromadske Radio
Studio's phone: 0800 750 490
Human rightsWorld
DonateVersion for the visually impaired
Ukraine CallingTo podcast
Ukraine is a fantastic opportunity for investment – Thomas Sillesen
January 27, 2019, 9:16 PM 2019-01-29T23:33:41
Danish businessman Thomas Sillesen speaks to Bohdan Nahaylo about alternative energy, business environment and that Ukraine could easily have 7-8 percent growth GDP per year
Bohdan Nahaylo
https://static.hromadske.radio/2019/01/hr-uc-19-01-27.mp3
Hello and welcome to this week's episode of Ukraine Calling. I'm Oksana Smerechuk for Hromadske Radio in Kyiv and we're bringing you our feature in-depth interview followed by some new music from Ukraine.
In this week's interview, our Bohdan Nahaylo talks to Thomas Sillesen on his experience with developing alternative energy sources in Ukraine, such as wind power. That will be a little further on, but first of all, this week's news.
Feature interview: Danish businessman Thomas Sillesen speaks to Bohdan Nahaylo about alternative energy for Ukraine
Nahaylo: I am very happy to have as my guest on this week's program, a representative of a Danish company very active in Ukraine. It's Thomas Sillesen, Chairman of the BIIR group, which stands for Bojer Innovative Engineering Advisors. He is going to tell us a little bit about what they actually do here, but I would like for us to use this opportunity, Thomas, to talk more broadly about the challenges of getting alternative ecological types of energy for Ukraine. So welcome to the program.
Sillesen: Thank you Bohdan it's a pleasure being here, I'm happy to be invited. Just to give your listeners a brief introduction to our company, we started 10 years ago in Denmark. We mostly focus on renewable energy. We have in Denmark about a 150 engineers working on wind turbine designs. We are a specialist company to which people come to seek help when they design wind turbines. So, our customer database is basically are the largest wind turbine companies in the world. The two largest are our main customers. Well, the three largest, actually.
Nahaylo: And when did you get involved in Ukraine?
Sillesen: About 5 years ago. And it was actually a side project, because our group consisted of many companies. We have plastic tool manufacturing factories in Denmark and Malaysia. We have companies for renovating oil rigs, so we have a broad spectrum of businesses. But a client approached us asking us to do software development and we realized, from a friendship I have with a Danish IT entrepreneur, that we most likely should use Ukrainians.
Nahaylo: So, you were initially involved on the IT side, that was the opening you used.
Sillesen: Exactly
Nahaylo: And that's a scene that is really booming in Ukraine
Sillesen: For sure it is. The funniest thing was that being an economist, I checked the cost of wages in Ukraine and compared to the offers of I got of IT companies in Ukraine, and I realized that there was a mismatch because the official statistics were much lower than the offers I got. I realized later that IT was a relatively high price product in Ukraine. Not knowing that, I decided to find somebody myself in the country that could help us. I knew some Russians who knew a girl in Lugansk, so we ended up in Lugansk. I took off with a friend of mine, and my knowledge of Ukraine was zero, I had never been in Ukraine before, I had not really cared about the country, so I came to Lugansk, or should I say Luhansk (Ukrainian form) as you would say nowadays.
Thomas Sillesen and Bohdan Nahaylo Hromadske Radio
Nahaylo: What were your first impressions?
Sillesen: It was fantastic, I loved the city, the people were so kind and it was so nice. Of course it was very different from Denmark but in reality, even though the marshrutka (mini-buses providing local transportation), or whatever you call them, looked like sh*t they functioned and I could use them, and it was like: "Yeah, OK, it works". The girl found us two guys, and one of them still works for us now, so it was fantastic. Having that I came home to my two partners in BIIR and I told them "guys we should actually use Ukrainian engineers". And they are, like me, pretty dynamic so they said yes.
Nahaylo: Were you approached from within Ukraine for ecological energy opportunities, or is it something through exploration that you offered yourselves?
Sillesen: When we started engineering work in Ukraine, it was because in Denmark we were losing orders to Indian companies who could offer their services cheaper than we could. And we wanted to have an engineering base in Ukraine that could make us competitive with Indian companies. The craziest thing is that last week I was in Las Vegas talking to a potential customer and we were talking about outcompeting Chinese engineers. So actually, you know, we have an edge here. But first of all, we started off in Luhansk. It was pretty straightforward, and then came the war and we had to move. We moved to Odesa because I thought the war would be over in two months: I was pretty optimistic. I was thought my staff should be in a nice place in the summer of 2014. As we all know, it has all lasted a lot longer. So we continued to grow in Odesa and we're still there, we are happy to be there.
Nahaylo: You're talking about the IT component, the engineering side, or both?
Sillesen: That's the engineering. We have now about 140 engineers, making mechanical designs for wind turbines and we have other customers. We have about 20 in software and electricity doing more IT related stuff
Nahaylo: Where are the main locations where the wind turbines are employed? Where are the growth areas?
Sillesen: I mean we are strategic partner for Vestas in Denmark, so they use us extensively for designs for wind turbines. You can say we are in the basic designs of the turbines before it actually is a product, we are involved. We will do the design of the nacelle, which is the house you see at the top. And we would help with propellers.
Nahaylo: What are the main areas of Ukraine, is it the South, or the East of Ukraine? Where are they being employed?
Sillesen: Once the wind turbines are designed, companies like Vestas, Siemens, whoever we work for, will get orders. And orders are normally based on analysis of areas where you have a good wind load, where you could have a profitable wind turbine. It could be in the South, it could be in the sea, it could actually be somewhere…
Nahaylo: In areas that are open, basically? What we used to call the Steppes.
Sillesen: Exactly, you need to be in the areas where you don't have a lot of turbulence because that will make the production less profitable. You can say Ukraine is open for renewable energy and that there is no doubt about it.
Nahaylo: Can you give us an idea about the scale of the development from zero to a hundred, Is it an area that is growing quickly? We see that the EU is involved in this area now and providing Ukraine with grants. It seems to be a very topical issue.
Sillesen: It is a huge industry and it's probably the largest industry in Denmark because Siemens and Vestas both have their headquarters in Denmark. In certain situation there days during the year when all electricity is supplied in Denmark by wind turbines. So, in reality it's now a huge thing in our country.
Nahaylo: For the listeners, please explain what the wind turbines are. Are they giant windmills?
Sillesen: Well, for example, we are very much involved in the design of the Vestas V164, which is the world's largest wind turbine. It's an 8-megawatt wind turbine, so it's a huge one. It is so huge that if you lay it flat and you have the propellers circulating, like, flat on the earth, it would cover the whole of Wembley arena.
Nahaylo: Oh, that is huge.
Sillesen: It is a huge wind turbine, yes. And therefore, it is a huge engineering task where you have many thousand guys working on it. So, it's very impressive.
Nahaylo: And who is paying for the installation of these turbines? Is it Ukrainians themselves, the government, is it private, is it businesses?
Sillesen: Normally countries, including Ukraine, have some kind of incentive to put up these things. You can say they are not as cost effective as having a nuclear power plant for instance. But on the other hand, you have, how should I put it, the feeling that it's green, that it's renewable. You also have the strategic consideration that you cannot place nuclear power plants all over the place.
Nahaylo: And we have, you know, the horrible memory of Chornobyl here, which doesn't exactly make the idea of new nuclear power plants popular.
Sillesen: It's also a memory for Danes. I was a young kid when it happened (the Chornobyl nuclear plant accident in April 1986), and I still remember it. It was a huge thing in Denmark too.
Nahaylo: So here in Ukraine we've got the challenge not only of avoiding reliance on the obsolete and maybe still, in some respects potentially dangerous for the long-term, nuclear power plants, but also on the old industries: coal, on oil, the traditional, what do we call them, carbon energy sources. You're providing a real alternative to it, which we see happening elsewhere. Where? In France, Germany, in other countries, that are increasingly making this transition.
Sillesen: Yes, you see it in many places in Europe. It is also evident in Spain, Portugal, and England, and so on. It's just a matter of countries realizing that relying on one source is not very healthy. You know, because you have the situation with the gas supply from Russia. So in order to be strategic and independent, it's wise to have a broad mix of supplies.
Nahaylo: So, there's also this other factor, that apart from the economic side, there's the political element, the need for a safety net, a safeguard if you want, in times of political complications. But tell me, in terms of the ratio, the proportion of the Ukrainian content in the business that you do — I have no idea what it is — is it 5 percent, 2 percent, 10 percent?
Sillesen: It's around zero. You can say it like this: Our office in Odesa only supply our Danish office with help, at the moment. And Veronica, whom I'm with this week, who is our manager in Kyiv, and I are setting up a sales office because we want to also target Ukrainian businesses because we have a lot of know-how we can transfer it to Ukraine. We would be happy to have customers. I think that you can say that our core business is helping really big companies, but we would also be happy to help small one. Also in in Ukraine you have to have the maturity. We can say, "Now you have the maturity to set up the wind turbines."
Nahaylo: Is the political will there? Is the interest there?
Sillesen: The political will is super simple, it's just a matter of getting the money, the incentive to, to know you get some kick-back per kilo that you produce off your wind turbine. And your country is supplying that so that is step one.
Nahaylo: But I've suggested that Ukraine seems to be getting grants, incentives if you want in simplified terminology, from the EU and others to invest in alternative sources of energy.
Sillesen: I think that from the European perspective all of us have an interest in Ukraine becoming truly independent without having to rely on, or be subjected to force from other countries in regards to energy supply, so it's a strategically important thing for your country to be able to stand on its own feet. So I think the IMF, EU will support that very strongly. Our government in Denmark will do the same. Denmark has energy advisors helping your energy ministry while we speak, sitting here in Kyiv, I know them very well.
Nahaylo: And have you seen progress being made in the last 5 years?
Sillesen: I think your country has changed a lot, yes. But I think it's how it is in life, that if you are in the middle of something it's difficult to see it, but when, like me, you come back and forth all the time, you see changes all the time. I think your country is growing economically and also in the quality of buildings, and so on. But, I would say though that your country could definitely do more. It's like when we had what we call the energy crisis in Denmark, which was back in the 70s when the oil producing countries decided to raise prices dramatically. At that time I was very young and living with my mom and dad. The house we had had only one pane of glass in the windows, which is actually often still the case in Ukraine. My father responded by putting plastic in front of all the windows to provide better insulation. And it started a trend in Denmark which has gone on to this day on how to be energy competitive. Our country is relying a lot on it because until we got oil from the North Sea and then started making wind turbines, we had to buy everything from outside. So, reducing cost, by being efficient, was very important. And you see in Denmark today that many houses are being built of a quality that basically you don't need to heat them because they are so well insulated. They will retain the same temperature all day, all year.
Nahaylo: I would like to remind listeners that I am talking to Thomas Sillesen, who's the chairman of the BIIR Group from Denmark, a leading, cutting-edge Danish engineering consulting company, increasingly active here in Ukraine. My question now would be more about the way you operate. I've been doing a little bit of homework and I'm quite impressed about the quality of the staff, the lengths that you go to ensure that they are of the right standard, have the right training, and they're team players. Yes? But, one other thing that I noticed, that you pride yourselves on being creative, that you're up for any challenges.
Sillesen: Thank you.
Nahaylo: But, how do you sustain this, how do you guarantee this? Is it through close personal connections between staff, mutual trust and support, or how do you cultivate this ethos?
Sillesen: You see, Danish business culture is very different from Ukrainian. If you come to our Odesa office, the lady we have here, who is an outstandingly good director, has made it function very in a very precise and orderly manner. If you come to our Danish office, you will feel like it's anarchy. You will come in through the front door, and there will be nobody there. You will look for a cup of coffee, you can't find the coffee machine. You'll go up two flights of stairs before you find someone working there and they will be not have time to talk with you because they are so focused on their task. Our culture in this respect is so different, and does it work? It definitely does…
Nahaylo: But why is this? Because of the degree of autonomy and trust that exists?
Sillesen: You know, when we started our company in Ukraine, we were faced with an unexpected challenge. Our initial plan was that I should be director, and a national staff member called Dinara, should be the manager of the office. But we realized I could not get a work permit before the company was established, so we had to make her director. Obtaining my work permit took also took a long time. We had a situation when we had to send about 2 million hryvnias to open the office and I talked with Jonas Bojer, my partner, and I said, "Jonas, you know, Dinara needs 2 million hryvnias." And he said, "Yeah, I'll send it to her, she looks trustworthy." So, we sent it to this young woman we had met only two times in our life. We sent 2 million hryvnias to a bank account which she has full control over. I do not think a lot of Ukrainians would do that.
Nahaylo: No!
Sillesen: But that is typical of the Danes. We believe in people until proven wrong.
Nahaylo: But you have had some legal challenges here, and some problems. But I hear that you have been successful in getting justice done without resorting to the usual way that people tend to do this, you know, through bribes and what-not, in a system that's far from perfect.
Sillesen: It is far from perfect, but actually I can tell you, just recently — just two weeks ago, we won a court case against the [Ukrainian] Pension Fund again, and they have now to pay us one million hryvnias. So, but they didn't follow the law.
Nahaylo: How long did that take, to get that victory?
Sillesen: It's the fourth time we took them to court. We won the three previous times, and now we won this case as well.
Nahaylo: In Odesa?
Sillesen: It was in Odesa, yes. Of course, we expect them to appeal. They have done so before, but once we appeal they normally stop, so we're pretty confident. We're not even publicizing it, you know. This is the first time you hear, because it's not something we go to the press with. Denmark, is the most non-corrupt country in the world, in general. And you can tell. It means that we are so used to…
Nahaylo: Zero-tolerance!
Sillesen: Zero-tolerance! No corruption! I can give you many examples. For instance, we had the huge Athea scandal, and in reality it was only about some guys getting a cheap laptop, getting a nice dinner in a restaurant, and one of them got a trip to Dubai. But it was headline news in all the newspapers for months, you know. I imagine that if you had a scandal on that level in Ukraine nobody would even notice.
Nahaylo: No, indeed. So there is a lot for you to teach us, and for you to convey to us. But what have you learned from Ukraine working in this environment which provides such opportunities but has its challenges and difficulties? Are there any lessons that you have taken from Ukraine?
Sillesen: I would say this – I love Ukraine, I think that sounds enough already. But going deeper, I would say one of the things I've noticed is the social understanding you have of each other, the care you have for each other. It impresses me to a level that I nearly tears in my eyes telling you this. It's something outstanding. When we have a new staff member and I see what the others in the office will do to help him or her, how much they are prepared to help them with from their salaries, it's fantastic. I love that side. It's so good. There are areas where you can teach us a lot. On the other hand you know the principles of justice and fairness taught to you by your mum and dad when you were kids, but growing up you realize your society is not like that and but society should be like that. And there we Danes are a little bit stubborn because we are only 5 million out of all the people in the whole world because we say we are right on this point so will uphold this position to the end. When we won our big case in Odesa against the raiders' attack I phoned my partner and said "Jonas we won!"
Nahaylo: What was this raiders' attack? Can you tell us?
Sillesen: Some person had not paid the mortgage for ten years and the building had been taken away from him before it was sold to us. Then on the night when it was already known that we had taken over the ownership he calls us and says he was a victim of fraud by the bank, that they had stolen the building from him. It was so pathetic and so crazy that I could not believe it be true. So, I took it up with President Poroshenko on 17 April in Copenhagen when he was there last year. t I was confident we would win in the courts because the entire case was so absurd. But on 17 August we lost the building in the first court hearing and I was shocked. I had to pull myself together and start fighting anew, until we I won in Odesa appeal court in Odessa.
Nahaylo: I suppose the current mayor Trukhanov who is a very controversial figure, was involved.
Sillesen: I don't know. I think there are a few guys who clean the streets in Odesa who were not involved, but anyway…
Nahaylo: But that's a very important victory, Odesa with this particular mayor, who has been exposed quite a few times by the Kyiv Post and others, and then the whole previous story with Saakashvili reportedly battling corruption in the Odesa region making the headlines, and so on, you seem to have been in a very difficult place, but to have made it work for you. Okay, time is running out. Tell us a little bit more about your view, your assessment of the investment environment. Has it improved? Or is it still difficult? Do companies like yours have the confidence to invest in Ukraine?
Sillesen: We were naive when we came here, because we came with this Danish perspective. So we had not ever heard about things like this when we arrived. Now we have experienced it, but we also know how to win. I would say Ukraine is a fantastic opportunity for investment. But, as I have pointed out to many politicians in Ukraine, the big problem is that the politicians in Ukraine should understand that the first whom they have to defend are the foreign investors. Because locals will invest; they know how the system works. But if you want to attract foreign investment, you have to have a zero tolerance against attacks on these companies. If that was really implemented by this government, or the next government, it would be fantastic. Because then people would, you know… If you're standing in Denmark, there's 192 countries to invest in, so why Ukraine? It has potential, but you also have risk. If you can reduce the risk, there would be much more investment. And that will make your country grow. I think, realistically speaking, your country could easily have 7-8 percent growth GDP per year. And if you had that for a ten years' period, you would be twice as rich as you are today, which would mean a substantial change in the country. It would also be substantial for one of the features you Ukrainians don't like — the oligarchs, because suddenly all their business would have double-as-rich customers. They would earn more, even if they had to be more honest. So it's the right path to take, to start with foreign investment. And that's what I always say.
Nahaylo: I'm looking at the elections without commenting on the candidates. Is there anxiety about potentially instability? Or is there confidence that life will move on in the right direction?
Sillesen: I think you are the path; you are going the right way. I don't think it really matters, because your population is so strong that if somebody tries to sidetrack this, it would produce a lot of noise. It's a little bit like starting a snowball. You started the snowball in 2014 and it's just getting bigger and bigger. And eventually that will change your country for sure, I have no doubt about that.
Nahaylo: OK, two final questions then. Short and longer-term plans here, and objectives of your company, BIIR, a major Danish company, and I'm talking to the chairman here, Thomas Sillesen.
Sillesen: We have three products which I'm very much focusing on. The first is of course that we want to expand our current business, hiring more engineers. We have very good cooperation with some universities now who educate students who will fit our business. Number two is that we have a company called Techno Tool which has factories in Malaysia and Denmark; we want to open a factory in Ukraine. Actually we want to close down our Malaysian factory, and focus on Ukraine. The final thing which is the one I'm mostly focused on is that I want to build a village for our staff. I believe that we have made probably the best office in Ukraine you can have for staff, but we also want that when they come home from work, they live in a very nice place. And frankly speaking, you have a lot of not very good apartments. So our idea is to offer this to our staff, and I think it's an interesting project because now we've been talking a lot about renewable energy sources. It gives us a chance to show Ukraine how you make buildings to Danish building standards, with zero energy use, and so on. So these are our main goals for the new year here in Ukraine.
Nahaylo: Well, how generous and how progressive. A final question I always ask: messages, wishes, a last minute thought to share with the audience? About you in Ukraine, your company, your wishes for this country, your wishes for your business? Or maybe just a word of advice to young businessmen that are listening to you?
Sillesen: I think the biggest problem I see in Ukraine is people do not believe in their country. I see that people are moaning despite the fact that the economy has gone forward now for nearly three years. I think your country is making impressive steps forward, considering the conditions you are in, which is basically a small-scale war; and your biggest "partner" has kind of blocked you. So I think that your country is doing much better than the people here really know, but Ukrainians are so used to moan and groan that they don't understand it. And this is what I find depressing, because otherwise I think Ukraine is just fantastic.
Nahaylo: Well thank you very much for those very encouraging, inspiring words. I've been talking to Thomas Sillesen, the chairman of the Danish BIIR Group, dealing with alternative energy sources, engineering consulting, now also in plastics and IT work here. And clearly somebody who can bring a lot to this country. Thank you, Thomas for being here.
Sillesen: Thank you Bohdan for inviting me.
Passage through the Kerch Strait free and monitored
Russia has agreed for France and Germany to monitor shipping traffic in the Kerch Strait. Russian Foreign Minister Sergei Lavrov said that German Chancellor, Angela Merkel, had asked President Putin for permission to send German specialists to the strait «over a month ago» and also had requested French observers to join the mission. «This can be done today, tomorrow, at any time,» Lavrov stated.
Meanwhile, German Foreign Minister Heiko Maas said that it is widely acknowledged that ships can pass through the Kerch Strait – a body of water shared between Russia and Ukraine. Earlier, Ukraine had imposed martial law in November, citing the threat of a full-scale invasion after Russia had captured three of its vessels in the Kerch Strait.
More sanctions
In February, European Union foreign ministers will discuss imposing more sanctions against Russia over its stand-off with Ukraine in the Azov Sea. The bloc will also deliver a demarch to Moscow as early as next week over Russia's continued detention of 24 Ukrainian sailors captured during the incident in November.
EU members that have long taken a hard line on Russia, countries such as Lithuania, Sweden, Britain and Poland, have now been supported in proposing more sanctions by Denmark and Slovakia. They argued that pressure from France and Germany on Moscow to free the servicemen has so far not borne results.
Tymoshenko launched her campaign
On Tuesday, former Ukrainian prime minister Yulia Tymoshenko officially launched her bid for the presidency, with polls showing her as the frontrunner for the post. She made this announcement at a session of her party, Batkivshchyna. The 58-year-old, who is a highly divisive figure in Ukrainian politics, has been active on the Ukrainian political scene for the past two decades, coming to international prominence through her role in the 2004 Orange Revolution.
Speed up
IMF Managing Director Christine Lagarde said she had urged Ukraine's President Petro Poroshenko to proceed with reforms more quickly, while reiterating that the International Monetary Fund was ready to continue supporting Ukraine. She stated that she had highlighted the urgency for Ukraine to accelerate reforms and transition to stronger growth, which is needed to improve people's living standards in a sustainable manner.
Sentence for Yanukovich
А Ukrainian court this week found ex-President Viktor Yanukovych guilty of high treason and sentenced him in absentia to 13 years in prison for asking Russia's Vladimir Putin to send troops to Ukraine. In 2014, Yanukovych was ousted as a result of an uprising after his attempts to quell it had failed. He then fled the country and asked Putin to send troops to Ukraine to help restore control over the country. Judge Vladyslav Devyatko in Kiev's Obolon district court stated that «Yanukovych committed a crime against the foundation of Ukraine's national security,»
$200 million for Ukraine
Horizon Capital, a U.S. private-equity firm investing in high growth and export-driven companies in Ukraine and the region, has closed its third fund, the Emerging Europe Growth Fund, at $200 million hard cap, surpassing its $150 million target. As the Horizon Capital's Emerging Europe Growth Fund received strong backing from existing and new investors, attracted by the value, fast growth and opportunities in the Ukrainian market, and is the largest private equity fund raised for Ukraine in a decade.
Yura Samovilov released a new single with his new group Hurtom on his birthday last week. It's called Кратери which means Craters. He said that the best gift for his special day was to share his new sound.
Next week we'll be back with more commentary on events in Ukraine with interview host Bohdan Nahaylo. We would be happy to receive any feedback from you. Write to us at: [email protected]. This is Oksana Smerechuk in Kyiv. Thanks so much for listening.
Interview transcribed by Malika Navruzova, Caitilin O"Hare, Leah Wagner and Alexandra Wishart. News by Ira Zolomko. Music selected by Marta Dyczok. Sound engineers Andriy Izdryk and Dmitry Smiyan. Web support by Kyrylo Loukerenko. E-mail distribution Ilona Sviezhentseva.
May be interesting
випуски подкасту
From the International Renaissance Foundation to the latest Lviv Publishers' Forum
Ukraine can and should do a lot better in the economic sphere, - Oleksandr Savchenko
Ukraine Can Show That It Is Serious About Corruption, – Andy Hunder
"Do Your Homework, Do Things Properly, And You'll Have A Deal." British Businessman Toms About Ukraine
Ukraine's economy has turned a corner and started to grow. But there is Much More Work to be Done
How to listen to Hromadske Radio
Advertisement on Hromadske
We are in socials
Version for the visually impaired
Schedule of programs
Support project
Site development - demch.co


Want to experience something bigger than Mardi Gras? In late February, Carnaval is celebrated all over Spain. The biggest celebrations take place in Barcelona, Sitges, Cádiz and the Canary Islands.
Carnaval occurs right before the start of Lent. Traditionally, it is a time where people have a free pass to party hard before making a religious sacrifice. Carnaval was banned during Franco's dictatorship and the Spanish take full advantage of being able to celebrate this event today. During Carnaval, you will see people wearing colorful costumes and masks at the many festivals and parades that take place.
At my first Carnaval in Barcelona, I was surprised to see that a lot of the costumes resembled Halloween costumes. It is important to note that Carnaval in Brazil is different from Spanish Carnaval. People often expect to see those same sequined samba outfits that the dancers wear in Rio de Janeiro. You will see those, but they're mainly worn by the dancers in the parades. Every city in Spain celebrates Carnaval differently, but all of the costumes are on the formal side. In Barcelona, there's a ton of costume shops. Below I've listed some of my favorites.
It really depends on where you choose to go. In Santa Cruz de Tenerife (the Canary Islands), the celebration lasts for three weeks. Here in Barcelona, it's a week-long celebration that starts on Fat Thursday and ends on Ash Wednesday.
What Can You Expect to See at Carnaval?
You can expect to see huge floats, with dancers in colorful costumes. A number of comedic performances are also held on top of these floats. The people participating in the parades love to interact with their audience so prepare to dance and laugh along with them! The drag influence on Carnaval is huge, so expect to see full drag in the parade! If you are a lover of drag, make sure you head to the Carnaval in Sitges, which is only about 45 minutes from Barcelona.
We hope this blog has convinced you to come celebrate Carnaval with us in the future. It is definitely something you don't want to miss out on.


Save your sanity with a "before you can play" chore list!
Every summer morning I hear the words "can I play?", in one form or another. They might be referring to going outside to play, having friends over, wanting me to take them somewhere, requesting screen time, or any number of things that's on their agenda that day. I got really tired of listing the things off that they needed to do before they could play (even though they already knew), that I decided to make things easier for not only myself, but for the kids too, by making a summer "before you can play" chore list. I hung it on the fridge, and when they want to know if they can play, I just ask if they have everything done on the list! Love!
We have a regular chore chart that we use during the school year, but I like to simplify during the summertime. They basically have all the same chores, even homework (reading, workbooks, etc.), but without school taking up most of the day, it's easy to caught up in all the free time and not getting the things done that need to be done.
To keep on top of keeping the house clean and straightened (especially with more people home for more hours of the day), music practice, and reading/academics, I've found that getting it done first thing is imperative to success. It's so much harder to get my kids motivated if I let them play first, and then try to get them back inside to do it later. I like to get everything done first thing, then we have the whole day to not worry about what has to be done, should be done, or needs to be done.
If they do everything on their list, including the 20 minutes of reading and music practice, my girls (3rd grade) are done in a little over an hour. My oldest, a teenager, has things on this list that take longer, but he has more school responsibilities over the summer, and he has a tendency to want to stay on his phone/tablet/computer longer than my little ones. My little boys are 5, and their list will take them maybe 45 minutes, and that's including the reading, which I do with them. My littlest just turned 2, and she's just beginning to learn about chores. She gets to get dressed and help with chores, and that's perfect for her.
They still get up early, and that's usually even if they're up late the night before, so by 8am-8:30am, they can be done with everything, and we still have plenty of time to go do whatever we want to do for the day.
You'll notice there aren't things like cleaning their room, picking up the toys/playroom, etc. We have our own family routine of picking up the house every night before dinner, and that will continue. For us, this chart isn't for that–it's just to get us started on the right track in the mornings. The beauty of this chart is that it's blank…and you can create it to be whatever you need to be, or how you need it to work.
I created a column for each child that includes everything they need to do before they can ask me to play. I printed it onto white card stock, and after trimming the edges equally, used my laminator–which is seriously my favorite thing ever (affiliate link: this is the one I have and LOVE!)–to laminate them. I added magnet strips to the back, and hung them on the fridge! Now the kids can use a dry erase marker to cross them off as they go, then wipe it off to start again the next day.
1. Save the JPG image below to you computer, saving it to a file and folder you can remember!
2. Go to www.picmonkey.com. At the very top of the page, click on "edit", and a window will pop up for you to browse and select the image you just saved.
3. Use the text tool in the left hand column to add any text you want. You can change the font, size, etc.
4. Once you're finished, make sure you SAVE your image to your computer right away. Once the page is closed, it's gone for good!
If you have less than three or six kids, you can always use the extra columns for extra chores they can do–perhaps one for the chores, and the other for the money they can earn. Or even rewards they can earn for doing their chores. Whatever works for you!
As always, all images are under copyright of Simply Kierste, and are for personal use only. Not intended for resale or distribution!
What font did you use for these? Thanks!
The names, chore, and SUMMER CHORE LIST are all Century Gothic!
This is so darling, but I can't get a pdf to work in picmonkey. I must be missing something? Thanks for sharing the darling printable.


American Arms Brittany 12 Gauge shotgun for sale.
American Arms Brittany 12 Gauge shotgun. Side by side shot gun with 26" barrels in excellent condition.
Click the button below to add the American Arms Brittany 12 Gauge (S10179) to your wish list.


Watch and Download The Crimson Trail (1935) : Full Movie Online FREE HD FMOVIES A ranch owner mistakenly believes that a neighboring rancher is involved with cattle thieves.
Who's The Cast on Film The Crimson Trail 1935??
When The Crimson Trail to release? ?


text:
A Bear's Face on MarsBlake Lively's New RoleRecognizing a StrokeData Privacy DayEasy Chocolate Cake RecipePeacock Discount
Why You Can Trust CNET
Our expert, award-winning staff selects the products we cover and rigorously researches and tests our top picks. If you buy through our links, we may get a commission. Reviews ethics statement
2019 Jeep Wranger Unlimited Rubicon eTorque review: More torque, more efficiency, almost no compromises
From its iconic design to its legendary ruggedness and now its high-tech eTorque powertrain, there is a lot to love about the 2019 Jeep Wrangler.
Antuan Goodwin
Nov. 18, 2019 2:00 a.m. PT
Antuan Goodwin Reviews Editor / Cars
Antuan Goodwin gained his automotive knowledge the old fashioned way, by turning wrenches in a driveway and picking up speeding tickets. From drivetrain tech and performance to car audio installs and cabin tech, if it's on wheels, Antuan is knowledgeable.
We've taken a look at pretty much every variant of the new JL-series Jeep Wrangler. We've dug into the chassis' capabilities and tested the off-road prowess and cabin/safety tech. We've even tackled the Rubicon Trail in a Wrangler Rubicon. Now, it's time to take a look at the most interesting new development -- well, besides the addition of a diesel, anyway. This Wrangler has Jeep's new 48-volt, mild-hybrid eTorque engine. Yes, an electrified Jeep.
2019 Jeep Wranger Unlimited Rubicon eTorque
View Local Inventory
The 2019 Jeep Wrangler's turbocharged and electrified eTorque powertrain is smoother, more powerful and more fuel-efficient than the base V6 for not much more money. The Wrangler remains as rugged and off-road-ready as ever.
The mild-hybrid engine isn't available with the six-speed manual transmission.
For all but the most hardcore enthusiasts, there's almost no compromise for choosing the 2019 Jeep Wrangler's 48-volt eTorque upgrade.
Does electrification hurt or help the legendary Wrangler? It all depends on what you're looking for in a Jeep.
Extra motor
The eTorque hardware is similar to the setup that's under the hood of the Ram 1500 eTorque, but mated to a smaller four-cylinder engine instead of a V6. We're talking a belt-driven, water-cooled, AC-induction motor that adds 130 pound-feet of torque assist under acceleration.
2019 Jeep Wrangler eTorque: The rugged Wrangler, electrified
The electric motor also replaces the Wrangler's 12-volt alternator, acting as a generator during light cruising and charging the eTorque system's 0.43-kilowatt-hour battery. The lithium-ion pack is fan-cooled, pulling air from the cabin and exhausting outside. Sound insulation keeps most of the fan noise from the cabin, but I could kind of hear the hum if I really listened.
The eTorque system uses a traditional 12-volt lead-acid battery for the accessory and infotainment systems, but it is charged from the 48-volt system via a DC-to-DC converter, since there's no traditional alternator. Interestingly, there is a still a traditional, 12-volt starter, which the Wrangler uses for cold starts. However, the eTorque motor handles all subsequent anti-idling starts and stops once the gasoline engine is warmed up.
Extra torque
The combustion engine in question is a 2.0-liter, turbocharged I4 mated to the Wrangler's familiar four-wheel-drive system and an eight-speed automatic transmission. Along with the electric components, the Wrangler eTorque makes a combined 270 horsepower, which is just a bit less than the 3.6-liter V6's 285 ponies. However, with its peak 295 combined pound-feet of torque, it bests the V6 by 35 lb-ft.
The turbo engine and electric motor work well together, for responsive and smooth around-town performance. The eTorque system boosts nicely during off-the-line acceleration and the turbo engine delivers solid torque from the engine's midrange and beyond. The transition is smooth -- you almost can't tell there's electro-trickery happening behind the scenes -- and the shifts are even smoother with the e-motor filling in the torque gaps between gear changes.
The eTorque system adds a 48-volt electric motor to a 2.0-liter turbocharged engine for a total of 295 pound-feet of torque.
Antuan Goodwin/Roadshow
For my money, I think I'd take the eTorque's smooth around-town performance and torque advantage -- which should come in handy for a low-speed crawler such as the Wrangler -- over the technically more powerful V6. However, I can see how traditional Wrangler owners looking for the most rugged powertrain possible could be put off by the additional complexity of the mild-hybrid system. Long-term reliability, of course, is still an unknown.
It also remains to be seen how the 2.0-liter turbo eTorque responds to modifications, something that I know Jeep guys and gals love to do. For enthusiasts, rock crawlers and overlanders, perhaps the 442-pound-foot, 3.0-liter EcoDiesel V6 would be the better, more robust option.
Extra efficiency
For now, the primary benefit of going eTorque is the balance of excellent out-of-the-box torque delivery without any real hit to fuel efficiency. In fact, the electrified Wrangler gets a bit of an economy boost.
Regenerative braking captures energy while stopping, and combined with a smooth stop-start system and strong low-speed electric assist, the Wrangler is much more frugal around town. My four-door Wrangler eTorque Unlimited claims up to 22 combined miles per gallon, which breaks out to 22 city and 24 highway mpg. I'll save you a Google search -- that's 4 more miles per gallon in the city and 1 more on the highway than a comparably equipped Wrangler V6.
eTorque models keep all of the Wrangler's off-road hardware intact, from the 4x4 system with lockable differentials to the Trail Rated suspension and chassis.
Extra grand
The Wrangler's eTorque system is only about $1,000 more than the Pentastar V6, so there's not even much of a hybrid tax associated with electrifying this Jeep.
The cheapest eTorque model is the base Wrangler Sport 4x4 2-Door, which starts at $28,045 before you add $1,000 for the eTorque motor. You also have to add $2,000 for the automatic transmission and $1,295 for air conditioning -- you can't get the eTorque without checking those boxes -- as well as a $1,495 destination charge. That's $33,835 out the door.
Now, my 2019 Jeep Wrangler Unlimited Rubicon 4x4 eTorque starts at a significantly higher $46,040 thanks to its longer list of standard equipment and other optional amenities. With close to a full suite of driver-assistance tech, leather seats, the 8.4-inch Uconnect navigation suite and more, this example rolled into the garage with a $58,890 as-tested sticker.
With only a minimal hybrid premium, more torque and efficiency, there are almost no trade-off for choosing the eTorque upgrade. At least, not for more casual owners...
For more casual Jeep buyers interested in the Wrangler for its rugged style, all-weather capabilities and on-road manners, there's almost no reason not to check that eTorque box. It's smoother, it's more efficient and, using FuelEconomy.gov's estimated annual fuel cost calculator, the eTorque system should pay for itself within five years for drivers who average around 15,000 miles per year. Of course, your mileage will vary.
More hardcore off-road enthusiasts or owners who'll want to modify their rides will probably want check out the aforementioned EcoDiesel with more torque, proven reliability and a more traditional upgrade and modification path. On the other hand, if the mild-hybrid isn't hybrid-y enough for you, Jeep's got a Wrangler plug-in hybrid coming next year. We'll be keeping our eyes peeled for that one, and so should you.
Score Breakdown
Performance 9Features 9Design 9Media 8.5
See full specs Engine V6 Cylinder EngineDrivetrain Four Wheel DriveMPG 22 MPGPassenger Capacity 5Body Type SUVs

redpajama_set_name: RedPajamaCommonCrawl


text:
/**
 * post model
 * @author adrienjoly, whyd
 **/

var mongodb = require('./mongodb.js');
var ObjectId = mongodb.ObjectId; //ObjectID.createFromHexString;
var db = mongodb.collections;

var snip = require('../snip.js');
var notif = require('../models/notif.js');
var searchModel = require('../models/search.js');
var activityModel = require('../models/activity.js');
var trackModel = require('../models/track.js');
var notifModel = require('../models/notif.js');

var config = require('../models/config.js');
var NB_POSTS = config.nbPostsPerNewsfeedPage;

var playlistSort = {
  sort: [
    ['order', 'asc'],
    ['_id', 'desc'],
  ],
};

function processPosts(results) {
  for (let i in results) results[i].lov = results[i].lov || [];
  return results;
}

// core functions

exports.count = function (q, o, cb) {
  mongodb.collections['post'].countDocuments(q, o || {}, cb);
};

exports.forEachPost = function (q, p, handler) {
  mongodb.collections['post'].find(q, p, function (err, cursor) {
    cursor.forEach(
      (err, track) => {
        if (err) console.log('post.forEachPost error:', err);
        if (track) handler(track);
      },
      () => handler() // we're done
    );
  });
};

function processAdvQuery(query, params, options) {
  query = query || {};
  params = params || {};
  options = options || {};
  params.limit = (parseInt(options.limit) || NB_POSTS) + 1;
  if (options.before != null) {
    if (mongodb.isObjectId(options.before))
      query._id = { $gt: ObjectId('' + options.before) };
    else if (!isNaN(parseInt(options.before)))
      //if (params.sort == playlistSort.sort)
      query.order = { $lt: parseInt(options.before) };
  }
  if (options.after != null) {
    if (mongodb.isObjectId(options.after))
      query._id = { $lt: ObjectId('' + options.after) };
    else if (!isNaN(parseInt(options.after)))
      //if (params.sort == playlistSort.sort)
      query.order = { $gt: parseInt(options.after) };
  }
  if (options.until)
    query._id = {
      $gt: mongodb.ObjectId(mongodb.dateToHexObjectId(options.until)),
    };
  if (!params.sort) params.sort = [/*['rTm','desc'],*/ ['_id', 'desc']]; // by default
}

exports.fetchPosts = function (query, params, options, handler) {
  params = params || {};
  processAdvQuery(query, params, options);
  //console.log("status.fetchPosts, query=", query);
  mongodb.collections['post'].find(query, params, function (err, cursor) {
    if (err) console.error(err);
    cursor.toArray(function (err, results) {
      if (err)
        console.error(
          'model.fetchPosts ERROR on query',
          query,
          'with params',
          params,
          ':',
          err
        );
      results = results || [];
      processPosts(results);
      // console.log('=> fetched ' + results.length + ' posts');
      handler(results);
    });
  });
};

// more specific functions

exports.fetchAll = function (handler, after, limit) {
  console.log('post.fetchAll... after=', after);
  exports.fetchPosts(
    {},
    {},
    { limit: limit, after: after /*, before:before*/ },
    handler
  );
};

exports.fetchByAuthorsOld = function (uidList, options, handler) {
  console.log('post.fetchByAuthors...');
  var query = {
    uId: { $in: uidList },
    'repost.uId': { $nin: uidList },
  };
  exports.fetchPosts(
    query,
    {},
    { after: options.after, before: options.before, limit: options.limit },
    handler
  );
};

exports.fetchByAuthors = function (uidList, options, cb) {
  //console.time("post.fetchByAuthors2...");
  var posts = [],
    query = { uId: uidList.length > 1 ? { $in: uidList } : uidList[0] },
    uidSet = snip.arrayToSet(uidList);
  var params = {}; //{after:options.after, before:options.before, limit:(options.limit || NB_POSTS) + 1};
  processAdvQuery(query, params, {
    after: options.after,
    before: options.before,
    limit: options.limit,
  });
  var limit = params.limit;
  params.limit = undefined; // prevent forEach2 from limiting cursor
  params.q = query;
  mongodb.forEach2('post', params, function (post, next, closeCursor) {
    if (post && !post.error && !uidSet[(post.repost || {}).uId]) {
      posts.push(post);
    }
    if (!post || !next || posts.length == limit) {
      //console.timeEnd("post.fetchByAuthors2...");
      cb(processPosts(posts));
      closeCursor();
    } else {
      next();
    }
  });
};

exports.fetchRepostsFromMe = function (uid, options, handler) {
  console.log('post.fetchRepostsFromMe...');
  var query = {
    uId: { $nin: ['' + uid] },
    'repost.uId': '' + uid,
  };
  exports.fetchPosts(
    query,
    {},
    {
      after: options.after,
      before: options.before,
      limit: options.limit,
      until: options.until,
    },
    handler
  );
};

exports.countUserPosts = function (uid, handler) {
  mongodb.collections['post'].countDocuments(
    { uId: uid, rTo: null },
    function (err, result) {
      handler(result);
    }
  );
};

exports.model = exports;

// used by apiPost (for loves)
exports.fetchPostById = function (pId, handler) {
  mongodb.collections['post'].findOne(
    { _id: ObjectId('' + pId) },
    function (err, res) {
      if (err) console.log(err);
      handler(res);
    }
  );
};

exports.isPostLovedByUid = function (pId, uId, handler) {
  exports.fetchPostById(pId, function (post) {
    handler(post ? snip.arrayHas(post.lov, uId) : false, post);
  });
};

function setPostLove(collection, pId, uId, state, handler) {
  var update = state
    ? { $push: { lov: '' + uId } }
    : { $pull: { lov: '' + uId } };
  collection.updateOne({ _id: ObjectId('' + pId) }, update, function (err) {
    if (err) console.log(err);
    collection.findOne({ _id: ObjectId('' + pId) }, function (err, post) {
      if (err) console.log(err);
      console.log(
        'setPostLove -> notif',
        pId,
        uId,
        post ? post.uId : null,
        post
      );
      if (post && uId != post.uId) notif[state ? 'love' : 'unlove'](uId, post);
      if (handler) handler(post);
      if (post) trackModel.updateByEid(post.eId);
      if (state)
        activityModel.addLikeByPost(post, {
          id: uId,
          name: mongodb.getUserNameFromId(uId),
        });
      else activityModel.removeLike(pId, uId);
    });
  });
}

exports.lovePost = function (pId, uId, handler) {
  console.log('lovePost', pId, uId);
  setPostLove(mongodb.collections['post'], pId, uId, true, handler);
};

exports.unlovePost = function (pId, uId, handler) {
  console.log('unLovePost', pId, uId);
  setPostLove(mongodb.collections['post'], pId, uId, false, handler);
};

exports.countLovedPosts = function (uid, callback) {
  db['post'].countDocuments({ lov: '' + uid }, function (err, count) {
    callback(count);
  });
};

function notifyMentionedUsers(post, cb) {
  var mentionedUsers = snip.extractMentions(post.text),
    comment = { uId: post.uId, uNm: post.uNm };
  if (mentionedUsers.length) {
    console.log('notif mentioned users');
    snip.forEachArrayItem(
      mentionedUsers,
      function (mentionedUid, next) {
        notifModel.mention(post, comment, mentionedUid, next);
      },
      cb
    );
  }
}

exports.savePost = function (postObj, handler) {
  //console.log("post.savePost: ", postObj);
  var pId = postObj._id;
  function whenDone(error, result) {
    if (error) console.error('post.savePost() error: ', error);
    //console.log("post.savePost() result: ", result);
    if (result) {
      if (Array.isArray(result)) result = result[0];
      searchModel.indexTyped('post', result);
      result.isNew = !pId;
      if (result.isNew) notif.post(result);
      /*
			recomModel.matchingEngine.addPost(result, function() {
				//console.log("=> added post to matching engine index");
			});
			*/
      notifyMentionedUsers(result);
    }
    handler(result);
  }
  if (postObj.pl && typeof postObj.pl.id !== 'number')
    postObj.pl.id = parseInt('' + postObj.pl.id);
  if (pId) {
    delete postObj._id;
    var update = { $set: postObj };
    if (postObj.pl == null || (isNaN(postObj.pl.id) && !postObj.pl.collabId)) {
      delete update.$set.pl;
      update.$unset = { pl: 1 };
    }
    mongodb.collections['post'].updateOne(
      { _id: ObjectId('' + pId) },
      update,
      function (error) {
        if (error) console.log('update error', error);
        mongodb.collections['post'].findOne(
          { _id: ObjectId('' + pId) },
          whenDone
        );
      }
    );
  } else
    mongodb.collections['post'].insertOne(postObj, function (error, result) {
      if (error) console.log('update error', error);
      whenDone(error, error ? {} : result.ops[0]);
    });
};

var fieldsToCopy = {
  name: true,
  eId: true,
  img: true,
  //	nbP: true
}; // => not: _id, uId, uNm, text, pl, order, repost, src, lov, nbR, nbP

exports.rePost = function (pId, repostObj, handler) {
  //console.log("post.rePost: ", pId, repostObj);
  var collection = mongodb.collections['post'];
  exports.fetchPostById(pId, function (postObj) {
    postObj = postObj || { error: 'post not found' };
    if (postObj.error) {
      handler(postObj);
      return;
    }
    for (let i in fieldsToCopy)
      if (/*repostObj[i] == null &&*/ postObj[i] != null)
        repostObj[i] = postObj[i];
    repostObj.repost = { pId: pId, uId: postObj.uId, uNm: postObj.uNm };
    repostObj.lov = [];
    repostObj.nbR = 0;
    repostObj.nbP = 0;
    delete repostObj._id;
    if (repostObj.pl && typeof repostObj.pl.id !== 'number')
      repostObj.pl.id = parseInt('' + repostObj.pl.id);
    collection.insertOne(repostObj, function (error, result) {
      //console.log("result", result);
      if (error) console.error('post.rePost() error: ', error);
      result = result.ops[0];
      if (repostObj.uId != repostObj.repost.uId) {
        notif.repost(repostObj.uId, postObj);
        notif.post(postObj);
        collection
          .updateOne(
            { _id: ObjectId('' + pId) },
            { $inc: { nbR: 1 } },
            { w: 0 }
          )
          .then(() => {
            trackModel.updateByEid(postObj.eId);
          });
      }
      if (result && result.length) {
        //searchModel.indexPost(result);
        result = result[0];
        searchModel.indexTyped('post', result);
        /*
				recomModel.matchingEngine.addPost(result, function() {
					console.log("=> added post to matching engine index");
				});
				*/
        notifyMentionedUsers(result);
      }
      handler(result);
    });
  });
};

exports.deletePost = function (pId, uId, handler) {
  console.log('post.deletePost: ', pId, uId);
  var collection = mongodb.collections['post'];
  var q = {
    _id: ObjectId(pId),
  };
  if (uId) q.uId = uId;
  exports.fetchPostById(pId, function (postObj) {
    if (postObj) {
      if (postObj.uId !== uId) {
        handler(new Error("can't delete another user's post"));
        return;
      }
      collection.deleteOne(q, function (error, result) {
        if (error) console.log('post.deletePost() error: ', error);
        searchModel.deleteDoc('post', pId);
        handler(null, result);
        if (postObj.repost)
          collection.updateOne(
            { _id: ObjectId('' + postObj.repost.pId) },
            { $inc: { nbR: -1 } },
            { w: 0 }
          );
        trackModel.updateByEid(postObj.eId);
      });
    } else {
      console.log('post.deletePost() error: ', pId);
      handler(new Error('post not found'));
    }
  });
};

exports.incrPlayCounter = function (pId, cb) {
  var _id = ObjectId('' + pId);
  if (!_id) cb();
  mongodb.collections['post'].updateOne(
    { _id: _id },
    { $inc: { nbP: 1 } },
    function (err) {
      if (err) console.log(err);
      //cb && cb(res || err);
      exports.fetchPostById(pId, function (postObj) {
        if (postObj) trackModel.updateByEid(postObj.eId);
        cb && cb(postObj || err);
      });
    }
  );
};

// wrappers for playlists

exports.fetchPlaylistPosts = function (uId, plId, options = {}, handler) {
  //console.log("fetchPlaylistPosts(uId, plId, options) + order: ", uId, plId, options, playlistSort);
  options = {
    limit: options.limit,
    after: options.after,
    before: options.before,
  };
  ////console.time("fetchPlaylistPosts");
  exports.fetchPosts(
    { uId, 'pl.id': parseInt(plId) /*{$in:[parseInt(plId), ""+plId]}*/ },
    playlistSort,
    options,
    handler /*function(){
    //console.timeEnd("fetchPlaylistPosts");
    handler.apply(null, arguments);
  }*/
  );
};

exports.countPlaylistPosts = function (uId, plId, handler) {
  function handle(err, result) {
    handler(result);
  }
  if (uId)
    db['post'].countDocuments(
      { uId: uId, 'pl.id': parseInt(plId) /*{$in:[parseInt(plId), ""+plId]}*/ },
      handle
    );
  else
    db['post'].countDocuments(
      { 'pl.collabId': { $in: ['' + plId, ObjectId('' + plId)] } },
      handle
    );
};

exports.setPlaylist = function (uId, plId, plName, handler) {
  console.log('post.setPlaylist', uId, plId, plName);
  var criteria = {
    uId: uId,
    'pl.id': parseInt(plId),
  };
  var update = { $set: { pl: { id: parseInt(plId), name: plName } } };
  mongodb.collections['post'].updateMany(
    criteria,
    update,
    { multi: true },
    function (err, res) {
      if (err) console.log(err);
      if (handler) handler(res);
    }
  );
};

exports.unsetPlaylist = function (uId, plId, handler) {
  console.log('post.unsetPlaylist', uId, plId);
  var criteria = {
    uId: uId,
    'pl.id': parseInt(plId),
  };
  var update = { $unset: { pl: 1 } };
  mongodb.collections['post'].updateMany(
    criteria,
    update,
    { multi: true },
    function (err, res) {
      if (err) console.log(err);
      if (handler) handler(res);
    }
  );
};

exports.setPlaylistOrder = function (uId, plId, order = [], handler) {
  console.log(
    'post.setPlaylistOrder(uId, plId, order.length): ',
    uId,
    plId,
    order.length
  );
  var collection = mongodb.collections['post'];
  function next(err) {
    if (err) console.log('error', err);
    if (!order.length) handler({ ok: 1 });
    else {
      var post = {
        _id: ObjectId('' + order.pop()),
        uId: uId,
        'pl.id': parseInt(plId),
      };
      console.log('moving post ', post._id, ' to pos ', order.length);
      collection.updateOne(post, { $set: { order: order.length } }, next);
    }
  }
  next();
};

redpajama_set_name: RedPajamaGithub


text:
Q: UPDATE my_table doesn't work correctly I'm using the following query to replace old link with a new one:
UPDATE my_table SET file = 'link' WHERE my_table.file ='old_link';

In my tests I can't duplicate that and I'm not sure what's wrong with that query, but apparently sometimes it leaves the old entry and inserts a new one instead of updating!
mysql ver:
5.6.12-56 Percona Server, table type: innodb

A: The query looks fine to me. UPDATE should never create new rows, only modify existing rows. The problem is probably in another part of the code.

A: Although an UPDATE won't fire an insert in its own, there could exist triggers in the database that would fire an INSERT whenever a record gets updated.
Here are some links that you should check:

*

*CREATE TRIGGER Syntax

*Trigger Syntax and Examples

redpajama_set_name: RedPajamaStackExchange


You're right, those jobs can easily be filled by people on work visas. Instead of coming illegally, these people can actually go back to their families when the season is done, as well with cash in hand. Everyone wins.
2% of the work force are in agriculture? Source on that? I'm not trying to claim anything.
same thing happened to me. White skinned, grey hair, blue eyes. I was stopped between Eagle Pass and Laredo on the highway, by border patrol, asked for ID, looked inside my vehicle, ran my license, and I was on my way. Didn't bother me at all since I am a legal citizen, born here, and was not and had not broken any laws.
A little off topic but I know of someone who wanted to go into Canada to do a little gambling and was denied entry after they ran his background. He had a DWI from a couple of years past. My point is that there are ways to stop people from entering if we wanted to. Securing the border is primary to me yet our government refuses. I believe that they are not securing the border so more and more can come before they propose the "big amnesty" also letting their families come, securing more and more votes.
I'm 67 years old. We have not been on a real vacation in years.
We had decided to try to make a little vacation and a good family reunion this year, "yup, in Austin."
Everyone, "about 600 or so" thought so too.
Austin liberals who are right in line with Obama and crew in bringing this country down like the USSR.
yes to Arizona but absolutely no to Austin.
Go getum Debbie Riddle. We need more like you.
say about it, "and I do" it will be in Arizona this year and the next. Then someone else has to take this show on the road. I quit!
As as a Native born hill country boy I'm absolutely ashamed to have to say Austin is my capitol city now.
Thanks loads you San Francisco like pukes!
Last edited by Pumpin; 05-14-2010 at 08:11 PM.. Reason: Messed up a few things in my anger!
Hi, Pumpin. How are you doin'?
I understand that emotions are running high on all sides, but would you kindly cease using inappropriate hyperbole?
The rule of the Obama administration can be disagreed with, but it is silly to compare it to the USSR.
Debbie Riddle, as per the various Texas Monthly magazines, is a joke in Texas politics. She is not taken seriously (on any side) and has been humiliated and exposed for her foolishness.
I see the 1st amendment still works. "for now"
I also see you do have an opinion. Go getum cowboy!
My opinion of your opinion is probably as low as your opinion of my opinion.
Oh and if I said it wrong, let me set it straight.
I didn't say he was running the USA like the USSR I said he is setting us up for a fall like the USSR. I think there is a little difference there.
Illegal alien lover, Rick Perry, will never sign it.
The fall of the USSR largely had to do with the Communist system that the USSR used. I don't see how Obama's actions would even remotely result in a USSR-style fall.
To not get the thread too off track, I sent Pumpin a PM and posted on his profile page a response.
I would be shocked if the bill even makes it to Rick Perry's desk for approval or disapproval.


text:
Fatal Accident on Langjökull Glacier - The Reykjavik Grapevine
Fatal Accident on Langjökull Glacier
Ingibjörg Rósa Björnsdóttir
A Taiwanese tourist died in a snowmobile accident on Langjökull glacier yesterday. The man, who was in his sixties, lost control of the snowmobile he was driving.
His wife was a passenger, sitting behind him, and suffered some injuries, amongst them a broken ankle. They were part of a group of 29 people on an organized glacier tour by an Icelandic tour operator.
A helicopter from the Coast Guard arrived about an hour after the accident was reported but the man was pronounced dead at the scene and his wife taken to hospital.
Police are investigating the accident and have impounded the snowmobile for inspection, but confirmed with visir.is that the couple was wearing required safety gear when the accident occurred.
Witnesses told visir.is that the man who died had suddenly driven his snowmobile away from the group at high speed and eventually the vehicle had rolled over.
An employer of the tour operator, Herbert Hauksson, told visir.is that the man had neither held a driving license nor any experience operating vehicles. Yet, before going on the tour he had signed a document stating that he did.
Next: Biggest Space Battle In History
Previous: Aron Should Play For Iceland, Says Association
Weather: It's Gonna Get… Icelandic
Are You Ready For WAB Air?
Icewear Fancies: Ragnheiður Anna Róbertsdóttir
Witnessing The Living Earth: A Trip To Þingvellir In The Summer


text:
Home > Journals > JOSH > Vol. 7 > No. 1 (2007)
Sedimentation Study of Hirakud Reservoir through Remote Sensing Techniques
Any reduction in water spread area at a specified elevation over a time period is indicative of sediment deposition at this level. This when integrated over a range of water stages helps in computing volume of storage lost through sedimentation. This study relates to estimation of capacity loss due to sedimentation of Hirakud reservoir, located in Orissa, India. Satellite data of 5 optimal dates corresponding to various water stages from minimum to maximum draw down levels were used in estimating the water spread areas. Simple ratiod (NIR/RED) image were generated to identify the water pixels and then verifying the standard FCC. The non-water pixels were then identified with the ratiod (GREEN/NIR) image and removed to have the total water spread. The water spread area on different satellite overpass dates and corresponding elevations were then used to find the total reservoir storage capacity with the help of Elevation area curve.
BYU ScholarsArchive Citation
(2007) "Sedimentation Study of Hirakud Reservoir through Remote Sensing Techniques," Journal of Spatial Hydrology: Vol. 7: No. 1, Article 7.
Available at: https://scholarsarchive.byu.edu/josh/vol7/iss1/7
All Issues Vol. 15, No. 2 Vol. 15, No. 1 Vol. 14, No. 2 Vol. 13, No. 1 Vol. 12, No. 1 Vol. 11, No. 2 Vol. 11, No. 1 Vol. 10, No. 2 Vol. 10, No. 1 Vol. 9, No. 2 Vol. 9, No. 1 Vol. 8, No. 2 Vol. 8, No. 1 Vol. 7, No. 2 Vol. 7, No. 1 Vol. 6, No. 2 Vol. 6, No. 1 Vol. 5, No. 2 Vol. 5, No. 1 Vol. 4, No. 2 Vol. 4, No. 1 Vol. 3, No. 2 Vol. 3, No. 1 Vol. 2, No. 2 Vol. 2, No. 1 Vol. 1, No. 1


Adolescent girls are inspired by the women they meet at Shyamnagar Metro Station, where all members of staff are women. From the film #GirlsChangeTracks - Empowering Adolescent Girls by The Hunger Project India.
Can girls excel in school, play sports, hold senior management positions, support a household and be community leaders? These questions should not even be asked, as of course girls can.
Today we mark the International Day of the Girl Child, when we highlight the world's need to recognize girls rights, needs and last but not least – their potential. On this day, we share an example from The Hunger Project, one of the projects supported by the Embassy. The Hunger Project recently launched a programme that works towards bridging the gap between young girls and elected women leaders in villages of India.
Increasing women and girls' education is crucial for economic growth. Increased educational attainment accounts for about 50 per cent of the economic growth in OECD countries over the past 50 years. Additionally, a study using data from 219 countries from 1970 to 2009 found that, for every one additional year of education for women of reproductive age, child mortality decreased by 9.5 per cent. The list of positive effects of empowered women goes on.
The girls involved in the Hunger Project claim their rights and demonstrate their abilities and potential not just today, but every day. The project has also assisted in setting up Sukanya Clubs, which are open and safe learning spaces where adolescent girls in rural India gather to learn about topics such as rights, health, violence and education. Taking part in the various activities, the girls realize their opportunities, gain confidence and build friendships. Being encouraged to take up roles as influencers in their communities and stand up against child marriage, these girls have proven their strength and abilities to bring about change in their own lives as well as in the communities.
Norway supports several projects in India that are working towards empowering women within the local governance framework. The core of Norway's work for gender equality focus on increasing girl's and women's freedom, opportunities and power. The government's Action Plan for women's rights and gender equality in development- and foreign policies gives priority to education for girls, women's political and economic empowerment, sexual and reproductive health and rights, and the prevention and elimination of violence against women and girls.
Progress in all these areas are crucial, not just for girls and women to have the freedom, power and opportunities to shape their own lives, but for the world to move forward. Women make up half of the world's population. Their skills, resources and leadership are crucial parts of the road towards peaceful and prosperous societies.


text:
Q: What is the standard notation for $\arcsin$ I found a lecture notes that claims the following. Is this standard?
The notation $\overline{\text{arc}}\text{ sin }x$ is the inverse function of $\sin x$ restricted to $\left [ -\frac{\pi}{2},\frac{\pi}{2}\right ]$ and $\text{arc sin }x $ mean all those $y$ satisfying $\sin x=y.$

A: The most common notation used is either $\,\arcsin x\,$ or $\,\sin^{-1}x$.
When the desired value of $\,f(x) = \arcsin x\,$ is restricted to those values lying in $[-\pi/2, \pi/2]$, this is usually stated explicitly. I presume the lecturer introduced $\overline{\text{arc}}\sin x$ to spare the need from restricting the range of solutions repeatedly.


text:
Maryland Code and Court Rules
Home Table of Contents
§ 11B-118. Short title
West's Annotated Code of MarylandReal PropertyEffective: October 1, 2011
West's Annotated Code of Maryland
Real Property (Refs & Annos)
Title 11b. Maryland Homeowners Association Act (Refs & Annos)
Effective: October 1, 2011
MD Code, Real Property, § 11B-118
Currentness
This title may be cited as the Maryland Homeowners Association Act.
Added as Real Property § 11B-112 by Acts 1987, c. 321, § 1, eff. Oct. 1, 1987. Renumbered as Real Property § 11B-114 by Acts 1988, c. 82, § 1, eff. April 12, 1988. Renumbered as Real Property § 11B-115 by Acts 2005, c. 529, § 1, eff. Oct. 1, 2005. Renumbered as Real Property § 11B-116 by Acts 2007, c. 593, § 1, eff. Oct. 1, 2007. Renumbered as Real Property § 11B-117 by Acts 2008, c. 144, § 1, eff. Oct. 1, 2008, and Acts 2008, c. 145, § 1, eff. Oct. 1, 2008. Renumbered as Real Property § 11B-118 by Acts 2011, c. 387, § 1, eff. Oct. 1, 2011.
MD Code, Real Property, § 11B-118, MD REAL PROP § 11B-118
Current with all legislation from the 2021 Regular Session and 2021 First Special Session of the General Assembly. Some statute sections may be more current, see credits for details.
Privacy Accessibility Maryland State Law Library


text:
iPolitics AM: MPs to vote on pitch to probe Afghanistan response
By Kady O'Malley. Published on Dec 8, 2021 6:03am
The House of Commons on Nov. 19. (Sean Kilpatrick/The Canadian Press)
After devoting a full day of debate to Conservative Leader Erin O'Toole's pitch for the creation of a special committee to examine the government's response to the fall of the Afghanistan government and the subsequent takeover by the Taliban, MPs are set to collectively decide whether to sign off on his suggested course of action this afternoon.
Before making the final call, however, they're set to vote on a Bloc Québécois-initiated amendment that would rewrite the terms of reference for the proposed committee to specify that the "the primary objective" would be "assessing the humanitarian assistance to be put in place by Canada to assist the Afghan people."
It would also scrap a provision of the original motion that would effectively serve as an open-ended order to produce documents preemptively deemed relevant to the study, including any records that refer to the impact of the election, as well as "the facts that relevant ministers were simultaneously occupied with seeking re-election to the House and that many ministerial exempt staff were on leaves of absence."
If the amendment goes through, the Bloc Québécois have indicated that they're prepared to support the main motion, but it's still not clear whether the New Democrats will do the same, and without the backing of all three opposition parties, the Conservatives would need a critical mass of Liberal MPs to vote in favour of the proposal for it to pass.
Also on the House agenda this afternoon: The government has served notice that it will be putting forward a motion to force a vote on Labour Minister Seamus O'Regan's double-decker bid to make it a criminal offence to harass or attempt to block health care workers or patients seeking their services, as well as require federally regulated employers to provide at least 10 days of paid sick leave.
As is always the case under the current minority configuration, the Liberals will need at least one opposition party to vote with the government for the motion to pass, although they typically don't bring forward time allocation motions unless they've already secured the necessary cross-aisle support.
Finally, MPs are set to wrap up their lightning-round review of the latest supplementary estimates with a second — and final — four-hour session, which will take place after the close of regular House business, and include committee-style exchanges with ministers and parliamentary secretaries.
Under standard parliamentary protocols, the estimates have to be dealt with before the fall supply cycle expires on Friday, which could set the stage for an extended voting session tomorrow night.
In any case, before all that gets underway, most MPs are set to spend the morning discussing the latest developments behind the tightly-closed doors of their respective caucus rooms.
According to his official itinerary, Prime Minister Justin Trudeau will join his fellow Liberals at their weekly confab this morning, and is also planning to be in his front-and-centre bench seat in the House of Commons for question period this afternoon.
Later this afternoon, he'll join Housing and Diversity and Inclusion Minister Ahmed Hussen and Women and Gender Equality and Youth Minister Marci Ien for a private meeting with Somali-Canadian human rights activist Ilwad Elman to "discuss human rights issues," as well as "her work at the Elman Peace and Human Rights Centre," which is the Mogadishu-based NGO founded by Elman's mother. (3:20 PM)
Also out and about on the Hill today: Bloc Québécois Leader Yves-François Blanchet joins his finance critic Gabriel Ste-Marie and pandemic aid critic Nathalie Sinclair-Desgagn at a morning press briefing to outline the party's position on the omnibus COVID-19 support package currently working its way through committee. (9 AM)
New Democrat Leader Jagmeet Singh is scheduled to hold a post-caucus media availability as well. (12:30 PM)
AT COMMITTEE
As MPs debate whether to support the government's bid to send C-3 to the House HUMAN RESOURCES committee for further scrutiny, the bill is already on track to undergo preliminary review on the Senate circuit, starting with an afternoon appearance by Justice Minister David Lametti at LEGAL AND CONSTITUTIONAL AFFAIRS. (4:15 PM)
The bill is also on the docket for pre-study at SOCIAL AFFAIRS, SCIENCE AND TECHNOLOGY, which will hear from a panel of as yet unnamed witnesses this evening. (6:30 PM)
Newly installed Treasury Board President Mona Fortier is also booked in for a midday session to go over the latest supplementary estimates at NATIONAL FINANCE. (12 PM)
Back on the Commons side, FINANCE members will continue their accelerated review of the proposed pandemic benefit package this afternoon, although as of this morning, the witnesses on deck for this afternoon's two-hour session are still listed as "to be determined." (3:30 – 5:30 PM)
Meanwhile, the newly reconstituted PUBLIC SAFETY committee — which, as per a motion adopted unanimously by the House yesterday afternoon, has been tasked with launching an investigation into "gun control, illegal arms trafficking and the increase in gun crimes committed by members of street gangs" —will meet to elect a chair and vice-chairs, which must take place before members can begin their House-assigned study. (4 – 6 PM)
ON AND AROUND THE HILL
The Canadian Parks and Wilderness Society hosts a Facebook "fireside chat" to "meet the ministers" — specifically, Environment Minister Steven Guilbeault, Fisheries and Oceans Minister Joyce Murray and Natural Resources Minister Jonathan Wilkinson — via a virtual conversation moderated by CPAWS executive director Sandra Schwartz and journalist Shawn McCarthy that, as specifically noted in the advisory, "is a viewing opportunity only," as "questions have been collected from registrants." (7:30 PM)
OUTSIDE THE PRECINCT
The Bank of Canada unveils its decision on overnight interest rates, which, as per the notice, will be delivered via written statement and will not be followed by a briefing session on the contents, which strongly suggests that the rate will remain unchanged. (10 AM)
FRESH FROM iPOLITICS
Libs say new committee to review Afghan withdrawal unnecessary
Senate fast-tracks conversion-therapy ban
Finance committee tackles fraud prevention during Bill C-2 review
Critics question cabinet climate committees
AFN postpones trip to meet Pope, plans to file complaint with UN
Ontario PCs pass bill to reform long-term care in the province
Comings and Goings: Carlene Variyan joins Summa
Net Zero: Coastal GasLink didn't fix violations: B.C. officials
The Sprout: When can we resume spud exports? asks P.E.I. premier
FEATURED OPINION
Andrew Fleming: Paid sick days are here at last (in B.C., anyway)
Ewan Affleck and Vivek Goel: Our mismanagement of health data is threatening our safety
HOT OFF THE WIRES
Conservatives push for all-party committee to examine Canada's Afghanistan response
Liberals table bill that would repeal mandatory minimums for some drug, gun crimes
Military's former head of human resources charged with sexual assault, indecent acts
Senate gives speedy passage to bill banning conversion therapy
Chinese envoy urges Canada to approve Huawei for 5G, says concerns are U.S. ploy
Chinese-controlled firm loses court bid to pause Ottawa's divestment order
Liberals raise doubts of high number of vaccine exemptions among Conservatives ranks
Most Canadians support strong border measures amid new Omicron COVID-19 variant: poll
Travel, tourism sectors see glimmers of hope amid Omicron uncertainty
African community group says Canada's new COVID-19 travel rules an example of racism
Indigenous papal visit postponed to 2022 over concerns about Omicron COVID-19 variant
'This is beyond my expectations,' Champagne says of Canadian biomanufacturer rebound
David Cohen presents letters of credence at Rideau Hall to begin job as U.S. envoy
Statistics Canada says the merchandise trade surplus in October grew to $2.1B
Retreating glaciers are creating new salmon habitat, B.C. study shows
B.C. safety agency issues worker hazard warnings for flooding cleanup
Global energy transition could be a $61B opportunity for Alberta, new study finds
Quebec liquor warehouse workers reject deal, negotiations to resume on Wednesday
Don't miss today's complete legislative brief in GovGuide.ca!
Committee highlights courtesy of our friends at iPoliticsINTEL.


We are running a trivia afternoon in partnership with the Durham Castle Arms on Sunday 17 August 2014 to run much needed funds to support the work of Save the Children Australia both domestically and abroad.
Save the Children ACT Council - Save the Children started helping children in Australia in the 1950's. Our first Australian programs focused on early education for Aboriginal and Torres Strait Islander children. With significant growth since then, we now run education and child protection programs for disadvantaged communities at 100 sites around the country.