text:
April 17, 2019 by Peter T Young 1 Comment
Alick
Alexander "Alick" Cartwright worked as a clerk for a broker and later for a bank, and, weather permitting, played variations of cricket and rounders in the vacant lots of New York City after the bank closed each day.
Rounders, like baseball, is a striking and fielding team game that involves hitting a ball with a bat; players score by running around the four bases on the field (the earliest reference to the game was in 1744.)
"In New York City in the 1830s and '40s, young Alick Cartwright grew up playing all kinds of games that used bats, balls and bases — but none of them were called baseball, for that game had not yet been created."
"In his teens, Alick and his friends ventured into other neighborhoods to play various ball games, including at the grassy squares at Madison Square and Murray Hill, and he earns a reputation as one of the best players in the city …"
"… whatever the game, be it cricket, rounders, barn ball, burn ball, stick ball, soak ball, goal ball, town ball or several "old cat" games — one old cat (one base), two old cat (two bases), etc."
"But one thing drove Alick crazy – every area played by different rules, sometimes using two bases, sometimes five, and the number of players on the field varied from just a few to more than 20."
"Sometimes a base was a tall wooden stick in the ground, sometimes a rock, sometimes a barrel top or just an old hat. Plus, the distances between bases were always different."
"Worse, because the rules were always different, they spent as much time arguing about the rules as playing the game. Alick played for one reason, to have fun, and arguing was not fun."
"After a particularly contentious argument that nearly comes to blows until Alick intervenes, he sits down with pencil, paper and ruler to create a more perfect game."
"After his best pal nearly dies after getting hit in the head by a thrown ball during a game of town ball, Alick writes down the rules of modern baseball." (Chapman; Amazon)
Baseball was based on the English game of rounders. Rounders become popular in the United States in the early 19th century, where the game was called "townball", "base" or "baseball".
In 1845, Cartwright organized the New York Knickerbockers team with a constitution and bylaws, and suggested that they could arrange more games and the sport would be more widely-played if it had a single set of agreed-upon rules.
Many of these ball-playing young men, including Cartwright, were also volunteer firemen. They named their team after a volunteer fire department in which Alexander Cartwright and several other players belonged to.
One of these wrote in his notes, "We were all men who were at liberty after 3 o'clock in the afternoon and played only for health and recreation… and merely wanted to join a club to set up new uniform rules".
Cartwright played a key role in formalizing the first published rules of the game, including the concept of foul territory, the distance between bases, three-out innings and the elimination of retiring base runners by throwing batted baseballs at them.
The man who really invented baseball spent the last forty-four years of his long life in Hawai'i and laid out Hawai'i's first baseball diamond, now called Cartwright Field, in Makiki.
When he left Manhattan, Cartwright took with him a bat, ball and a copy of the old manuscript rule book, that he helped to draft. Fifteen years later, he sent a letter from Honolulu …
"Dear old Knickerbockers, I hope the club is still kept up, and that I shall some day meet again with them on the pleasant fields of Hoboken. I have in my possession the original ball with which we used to play on Murray Hill. "
"Many is the pleasant chase I have had after it on Mountain and Prairie and many an equally pleasant one on the sunny plains of Hawaii … Sometimes I have thought of sending it home to be played for by the clubs, but I cannot bear to part with it, so linked in it, is it with cherished home memories."
Cartwright went on to teach people in Hawai'i how to play the game; and, he did a lot more when he was here.
In Hawaiʻi, he continued the volunteer fire fighting activities he had learned as a member of the Knickerbocker Engine Company No. 12 in New York City – and, he was part of Honolulu's first Volunteer Fire Brigade.
Shortly thereafter, the Honolulu Fire was established on December 27, 1850, by signature of King Kamehameha III, and was the first of its kind in the Hawaiian Islands, and the only Fire Department in the United States established by a ruling monarch.
Then, on December 27, 1850, King Kamehameha III passed an act in the Privy Council that appointed Cartwright Chief Engineer of the Fire Department of the City of Honolulu. Shortly thereafter, he became Fire Chief.
Aside from his duties at the Honolulu Fire Department, Cartwright also served as advisor to the Queen. Cartwright was the executor of Queen Emma's Last Will & Testament, in which she left the bulk of her estate to the Queen's Hospital when she died in 1885.
Cartwright also served as the executor of the estate of King Kalākaua.
As part of its customs and traditions, cornerstone ceremonies were held for the construction of new Hospital buildings. Cartwright participated in the first public Masonic ceremony on the islands at the laying of the Queen's Hospital cornerstone in 1860.
He also was appointed Consul to Peru, and was on the financial committee for Honolulu's Centennial Celebration of American Independence held on July 4, 1876.
A group of men, Cartwright among them, founded the Honolulu Library and Reading Room in 1879. In the local newspaper, the Commercial Pacific Advertiser, editor J. H. Black wrote, "The library is not intended to be run for the benefit of any class, party, nationality, or sect."
Some of the founders wanted to exclude women from membership, but Cartwright disagreed, writing to his brother Alfred: "The idea keeps the blessed ladies out and the children. What makes us old geezers think we are the only ones to be spiritually and morally uplifted by a public library in this city?" It wasn't long before the committee changed the wording of the constitution to make women eligible for membership.
Born in New York City on April 17, 1820, Mr. Baseball, Alexander Cartwright died at the age of 72 in Honolulu on July 12th, 1892. A large, pink granite monument in Oʻahu Cemetery marks the final resting-place of Alexander Joy Cartwright, Jr.
Many baseball greats, such as Babe Ruth, have visited this spot to pay tribute. Today, baseballs and notes can regularly be found lying at the foot of his large grave marker.
Alexander_Cartwright_1855_Daguerreotype
Alexander Cartwright (back row center) and some of the Knickerbockers
Alexander Cartwright, with apparently Mr. Kerr of Honolulu and friend of Cartwright-1855
Cartwright-PP-69-3-002-00001
Cartwright-Alexander_2134-77_Hawaii-State-Archives-crop
Cartwright Field plaque-KHON
alexander-cartwright-baseball hall of fame
Alexander-Cartwright-Jr-grave-in-Oahu-Cemetery
Filed Under: General, Prominent People Tagged With: Alexander Cartwright, Hawaii, Honolulu, Honolulu Fire Department, King Kalakaua, Library, Queen Emma


I am going to blog more shortly on the state of the pavement on Stockwell Park Crescent, which isn't up to much, but for now Lambeth need to urgently sort out a dangerous hole in the pavement on the Crescent, pictured. I noticed this while out and about in Stockwell today.
I have contacted the street and pavement repair team, and will follow up if it's not sorted urgently. The hole is on the corner of Stockwell Park Crescent and Somerville Close. It seems to be a missing drain cover or fitting for the street light. While it is relatively small, it could easily be dangerous if you don't see it and is in the middle of the pavement.
There's a problem with drain cover thefts - I found one in Streatham Hill yesterday and reported it. Apparently, people are stealing the covers to sell as scrap metal. It's a real problem. We need to work with the Council and the Police to tackle this one. Thanks for keeping up the pressure!
MAYBE MISCREANTS ARE USING THE OPENED HOLES AS PUBLIC LOOS. I WONDER WHY? PERHAPS STEVE PEED WOULD HAVE AN IDEA!


Buy Alaterre Shaker Cottage Shelf/Bench Set in Chocolate from $364.99 at Bed Bath & Beyond. With a simplistic design, the Alateree Shaker Cottage Storage Bench and Hook Tray Shelf Set brings stylish flair to practical items. Bench has one large spacious drawer and shelf, while the hook provides 8 pegs for coats, keys, and more. Easy to assemble.With a simplistic design, the Alateree Shaker Cottage Storage Bench and Hook Tray Shelf Set brings stylish flair to practical items. Bench has one large spacious drawer and shelf, while the hook provides 8 pegs for coats, keys, and more. Easy to assemble.
1 Tray Shelf with 8 hooks measures 36" L x 9" W x 11" H overall; shelf depth measures 8.5"
Handcrafted with high quality, solid pine wood, the beautiful Warm Shaker Entryway Bench from Simpli Home enhances any home. Featuring shaker style design, and includes a seat and 3 doors beneath it that open to reveal a storage area with shelves.
The handsomely crafted and versatile Cutler Storage Bench from Southern Enterprises functions as a stylish accent piece, convenient extra seat, and a handy hidden storage unit, too. Looks great in an entryway, living room, and even at the foot of a bed.
Handsome New England style and function for an entryway or mud room, the Cape Anne Storage Bench from Linon offers 10 cubbyholes for shoes and a comfy cushioned surface to sit on while you take them off.
This Winsome Storage Bench offers the perfect storage solution for any room in the house. With 2 built-in cabinets and a comfy cushion for added seating, this amazing bench is ideal for organizing the family room , mudroom or hallway with ease.
A perfect addition to any family room, entryway or mudroom, the Addison Storage Bench from Winsome offers handsome style and 3 roomy, open storage compartments. Great for storing your family's weather gear, shoes, books and more.
Transform any entryway, porch or room with the Chatham House Acadia Entryway Bench. Bench features a rustic farmhouse finish and styling perfect to accent your home décor. Also offers versatile storage space along with warmth and comfort.
The perfect addition to an entryway or living room, the versatile Emily Storage Bench offers multiple functions. Use as a bench for additional seating, an ottoman to put your feet up, or as storage to stash weather gear, remotes or gaming accessories.
The charming cottage design and antique finish of the Country Cottage 2-Shelf End Table from Alaterre make it a wonderful addition to any home. Features reclaimed wood construction, a tabletop with scalloped detail, and 2 display shelves.
The charming cottage design and antique finish of the Country Cottage Chairside Table from Alaterre make it a wonderful addition to any home. Features reclaimed wood construction, square legs, a storage drawer, display shelf and a scalloped detail.
The charming cottage design and antique finish of the Country Cottage End Table from Alaterre make it a wonderful addition to any home. Features reclaimed wood construction, square legs, a storage drawer, display shelf and a scalloped detail.


What are your favorite Band Names?
and they have a few new releases coming out. I honestly have heard bit and pieces of one album and it sucked.
I always thought that They Might Be Giants was a pretty good name for a band.


Serious Crime Squad detectives have arrested a male in relation to an armed robbery at a Yarrawonga liquor store last night.
It is alleged that the male and an accomplice entered the store at approximately 9:30pm and attempted to steal liquor. The accomplice left the store without paying for a bottle of bourbon and when the first male was refused service as a result, he produced an edged weapon and attempted to strike an employee.
The male then fled the store and returned to the vehicle both he and his accomplice were travelling in.
Palmerston General Duties members attended the scene shortly after and attempted to apprehend the vehicle. A pursuit was initiated after the driver failed to stop. The pursuit was terminated near Noonamah due to the manner of driving.
The male was located in Batchelor this evening and subsequently arrested. Charges are expected to be laid in the near future.
Police are continuing their enquiries in order to locate the accomplice. He is described as slight build, approximately 175 – 180 cm tall, Aboriginal with dark complexion, clean shaven, wearing khaki coloured shorts, a dark coloured top and a dark coloured baseball hat.
The vehicle the men were reported to be travelling in is described as a dark green or blue coloured Ford Falcon station wagon displaying Western Australian registration, possibly 1AIF583 or 1AIF532.
Anyone with information is urged to contact police on 131 444 or Crime Stoppers on 1800 333 000. You may choose to remain anonymous.
MIL-OSI Australia: 22/18:07 EDT Cancellation Severe Thunderstorm Warning for North East Forecast District.
For people in North East Forecast District.
Issued at 6:07 pm Tuesday, 22 January 2019.
Severe thunderstorms are no longer occurring in Victoria.
Police are appealing for public assistance to help locate missing Deepdene man Michael Menzies.
The 41-year-old was last seen at at his home address on Gordon Street, Deepdene about 12.30am on 22 January.
Police have concerns for Michael as this is out of character.
He is perceived to be Caucasian, about 183cm/tall, balding and a thin build.
Michael was last seen weraing a light coloured shirt, light coloured pants, runners and a dark baseball cap.
Police believe he may have travelled to the Kew area.
Police have released an image of Michael in the hope somoene will recognised him.
Anyone who sees Michael or has knowledge of his whereabouts is urged to contact Boroondara Police Station on 8851 1111.
Disaster assistance is now available for communities in Far North Queensland impacted by the severe weather and flooding brought on by Tropical Cyclone Penny.
Assistant Minister for Home Affairs Senator the Hon. Linda Reynolds, who has responsibility for Commonwealth disaster assistance, said the Commonwealth and Queensland governments are committed to supporting the long-term recovery of affected communities.
"Financial assistance is now available for Hope Vale Aboriginal Shire Council, Wujal Wujal Aboriginal Shire Council, Cook Shire Council, Mapoon Aboriginal Shire Council and Northern Peninsula Area Regional Council to aid their community recovery," Assistant Minister Reynolds said.
Queensland's Acting Minister for Fire and Emergency Services, Leeanne Enoch, said some areas received more than 800 millimetres of rain as a result of Tropical Cyclone Penny.
"The heavy rainfall caused flooding and road closures across the region, isolating several communities," Ms Enoch said.
Assistant Minister for Home Affairs Senator the Hon. Linda Reynolds, who has responsibility for Commonwealth disaster assistance, said the Commonwealth and Queensland governments are working together to support recovery efforts following the cyclone.
"Through the DRFA, we are able to offer assistance to Carpentaria Shire Council, Cassowary Coast Regional Council, Hinchinbrook Shire Council and Townsville City Council to help their regions recover," Assistant Minister Reynolds said.
Queensland's Acting Minister for Fire and Emergency Services, Leeanne Enoch, said Cyclone Owen had a major impact in North and Far North Queensland, with flooding affecting communities across the region.
"Some parts of the state received more than 680 millimetres of rain in 24 hours, causing damage to public infrastructure across the region," Ms Enoch said.


Looking for a Grad gift?
Check out our websites new additions such as "Commencement Flowers" to find the perfect gift for your Midd graduate! They're the perfect compliment to something more practical like a new 13″ Mac Book Air or the new iPad. Coupled together, it's the perfect gift!
← Want a great deal on a Mac?


Nope, it's disabled by default. I takes about the same time for both the .lua and .bas files. Disabling RAW/DNG on my A2200 sped it up quite a bit, so I was disappointed to see it was already disabled on this one.
FWIW, almost all CHDK intervalometer scripts wait for some time delay specific to the script and then try to shoot. If its a dim lighting condition or obscure subject matter or troublesome scene for finding a focus point them taking the actual shot could take some time. This is a problem with your camera - not CHDK or the intervalometer script.
a490 100f version with remote shoot JPG support. Please test and report.
edit: tpont reported that rs -jpg is not working, new version attached . Mute on zoom implemented too.
- mute on zoom during video recording now works!
If the camera mode is P and set to "Continuous" then one rs shoot works but gives a memory card error message on the camera and any subsequent commands will throw a "timed out uninit a script is already running" error message. But if the camera is in mode AUTO or in mode P set to "Single Shoot" then rs works just fine. None of the other settings in mode P seem to result in any errors either.


text:
package org.locationtech.geogig.test;

import java.io.File;

import org.locationtech.geogig.model.impl.DefaultPlatform;
import org.locationtech.geogig.repository.Platform;

public class TestPlatform extends DefaultPlatform implements Platform, Cloneable {

    private static final long serialVersionUID = 1L;

    private File userHomeDirectory;

    public TestPlatform(final File workingDirectory) {
        super.workingDir = workingDirectory;
        this.userHomeDirectory = new File(workingDirectory, "userhome");
        this.userHomeDirectory.mkdir();
    }

    public TestPlatform(final File workingDirectory, final File userHomeDirectory) {
        super.workingDir = workingDirectory;
        this.userHomeDirectory = userHomeDirectory;
    }

    @Override
    public File pwd() {
        return workingDir;
    }

    @Override
    public File getUserHome() {
        return userHomeDirectory;
    }

    public void setUserHome(File userHomeDirectory) {
        this.userHomeDirectory = userHomeDirectory;
    }

    @Override
    public TestPlatform clone() {
        return new TestPlatform(pwd(), getUserHome());
    }

    @Override
    public String toString() {
        return getClass().getSimpleName() + "[home=" + this.userHomeDirectory + ", pwd="
                + super.workingDir + "]";
    }
}

redpajama_set_name: RedPajamaGithub


How does UIScrollView steal touches from its subviews?
Does UIScrollview works correct with UIStatusbar?
How to call scrollViewDidScroll: the same way UIScrollView does, but during custom animation?
Is it possible to loop a UIScrollView/UIPageControl?
Pinch To Zoom Effect on UIImageView inside scrollView?
Make scrollbar always visible on UIScrollView (iOS7)?
Best way to add a large chunk of text to a UIScrollView?
What's the best way to implement below layout in iOS?
How Do I Switch Views With PageControl & UIScrollView?
How can I create a new process with another User Account on Windows?
When will it be impossible to support Visual Basic 6.0 applications?
What is the simplest way of getting user input in C?
How to improve SQLAlchemy performance?
Permission denied to access property "handleEvent"
SSRS tablix column CanGrow property for width?
Web desktops - do you find it interesting?
How to remove/disable submit on appendTo Elements?
Set a new Variable in Assemble (or combine two comparison helpers)?
How can I pass a variable name as part of a parameter to a batch file and then use it?
Is it possible to have different SharePoint web applications authenticating against different sub-domains in AD?
How can sbt-web output be used with xsbt-web-plugin via a SBT project dependency?
How to share full screen image android?
How to parse an HTTP Request in Java?
How to use image as icon in winforms?
Send and Receive SMS using Twilio on iphone sdk?


text:
"What About Love" é uma canção do cantor e compositor estadunidense Austin Mahone. A canção foi escrita por Mahone, Nadir Khayat, Jimmy Joker, Achraf Jannusi, Bilal Hajii, Mohombi , Rivington Starchild e produzida por RedOne.

Videoclipe
O vídeo da música foi dirigido por Colin Tilley, e os efeitos visuais foram criados por GloriaFX.

Faixas e formatos

Desempenho nas paradas musicais

Posições

Certificações
{| class="wikitable"
|-
! País
! Certificação
! Vendas
|-
|  (RIAA)
|
|500.000+

Histórico de lançamento

Singles de 2013
Canções compostas por RedOne
Canções produzidas por RedOne
Canções de música pop
Canções de R&B
Singles lançados pela Republic Records
Canções gravadas por Austin Mahone

redpajama_set_name: RedPajamaWikipedia


text:
Children's Education Programme
In Memorium of Kadir Has
About Haliç
Tobacco Factory
Museum— About— History— Virtual Tour— Restoration and Conservation Exhibitions— Ongoing Exhibitions— Past Exhibitions— Upcoming Exhibitions Events— Current Events— Past Events— Panels— Symposiums— Conferences Education— Children's Education Programme In Memorium of Kadir Has Haliç— About Haliç— Tobacco Factory Publications— Children's Books— Event Publications— Exhibition Catalogues Visit Newsletter
Haliç which is one of the world's oldest places of inhabitancy of the world was known as Golden Horn (Khrysokeras) in the ancient periods. Name of region has then changed to Keras in the Byzantine period and Haliç-i Konstantiniyye in the Ottoman period and it has taken its today's form, Haliç, in the subsequent periods.
The legend of the Bosphorus including also Haliç comes from the forbidden love lived between Zeus at the level of Gods and Io, the daughter of Inakhos who was the King of Argos. According to the legend, Bosphorus takes its name from the lecherous actions of Zeus and story of beautiful Io who has become the victim of Hera's (Zeus's wife) jealousy. Zeus falls in love with Io, the princess of Argos, one day. And, he wants to keep Io out from Hera's rage by transforming it to a white cow as he was afraid of her anger. But Hera is aware of what's going on. Hera puts a sentinel with hundred eyes first, but Hera has to set a horsefly on her neck to bother Io after she manages to get rid of the sentinel with the help of Zeus and Hermes. Poor Io has to keep traveling around the whole ancient world to get rid of the horsefly. She passes through the Bosphorus during her travel which will be called with this name meaning -the Passage of Cow/Ox- afterwards. But, Hera gets sorry for Io who is pregnant at that time as she is also a mother and takes the horsefly from her neck. Io gives birth to a female baby at the Asian shores of Bosphorus and they give her the name Keroessa. This girl has then a son from Poseidon called Byzas who will establish a city at the placed he has born in the future.
Ongoing Exhibitons
Wide Belt with Hunting Scene
Archaeology of Daily Life
Whispers of Extinct Languages
Cibali Tobacco Factory
Educational Programs for Children
Rezan Has Museum
© Rezan Has Museum - All rights reserved.

redpajama_set_name: RedPajamaCommonCrawl


text:
Pablo the Miner and Superman. Everything you need to know about El Petro
Oil, protests, sanctions, rabbits, Russian involvement and Kim Jong-un. The most subjective story about Venezuelan cryptocurrency.
Guys, we're not CNN or BBC – congressmen don't leak us information, we don't use former KGB officers and don't attend spiritual seances. So this column is an attempt to do some sensible analysis based on information from publicly available sources. But it should be a good read. Pinky promise.
Pablo the miner sits in a filthy prison cell and thinks about his mother and sisters. "What's happened to them since I've been here? Have they found anything to eat? It's my fault that I got caught by the military." Pablo was on the verge of insanity. The torture by sleep deprivation lasted forever. Every attempt to fall asleep was interrupted by a powerful blow from the warden. And then it was over.
Pablo woke up in hospital. A short man in a formal suit was sitting next to him. "Obviously from the Party," thought the boy. The guest told the miner that his family has been given enough food for a week. And in the future they will not have to starve either. If, of course, Pablo agrees to cooperate. The miner agreed – he was given back his equipment, had his personal details recorded and was released to go home. That's how he became the 171st miner of the world's first state-sponsored cryptocurrency, El Petro.
What's Going On in Venezuela?
Hyperinflation has been raging in the country for years. The official exchange rate of the national currency, the Bolivar, is 11.6 cents, but in fact it is worth less than $0.00004 on the "black market". As a result, the purchasing power of the Venezuelan population has dropped rapidly. President Maduro has prepared an unusual, to say the least, response. A chain of electronics stores was seized by the military and the goods were sold for 10% of their value. Price controls were introduced for basic groceries (bread, milk, eggs, etc.), after which the main vendors left the market and a food crisis began.
These processes, as well as the President's desire to change the Constitution yet again, brought demonstrators onto the streets. Last year, nearly 200 protesters were killed in clashes with the military. The international community demanded that Maduro end the violence against civilians. Spain stopped deliveries of bulletproof vests, helmets, rubber bullets and gas. The US froze the accounts of high-level Venezuelan officials and banned food supplies to the country (Nicaragua obediently gave up on 5% of its exports).
Why Does Venezuela Need a Government Cryptocurrency?
Venezuela's foreign debt exceeds $130 billion and at the moment it is not making any payments, as the country is a complete mess. At the same time, the state boasts the largest oil reserves in the world, ahead of countries like Saudi Arabia, UAE and Qatar. At the beginning of the 21st century, the median income per capita was the highest in Latin America.
Oil is a blessing and a curse for Venezuela. In economics, this phenomenon is known as Dutch Disease. This is when a state is 100% dependent on the extraction of certain natural resources and any reduction in their value hits it extremely hard. In Venezuela, oil put a stop to natural economic progress. While other countries were thinking up a multitude of ways to make money, all they did was produce the "black gold" and sell it. Half of oil exports, by the way, go to the United States.
President Maduro announced that the El Petro cryptocurrency is the kryptonite that will make it possible to defeat Superman (i.e. the USA). It will be backed by oil.
The government has allocated 5 billion barrels of oil for this purpose in the Ayacucho oil field of the Orinoco Belt. Each coin is attached to one barrel (now worth $69). This currency will be less volatile than others. El Petro Gold – a currency backed by gold – has also been announced.
Venezuelans have a positive attitude towards cryptocurrencies. When the country ran out of dollars, they started to invest their Bolivars in tokens. After all, even the deadest coin won't fall off a cliff as fast as the local fiat currency does. Cheap electricity (there are many such social programmes in Venezuela, which the current government calls "21st century socialism") has made mining a great way to earn money out of the ruins of the economy. Miners were caught, thrown in prison and accused of sabotage, but their numbers grew and grew. Then the country's leadership finally realized that these resourceful guys are best used for their own purposes. Now mining is only permitted to people entered in a state register.
The authorities assert that the issue of a national cryptocurrency will help attract investment into the country and save it from disaster. The Bolivar could be forgotten like a bad dream.
Will Maduro's Plan Work?
From the 1930s to the 70s, the GDP per capita of Venezuela was on the same level as Western European countries. Then world oil prices dropped, the oil industry was nationalised and presidents and regimes came and went until the socialists eventually came to power. Instead of developing infrastructure and technology, every year they piled masses of public money into the social sector. This, as we can see, ended badly.
Okay, you can finish off the dying Bolivar and replace it with some fresh cryptomoney, but that won't change the government. Any attracted investments will be used just as stupidly as previous state budgets. In addition, the Venezuelan Parliament (which is in opposition to government, so no one pays any attention to it) believes that El Petro is not actually a cryptocurrency, but a forward contract for Venezuelan oil.
The El Petro whitepaper promised that the tokens will be issued on the Ethereum platform, but then it turned out that the NEM blockchain will be used. There have been other fuck-ups too. Pretty undignified for a state-backed coin, right?
Analysts at the Brookings Institution are convinced that El Petro will not only fail to help the Venezuelan economy, but also strike a blow against all cryptocurrencies, as people will lose confidence in them. And anyway, a state-backed coin looks pretty weird in the context of the decentralised blockchain revolution.
Whatever the case may be, Maduro has announced that the pre-sale was successful and almost 300,000 investors took part in it. 36% of transactions were in dollars, 15% in Euros, 18% in Ethereum and 31% in Bitcoin.
What Have the Russians Got to Do with It?
Time recently published an article talking about how Russia is secretly helping Venezuela to issue its cryptocurrency. Both countries are under severe economic sanctions and crypto is a great way to get around them. Venezuelan opposition leader Armando Armas thinks Russia understands that Maduro has nothing to lose, so has decided to conduct an experiment. If it works, we should expect a repeat performance in Moscow soon. Then Russia will be able to anonymously buy whatever it wants, whenever and wherever it wants it.
The publication drew attention to the presence of Russian businessmen Druzhkov and Bogorodsky at the El Petro presentation. Bogorodsky is considered to be Putin's informal observer in Latin America. While Druzhkov has been linked with Renaissance painting collector Sergei Litvin, who, by the way, has also been hit with Western sanctions.
Donald Trump has imposed a ban on trading El Petro. It concerns all transactions with digital currencies, coins and tokens issued on behalf of the government of Venezuela for citizens and legal entities of the United States. Theoretically, the executive order could apply to BTC and ETH, as El Petro was sold for these currencies. Investing in these cryptocurrencies causes their growth, indirectly aiding Maduro's regime. This also goes for the NEM platform – any exchange paired with the NEM (XEM) cryptocurrency may also contribute to the development of Venezuela's economy.
What Does This Mean for the Rest of the World?
North Korea is often linked to cyber attacks around the world. Their main goal is to steal funds – recently, hackers have been attacking cryptocurrency exchanges and wallets. It is believed that Kim Jong-un has already accumulated quite a few Bitcoins. What if the next step of the country of Juche is a national cryptocurrency? Which, backed by the likely digital assets of the local authorities, could skyrocket. Thanks to blockchain, the Koreans will be able to bypass any sanctions and buy all the missing parts for their rockets and bombs. But seriously, if Russia is missing Italian cheese and French wine because of sanctions, but will be able to buy them for cryptoroubles, even Steven King won't be able to predict Kim Jong-un's desires. Maybe Dennis Rodman will though 😀
It's no coincidence that state-backed cryptocurrencies are springing up in fanatical states, because the idea of blockchain itself became popular thanks to faithful enthusiasts. But if this goes any further, the elite countries that consider themselves referees in the international game of thrones will start to crack down. Which is not at all cool for our cosy crypto community.
Instead of a Conclusion
When Pedro the miner returned home, the sun was shining brightly and his mother was taking his sisters to school. They burst into tears of joy, because they didn't expect to see him alive again. When everything calmed down, the young man noticed a rabbit cage and asked where it came from. His mother replied that the authorities have given orders to fight hunger through mass animal breeding. But they've become so attached to the rabbit that they're not going to breed it, never mind eat it. The end.
P.S. The Bitfinex exchange has already announced that it will not cooperate with El Petro. They're obviously afraid of getting in trouble with the American authorities. But will everyone be so compliant?


text:
<TITLE>Review for Angel Eyes (2001)</TITLE>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="/ramr.css">

Angel Eyes (2001)

reviewed by
Dennis Schwartz

 ANGEL EYES (director: Luis Mandoki; screenwriter: Gerald DiPego;
 cinematographer: Piotr Sobocinski; editor: Jerry Greenberg; cast:
 Jennifer Lopez (Sharon Pogue), Jim Caviezel (Catch), Victor Argo (Carl
 Pogue), Sonia Braga (Josephine Pogue), Terrence Howard (Robby),
 Shirley Knight (Elanora Davis), Jeremy Sisto (Larry), Daniel Magder
 (Larry Jr.); Runtime: 110; Warner Brothers; 2001)

Reviewed by Dennis Schwartz

It's a gritty cop movie when the two protagonists are inarticulate and
are trying to form a relationship to ease their inner pain. They have
both lost their families in one way or another. Their romance is quirky
and seems to be stumbling around to get someplace. Unfortunately, when
they do become articulate and mesh together, the film moves into the
predictable formulaic mold and ends in a cornball way. They were both
more endearing when they had nothing to say, where one would constantly
be asking the other: "Who are you?"

Sharon Pogue (Jennifer Lopez) is a tough Chicago policewoman, who in the
opening scene comforts a critically injured man who has been in a
terrible car accident. She is soon shown in action making an arrest on a
nasty thug by using a body-slam to make sure she gets the pinch. Her
physical prowess in that incident would make make even the most macho
policeman feel proud. Relaxing in a bar she trades sexual innuendoes
with her compatriots on the police force, and smoothly handles her
married partner Robby's (Terrence Howard) sexually playful attempts to
come onto her. She shows her vulnerable side at night, after being wound
up too tight fighting crime in the street all day, suffering from her
loneliness and from her insomnia. She's also poisoned by the fact that
she had to arrest ten years ago her abusive father (Argo), who used her
mother (Braga) as a punching bag. The arrest stopped the abuse, but she
took all the heat for embarrassing the family. Her father has refused to
talk to her since then, and mom only wishes she wouldn't have arrested
her father. She now finds out from her construction worker brother that
her mother and father plan to renew their wedding vows.

The recovered accident victim goes by the handle Catch (Jim Caviezel).
He is a timid, quivering man, who does nothing but walk the city streets
in his overcoat and tries to do angelic things for the strangers he
encounters. He shuts off a guy's headlights on his parked car, returns
his next door neighbor's keys she left in the door, and takes in a stray
dog. For his mother-in-law (Knight), who is disabled in a wheelchair, he
does the weekly grocery shopping and uses her as his surrogate mother.
He has a ghostlike appearance and seems to be disengaged from the world.

When Sharon is faced with a thug standing with a gun over her slumped
body after a police chase, Catch jumps him and saves her life. The two
get together in the bar where her cop friends hangout and neither one
recognizes the other from the car accident a year ago, though Catch
feels a strange connection to her. He thinks they were destined to meet.
Even though Catch seems like a freak show, Sharon feels something about
him that she doesn't from the other guys she goes out with. They develop
a relationship filled with the secret pains they have, but are unable to
communicate with each other because their hurt is so deep. His pain is
that he can't live with himself because his wife and kid were killed in
the accident. Her pain is that she is not appreciated by her family;
they have made her an outsider. When she goes to her brother's house
after he punches his wife around, they react poorly to her intervention.
Spousal abuse seems to have a history of being passed onto different
generations of the same family, as is evidenced here.

JLo is a convincing cop and one tough broad, but who has a soft side to
her behind her bullet proof vest. Jim Caviezel looks as if he arrived
from another world; he's disheveled and lives in his sparsely decorated
apartment featuring only a bed, a telephone with an answering machine,
and a drawer filled with children's toys. He seemed believable as
someone who has been traumatized, and begins to recover when it is
revealed that he's a former jazz trumpeter. As for their hot moments
together JLo is a natural for sex, but Caviezel seemed too distant to
really be getting into it. But the film can almost be forgiven for its
sore points in storytelling, because these two star performers bring
something to the screen that is curiously arresting. The problem with
the film is that the filmmaker couldn't let their romance play out in a
natural way. Filmmaker Luis Mandoki ("Message in a Bottle") could think
of no other way to bring them together than by having Caviezel go
through a corny soliloquy at his wife's graveside; while, JLo saved her
corny soliloquy for a videocam message to her father at the family
reception. To make matters seem more artificial there is some loud,
syrupy music before the film ends and the credits roll by, as JLo and
Caviezel drive off together seemingly having survived their personal
tragedies with some big fake smiles on their faces. I wonder how many
market research reports it took for them to come up with that happy
ending!

REVIEWED ON 5/27/2001     GRADE: C +

Dennis Schwartz: "Ozus' World Movie Reviews"

http://www.sover.net/~ozus

ozus@sover.net

© ALL RIGHTS RESERVED   DENNIS SCHWARTZ

The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).

The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.

Please direct comments/criticisms of the review to relevant newsgroups.

Broken URLs inthe reviews are the responsibility of the author.

The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.

Related links: index of all rec.arts.movies.reviews reviews


Simply ONEderful! This midi fit brief from the ZERO One serieS by sloggi ensures a feeling of softness, lightness and perfect fit. The perfect companion for active days.
Feel comfortable all day long with a matching bra from the collection.


These velvety smooth tangelo creams are similar to panna cotta, with a light citrus flavour perfect to finish off a good meal. Use pretty tea cups to set the creams in when entertaining for a fun touch.
You could make the creams and the wafers well in advance for a dinner party, even the day before. Use orange instead of tangelo if they're not in season.
Heat cream and sugar over gentle heat until sugar dissolves then simmer for 3 minutes (take care it doesn't boil over).
Combine lemon and tangelo juice in small bowl, sprinkle gelatine on top and leave it to swell for 2-3 minutes.
Stir gelatine mixture into warm cream. Add 1 Tbsp of zest and stir well. Pour into individual serving glasses and chill in fridge for at least 2 hours or until set.
For wafers, preheat the oven to 180°C and line a flat tray with baking paper.
Whisk egg whites until just foamy then add flour, sugar, coconut, oil and rest of zest and whisk to combine. Drop 1 Tbsp mixture onto tray and spread to make a 7cm circle. Repeat until you have 4 circles.
Bake for 5-6 minutes or until golden. Remove from oven and allow to cool for a few minutes then transfer to a rack to cool entirely. Repeat with remaining mixture.
Mix extra zest into honey and use to garnish the creams. Serve with wafers.


Latest track cools down an otherwise high-intensity album.
Ariana Grande might be calling it an "instant gratification" track, but honestly, girl, you're really just teasing the life out of us with all these My Everything previews.
Grande dropped yet another full-release on (August 12) on iTunes, this time featuring the smooth rhymes of Big Sean. "Best Mistake" walks in the footsteps of records like Rihanna's "We Found Love," with the singer dropping heavy lines about the struggle of an on-again, off-again broken relationship.
"Break up / Make up / Total waste of time / Can we please make up our minds / And stop acting like we're fine," the pop star cries with a tone that really says, "It's over, boy."
Sean follows up in another verse, attempting to mend the broken love with, "I guess time's wasting / Tick-Tocking / Lip-Locking / How can we keep the feelings fresh / How do we Zip-lock it."
"Best Mistake" is the former Nickelodeon star's third collaboration with the MC. The two made sweet music with "Right There" on Grande's 2013 album "Yours Truly," and Sean's lusty lips made a cameo appearance in Grande and Iggy's "Problem" video with his background whispers.
The track takes a twisted turn from the album's party-banger teasers like "Problem," "Break Free" and "Love Me Harder," but it continues to hit on a solid theme about hard-to-handle relationships.
My Everything hits shelves August 25.


You are so lucky to live in Florida, as it would not be hard for you to spend your Easter holiday! With all the fun attraction and excursion in Florida, combine with the sunny climate, you don't need to plan your outing! It's already been planned for you in Florida. Florida is a good place to have family outing; certainly your family will love it.
There are some great hotel deals to stay in Florida during your Easter holiday.
The popular stay is Rosen Plaza Hotel Orlando, Florida; Wet N' Wild Water Park is less than one mile from the lobby doors, with Walt Disney World, Universal Studios, SeaWorld, and the Florida Mall all within close proximity. Shopping, dining, nightlife, and themed entertainment abound in this area.
For a more budget hotel deals; is Rosen Centre Hotel Orlando. World class golf is just a few minutes away, and this Orlando hotel offers free quick, regular shuttle services to the exciting theme parks in the area. Walt Disney World, Wet N' Wild Water Park, and Universal Studios are all within 6 miles of the hotel, while local shopping and dining are always within easy distance for the foot tourist.
England would be a great place to spend your Easter. You can drive yourself to the countryside and spent quiet holiday away from the city hectic live. Lose yourself in country side of Leichester with all the heritage and natural attraction.
Want a bit of mummy and Cleopatra taste for your holiday? Go set yourself to the wonderful land of Egypt. It is the combination of ancient wonders and beach culture!
There are some discount hotel to stay in Egypt during your Easter holiday.
Forhotel deals; during Easter that has good review would be Novotel Cairo 6Th Of October Hotel. The Hotel is located in October City, only 25 kilometers from the center of Cairo. Attractions such as the great pyramids can be easily reached from this hotel.
Who would not love Spain? It is one of the most joyful countries in the world! If you love Easter, you will love Spain. It has a good atmosphere, good food and activities! Between Madrid and Barcelona, it's hard to choose between those 2.
There are some great hotels to stay in Madrid and Barcelona during your Easter holiday.
Good 5 star hotel deals for this Easter in Madrid would be Mirasierra Suites Hotel & Spa Madrid. Set outside of the city, the Mirasierra Suites Hotel & Spa Madrid is a luxury facility convenient to the very best that Madrid has to offer. A visitor is only a few miles from such neighborhoods and attractions as the Gran Via, business district, Bernabeu Stadium, El Retiro, and the Castellana district. discount hotel this Easter for Barcelona hotel is Best Western Alfa Aeropuerto Hotel.
Easter is a big day in Italy, especially in Vatican City. Join and experience the Easter Vigil and Easter Holy Mass, and lastly do not forget to have the Easter feast.
The hotel near the Vatican City is mostly fully book during Easter. Have to be quick.
The So-called Kangaroo country has a lot of places to see on Easter holiday. Enjoy yourself or with your family in get a ride with the famous the Ghan train. You can experience the wildlife and unique Australia with the Ghan, travelling through the rugged outback of Australia, through to its tropical north.
Italian civilization is one of the oldest civilizations of the world. Ancient or classical Italy has a rich history of art and culture. It's one of the exotic location everyone like to visit.
Good Morning, your webpage design is pretty cool. I like how all the elements have been postioned, and how the page is structured so that it looks decent.
Thank you for the intriguing read! Alright playtime is over and back to school work.
Thankyou lots, I've found this info very nice!
Now you're making me jealous .
I do not agree with everything in this posting, but you do make some incredibly excellent things. Im extremely fascinated within this matter and I myself do alot of study as well. Either way it was a nicely thoughtout and nice study so I figured I would leave you a comment. Sense free of charge to check out my website sometime and let me know what you think.


Aim: The aim of this study was to compare the frictional force generated by self-ligating and conventional brackets coupled with stainless steel wires when conventional elastomeric or stainless steel ligatures were applied. Method: Four types of brackets were selected for the study: one passive self-ligating bracket, two active self-ligating brackets, and one conventional bracket. For each type of bracket one molar tube and two upper premolars were used in combination with three different wires (0.016x0.022, 0.017x0.025 and 0.019x0.025 inch). Testing was performed with an Instron machine. Each bracket/wire combination was tested with conventional elastomeric and stainless steel ligatures. Tests performed with self-ligating brackets were carried out also without conventional ligatures. ANOVA with Tukey's post hoc tests were used to compare the results for the different bracket/wire/ligature assemblies. Results: Active self-ligating bracket/0.017x0.025 inch or 0.019x0.025 inch/stainless steel ligature assemblies showed significantly higher values of frictional forces than conventional bracket for the same combinations. Passive self-ligating brackets showed significantly lower values of friction than conventional brackets for each wire/ligature assembly. Conclusions: the use of stainless steel ligatures applied on active self-ligating brackets produced significantly higher level of frictional force than in combination with conventional brackets for 0.017x0.025 inch and 0.019x0.025 inch wires.


text:
Boštjan Cesar (nascut el 9 de juliol de 1982 a Ljubljana) és un futbolista internacional eslovè, que juga per al club italià Chievo.

Trajectòria
Va firmar un acord per a tres anys amb l'Olympique de Marsella el 2005. L'any 2007 va anar cedit al West Bromwich Albion, amb una opció de compra. Va fer el seu debut amb l'Albion en la victòria 1-0 sobre el Bournemouth el 14 d'agost de 2007 en un partit de la Copa de la Lliga. El seu debut va arribar més de dos mesos després, quan l'Albion va vèncer 2-1 el Blackpool el 23 d'octubre de 2007. Va anotar el seu únic gol amb l'Albion el 2 de febrer de 2008 en una victòria per 2-1 davant el Burnley. Cesar va fer 24 aparicions amb el West Brom en totes les competicions, però va tornar a Marsella al final de la temporada després que el cap dels Baggies Tony Mowbray va decidir renunciar a l'opció de compra. Va firmar un contracte de dos anys amb el Grenoble Foot 38 el gener de 2009 i va marcar el seu primer gol per al club en la seva segona aparició, un empat 1-1 contra el Girondins de Bordeus. El maig de 2010, el Chievo anunciava que el jugador eslovè es convertia en membre de l'equip italià a partir de l'1 de juliol.

Gols com a internacional

Palmarès

Dinamo Zagreb
 Prva HNL: 2002–03
 Copa de Croàcia: 2001-2002, 2003–04
 Supercopa de Croàcia: 2002, 2003

Olympique de Marseille
 Coupe de France:
 UEFA Intertoto Cup: 2006

West Bromwich Albion
 Football League Championship: 2007–08

Enllaços externs

 Player profile  – Olympique de Marseille
 Player profile – NZS
 Player profile  – LFP
 Career details at National Football Teams

Futbolistes internacionals amb Eslovènia
Esportistes de Ljubljana
Futbolistes de l'Olympique de Marseille
Futbolistes del West Bromwich Albion FC
Futbolistes de l'AC ChievoVerona


Did you know that the installation of a whole house humidifier can make your home a more pleasant place to live? Well, it can. It can eliminate a whole medley of health issues including sore throats, heightened allergies, and dry, cracked skin. It can also minimize or even eliminate static shocks, damage to your furniture, and cracks in your paint.
Your professionally installed whole house humidifier delivers moisture to the air in your home, making it a more comfortable environment for family and pets. The steps needed to professionally install a whole house humidifier depend on the type that you select as well as your existing heating and air conditioning system.
Three basic styles are available for installation. They include flow-through systems, drum systems, and spray mist systems.
The flow-through system involves forcing heated air through a moistened pad to place moisture into your home. It requires a floor drain to contain any water that is not used by the system. It also requires annual cleaning to remove minerals and other types of sediment.
The drum system is typically the least expensive of the three styles. However, it requires annual cleaning to avoid the buildup of mold, dust, and minerals. With this style, the hot air blows across a foam or fabric belt that is fitted around a drum-shaped device that rotates through the water. As a result, moisture is placed in the air.
The spray mist system utilizes an electronic device to spray water vapor into heated air so that it is carried into your home. However, they are only recommended for use with heating systems that use gas or oil. Additionally, this style doesn't work well with water supplies that contain a high level of minerals.
Your new humidifier is professionally installed directly to your existing air conditioning and heating system. It is designed to deliver necessary moisture into your air supply via water vapor.
While you might be tempted to go with the less expensive price tag on a portable humidifier, the benefits featured with a whole house system far outweigh the added cost. This type of system monitors the relative humidity levels within your home on a continual basis, ensuring that you never have too much or too little humidity. It performs consistently to deliver the proper amount of moisture for your interior environment.
Another benefit of installing a whole house system rather than a portable one is that you avoid the daily cleaning that is required. Portable units tend to need daily/weekly disinfecting as well, depending on the style of portable humidifier that you get, and so, you avoid this task also.


"Drain Pipe" has a nice, laidback bluesy vibe, which continues on the harp-driven 'Find My Place'. Opener 'Strong Enough' suggests the lads were big fans of Blue Cheer, although the disconcerting, jazzy piano solo in the middle will certainly cause some serious headscratching! The band seem a little unsure of where the song should go, so they end by just whipping up a frenetic, no-holds-barred jam!
Dylan's 'Master of War' is certainly an unusual cover and it gets a rather straightforward reading, but the title track is another kettle of fish altogether, sounding more like a live recording of a bong party in the band's basement. Definitely a case of "you had to be there", although after hearing it you'll probably wish you were! Finally, the centrepiece, an 8-minute, dirgey, bluesy trudge through the Slim Harpo standard 'King Bee' may be the slowest version ever recorded, with piano and finger-bleeding solos and narcoleptic vocals to entertain you along your trip.
Overall, this will appeal to fans of tasty air-guitar solos with strong songwriting and a crunchy, bluesy swagger. I just wish they had a better roadmap for their songs and wouldn't keep changing direction mid-song. It makes for a disorienting listening experience, and not always in a good way! Still we do hope the band members are still alive and one or more will come forth to give us more details!


text:
Q: Python class derived from built-in type won't construct: TypeError: type() takes at most X arguments (Y given) Python 2.7, Windows7x64.
The code. Note that class ImmedVal derives from built-in type long.
class Immediate(object):
    def __init__(self, name, value, loc):
        object.__init__(self)
        self.value = value
        self.loc = loc
        self.name = name

class ImmedVal(long, Immediate):
    def __init__(self, name, value, loc):
        long.__init__(self, value)
        Immediate.__init__(self, name, value, loc)

But attempts to instantiate ImmedVal...
x = ImmedVal('hello', 33, 7)

... don't work:

TypeError: long() takes at most 2 arguments (3 given)

All different combinations of numbers/types of parameters on construction don't work.
P.S.: I'm doing this so referencing it returns the value, so I can use it as such:
eval('x + 1', { 'x' : x })

A: That built-in type is immutable.  That changes the game, and I need the __new__ operator as such:
class ImmedVal(long, Immediate):
    def __new__(cls, name, value, loc):
        return long.__new__(cls, value)

    def __init__(self, name, value, loc):
        long.__init__(self, value)
        Immediate.__init__(self, name, value, loc)

(Base class Immediate and __init__ are unchanged from above.)
Construction, as above, now works as expected.

redpajama_set_name: RedPajamaStackExchange


text:
Serenyx
Does this text color make it hard to read? Click here. Serenyx is a symbolic AI chat bot without machine learning. It has a PHP API that takes care of generating responses based on the user's input. It has gone through multiple iterations, each one increasing its efficiency, response time, and functions, while removing ones that weren't used (for example, it used to be able to SSH into my phone and backup everything, but since transfering data over SSH is slower than just using a USB-C cable, I opted to remove this function from the bot). Below, you can find images that show all the functions the bot is capable of, but I have removed some functions that might jeopardize the security of the bot and could possibly be exploited. The "/clear" command empties the conversation file that's currently being used, essentially deleting the conversation history. The "/size" command can both return the size of the conversation file, or the amount of free space left on the storage device the bot is currently on. "/bot" allows me to do a host of things related to the bot, such as revoke access tokens, request them, turn the bot off, or request a download link for its APK file to install on Android devices. The other two commands are self explanatory, "/ytd" using the YTD library to download YouTube videos, and "/yt" using YouTube's own API to search for videos, and then utilizing the YTD library to provide download links for the top five relevant video results of the search. The "/list" command can be used to create, modify, view, and delete lists. These lists can be used for anything, from reminders, to shopping lists. The next four commands can be used to generate BCrypt, SHA256, SHA512, and MD5 hashes based on a given piece of text (string). There are also two functions to encode and decode strings into and from Base64. The functions above are once again self-explanatory. "/shuffle" just randomly moves around the characters of a given string. "/define" can be used to see the definition of a word. The bot searches through the English dictionary, and outputs the most relevant definitions. "/server" commands include restarting my Apache server, or restarting the device it's hosted on. "/website" commands let me toggle caching on my website (for CSS files and the like), toggle development mode, delete all self-hosted uploaded files etc. "/lights" allows me to control the smart bulb in my bedroom. I can change the light bulb's color, brightness, and of course turn it on or off. "/color" commands let the user convert hex to RGB, find the hex value of a color by its name (for example, you can say "/color name white" and it'd return #FFFFFF), which is extremely useful for web development. The above commands are related to cryptocurrencies. As I have a lot of wallets for different currencies, I can use the "/wallet" command along with the currency's ticker (BTC for Bitcoin, ETH for Ethereum etc.) to see what my public wallet address is for that crypto. "/mcap" can be used to view the total market capitalization of cryptos using CoinMarketCap's API. "/{Ticker} = {Amount}" lets me tell my bot how much of a certain crypto I hold (for example, I can do "/eth = 1", which would tell the bot that I hold one Ether token). "/crypto prices" outputs the current prices of the cryptocurrencies I'm interested in, again, the prices are provided by CoinMarketCap. The "/balance" command lets me check how much money (in USD) I have. It gets the amount of crypto I hold, and then for each one, it checks the price on CoinMarketCap, and multiplies my holdings by the price, to get the USD value; it then sums up the values and returns a total. In previous iterations, it used another API to get the current exchange rate between GBP and USD so it could output the total in both currencies, but I have removed that function as I only trade cryptos using USD, making the GBP value irrelevant. "/status" returns a string such as "up and running" or "online" to let me know the bot is functioning. If it doesn't return anything, then obviously something is wrong. "/birthday" calculates the number of days left until my birthday. "/tv" returns the number of days or months left until the next episode of the shows I'm interested in. The image above is of the login page of the bot's Android app. There is an input field for the login/access key, and a button to submit it. The app's main page is shown above. The web version looks basically identical. There is a hamburger menu icon on the top left that can be used to access the navigation drawer, and a refresh button on the top right that can be used to refetch the conversation log. As you can see from the conversation above, the bot has an understanding of context, so it has the ability to remember what it said last, and therefore can respond to questions such as "and tomorrow?" if the previous message was asking today's weather. It won't output tomorrow's weather if it is just asked "and tomorrow?", it requires context, but it will output tomorrow's weather if you ask "what's tomorrow's weather like?"; this will be explored in depth further below along with the code. The app's settings pane lets the user clear the conversation (same as running the "/clear" command), request the access keys for the bot's different platforms, toggle the app's theme, and logout from the app. When the user taps on a message, a popup window is shown displaying information about that message. The user can delete the message, or copy its content to their clipboard. The information shown includes the message's ID, the date and time at which the message was sent, and its content. The navigation drawer of the app. The user can tap on the attachment icon at the bottom left of the screen to access a popup window which lets the user upload files through the bot. Once the file has been uploaded, the bot outputs a download link to it. I added this feature to be used as a way to quickly upload a file without the ability to delete it without having physical access to the server, so there is no file deletion feature; once the file has been uploaded, it'll be kept until I delete it from the server directly. The next 24 images show the code for the bot's Android app. I coded the app in Java, and it's a native Android app. "FCM" is a class I created to handle the notification functionality of the Serenyx app. When it receives a notification, it checks to see if the data it has to show to the user is provided as a string, or as a JSON array. There is a method called "sendNotification" that displays the notification. It starts by getting the title and the text of the notification. After getting the text and title, it creates a new intent, builds the notification by setting its title, text, alert sound, icons, color, and vibration, finally displaying the notification using the NotificationManager. The bot app also has an uploader, just like the web version. There is a "FileUploader" class that uses the OkHTTP library to send the file to the server using POST. The image above shows part of the code for "LoginActivity", which is the login page. Immediately at the start of the "onCreate" method, a string is defined under the variable "FCMToken", which is the unique ID used for the device the user is on to receive notifications from Firebase. Next, the app preferences are loaded to get the access key and the theme the user has chosen for the app. The "FCMToken" is then saved to the app preferences. The app then switches to the theme the user has chosen using the "toggleTheme" method, which will be explained below. The app is then given a transparent status bar, and the different components of the login page are defined. If the aforementioned access key is found in the app preferences, then the login input field is automatically filled out with the access key, and the user is automatically logged in; this saves me from having to enter an access key every time I open the app. If the login button is clicked, then the "login" method is called with "FCMToken" as an argument, and the keyboard is then hidden. The "toggleTheme" method accepts one parameter, which is the theme color. There are two themes for this app, "default" and "black". Because I use a phone with an OLED screen, I decided to make both a dark theme and a black theme to save battery life. If the theme is set to "default", then background color is set to the primary color, and the input field's background resource is set to "accent_border". If the theme is black, then the background is set to the primary black color, and the input field's background is set to the lighter version of the primary black color. The "login" method accepts "FCMToken" as a parameter, and starts by getting the value of the login input field. Volley is then used to create and send an async POST request to the server with the action, login key, and Firebase token as POST parameters. These are sent to the bot's API. Once a response is received, the app checks to see if the login was successful. If it was, then the MainActivity (the conversation screen) is launched, and the login key is passed to it. The login key is also saved in the app preferences. The Volley POST request has three parameters: action, key, and token. "action" tells the API what action is being requested, in this case, a login. The key is the access key or password, and the token is the Firebase Cloud Messaging token that's unique to the device the app is being run on. Later on, I'll go through the bot's API and explain why this token is needed and how all this works. The "MainActivity" code starts with an override for the "onActivityResult" method. If the requestCode is equal to 10, then the FileUploader class is used to upload a file. Basically, the app has a file browser built into it, and file browsers utilize "onActivityResult" to determine when a user has actually chosen a file. Each result needs a request code, and I set the file browser's request code to 10. Once a file has been chosen, the path to the file is determined, and a new object from the File class is created with the path to the file. Its absolute path is then determined using the File class' "getAbsolutePath" method. This is done because the "getPath" method can actually return a relative path. The MIME type of the file is then determined, and the FileUploader class is used to create a new FileUploader instance. The FileUploader class' "uploadFile" method is then used to upload the file. The "onCreate" method of MainActivity starts by using the "toggleTheme" method to set the theme to the one saved in the app's preferences. Subsequently, a new field is created in the app preferences called "checksum" without a value. The access key that was passed to MainActivity from LoginActivity is then fetched from the MainActivity intent data. This key is then used as a parameter to call the "getConversation" method. "onCreate" is usually called when the app is launched without already being open. In this case, there is an override for the "onStart" method in order to perform some actions each time the app is opened (even with multitasking), regardless of whether or not it was closed beforehand. The "onStart" method calls the "getConversation" method, clears all notifications for the app, and sets the correct theme. The "getConversation" method accepts the access key as a parameter, which it sends to the API to get back a checksum of the conversation file that the server has. This checksum is saved in the app preferences. This local checksum is then compared with the server's, and if they don't match, it means the server has a different version of the conversation, in which case the app's conversation is replaced with the server's version. If the checksums aren't the same, the server returns a JSON array containing both the new checksum, and the messages the user and the bot have sent. An iterator and "while" loop are then used to go through the messages, and for each one, their text content is added to the app's list of messages, which the MessageAdapter class (will be analyzed further below) uses to create the chat bubbles that the user sees. The app also scrolls to the latest message if it isn't in view. The "sendMessage" method is responsible for relaying the user's message to the bot's API, which then generates a response and returns it as a response. This method accepts the access key, and the user's message as parameters. It then uses a POST request to send the text to the API, and once it receives a response, it empties the input field the user can use to enter their message, it then passes along the user message's information to the app's message list, and finally scrolls down to the end of the latest message's chat bubble. If there is an error with sending the message to the server, the input field is given the value of the user's message again so they don't lose what they wrote. After a short delay of 350ms, the app then adds the bot's response to the list and the MessageAdapter creates the chat bubble for it. The delay is added to make the flow of the conversation seem more natural; from a UX perspective, artificial loading times can often create a sense of "trust" between the user and the machine, because an instant reply would make it seem like it's not actually "thinking" about what the user said, and those who have no understanding of how a response is generated in the background might think it's impossible for a reply to be returned instantaneously. The "atBottom" method simply checks to see how many items the conversation list has, and gets the position of the last item that's currently visible. If the last item's position is lower than the item count, then there must be more items out of view, meaning the method will return a value of 0 as the condition isn't true. If, however, the last item's position is higher than or equal to the item count, then it returns 1, as the condition is true, and the user is currently viewing the latest message. This is used to determine if the app should scroll down to the latest message. The "showMessagePopup" method has two parameters consisting of the ID of the message, and its content. The method starts by setting the messageID and messageContent textview values to the arguments that were passed to it. Each message has an ID that's generated using the UNIX timestamp, a hyphen, and a randomly generated 9 character integer, so the first 10 characters of the message ID are always the date and time when the message was sent, and the "showMessagePopup" method uses this to convert the timestamp to a human-readable version in the format of "dd / MM / YYYY" and "HH:mm" which are joined by the word "at" to create a date such as "02 / 11 / 18 at 14:52". Finally, the method sets the background of the popup window to transparent so that the content behind the overlay are visible. The "onMessageClick" method is used in conjunction with an interface in the MessageAdapter class called "OnMessageListener". This is because the popup cannot be created inside the MessageAdapter class since the actual UI is created by "MainActivity". But the chat bubbles textviews are inflated/created using the MessageAdapter, so MainActivity cannot directly access them without using an interface between itself and the MessageAdapter, which MainActivity then "implements". "onMessageClick" accepts the position of the chat bubble item that's being clicked on as a parameter. It starts by hiding the keyboard, getting the ID of the message (which in the app starts with "usr-" or "bot-" to easily distinguish between who "owns" the chat bubble. This prefix is then determined, and the "from" variable is set accordingly (this is used by the API to determine, for example, whose side of the conversation to delete when the user wishes to delete a chat bubble in an interaction). The message's actual ID is then determined by removing the prefix. The "showMessagePopup" method is then called. The message popup has a delete button among other components. When the user clicks on the delete button, a dialog window is shown asking the user if they are sure they want to delete the message. If they click on "Yes", the "deleteMessage" method is called. The "deleteMessage" method accepts the access key, the message ID, and the sender of the message (user or bot) as parameters. It makes a POST request to send this information to the API. Once it gets a response, it calls the "getConversation" method. The way messages are stored and the code that takes care of all these functions will be analyzed and explained further below. The "MessageAdapter" class is responsible for creating or "inflating" the textviews that are displayed as chat bubbles to the user. It contains a list called "responseMessageList" that contains the user's and bot's messages. When it creates a textview/chat bubble, it gives the textview an ID that consists of either the prefix "usr-" or "bot-" combined with the message's actual server-side recognized ID, which it retrieves using the ResponseMessage class methods. It then makes any possible links clickable in the textview. The ResponseMessage class essentially keeps track of each message's attributes. It can then be used by other methods to retrieve information about a message by providing its position in the list. The next 7 images show the PHP code of the bot's API. The API code starts by assigning the location of the bot's configuration files to six different variables. It then includes the various API functions that will be used. It then determines the action the user wants the API to perform, and to determine this, it checks the URL for any queries, and if it doesn't find any, then it gets the desired action from the POST request. If the action is to send a notification, then the API verifies the access key is valid, before using the "send_notification" function to send a notification to the bot's Android app, and calling the "save_conversation" function to add the notification content to the conversation file so the user can view what the bot said within the app. The API then uses multiple methods to check what platform the user is on, and whether or not they're logged in. It first checks to see if the user's browser has a cookie set, and verifies the cookie. If a cookie is set, then the platform must be the web version since the Telegram and Android versions don't have a browser to even have a cookie. There are two web versions, a temporary one, and the main one. Since the user can't use both of them at the same time, the API rejects and resets the user's browser cookies for the bot if both the temporary and main cookies are set. The API then determines which conversation file to use based on the cookie that's set. If no cookies are set, then the API checks to see if the IP address of the device trying to access it originates from Telegram. If it does, then the platform is set to Telegram, and PHP's input stream is used to retrieve messages sent to the API. The user ID is then checked to see if I'm the one messaging the bot, or if someone else is trying to access it. If the IP of the device isn't the same as Telegram's, then the only possible platform left is the Android app. I'll have to change this if I ever make an iOS version, but it'd be easy to do. Once the access keys, cookies or whatever other method of verification is used is validated, then the API allows the user to access a bunch of new functions. The first one is "check-conversation", which returns an MD5 hash of the current conversation file, which acts as a checksum. The next action is "get-conversation", which just returns the content of the current conversation file, but converts it into HTML format if the user is using the Android app. The "get-message-details" action returns information about a particular message. The "download-app" action downloads the APK file of the bot. The "send-file" action allows the user to upload files to the bot, and then returns a download link for the uploaded file. The "delete-message" action does just that, deletes a message based on its sender and the message ID. From this point on, the message sent by the user to the bot will be called "user text", and the bot's response will be called "bot text" to make things easier. The word "unparsed" will refer to text that hasn't been analyzed and modified by the API, and "parsed" will refer to the opposite. If the bot is being accessed on LAN, then the user can view the access keys of the bot. If the platform being used is the web version, then the user can use the "send-message" action to send messages to the bot, and the user text is set to the "text" field of the POST request after stripping it of any HTML characters. The "check-status" action is also used by the web version to determine if the API is responding. If the platform is set to the app version, then the "login" action becomes available, but the access key will have already been validated, so what happens is that the Firebase Cloud Messaging token is sent to the API and it is saved for future use, and a success message is returned a response, which tells the app to show the conversation screen. The app version of the bot can also be used to request the access keys of the other versions. The API then has to generate a response based on the user's message, and return said response. It starts by using the "parse_input_text" function to parse the user text. It then separates the user text based on double uses of the "&" (ampersand) character (this doesn't currently get used in anyway, but I'm planning on adding a feature that'll let the user chain commands together to save time). An array is then created containing the locations of the bot's configuration files. The "generate_response" function is then called, and the user text and bot text are saved to the appropriate conversation file. Finally, the bot outputs its response, which changes based on what platform the user is on. If it's on Telegram, then the "send_telegram_message" function is used to send the bot's response to the user. If another platform is being used, and the bot actually has a response, then a JSON array is returned which contains the message ID, the user text, and the bot text, but if the platform being used is the Android app, then the bot's response is converted into HTML format. The next 29 images show the PHP code of the bot's API functions, some of which you already saw in the API code analysis. When the user sends a message, it could contain text that would require me to give the bot multiple versions of the same phrase in order to get it to recognize each possible variation. Consequently, I decided to essentially "prepare" the user text before the bot generates a response, and remove common punctuation, and change the words "i am" to "i'm". The text is also converted to lowercase. The bot does save the original user text though, so it still keeps a copy of the text before it is parsed with this function; this helps with things such as lists, where the user might need to use punctuation or capital letters etc. This function is used after a response has been generated. Based on the platform the user is on, it modifies the response array accordingly. For example, if the user is on the web version, then the response array is turned into a string and each individual response is separated using two "<br>" tags, and any markup formatting for bold text (**bold**) is converted to HTML (<b>bold</b>). This function is used to get all the content of a URL, and then grab a specific part of the content by specifying starting and ending positions. This function just generates a token. I have blurred it out to avoid anyone trying to brute force the algorithm and get access to my bot. The help page of the bot can only be accessed if you're logged in, or you have a temporary access token. This function generates such a token. This function simply resets all the bot's access keys. This is useful I accidentally reveal a key publicly or someone steals them, as I can quickly change them. This works the same way the "reset_keys" function works, but it just resets the cookies needed to access the web version. The "validate_key" function works by comparing a key passed to it, with a key stored in the bot's configuration files. Based on the comparison, the function returns a boolean value. Same as the function above, but with cookies, except it also checks when the cookie token was generated, and revokes it if it was created more than 6 months ago for the main web version, and 10 minutes for the temporary version. Because the creation time of the cookie is stored on the server, a user can't just prolong the life of their access cookie, as the cookie itself isn't checked for this information. This function checks to see if the FCM key is valid for the Android app. This isn't the same as the FCM token, this is used to send notifications with the FCM tokens as target devices, but the API needs to verify that the user has permission to send said notifications, so that's what the FCM key is used for. This function returns all the bot's access keys. Same as above, but returns the FCM key. This returns the temporary web version access key. This function clears a given conversation file. Each message is stored in a conversation file in an associative JSON array, with the message ID as its key, and four items including "time", "user", "bot", and "followup". The "time" is just the UNIX timestamp, which is a 10 character integer. The "user" item contains the user's unparsed text, the "bot" item contains the bot's response, and the "followup" item contains a boolean value based on whether or not the bot's response allows or requires a follow-up message (for example, the user can ask "how are you?" and the bot will reply with how it's doing, and in turn, asks how the user is doing, which would qualify for a situation in which a follow-up is required). The "delete_message" function works by setting the value of the appropriate item to nothing. So if the user wants to delete a message they sent, the function would look for that message's ID in the conversation array, and then set the "user" item's value for that message to an empty string. Then, the function checks to see if removing the "user" item would result in that message array being empty, and if that's the case, it completely removes that message array from the conversation. This is done to save space and to ensure there are no instances in which a message array exists where both the "user" and "bot" items hold no value. If no messages are found, then the conversation file's content is completely deleted, otherwise, the new, updated, and modified conversation replaces the old one. This function returns information about a message, and formats its timestamp to a human-readable date. The "save_conversation" function, if the user text isn't empty, generates a message ID (while checking to see if the same ID already exists, in which case it'll generate another one), creates an array containing the timestamp, user text, bot text, and "followup" boolean, and then appends it to the conversation file, finally returning the message ID. The "generate_response" function is responsible for just that, generating a response based on the user's input. First, it gets the current conversation, and the latest message while setting the "followup" variable to false, and creating an array which will contain the bot's responses. It then includes four other PHP files, which contain the bot's various responses and trigger phrases, but I will not be showing those for security reasons, but they work with thousands of "if" statements essentially, and add responses to the response array that was created earlier. This response array is then parsed returned in another array which also contains the "followup" variable. This function just removes the bot's configuration files and any other files the user can affect and modify. This function creates the files that the previous function removes, basically creating a fresh copy of the bot. This means the user can call the "undeploy_bot" function and they could share the bot files without worrying about any personal information being passed on, or any API keys or access keys etc. and then call the "deploy_bot" function to create those essential files and generate all the required keys and such for the bot to function normally. The "send_notification" function sends a notification to the bot's Android app using Google's Firebase API along with the user's own FCM token (which is unique to every device). This function sets the "webhook" of the bot's Telegram version. The "webhook" is basically the URL where Telegram will forward the user's text to in order to get a response, so it would be the URL to the bot's API. This function sends a Telegram message from the bot. This function converts bold text from markup (**bold**) to HTML (<b>bold</b>). The "upload_file" function saves a given file to the server. This function can be used to determine whether or not a file exists at a remote external URL. This function allows the bot to control the smart bulb in my bedroom as long as the server and the light bulb are connected to the same network. This function creates a file called "log.txt" in the current directory, and puts whatever content is passed as an argument in the file. This function generates a message ID by combining a UNIX timestamp with a hyphen and a randomly generated 9 character integer. The next 4 images show the PHP code for the bot's web version functionality. Just like the API, the configuration files are assigned to variables, and the bot functions are included, and the desired action is determined. The "login" action works by using the "validate_key" function I explained earlier, and then setting a cookie on the user's browser based on which platform they're using. The "logout" action simply removes any cookies related to accessing the bot from the user's browser. The "show-help" action first verifies if the token the user has provided is correct and hasn't expired, and then includes the help page. If the user is already logged in, then they would be at the main page of the bot, which is the conversation screen. This page makes a number of POST requests to this web-version-exclusive PHP script. The "get-config" action returns the content of the bot's settings file. The "save-config" action saves any settings that are sent via a POST request, but it checks to make sure the content doesn't include any JavaScript, PHP, or HTML code as only CSS would be sent anyway (so the user can change the bot's colors and such). The "reset-keys" action resets the bot's access keys using the "reset_keys" function. The "check-update" action returns a timestamp of the last time the bot's JavaScript file was modified. This is used by the web version to determine whether or not the page needs to be refreshed to fetch the new and updated JS file. The bot's web version UI is shown in the images below. The web version of the bot looks pretty much identical to the app version, but the settings page is different, because it allows the user to change the page's color scheme. There are two fields the user can modify, one that contains the CSS code for the page's main colors (used for the backgrounds, text etc.) and another that contains CSS for the accent color, which in this case is purple. Changing the code in these fields updates the page instantly, allowing the user to change the colors and view the modifications live without refreshing the page or anything like that. The web version also has a light mode as seen above. To make debugging easier, I've also developed an "analysis" mode for the bot's web version. The analysis mode takes the content of the conversation file, and structures it into a sort of chronological flowchart that shows the message ID, the user's input text, the user's intention based on their input, the bot's response, and (if applicable) any context that was required for the response to be generated. Thank you for reading about this project, it's my favorite one. I have a huge interest in AI, and figured I knew how to make a pretty simple one myself, which (at least functionally) works just like Siri, Google Assistant, Bixby etc. that don't use machine learning when it comes to the responses they give, and the services they provide. Unfortunately, I don't have the resources to add any form of natural language processing to Serenyx yet, but I have played around with this idea before, and I could see it perhaps getting a lot better in the future. My goal was to create a bot that could automate a lot of the things that I do daily and save time, so my bot is really a tool for productivity. I'm constantly working on it and adding new features, so this analysis will never be truly up-to-date. There are some features I'd love to add that I haven't as of July 2019, including the ability to request an Uber or food using Uber Eats via Uber's API and geolocation functionality in the Android app. I'm also looking into rewriting some of the bot's code to make it more object-oriented as I believe it'd make the code much easier to deal with, and it'd result in the bot being more efficient. Unfortunately, for security reasons and such, I won't be making my bot fully open-source, and won't be publicly posting how its responses are generated.


Because sometimes, digital just won`t do.
SPCS will be a multigenre convention, with an emphasis on comic books, games and cosplay but open to anything fan-related. It will be a one day show with dealers and guests both local and from out of town. The organizers also hope to have a schedule of convention programming such as game demonstrations and a costume contest. Entry will be $5 with children 5 and under admitted free. Vendor tables are available for $40 while they last. Those interested can send us a Facebook message or email sarniapopcultureshow@gmail.com.


"Have you seen the schedule? He can have it," joked Gatland.
"The word 'exodus' has been bandied around in some of the media and by the very definition of the word it's a mass movement of population and I don't really see that happening."
We'd hope that people are very excited by what we have coming up. We think it's exciting. So, watch this space.


You will have received a notification of the JSP consultation because you are on our mailing list having either previously responded to one of our consultations or having requested to receive updates from us on planning and transport matters at your council.
How we store and use your contact information has changed due to the General Data Protection Regulations that replaced the Data Protection Act.
If you wish to continue to receive information from us you will need to opt into the Joint Spatial Plan mailing list. We will use your information to inform you about the development of the JSP and about any consultations connected to the JSP.
If you do not wish to receive any further information you do not need to do anything, and your information will be deleted and you will not receive further mailings from us.
I would like to be on the Joint Spatial Plan Mailing List and receive updates about future consultations and Planning Policy documents. I am aware that I can unsubscribe at any time.
*Please include an email address if you have one as this is the most effective method of communication for our information.
^ A typed signature is acceptable.


Russell Watson came to Preston on 17th November 2012 to switch on the Christmas lights. We heard about this and got in touch to see if he would consider meeting up with us. To our absolute delight he said yes! We met him backstage and were totally blown away. This incredible man has battled and won against 2 brain tumours and yet he stood in front of us looking so well and strong. It was heart warming. I wanted to grab him and hug him and tell him how proud we were of him, after all we have seen first hand the suffering he would have endured, but that didn't seem very appropriate at that precise moment.
Russell has since done the most fantastic concert we have ever experienced in our lives on Dec 6th 2013 which made around £37,000!!! It was full of emotion and Russell was an absolute treasure. Is it any wonder we love this man so much! The photo's of that incredible night are here: Russell Watson's Concert for Katy Below is a video of his performance at Preston North End in the November of 2013 where he dedicated 'Someone to Remember Me' to our Katy.


text:
Columnist Valarie Findlay
From the Editor in Chief
C4ISR & BEYOND
ShipTech
Jun/Jul 18
Aug/Sep 18
Oct/Nov 18
Dec/Jan 19
Feb/Mar 19
Apr/May 19
Home » Podcast
Surviving PTSD, a soldier's journey
Marcello Sukhdeo Jan 13 2020
Post-traumatic stress disorder or as is commonly called, PTSD, is a mental health condition that's triggered by a terrifying event — either experiencing it or witnessing it, according to the Mayo Clinic. Some of the symptoms may include flashbacks, nightmares and severe anxiety, as well as uncontrollable thoughts about a terrifying event. Some who have gone through traumatic events...
Wounded Warriors Canada and Vanguard supporting wounded heroes
Marcello Sukhdeo Dec 16 2019
Wounded Warriors Canada, a leading mental health service provider for ill and injured Veterans, First Responders and their families and Vanguard, a leading security and defence publication in Canada are working together to raise awareness, education, and funds to ensure those who serve our country at home and abroad receive the mental health support they deserve in their time...
30 Years of Marine and Defence Innovation, an Interview with Gary Fudge, Lockheed Martin Canada
Marcello Sukhdeo Sep 9 2019
The Canadian Surface Combatant (CSC) project was talked about and debated for a number of years. Today, the contract has been awarded and work will commence in the early 2020s with an expected delivery of the first of 15 ships by mid-2020s. In February 2019, the Government of Canada confirmed that the bid from Lockheed Martin Canada has been...
A game-changing solution to improve communications in the North
Marcello Sukhdeo Aug 20 2019
Communications in the North is always a challenge. Recently, two communications companies teamed up to offer a new service to help solve this issue. Galaxy Broadband and Hunter Communications have recently announced a new service to provide high-power Ku-band satellite service to Canadian federal departments and agencies using the new Hunter Ku-band satellite coverage. And now, for the first...
How technological developments are elevating surveillance and security
Marcello Sukhdeo Aug 1 2019
On the show today, J. Richard Jones talks with Keith D'Sa from Axis Communications Canada about how technological developments are elevating surveillance and security. Keith has more than 15 years providing insight and strategy tactics around business development, solution selling, and account management in the security and surveillance industry. He is responsible for business operations in Canada, including new...
Enabling Cyber: Where to invest to find added value
Nicholas Scheurkogel Jul 17 2019
Defence of domestic or deployed military missions from cyber threats will require a significant investment to overcome challenges in terms of tools, personnel, time, and cultural change. This truth is largely understood across the defence community, prompting investment into military cyber capabilities as senior leadership across the 5 Eyes countries comes to realise the potential impacts and general challenges...
C4ISR and Beyond 2020
The Westin, Ottawa
Tuesday, 2020-01-28
ShipTech Forum 2020
@VanguardMag 2020-01-17
Chris Harkins, Deputy Commissioner of the Ontario Provincial Police to discuss Mental Health Review in our… twitter.com/i/web/status/1…
Calling all our #Marine Heroes! Get to meet and learn solutions to the current operational issues we face with Cana… twitter.com/i/web/status/1…
Network with top people in our industry today by attending the #C4ISRandBeyond2020 Conference:… twitter.com/i/web/status/1…
Retweet if you'd like a visit! #WeTheNavy #Navy twitter.com/CFBHalifax/sta…
Opportunities Powered by OMX
Tweets by @offsetmarket
Vanguard is Canada's oldest trade journal of record that provides a forum for Canada's security and defence community, discussing strategic perspectives and overviews of government and military policy and practice, through interviews with leading practitioners and contributions from renowned experts, including representatives from industry.


text:
A song by the rapper XXXTENTACION. It's the most known song among non-X listeners. People like to bandwagon on this song. X just can't keep his D in his pants.
Person 1: Did you hear the song Look at me!?
Person 2: Yeah... She kicked me out I'm like vro.
by KNH8 September 17, 2018
Get a Look at me! mug for your dad José.
by Anonymous May 19, 2003
Get the look at me! neck gaiter and mug.
Phrase you yell when you pants someone in a public place, preferably a mall. People will look, guaranteed. It's even funnier if you push the person down and run away.
After you pants someone, push them down, yell "look at me!" and run away.
by TUDE August 08, 2006
Get a look at me! mug for your father-in-law Günter.
Phrase not spoken, but played out in actions (i.e stripping) by attention-whores and fucktards.
The attention-whore went into a bar and stripped down into nothing but her underpants. Her actions totally screamed "LOOK AT ME! PLEASE! FOR THE LOVE OF GOD!"
by bastardized bottomburp May 17, 2003
Common thing said or yelled to get someone's attention. The next to last resort after flashing somebody.
Look at me! I'm flyyyyyyyyyyying!!
*Splat*
by Sewer Mutant October 23, 2005
Get the look at me neck gaiter and mug.
A phrase used when with a beautiful girl and you want to kiss her. To use the phrase simply tell her "Look at me" or text it to her to catch her off guard.
I was with Olga last night and I told her to Look at me. Then we started kissing.
by l00katme1234 April 21, 2011
Get a Look at me mug for your cat Sarah.