I'm pleased to announce that I Troy Outtram have been named a "Digital Strategist Most Valuable Professional (MVP)" by Sitecore, the global leader in experience management software. Troy Outtram was one of only 35 people worldwide to be named a Sitecore Digital Strategist MVP this year.
Now it its tenth year, Sitecore's MVP program recognizes individual technology, digital strategy, and commerce advocates who share their Sitecore passion and expertise to offer positive customer experiences that drive business results. The Sitecore Digital Strategist MVP Award recognizes individuals with strong experience in executing data-driven marketing solutions and proven success in using Sitecore's experience platform to deliver exceptional business outcomes for customers.
I have been working with Sitecore for several years now and really pleased to be awarded the Sitecore Digital Strategist MVP award. It's fantastic to be associated with such a great product.
I look forward to sharing my insights from the field while using Sitecore in the future.
The Sitecore awards have just been announced and Deloitte Digital have won five Sitecore Experience Awards this year. This is the most out of all the agencies in Australia. A big congratulations to all involved keep up the great work. Very proud to be at the Best Sitecore Agency in Australia.
When thinking about personalisation there are a few key questions that you need to consider.
What customers are going to your Website?
Ideally you can identify some key personas or segments to your customer base.
What is the most important information that you would like to know about these customers?
Life Stage, Category of Product interested in, Age, Location.
What content would you show these customers armed with the above information compared to an anonymous customer?
After considering the above my practical suggestion is to use the Sitecore xDB analytics report "Online interactions by page views" to find the 10 most popular pages. Using this data and business critical pages identify up to 5 pages you want to think about in regards to personalisation.
Now you have some key pages in mind and have thought about the first three questions let's fill in the below table using the example of general insurance Website that offers Car, Home, Travel and Life Insurance.
How can we change these elements based on Implicit Personalisation A customer has been viewing 3+ Life Insurance related pages on the Website and returns to the homepage = We sort the Carousel to show the Life Insurance item first. The customer has shown intent by viewing 3+ Car Insurance pages in addition to this they have viewed 3+ Home Insurance Pages = We can now show a Special Offer highlighting a reduction in premiums if we combine multiple policies. The customer has shown intent that they are interested in Travel Insurance by clicking on 3+ Travel Insurance pages = We make the get a Travel Insurance special offer CTA more prominent at the top of the page. Customer has clicked on 5+ Home Insurance related items = We sort the FAQ's categories to show Home Insurance first.
How can we change these elements based on Explicit Personalisation Google Ad campaign targeting Home Insurance is clicked = We then show highlight Home Insurance in the Carousel. First Promo Tile is changed to Home Insurance. Facebook Ad campaign for Car Insurance has been clicked that is focused on under 25 year old Car Insurance = We highlight specific articles that relate to under 25 year old drivers. We also highlight a special offer to people that meet our under 25 year old criteria. -We have detected the customer is located in the USA = We surface international Travel Insurance information and a special offer relating to instant cover. Email Campaign has been sent to the customer and they have clicked a link highlighting Life Insurance = We filter the FAQ's by the Life Insurance category by default with the ability to change this to other categories if needed.
The above is simply an example of some different ways we can surface the right content at the right time to the right person.
You may have heard the term "low hanging fruit" in relation to personalisation. Work with your development team to pick the easiest items from the above table, which also give you the greatest business value. I would then suggest implementing them and analyse if you are getting uplift in the areas that you were expecting.
Once you have some knowledge of what's working and what's not working hopefully you can use this knowledge to keep optimising your site.
So now we have some knowledge let's look at how to roll this out across the entire Website or at least the critical areas. The best way to do this is by thinking about Template/Content/Layout Types (Examples of these are Product Pages, Blog Articles, News Articles, FAQ's, Home Page, General Content Pages). Once we have the most critical types of pages/templates identified we can then run through the same process that we went through above.
So hopefully this article has given you some direction on how you can personalise your site.
Feel free to email me or get in contact if you need some advice.
I recently have had some interesting conversations around the definition of "Tagging" while building a new Sitecore Website.
So if you don't know what "Content Tagging" is, it's a way of associating "Keywords" to a piece of content. The reason that you would want to do "Content Tagging" is to link pieces of content together. I good example of this is a Blog Article that has been "Content Tagged" with a word such as "Retirement", this then can have the ability to dynamically have related "Retirement" Blog Articles associated to it as a list of related links on the same page as the Article itself.
So my lesson here is the word "Tagging" means different things to different people. Be specific about what type of "Tagging" you're talking about.
The good news is if you're using Sitecore 8 you can leverage the inbuilt xDB Analytics engine and you don't need to worry about third party tagging.
Ok so hopefully you've read my first article on what is personalisation .
In this article I'll explain the different types of personalisation and when you should use them.
This is when you have shown intent that you're interested in a product and set of related pages. An example of this is that you could be on a Superannuation site and you have been clicking around the retirement area and looking at various pages that have all been marked within Sitecore as Retirement related pages. You are then implying that you are interested in that type of content. We can then subtle introduce this type of content on the homepage and other key area's to help provide the right content to you.
This is when we know something specific about you. This could be that you've logged into our Website and we know various things about you that are listed against your account. It could also be that you have clicked on a google ad campaign or an email campaign and come through to the Site with that campaign ID which means that we know you're interested in that particular campaign and can start to personalise you're experience with this information.
A practical example for a Super Company would be to personalise based on age, you may be over 60 years old and could be shown preparing for retirement articles. If you are 40 years old and recently joined this Super Company and your balance is very low, showing articles giving advice around consolidation of your Super would be extremely relevant.
Sitecore 8 Personalisation 101 – What is Personalisation?
Personalisation is giving relevant information to your customers. In the real world this is called Customer service. Asking people questions about themselves and what they are interested in, to then get a better idea of how best you can serve them has been around for 1000's of years.
So how is this relevant to you and your Sitecore site?
Being able to customise information to the specific customer that is visiting your Website is a very powerful tool.
Is the holy grail of personalisation.
What types of things can be Personalised on a Sitecore site?
You can personalise anything (within reason) from a whole page to a specific image on a page. Often people use the homepage as a place to show specific promo tiles that relate to the visiting customer. You can also personalise items such as carousels by placing a set of items in there to highlight based on the customer or in a more subtle way by reordering the items to show the most relevant item first.
I will be covering in more detail the specific types of Personalisation in my next article.
However my last words of advice are to use this new found power wisely and don't get too creepy, this in real world terms is called stalking and looking over peoples shoulders while they are in your store. Give them some distance and just show relevant things at the appropriate times.


text:
HomeSigningsBeattie signs new Capitals contract
Beattie signs new Capitals contract
28th May 2016 BIH Reporter Signings 0
Edinburgh Capitals have boosted the British contingent on their 2016/2017 roster with the signing of forward Sean Beattie.
The 21-year-old progressed through the junior system at Edinburgh before moving into the Elite League squad on a permanent basis in 2014.
"Last year I thought I developed well with my game and playing thanks to the ice time I was getting," said Beattie.
"For the upcoming season the biggest goal for our team is to make the play-offs and I'd like to see us finish the season at the top end of the table.
"I'm also excited about Michal Dobron coming in to coach the team this year.
"I played with him a few seasons back and as a player he showed incredible commitment and discipline both on and off the ice.
"That's going to help him coach a good strong Capitals team for the up and coming season."
Dobron added: "I remember Sean as being a good young player from a couple of seasons ago and I'm told he's getting better each year. He's a big player physically.
"As a young local player I want to help him develop further this season.
"He's going to be another important player for us as we build our 2016/17 squad and I look forward to working with him."
Elite League: Coventry Blaze v Nottingham Panthers
10th January 2017 Lucy Gordon 0
Highlights from the Elite League game between Coventry Blaze and Nottingham Panthers on Sunday, 8th January.
Nottingham Panthers
Elite League: Sheffield Steelers v Nottingham Panthers
27th December 2016 Lucy Gordon 0
Highlights from the Elite League game between Sheffield Steelers and Nottingham Panthers on Monday, 26th December.
Elite League: Nottingham Panthers v Sheffield Steelers
6th December 2017 Lucy Gordon 0
Highlights from the Elite League game between Nottingham Panthers and Sheffield Steelers on Saturday, 2nd December.

redpajama_set_name: RedPajamaCommonCrawl


Alfred departed this life Wednesday, 09/05/18 age 47. Service at Marine/Mt. Moriah B.C., 3034 Andover St., Jefferson, LA., Saturday, 09/15/18 at 10:00 am. Visitation; 9:00 am. Interment: Providence Memorial Park Cemetery. Arrangements: D. W. Rhodes F.H. 3933 Washington Ave. Visit www.rhodesfuneral.com to sign the online guestbook.
"sorry for your loss, take time to grieve and find comfort..."


It all happened within a week: I accepted the invitation on Monday and last Friday a small group of journalists and I were set to travel to Embraer's main factory in Sao Jose dos Campos, a few miles outside Sao Paulo city, in Brazil.
The journalist group was really small, as our ride there was quite petite as well: a brand-new Embraer Legacy 500 was expecting us at San Fernando airport, a small terminal for private and executive aircraft 10 miles north of Buenos Aires.
The executive jet performed a tour around South America and was bound to its nest, so the company was kind enough to seize the empty leg and accommodate us in that flight. So on Friday's grey, rainy morning in Buenos Aires we took the 8-seat ride to Brazil.
At the time of departure, this particular aircraft had just 8 flight hours.
The Legacy 500 is a superb jet. Its performance is both powerful and smooth. Inside, the noise level allows the passengers to maintain a conversation at a natural level. Its service ceiling is 45,000 feet, and it can be reached within 22 minutes from take-off. At that altitude, the view is breathtaking.
A short ride to Porto Alegre, avoiding San Pablo airport, for a quick border control pass-through. A few minutes later, we were back in the aircraft for the second leg: Sao José dos Campos airport, Embraer's nest. A quick fly-by to the factory before touching ground shown the size and distribution of the complex.
After a quick lunch, we were on route to visit the E-Jets production line. Our first stop was an E190-E2 which interior was being installed. As it is the first delivery for the airline, we were asked to avoid taking images to the livery, as the customer is preparing its own unveiling. But we managed to make some nice pictures that wouldn't show its identity.
Right after that, we were bound to the wing automated construction wing line. Two lines that will be building the wings of both generations of E-Jets with the ability to switch from one model and series almost seamlessly. One of the many areas where pictures were not allowed, but a remarkable facility altogether.
Third stop: Painting line. Instead of an integrated facility for the whole aircraft to be painted in one sitting, Embraer has four stations where the fuselage, the wings, and other small surfaces are painted and dried separately for them to advance to the next stage. Again, no pictures were possible, except for one part that was waiting outside to enter the painting hangar.
Next stop: E-Jets assembly line itself. It is a six-stage line that will combine all parts, avionics and connections and will get the airframe ready for interiors and customization final stage. Luckily, a few pictures were allowed, with the precaution of not showing liveries.
The final stage is simply beautiful: a huge hangar where five planes, four E-175 and an E-190E2 were being finalized, with interiors, doors and carpets being installed. From this final stage, the aircraft will be labeled ready for delivery and all that is needed is for the customer to fly and accept the plane. I wasn't able to take a picture, but in any case, there was no possible photograph that could remotely resemble the view from above we were simply enjoying. Absolutely stunning.
A quick stop by the hotel, a marvelous dinner and back to a quick sleep for a trip back home. After the Legacy experience, no economy seat is comfortable enough but GOL's service to Buenos Aires from Guarulhos airport was on time and although a little shaky – heavy storms were expecting us at destination- the crew managed to find a hole among the clouds and took us home safely.
About 28 hours after starting, Embraer provided one of the best experiences this journalist has had. This factory is a key element of the Boeing-Embraer joint venture and provided the agreement goes forward, it will be 80 percent owned by the Seattle giant. One thing I personally expect, is that the two most beautiful qualities the people we met on the tour remains the same: the permanent smile and kindness of each and every one working there, and the sense of pride and belonging for Embraer and its planes that floated in the air from the very moment we landed in that runway.


text:
Author.
Depression: Tips and Insights for Teenagers is Christie's first book, published by Rowman & Littlefield in October 2020. Her book addresses depression in teenagers, offering relatable, accessible situations and strategies to guide teens struggling with mental health—including identifying signs of struggle, recognizing stress factors, de-stigmatizing shame, implementing strategies for self-care (both in immediate crisis and long-term coping skills), and finding resources for help. She recently finished writing her second non-fiction YA book Dealing With Stress: Tips and Insights for Teenagers (forthcoming from Rowman & Littlefield in June 2022).
Christie is earning an MFA in children's and young adult fiction writing (WCYA) at the Vermont College of Fine Arts and will graduate in 2022. She recently completed her critical thesis on representations of sensitive and introverted protagonists in YA fantasy literature. She writes children's picture books and YA non-fiction, fantasy, and magical realism about strange people, beautiful dreams, delicious food, and magic. She received the WCYA program's Revisionary Award in January 2021: "A Revisionary is someone who aspires and acts to achieve something greater, something revolutionary, in writing and in life. Things that a Revisionary might do: fight for or write about a cause they believe in; work to overcome personal difficulties or make a significant change in their life; be relentless and persevere in the face of obstacles, or write about things that are meaningful to them and others."
Scholar.
Christie earned her PhD in English literature at Louisiana State University in 2019. She received a dissertation-year fellowship from the LSU Graduate School for her dissertation project titled Inside Voice: Charlotte Smith, (In)Sensibility, and Emotional Cadences in Lyric Silence. Christie holds a bachelor's degree in English literature with a special concentration in creative writing and minor in anthropology and a master's degree in English literature from the University of New Orleans.
Her scholarly work has been published in several peer-reviewed journals, including Essays in Romanticism. She has presented at conferences across the country. She studied abroad several times, taking graduate courses in creative writing (fiction and non-fiction), British and French literature, book history, print culture, and French language in France and Canada. Her research interests include Romantic and Victorian literature, the lyric, social and physical histories of affect, and the multi-faceted role of silence in expressing emotional and sensory excess. Her scholarly curriculum vitae can be found here.
Educator.
Christie was an English literature and creative writing instructor in higher and secondary education for over a decade. She is a Google Certified Educator, Level 2.
Dreamer.
She enjoys spending time with her lovely kitties Alfred Lord Tennyson & Mister Robert Browning (aka Teeny & Mister). Besides reading and writing beautiful dreamy fictions, her interests include digital painting, traveling the world taking pictures and eating delicious cheeses, researching the digital history of video games, and learning new things every day. Her biggest unfulfilled dream is to write and design a video game narrative.
header illustration & webdesign by Christie Cognevich


text:
Home » Empty venues won't kill Pacers, Colts profits; Indians, Eleven will struggle
Empty venues won't kill Pacers, Colts profits; Indians, Eleven will struggle
May 1, 2020 | Anthony Schoettle
Keywords Coronavirus Outbreak / Indiana Pacers / Indianapolis Colts / Indianapolis Indians / Indy Eleven / Sports Business / Sports Venues
WNBA considering expansion, changes to playoff format
IBJ Podcast: Will a joint men's and women's Final Four solve the NCAA's equity problem?
A return to packed arenas and stadiums might be quite a ways off. Almost three-quarters of respondents to a recent national poll said they won't go back until a vaccine is proven effective. (IBJ file photo)
NBA and NFL teams—including the Indiana Pacers and Indianapolis Colts—will face a considerable financial hit if they are forced to play with no fans in the stands, but it won't knock teams in either league into the red.
Thanks to their massive broadcast contracts, the Pacers and Colts could play in empty stadiums and still make a tidy profit.
And that's certainly better than not playing at all during the coronavirus pandemic.
DeGaris
"No games means no TV money, and that's a much bigger loss than the ticket revenue," said Larry DeGaris, director of sports marketing at the University of Indianapolis.
But the minor league Indianapolis Indians baseball team and second-tier Indy Eleven soccer team would be in completely different ballgames, as neither of the teams or neither of their leagues has a substantial broadcast contract.
Uncertainty remains about all of the leagues' seasons.
The NBA suspended its current season and has not said when it will resume—although team presidents met Thursday and emerged with the belief that there are still ways to resume the season, likely in empty arenas. There are similar conversations within the NFL, which expects to kick off its regular-season schedule in September.
Officials for the Pacers and Colts declined to discuss the issue, as did the NBA and NFL.
The NFL has more time to draw up a game plan, but it's almost certain there will be some impact in the fall—and quite possibly beyond. A number of health experts have said mass-attendance sports and entertainment events will be the last part of society to return to a semblance of a pre-coronavirus normal.
People in arenas and stadiums are packed tightly together, not only when seated but also when entering and exiting the venue and at concession and merchandise areas. Bathrooms, corridors, elevators and stairways are also a major concern for social distancing.
Even people in luxury suites are tightly grouped in confined areas. And the yelling, cheering, high-fiving and hugging common at games could be particularly dangerous for the spread of the highly contagious disease.
Although many governors—including Indiana Gov. Eric Holcomb—are either loosening or planning to loosen stay-at-home orders, it's not clear that large numbers of fans would eagerly return to the stands until a vaccine is available—something health experts say could be 18 months away.
In fact, a recent poll conducted by Seton Hall University's Sharkey Institute showed 72% of Americans said they wouldn't attend games unless a coronavirus vaccine is proven effective.
"There's going to be a lot of hesitation by people in terms of going back to big sporting events. Social distancing is extremely difficult to do in the stands," DeGaris said. "This isn't going to be a short-term issue. There's good reason to believe this is still going to be a real challenge for sports teams stretching into the fall and perhaps beyond."
Strong position
Playing the games themselves would require an extensive testing regime for players. If that challenge can be overcome, the NFL and its teams are in the best shape to survive while playing with no ticket-buying, popcorn-munching and beer-drinking fans in the stands. The league has long had the biggest television package among all North American sports leagues.
CBS, NBC, Fox and ESPN ponied up a combined $39.6 billion to broadcast NFL games from 2014-2022. With other deals added in, the NFL generates $5.5 billion in media-rights fees annually, which is divided equally among the league's 32 teams.
The size of the NFL's broadcast deal has doubled in the last decade, which helps assure all teams, even those that struggle to draw fans, still make a profit.
The growing TV revenue means ticket and other ancillary stadium revenue has become less significant to the teams' finances—although that doesn't mean it's insignificant.
An analysis by the research firm Statista shows the percentage of NFL teams' revenue that comes from ticket sales has consistently declined over the last decade, dipping from nearly 21.5% in 2010 to just under 15.5% in 2018.
The Colts scored a whopping $104 million in profit last season, according to Forbes. The team had $59 million in ticket revenue. Of that, sports business experts said, $15 million to $30 million is profit.
This year, even subtracting revenue from parking, concessions, in-stadium merchandise sales and in-stadium sponsorships, sports business experts estimate the Colts could still turn a $50 million to $75 million profit—without selling a single ticket.
"Yes, the NFL will take a hit if they're forced to play before diminished crowds. But even if they play in empty stadiums, unquestionably they're still going to make considerable money," said Patrick Rishe, director of Olin's Sports Business Program for Washington University in St. Louis, and founder and president of the sports consulting firm Sportsimpacts. "No NFL owner is going to the poor house."
Better terms
The NBA, too, has plenty of motivation to play games—even in empty arenas. The world's top professional basketball league wasn't always in such a great position to weather the type of storm it now finds itself in.
As recently as the 2010-2011 season, NBA teams counted on ticket sales for nearly one-third of revenue. Other game-day revenue made filling the stadium crucial. And a number of the league's 30 teams—especially those in small markets—registered either small profits or annual operating losses.
But a nine-year, $24 billion TV deal that took effect starting with the 2016-2017 season, along with improved revenue sharing among all teams and a growing pot of money generated from markets in Europe and Asia, has significantly bolstered the fortunes of all NBA teams. Those changes have arguably been the most beneficial to small-market teams like the Pacers.
According to Forbes and a number of other sports business experts, the Pacers and other small-market NBA teams turned the corner on profitability in the 2013 to 2014 time frame. Slowly, the percentage of team revenue from ticket sales declined to just above 22% during the 2018-2019 season, according to Forbes.
The Pacers, like most of the league's small-market teams, rely less on ticket revenue than the league average. The Pacers generated $243 million in revenue in the 2018-2019 season, and 13.2%—about $32 million—of that came from ticket sales, according to Forbes.
The Pacers could likely still make money playing in an empty arena, though their margins are much thinner than the Colts'. During the 2018-2019 season, the Pacers netted $55 million, according to Forbes. The team's profit has nearly doubled since the NBA started cashing in on its most recent TV deal.
"The revenue pie for these teams is going to be smaller," DeGaris said. "It's all a matter of making the best of a bad situation. And the NFL and NBA are in a strong position to do that."
Fortunately for professional sports teams and leagues now facing the realities of the pandemic, media revenue has grown far faster than ticket revenue over the last decade.
"There continues to be an almost unquenchable thirst for live sporting programming among broadcasters, so the price of media deals continues to go up quickly," Rishe said. "Ticket revenue grows more slowly. You can only squeeze the fans so much."
The pandemic has only exacerbated the demand.
"With everyone stuck at home, sports leagues and teams realize viewership for live sporting events would be through the roof right now," DeGaris said. "There's a real pent-up demand now, so [sports leagues and teams] are eager to get in front of their fans any way they can."
More to lose
The Indianapolis Indians are in a much more difficult spot. The Tribe's season—like that of all baseball teams—has been postponed indefinitely. And playing in an empty venue would seriously jeopardize the franchise's 44-year streak of profitability.
The Indians have more to lose than most minor-league teams. For more than a decade, the Indians have been among the top minor-league teams in the country in attendance, drawing about 650,000 fans to 70 or so home games annually.
In recent years, the Indians have managed a low-seven-figure annual profit. The vast majority of revenue is generated through ticket sales and other in-stadium sources.
Last season, the team generated $6.6 million of its $14.7 million revenue through ticket sales and suite rental alone. Concession sales added another $2.8 million. And without in-stadium sponsorship revenue, the $4 million-plus the team scores in advertising revenue would also take a big hit.
Even if the team is spared part of the $5 million it spent on stadium operations last season—as it would surely be cheaper to play games with no fans—the Indians would still have difficulty covering costs.
Major League Baseball teams pay the salaries of the players of their minor-league affiliates. Still, sports business experts say most minor league teams would lose a significant sum playing in empty venues, and there have been no discussions about MLB teams' subsidizing minor league teams to cover stadium operations.
"From Minor League Baseball's perspective, playing in front of no crowd doesn't benefit anyone because we rely so heavily on ticket and other [in-venue generated] revenue," said Indians President Randy Lewandowski.
The Indians "remain hopeful we'll be able to play some games this summer," he said. "We're working through some different scenarios so we can be prepared to play under different circumstances."
Lewandowski said Indians officials are starting to "run the numbers" to calculate how many fans in the stands the team would need to cover operating costs.
Last season, the Indians averaged 8,600 fans per game. In 2018, the team averaged more than 8,800, and Victory Field has a capacity of just more than 14,200. Almost certainly, seating in the popular lawn area would be significantly reduced or eliminated due to the coronavirus.
"We can make it with diminished crowds that would be needed to accommodate social distancing," he said. "We're still working to figure out exactly what that threshold is."
The Indians season was set to start in April and end shortly after Labor Day. Lewandowski said minor league officials and teams are discussing whether to extend the season "deeper into September."
"Certainly, this year we'll have a shortened season," he added.
Lewandowski, who is starting his 27th season in the front office, said he never planned for or even imagined a scenario like the one he and his staff are facing.
"We never, ever thought of a worldwide pandemic essentially shutting down the entire economy," he said.
The Indy Eleven also generates only a small amount of broadcast revenue.
"Game-day and in-stadium revenue is a very important component to our club," a team spokesman said.
Indy Eleven CEO Greg Stremlaw, who sits on the USL's Executive Competition and Strategy Committee and has been appointed to the COVID-19 National Task Force for Sport, and other team executives are formulating plans.
"We continue to model out how a season might look," the spokesman said. "Clearly this is a fluid situation, but we remain committed to working towards how the season can be resumed across this country."
The little guy
Some professional sports teams applied for and were granted federal aid from the Paycheck Protection Program. The L.A. Lakers received $4.6 million in coronavirus relief. This week, the team said it returned that money when it realized smaller businesses had not received any of the funds.
It's not clear whether the Pacers, Colts or Indians received any PPP funds. While major league teams have been discouraged from taking the money, one sports business expert said "minor league franchises most certainly could be helped by the stimulus package. They represent a legitimate need." But it wouldn't be enough to stop the bleeding caused by a full season playing without fans.
Teams aren't the only ones that will be hurt if seasons are shortened or canceled or games are played without fans.
"There are tens of millions of dollars in economic impact at stake in this city alone with respect to sporting events," said Milt Thompson, president of local sports marketing and business firm Grand Slam Cos. "A lot of entities are going to take a haircut."
Rishe pointed out that "thousands of game-day employees" work at every major sporting event.
Putting on an NBA game requires 1,500 to 1,800 workers, he said, and an NFL game requires up to 3,500 game-day stadium workers. The Indians and its contractors employ 100 to 200 game-day employees.
"If the games are played in empty venues, there's still plenty of money to be made for the leagues and teams," Rishe said. "It's the little guy that's going to take the biggest hit."•


The movie begins in 1985, where Thomas Curry, a lighthouse keeper in Maine, rescues Atlanna, princess of Atlantis. After rescuing Princess Atlanna, the two fall in love and have a son named Arthur, a child who has the power to communicate with animals from the sea.
The movie then fast forwards to one year after the events that took place in Justice League, showing Arthur confront a group of pirates. After facing off against the pirates, an Atlantean named Mera finds Arthur letting him know that his half brother plans to attack the surface world.
This leads the two on a journey across the world and seven seas to find the Trident of Atlan, so that Arthur can defeat his half-brother and take his rightful place as King of Atlantis.
Aquaman uses phenomenal special effects. These effects can be seen with the creation of the seven kingdoms of Atlantis and the many different creatures within. Another effect that shows attention to detail is, while the characters were underwater, you could see their hair floating around in the water instead of staying in one position. I enjoyed this mostly because it showed the separation between those who lived on the land and those who lived within the sea.
The movie also did a great job at introducing its characters. One character, in particular, that was introduced was David Kane aka Black Manta who serves as Aquaman's archnemesis.
The character is introduced at the beginning of the movie as one of the pirates trying to take over a Russian Nuclear Submarine. While trying to take over the submarine, his father, the leader of the pirates, dies during a fight with Arthur.
Later in the movie, David receives Atlantean tech and creates his own suit becoming the Black Manta. Although he didn't serve as the main antagonist in the movie, it did help set him up to become the main antagonist in future DCEU films.
Even though some scenes and lines are corny, the story, actors and special effects give the movie life to make it worth the watch.


The regular opening times of Bargain Booze St. Marys Street in Ely are Monday to Friday 7AM-9PM, on Saturday 7:30AM-9PM, on Sunday 8AM-8PM. View the actual opening times of Bargain Booze St. Marys Street in Ely in our branch locator.
For more information about opening times on Sunday or late night shopping make sure to view the information in the designated blocks. If this Bargain Booze isn't nearby your location you can use the 'Map & Directions' tab to find the fastest route to St. Marys Street in Ely. This location's coordinates are specifically 52.3989 latitude, 0.258681 longitude. To contact this Liquor Store by phone you can dial 01353772124 during business hours.


text:
PhD (or PostDoc) position: Linking aggregate pore geometry to microbial interactions and functions in soil – SomSOM – Self-organization of microbial soil organic matter turnover (OT127)
Microbial turnover of soil organic matter (SOM) is key for the terrestrial carbon (C) cycle. Its underlying mechanisms, however, are not fully understood. The role of soil microbes for organic matter turnover has so far been studied mainly from the point of view of microbial physiology, stoichiometry or community composition. In this project, we aim to shed new light on it from the perspective of complex systems science.
Microbial decomposition of organic matter requires the concerted action of functionally different microbes interacting with each other in a spatially structured environment. From complex systems theory, it is known that interactions among individuals at the microscale can lead to an 'emergent' system behavior, or 'self-organisation', at the macroscale, which adds a new quality to the system that cannot be derived from the traits of the interacting agents. Importantly, if microbial decomposer systems are self-organised, they may behave in a different way as currently assumed, especially under changing environmental conditions.
The aim of this project is to investigate i) if microbial decomposition of organic matter is driven by emergent behaviour, and ii) what consequences this has for soil C and nitrogen cycling. Combining state-of-the-art methods from soil biogeochemistry, microbial ecology, and complex systems science we will
Investigate mechanisms of spatial self-organization of microbial decomposer communities by linking microscale observations from experimental microcosms to mathematical, individual-based modelling,
Elucidate microbial interaction networks across the soil's microarchitecture by linking microbial community composition, process rates and chemical composition of spatially explicit soil micro-units at an unprecedented small and pertinent scale.
Explore fundamental patterns of self-organisation by applying the framework of complex systems science to high-resolution spatial and temporal data of soil microstructure and process rates.
I am looking for enthusiastic PhD students and postdoctoral researchers interested in carrying out research at the interface between Soil Microbial Ecology, Soil Biogeochemistry and Complex Systems Science in a creative, interdisciplinary team.
I am offering fully funded PhD (4 years) or PostDoc (2.5 years) positions at the Division for Terrestrial Ecosystem Research at the Centre for Microbiology and Environmental Systems Science of the University of Vienna. Our Division and Centre offers excellent opportunities for scientific interactions and collaborations and a vivid, cooperative and friendly working environment, in a city with one of the best living conditions in the world.
Christina Kaiser's team and research: http://ter.csb.univie.ac.at/people/christina-kaiser
Division for Terrestrial Ecosystem Research: http://ter.csb.univie.ac.at/
Centre for Microbiology and Environmental Systems Science: http://cmess.csb.univie.ac.at/
Open positions are available in the different project parts as described below. Applicants must have good communication skills and should be highly motivated and committed to pursuing interdisciplinary research in an international team. Excellent English in speaking and writing is mandatory. The University of Vienna values equal opportunities, as well as diversity (http://diversity.univie.ac.at/), and lays special emphasis on increasing the number of women in senior and in academic positions. Women are encouraged to apply.
Please send your application including
a motivation letter (1-2 pages max; please clearly specifiy the project part/position you are applying for – see below)
CV (including scientific publication and presentation activities, if any)
Contact details of two possible references
to christina.kaiser@univie.ac.at. Positions will be filled as soon as possible and remain open until filled. Evaluation of applications starts in May 2019.
For questions please contact christina.kaiser@univie.ac.at.
An updated version of this document is available at http://ter.csb.univie.ac.at/open-positions
Pore geometry of soil aggregates are essential for microbial dynamics as it determines i) habitability, ii) accessibility of substrates to microbes and iii) accessibility of microbes for predators. Geometric properties of the pore network, such as connectivity and fragmentation, greatly influence potential microbial interactions. At a high fragmentation (i.e. islands of reasonable habitats separated by long distance connections with limited resource access), for example, species with a small range of dispersal will have access only to a small fraction of the network while species with a long range of dispersal, such as fungi can percolate through the network.
In this project part I am looking for a motivated PhD student or a postdoctoral researcher, who is interested in soil microscale interactions, ecology, graph theory and complex systems science.
The successful candidate will extract geometric properties and pore size distribution data from 3D micro-CT images of soil aggregates. This data will be used to generate 'model pore network landscapes' reflecting characteristic geometric properties of pore networks of certain aggregate types, in a refined (i.e. 3D) version of an existing individual-based microbial community model (Kaiser et al., 2014, 2015; Evans et al., 2016). The resulting model will be – together with measured parameters - used to investigate how certain spatial structures and pore geometric properties affect microbial interactions and, in turn, soil organic matter decomposition. Percolation-, graph theory and other mathematical approaches will be used to analyse results.
The successful candidate should have the following skills:
Background in soil microbial ecology or soil science
Alternatively, a background in mathematics, physics, informatics or complex systems science
Programming skills (ideally JAVA, other programming languages also ok)
Good command of R
Experience with image processing/image processing software is an advantage
He or she will work closely together with the rest of the project team.
More information available here.


text:
Generalization
January 29, 2007 Uncategorizedalgorithms, codeLuke
Okay, here's the latest on my type inference algorithm: (1) it rocks, (2) it is still having trouble with generalization. My current example is the following (using ML-style reference syntax):
fix \f x { x := !x + 1; if 10 < !x then x else f x }
That fix business is how you implement recursion under the hood. Now, the correct type of this function is:
^a ^b (b -> b) [ b <: Ref a ] [ Int <: a <: Num ]
This type may not even be obvious to type theorists. Let me explain: the caret (^) means "the greatest lower bound over", which can be read roughly as "for all". The form of such a type is ^variable (type_involving_variable) [constraints_for_variable]. That circumfix syntax is awkward, since the constraints for a are way at the end of the expression. Still, let's try to read it: for all a, for all b, the type is a function which takes a b and returns a b, as long as b is a subtype of a reference to an a, as long as a is at least an Int and at most a Num. Yowch, that's a mouthfull. The paraphrase of that is, this function takes any reference to a number (at least an integer; i.e. no "just even number" subtypes or anything) and returns that reference (in this case, changing its contents first). You can see that that is correct given the code.
I manually entered the equations for that expression into my type inferencer (it doesn't do AST traversal yet, but that part is trivial). I looked over the two-odd pages of output for the reduced equations, and they were right on. That's the (1) it rocks part. Then it tried to generalize those equations, and this is what it came up with:
^a ^b (b -> b) [ b <: Ref Int, b <: Ref a ] [ Int <: a <: Num ]
It looks pretty close. There's just this pesky little b <: Ref Int clause, which is wrong! It says that whatever you pass this function has to be a subtype of Ref Int. But a Ref Num is not a subtype of a Ref Int; in fact, Ref x is only a subtype of Ref Int when x is itself Int. Some type checkers would actually type it this way, saying that the function's type is Ref Int -> Ref Int, but for mine, that is not acceptable. So what's going wrong with the algorithm?
Okay, so the generalization algorithm is given a bunch of equations involving type variables and other types. For each variable, the algorithm wants to find either (a) a direct substitution, where you can safely replace that variable with another type, or (b) a minimal set of constraints on that variable which must form acyclic dependencies (cyclic dependencies would lead to an infinite loop when we generalize over those variables).
It currently does this by finding all constraints on each variable, and then gradually reducing them. That is, it looks through every equation, and when it sees an equation that looks like a <: v, where v is a variable, it adds a as a "lower bound", and when it sees v <: a, then it adds a as an 'upper bound". What you end up with is a mapping from variables to their bounds, like, say: a = { Int | Num }, b = { a | c }, c = { Ref b | a, Num, Str }, etc. Then it reduces them by eliminating any lower bounds which are lower than other lower bounds. That is, if you had a = { Int, Num | }, it would eliminate Int, because Num being a lower bound already implies that Int is. It will do this for variables and other types, consulting the equations to see what is a subtype of what.
After that, it looks for substitutions. That is, if you have a constraint that looks like a = { b | } or a = { | b } or a = { b | b }, then we say "okay, just bind a to b" and we substitute b for a everywhere (including in the other constraints). Then it goes back to the reduction phase. It alternates between these two phases until there is nothing left to do. You end up with a substitution and constraints that meet the requirements.
But I think the fact that it creates substitutions out of a = { b | } and a = { | b }is wrong. a = { b | b } is correct; that means that a and b are the same type. But a = { b | } says that a could be b, or any supertype of b, so making a substitution out of that is wrong. But I can't just take out those two rules, because then we end up generalizing over every variable we solved for (the types end up looking like ^a ^b ^c ^d ^e ^f ^g ^h ^i ...).
Something that I have noticed that I haven't figured out how to incorporate yet is some reductions you can make based on what kind of generalization you are doing (greatest lower bound, whch is typical, and least upper bound, which is quite uncommon but still supported). For example, ^a (a) [ Int <: a ]. the greatest lower bound of all types which are supertypes of Int, is obviously just Int. I'm wondering if I can take that idea and run with it to get a good generalization. However, it is not entirely simple, because ^a (a -> a) [ Int <: a ] does not reduce to Int -> Int; in fact it is not an arrow type at all, which means it must be written as a greatest lower bound! I proved something similar back when I was first exploring this calculus.
So I suppose I could say when you try to generalize over a variable, look at the type in which it is used. If it only appears in covariant position (on the right of an arrow, or not involved in an arrow), then substitute its greatest lower bound if it has one. If it only appears in contravariant position (on the left of an arrow), substitute its least upper bound if it has one. If it appears in both positions (appearing as an argument to eg. Ref counts as both positions) then you cannot substitute it, so just generalize. Let's take our example from above. I'll be working from this dump of my algorithm's thought process, namely the equations section at the beginning.
We are trying to generalize to the greatest lower bound of 20 (that is the variable I assigned the result). 20 is only directly involved in one equation: 107 <: 20, so we can safely replace 20 by 107. Now we are trying to find the greatest lower bound of 107. 107 has several upper bounds, but we don't care about those (unless it had no lower bounds, then we would). It only has one lower bound, namely (10 -> 19). Now here's where it gets tricky. I have implemented it (several times, followed by a head slap and delete) where it just tries to find the least upper bound of 10 and the greatest lower bound of 19, but that doesn't work, because, say, 19 could depend on 10. Only after you're sure that they're independent can you do that. So… what do we do now?
Complete Lattice Type System
I implemented a simple-minded type inferencer for meme (all monotypes–no polymorphism). Then I started implementing "Builtin" AST nodes so that I could have polymorphism in specific examples, like if. That got me wondering whether I could do polymorphism, as long as it was declared. I ran through the type inferencer algorithm by hand for hours, trying out different features to handle that case (this was an extremely tedious process). Finally I took my simple type inferencer and added a bunch of features to experiment with in code, rather than by hand. It went through several iterations, the first being universal types instantiate themselves on the left side of a <:, and "generalize" on the right. This generalization was similar to instantiation, but it would be come an "uppercase" variable, which would need to be instantiated again if it ever passed through a function argument.
Of course, that first iteration was a miserable failure. After messing around with it and racking my brain a bit more, I eventually came up with a way to do suprema and infima à la my last type theory post. And after fixing a few key things, IT WORKED. That is to say, it worked on my example. But it wasn't a totally trivial example; it underlined the key thing I wanted it to do. Namely, this expression: (\id -> (id 1, id "hi")) ((\x -> x) :: forall a. a -> a), which is better than Haskell does :-).
I made it so you mark the type variables your are solving for as either supremum or infimum types. Function parameters can safely be infima, and function return values can safely be suprema. All the rest, I think, can be marked singular (i.e. standing for an atomic or an arrow type). Then there are a few laws that reduction must follow with these types. Namely: limit types (that's the name I give to infima, suprema, and universal types together) cannot instantiate in equations involving other limit types (this makes sense mathematically; if the two types are equal, and they truly are nonsingular, then there is in fact no valid instantiation). Then there are rules for instantiating limit types when they are in equations with singular types.
However, the algorithm isn't totally clean. It does some hackish stuff to make sure that it terminates (in this example; I'm nowhere near proving that the algorithm always terminates). It marks instantiated variables as "I have been instantiated, don't instantiate me again", which I don't consider to be a very clean or correct solution. However, it does seem to work (and I've tried giving the algorithm input that I thought would make it infinite loop, such as self-referential types, and it didn't).
Anyway, I'm not going to go too in-depth at the moment. I have to get to bed. Suffice it to say that it's very cool. The source code is here (needs GHC 6.6 to run). To see that the output worked, note that the result of id 1 above is the variable v4, and the result of id "hi" is the variable v6. Somewhere in the big spew of output, you'll see the lines Int <: v4 and Str <: v6, and (very important) not Int <: v6 or vice versa.
Perl 6 Rules: Elementary Compositionality and More Contrived Vocabulary
January 19, 2007 Uncategorizedcode, perl6Luke
Larry Wall made a change to Synopsis 5, section "Longest-token matching" splitting the alternation operator | in two: | and ||. The idea is that || works just like the old one: try to match the left any way you can, and if that fails, then try the right. This makes sense to me, and the double-or name makes sense too (that's how it works in perl code). On the other hand, the single | operator has some wildly strange semantics:
So for regex matching purposes we define we define token patterns as those patterns containing no whitespace that can be matched without side-effects or self-reference.
To that end, every regex in Perl 6 is required to be able to distinguish its "pure" patterns from its actions, and return its list of initial token patterns (transitively including the token patterns of any subrule called by the "pure" part of that regex, but not including any subrule more than once, since that would involve self reference). A logical alternation using | then takes two or more of these lists and dispatches to the alternative that matches the longest token prefix. This may or may not be the alternative that comes first lexically.
He's going for two things here: raw speed and dwimming on the longest-token rule. I think he hit the first one pretty much smack on, and missed the second one, shooting himself in the ankle instead.
This longest token rule violates something which I just made up now called elementary compositionality. Even though it is nothing more than a figment of my mind at the moment, I believe it to be very important. It guarantees that you won't get into trouble when you try to refactor; and let's face it, refactoring is what modern software engineering is all about.
Let me try to define in very precise terms what elementary compositionality is. First, let's define the language of a rule to be the set of all strings that it matches exactly. That is, $a ε Lang(rule) iff $a ~~ /^<rule>$/. Then, to borrow a term from model theory, two rules are elementarily equivalent if they have exactly the same language. Finally, elementary compositionality is a property of a matching strategy where: if a, a', b, and c are rules, where b is elementarily equivalent to c, and a' is obtained by replacing every occurence of b with c in a, then a is elementarily equivalent to a'.
Stated less formally: if you replace every call to a rule with a call to an elementarily equivalent rule, nothing changes.
Now for the pragmatics. Perl 6 rules are very rich, and we can't expect elementary compositionality everywhere. For example, the <commit> directive violates it, and it can be violated if you rename your captures (another thing that bugs me: there is no encapsulation in rules, but that is a discussion for another day). But those are predictable somewhat. I mean, you added <commit> precisely to change large-scale matching semantics: that's what it's for. Also, people are accessing your $<reslut>, so if you call it your $<mother> instead, people aren't going to be able to access it. The renaming thing is also fairly refactor-friendly, since you can rename and rebind captures as you wish. However, what is unpredictable (and also extremely hard to remedy) is the following: say you have a rule which matches any IPv4 address:
token byte { <[0-1]> <digit>**{2} | 2 <[0-4]> <digit> | 25<[0-5]> }
token ip { <byte> \. <byte> \. <byte> \. <byte> }
You realize what an ugly and unclear way to write byte that is, so you rewrite it:
token byte { (<digit>**{3}) { fail unless $1 < 256 } }
Ahh, much nicer. Except one problem. The rule:
rule literal { <float> | <ip> }
has just changed semantics! On the input 123.456.789.012, literal used to match the entire string as an IP, but now it matches 123.456 only as a float (then probably fails due to ratcheting when the grammar doesn't accept .789 as the next thing).
Now, unfortunately, your little refactor has just disabled an optimization. The early, ugly byte was expressed as a regular expression, so it could be combined with ip the other common prefixes of literal (and sibling rules) into a DFA. The new, pretty byte cannot be compiled that way. I think this is one of the reasons Larry went with the "automatically detect tokens" approach. But I don't think this is sufficient reason to violate elementary compositionality everywhere (to drive home the point: run this example in reverse, and in trying to optimize your grammar, you have also changed semantics).
The solution I have in mind at the moment, and I admit it is not totally optimal, is to have the user specify what he thinks the tokens are, so that the compiler can really match the longest token, not the longest "token-looking-ish thing". The reason that is not optimal is because sometimes it is nice to inline syntax into rules without having to go through the token abstraction, and we're not really sure which ones of those to call tokens. Maybe we could make up a simple heuristic, such as all constant strings are considered tokens (at the rule level, not the transitive closure level), which isn't too different from the first version of the | / || separation. But the point is that I should be able to take control from Perl's dwimmery, say "no, you're wrong", and ensure that I can refactor without fear from then on.
Professionalism in Game Interfaces
January 17, 2007 GeneralgamesLuke
Multiple Mice Support for Games
January 16, 2007 Uncategorizedcode, gamesLuke
Some time ago, we had a two-player game whose most natural input method was the mouse. That's too bad, because most OSes make it exceedingly difficult to handle two mice separately; they just clump the mice together, so both mice control the same cursor.
Today I stumbled upon a teeny little cross-platform library called manymouse, which handles different mice separately! The interface is really easy (a little low-level, but workable); I got it incorporated hackishly into our SDL sword game in about twenty minutes. So, that's cool.
Complete Upper Bound Type System
January 11, 2007 Uncategorizedcode, mathLuke
I have been working on a type system for the last couple days, in case you haven't noticed. But now I have one concrete and axiomatized, which is strong enough to infer the type of (f -> f 0) id. "Oh boy," you might say, "what an accomplishment". However, the generality of the system makes it seem like it can check many, if not all, other types. I just don't know whether it's decidable (but at least now that it is axiomatized, I can start to analyze it formally). And again, I don't care if it's decidable, as long as I can get an algorithm that gets it right "most of the time".
Haskell types the identity function as id :: forall a. a -> a. That is to say, there is one identity function for every type a, and it has type a -> a. But arguments to functions must be "monomorphic"; that is, when you pass something which has a whole set of values or types, Haskell has to pick one before passing. That's the reason (f -> (f 42, f "hello")) id does not compile: because f has type a -> a for some type a, not for every type (it has to be a specific function, not a whole class of them). id is perfectly capable of working on both integers and strings, so it is safe to pass its polymorphic form as f, but it is not well typed.
This type system is different: the type forall a. a -> a is a single type. In fact, nothing is typed with a whole set of types; every value that could be thus typed in Haskell has a single, unique type in this type system. This is done by defining the type of forall a. a -> a to be the least upper bound of the set of all types of that form.
A little type theory background: There is a type Top which is a supertype of every type (i.e. it admits any value), and there is a type Bot which is a subtype of every type (i.e. it admits no values).
Here are my axioms. The non-logical symbols are (<:) for "subtype" and A(x,y) for the arrow type "x -> y".
∀ a ∀ b ∀ c ((a <: b ∧ b <: c) ⇒ a <: c)
∀ a ∀ b ((a <: b ∧ b <: a) ⇔ a = b)
∀ a ∀ b ∀ c ∀ d (A(a,b) <: A(c,d) ⇔ (c <: a ∧ b <: d))
for each atomic type A in the calculus: ∀ a ∀ b (A ≠ A(a,b))
Schema: for each wff φ(x): ∃ a such that the following hold:
∀ x (φ(x) ⇒ x <: a)
∀ x (∀ y (φ(y) ⇒ y <: x) ⇒ a <: x)
∀ x (x <: a ⇒ (x = a ∨ ∃ y (x <: y ∧ φ(y))))
And here is an explanation of each of the axioms:
Continue reading Complete Upper Bound Type System →
Lambda Constraint Typing
January 10, 2007 UncategorizedcodeLuke
Here's an idea for a type inference algorithm. For my project, I do not need an algorithm which determines types, just an algorithm which can answer questions about them. Also, I am not checking types; the fundamental assumption of my language is that the programmer is always right. I am simply getting as much information as I can in order to help understand what the programmer meant.
This is a form of polymorphism which, instead of generalizing during unification just carries around its constraints. It is a sort of let-polymorphism which works on all lambda abstractions. I'll show by example. Consider the Haskell expression (f -> (f 0, f "")) id. Haskell rejects this program as ill-typed, but it clearly makes sense. So let's try to make sense of it.
We want to type infer the expression:
(λf -> (f 0, f "")) id
-- Give types to the subexpressions of the lambda
f :: a
f 0 :: b
f "" :: c
(f 0, f "") :: (b,c)
-- Find constraints
a <: Int -> b   -- from the application f 0
a <: Str -> c   -- from the application f ""
-- Generalize to lambda (bind all free variables under forall)
-- The | is to be read "as long as"
λf -> (f 0, f "")
:: forall a b c. a -> (b,c) | a <: Int -> b
; a <: Str -> c
-- This is the type of id (a builtin, so we knew that)
id :: forall d. d -> d
-- Instantiate the lambda, substituting the type of id for a
:: forall b c. (b,c) | (forall d. d -> d) <: Int -> b
; (forall d. d -> d) <: Str -> c
-- Expand the equations into dependent sets
:: forall b c. (b,c) | (exists d. Int <: d ; d <: b)
; (exists d. Str <: d ; d <: c)
-- Reduce constraints
:: forall b c. (b,c) | Int <: b
; Str <: c
-- Constraint specification
:: (Int, Str)
It looks pretty and powerful. After playing with this system a little bit, I discovered exactly how powerful it is. When you start putting constrained types into constraints, it becomes clear that you are embedding all of first-order logic. (For those who aren't familiar with this kind of thing, the most common problem with type systems is that they are too powerful, not not powerful enough: once you can embed PA, it is possible to write a program that will never finish compiling!).
Semantic Inference
January 8, 2007 UncategorizedcodeLuke
I'm beginning to think about the finer details of my experimental language. In particular, I think that most of the semantic inference will come from type inference. And that is tricky, because I want subtyping and I want references (for type theory virgins, that's a really tough combination; i.e. it is undecidable in general). And it is even trickier because some of the usage information is going to be missing.
However, I am not trying to do type inference in order to do type checking, which makes it a bit nicer. I am doing type inference in order to get whatever information I can out of the code to reconstruct the semantics the user was intending. So if you say something like:
let x = 4
No type inference need be done, because the program is already semantically unambiguous.
What I want is a calculus which can pick objects of various types and combine them together to get a particular type. For example:
list = [1,2,3,4,5]
for i {
total += i
We can figure out that list :: List Int, total :: Int, and i :: Int. We also have that (after desugaring) for :: (a -> (), List a) -> (). The block given to for is of type Int -> () (by our inference on i), so it is looking for a List Int to fill the gap. list is clearly our candidate.
My guess is that this is not decidable. But this isn't the kind of language that cares about that. It'll just say "uh, I can't figure this one out, please give me more info" and then the user will be all "ok, here you go". It's not about getting everything right, it's just about reducing the programmer's workload in common cases.
Okay, so how do we deal with references (a side note, Firefox 2 has a spell checker and it doesn't think that "Okay" is a word. Hmph.)? You can't infer them if you have a type calculus with subtyping (you can use colored local type inference to get a lot of them right, though). First, because I'm a pure functional kind of dude nowadays, I think I'll do references the ML way: you can only assign variables once, but you can put a reference in a variable and change the reference. That, of course, does not solve the problem. So I'm going to recommend that references be explicitly typed. If they aren't, the type will default to Any; i.e. no semantic inference can be done with them.
So I think the bulk of my language will be a lambda calculus with a semantic/type inferencer as described above, plus some nice name correspondence rules.
Here's something that's a little strange: name resolution can depend on type inference. Consider this code:
class Point {
has x, y;
pt = getLocation();
This will not compile if getLocation's type cannot be determined. But if you annotate it getLocation :: Point, this will compile, since when it sees the unresolved identifier x, it will look for things in its scope which have an x member. Since that looks so funny, I may want to reserve that kind of inference .x instead.
Even weirder: type inference can depend on naming. This is the inflector module, which I haven't talked about much. If you see code like this:
has x,y;
point = getLocation();
Without any information about getLocation (or any other way to determine the type of point), the language will assume that point is of type Point. I would also like it to assume that points is of type List Point (or maybe something more general like Aggregate Point). Finally, I'd like it to build a connection that infers foo :: a implies foos :: List a (and vice versa).
I'm not certain if this incredibly presumptuous type inferencer plus a semantic inferencer based on that will give me everything I want, but it is possible that it will do an awful lot.
UPDATE: Ooh, I was lying in bed thinking about this, and I realized that the sort of type inference we are doing is much weaker than usual type inference. The fact that we don't care what the type is, we're only asking questions about it (eg. does it fit in an Aggregate?), makes the job much simpler (doable with an equation reduction algorithm) and also allows for a more versatile type system. Cool!
Love, part 2
January 5, 2007 GeneralpersonalLuke
Okay, I just took the bus back from Karlin's house, and I wanted to post before the high wears off.
It's totally stupid to be sad about this. I mean, sure, someday she'll dump me. I'll have plenty of time to be sad then.
She makes me feel wonderful now. I am really lucky to have someone like that. Who cares about the future; worrying about it takes attention away from the present. I had forgotten that I am really enjoying the present.
We make deep eye-contact a lot. During dinner, she pulled one of those "oh crap, he looked up, I'd better look back down" moves. She walked with me back to the bus stop, about ten minutes through the cold (that means a lot coming from her). Love, schmuv. It's just a word. She really likes me, and we have a powerful connection. It's totally stupid to be sad about this.
Improv Band
January 1, 2007 General, Music, Strange New WorldsLuke
I just posted the following to craigslist Denver:
I'm a keyboardist who has been playing for 12 years. I'm interested in starting an improv band, but somewhat different from a "jam band". I want to see how improv goes when there is always one person not playing his instrument, but instead "conducting" the whole process (but that person changes from jam to jam). I think this could allow for dynamics and solidity that isn't often heard in "jam music", and could be quite a unique sound.
I am open to many styles. The most important thing is that you have to be _capable_ of dynamic playing (eg. being able to bring it waaay down low now and then), and you have to be a good listener. All instrumentalists are welcome: I have no preference for the instrumentation (every instrument brings its own unique contribution, and improv has a way of accommodating that nicely).
We'll see how it goes.


includes advising both plaintiffs and defendants involved in disputes relating to the provision of negligent advice and professional service. We advise insurers, the insured, and plaintiffs with an emphasis on physicians, construction and design professionals, attorneys, insurance professionals, investment advisers, and others. Because we defend negligence claims, as well as pursuing others, we benefit from the insight we gain by acting on both sides of the table. We also benefit from the knowledge and experience of the lawyers in our firm in these areas – with Frank Simmerman having practices in these areas extensively throughout his career.


text:
City of Nassau Bay EMS
Nassau Bay, TX
Nassau Bay EMS is a critical public safety agency that delivers pre-hospital emergency medicine. The Nassau Bay Emergency Medical Service (EMS) was a division of the Fire Department in the early 1970s.
In 2003, Nassau Bay EMS was transferred from a volunteer service to a fully-paid EMS. Our staff consists of EMS Administrator, Chief, supervisors, paramedics, and EMTs. All paramedic staff personnel are required to maintain Advanced Cardiac Life Support (ACLS) and Basic Trauma Life Support (BTLS) provider certifications. Most staff members also maintain CPR-Instructor certification. One of our rea
A friendly reminder to save the City of Nassau Bay's alert number. This number will appear on your caller I.D with important information pertaining to the City.
If you need to make updates to your contact information or want to modify the way you are alerted (voice, text, or email), visit www.nassaubay.com/501/Nassau-Bay-Alerts.
Unsure if you are signed up for the Swift911 system? You can call City Hall at 281-333-4211 to confirm your registration.
This week is Child Passenger Safety Week, an excellent opportunity to review the steps you and your family can take to protect your child by securing them in the correct car seat.
According to Shawn Doyle, Nassau Bay EMS Chief, this week is important because it draws attention to proper car seat use, encourages safety practices to reduce the risk of serious injuries or fatalities, and encourages parents/grandparents/guardians to get seat safety checks.
"Auto accidents are the leading cause of death in children under the age of 13, and the vast majority of those types of fatalities are preventable," he said. "Approximately 40 percent of children are either not properly restrained in car seats, booster seats or even with seatbelts, and some aren't restrained at all.
"Nassau Bay EMS has car seat technicians available to work with residents by appointment, and they can show you how to make sure your car seat is secured the right way."
Call the Fire/EMS Station to set up your appointment at 281-333-4211, extension 2677.
The City of Nassau Bay will commemorate the 20th anniversary of 9-11 this Saturday, September 11th beginning with a Remembrance March by Nassau Bay first responders and city staff throughout the City of Nassau Bay.
The March will begin and end at the Nassau Bay Fire & EMS Station located at 18295 Upper Bay Road. The route map for the march is included below and details specific stops along the route. Throughout the City, the marchers will pause at select locations along roadways including Martinique Drive, Barbuda Lane, Saxony Lane, and Point Lookout Drive.
Residents and the public are invited and encouraged to come out and see the marchers along the route and to reflect as a community on the events of 9-11 during the pauses in the March. Many of the marchers will be wearing bunker gear and SCBAs in tribute to the first responders who bravely made their way up the thousands of stairs of the World Trade Center on 9-11.
At the conclusion of the March, there will be a short ceremony at the station, and the lobby of the station will be open to the public. A support beam recovered from the September 11, 2001 attack on the World Trade Center is prominently displayed in the lobby of the station as a dedication to all emergency responders with a special remembrance to those who perished as a result of the terrorist attacks. The public is invited to stop by to see the support beam in person on this special anniversary. This event is free and open to the public.
For more information about the NBVFD Sept. 11th 20th Anniversary Commemoration Event and other City of Nassau Bay events, go to www.nassaubay.com. For more information about the NBVFD go to: www.nassaubayfd.com.
NBFD, Seabrook FD, Webster FD, Forest Bend FD, NB EMS are currently working a fire please avoid San Sebastian and Upper Bay RD. Thank you
The funeral service for Michael "Big Mike" Hayes will be held on Wednesday, August 25 at Gloria Dei Lutheran Church, located at 18220 Upper Bay Rd., Houston, Texas, 77058.
Visitation will begin at 9AM and the service will begin at 10AM. Mike will be transported in the Nassau Bay ambulance from the funeral home to the church. The First Responder procession will pass by the Webster Police Department and City Hall around 9:50AM and by Nassau Bay City Hall around 9:55AM, arriving at the church shortly after.
The family has asked that, in lieu of flowers, please consider making a donation to the Houston Livestock Show & Rodeo Special Children's Committee. Make donations payable to HLSR/Special Children's Committee and mail to Stacy Anderson at 2626 Westheimer Road, Suite 206, Houston, TX 77098, and please include "Mike Hayes Memorial" in the memo.
The City of Nassau Bay EMS is sadden to report that our former Paramedic Mike Hayes passed away Sunday due to Covid-19 complications.
"Big Mike" as he was fondly called due to his 6'7" height served our city for 15 years (2005-2020) as a Paramedic and mentor to many current and former crew members.
Big Mike not only served Nassau Bay/Webster/El Lago and Taylor Lake citizens on our Medic 8 ambulance, Mike was also the reassuring voice you would hear when you called 911. Big Mike served as a Telecommunications Operator (911 dispatcher) for 18-years at the Webster Communications Center.
Please keep the Hayes family in your prayers as they deal with their great loss.
God bless you, "Big Mike." We Thank You for all your years of public service and for being the voice on the radio we depended on when you weren't riding by our sides on M8. We will forever miss you.
(Photo credit Mitch Daniels 2019)
Reminder: Nassau Bay Fire/EMS station is a Safe Baby Site. You can leave your baby up to 60 days old with one of our members no questions asked without penalty.
*The Baby Moses Law provides a responsible alternative to parents who might otherwise abandon, neglect or harm a newborn child. The law states that a parent may leave an unharmed infant up to sixty days old in the arms of a hospital personnel, firefighters or designated Emergency Medical Service Provider with no questions asked and no penalty to the parent. Texas State Law 262.301 and 262.302..*
Come listen to a lecture on snake bite treatments from Dr Spencer Greene. Dr Greene's treatment protocols are what most EMS services follow here in Houston area including Nassau Bay EMS.
National EMS Week (May 16 - May 22)
May 16-22, 2021 is the 46th annual National EMS Week. Founded in 1974 by President Gerald Ford and continued by The American College of Emergency Physicians (ACEP), EMS Week is dedicated to the celebration of Paramedics, EMTs, and the entire EMS workforce for their contribution to the health and safety of the community. Not only is this week a celebration of EMS professionals, but it is also a time to raise awareness about the critical role of Emergency Medical Services.
The theme for this year's EMS Week is: This is EMS: Caring for Our Communities and each weekday hosts a themed day in which first responders are encouraged to participate. These days include EMS Education Day, Safety Tuesday, EMS for Children Day, Save-A-Life Day (CPR and Stop the Bleed), and EMS Recognition Day. If you have time, be sure to stop by the Nassau Bay Fire and EMS Department and say hello to our knowledgeable and friendly EMS personnel.
Thank you, City of Nassau Bay EMS!
The City of Nassau Bay is HIRING!
- Municipal Court Administrator/Deputy City Secretary
- Police Officers
- Paramedics
For more information and to apply visit: http://www.nassaubay.com/Jobs.aspx
Bayfront Tower Condos collapse.
The Bayfront Towers building that was on fire has collapsed...
Apartment fire in Nassau Bay
There is a major structure fire at the Bayfront Towers on Lakeside Lane. Nassau Bay's Volunteer Fire Department, EMS, Police, and Fire Marshal are on the scene. It is known that the fourth floor of the building has collapsed. Approximately 35% of the building has sustained damage. There are 74 condo units at the Bayfront Towers. Thus far, there are no known injuries.
The following fire departments are assisting our Nassau Bay Fire Dept: Webster, Houston, Seabrook, Forest Bend, Kemah, Friendswood, Port of Houston, League City, Pearland, Bacliff, Dickinson, and Alvin along with the Houston Constables Office.
After a thorough search of hotel property, officers located a handgun believed to have been used in the shooting in bushes outside the hotel. The gun was taken as evidence.
ORINIGAL
At approximately 1:30 am, Nassau Bay PD responded to a report of a large disturbance and reports of gunshots at the Nassau Bay Hilton Hotel, 3000 Nasa Parkway.
Officers arrived and located a disturbance in the hallway of one of the floors of the hotel. Officers also located evidence of several gun shots in the hallway. Witnesses were able tell officers that no persons had been struck or injured by the gunshots. Officers received a description of a possible suspect and began searching the hotel and parking lots for the suspect. Officers were also able to identify the room where the suspect was possibly staying. The suspect was located as he was returning to the room and detained by officers. Officers were able to make entry into the hotel room and cleared the room of any other possible persons involved.
During the investigation, officers learned there was a disturbance or argument between two groups of people during the evening. One group was at the hotel celebrating a family event. Just prior to the shooting, there was a confrontation in the hallway because one group was accused of making too much noise. There was a confrontation between two males from the groups and one male reportedly displayed a handgun and fired several shots.
44-year-old Shante Battle is being charged with deadly conduct. No weapon has been recovered at this time and the investigation is ongoing.
Nassau Bay PD was assisted at the scene by multiple partner agencies including, Harris County Pct. 8 Constables, Webster PD, and Nassau Bay EMS.
City of Nassau Bay, Texas
Dr Spencer Greene is a medical toxicologist who specializes in venous bites. He also writes the treatment protocols for most of the EMS/Fire Depts in the Houston area including Nassau Bay EMS's.
Come take a listen and learn more about the snakes in our area and the treatment of their bites.
How to sign up for a COVID-19 vaccine in Texas.
1⃣ Sign up with a vaccination hub: https://bit.ly/3qjZOMP
2⃣ Use the Texas COVID-19 vaccine provider map to sign up with a community provider: https://bit.ly/3oDhjHu
Please be patient as supply is limited. Hubs may have long waiting lists but more vaccine is coming.
We greatly appreciate Texans' eagerness to get vaccinated. And we thank providers for their hard work to vaccinate hundreds of thousands of people already.
More Texas COVID-19 vaccine information: dshs.texas.gov/coronavirus/immunize/vaccine.aspx
Astronauts Jessica Meir & Drew Morgan Celebrate Nassau Bay's 50th Anniversary
Happy 50th Anniversary, Nassau Bay! Our citizens are so excited to hear from astronauts, Jessica Meir and Drew Morgan in honor of this very special celebrati...
Our 1st Responder Chiefs got their Covid-19 Vaccines today. (L->R) Tim Cromie-Police Chief, Shawn Doyle-EMS Chief, Tom George-Fire Chief.
Thank you Gentlemen for your dedication to our citizens, your depts, families and friends.
Thank You to Nassau Bay Baptist Church for hosting the Harris County Public Health Dept Covid-19 vaccine clinic for 1st Responders only.
Nassau Bay EMS provided the medical observation team in the post injection waiting area.
#modernavaccine #emsfirepolicenurses
#nassaubaybaptistchurch
#harriscountypublichealthdept
We remember Sergeant Kaila Marie Sullivan #7313.
Nassau Bay Police Department
Today is National Pearl Harbor Remembrance Day and we honor the 2,390 American lives lost during the attack on Pearl Harbor and the island of Oahu on Dec. 7, 1941.
Today we remember Sgt. Kaila Sullivan on what would have been her 44th birthday. Please take a moment this day to stop and remember her love for life and her dedication to the Nassau Bay community.
HAPPY BIRTHDAY KAILA!
Harris County Precinct 2
HAPPENING NOW: Today, #Commissioner #Garcia is dedicating the formerly known as Bay Area Museum to the Kaila M. Sullivan Chapel and Hall.
Sergeant Sullivan was a member of the Nassau Bay Police Department when she died in the line of duty in December 2019.
Have a Safe and Happy Halloween Nassau Bay💀🎃
In preparation for Tropical Storm Beta, the City has issued a Voluntary Evacuation Recommendation, especially for residents in low-lying areas of Nassau Bay.
Nassau Bay is now under Tropical Storm and Storm Surge Warnings. Beta is expected to stay a Tropical Storm, but could intensify to a Category 1 Hurricane before landfall. On its current track, Nassau Bay can expect elevated tides, tropical storm winds of more than 40 mph, and heavy rainfall of up to 20 inches total in some areas.
If you choose to evacuate, please do so early in the day tomorrow, Sunday, September 20. We expect tropical storm force winds to begin impacting Nassau Bay tomorrow evening, and rising water from storm surge is possible throughout the day.
To repeat, the City of Nassau Bay has issued a Voluntary Evacuation Recommendation, especially for low-lying areas. All residents are urged to continue monitoring future weather updates for Tropical Storm Beta. For more information, follow the City of Nassau Bay on Facebook or visit www.nassaubay.com. Thank you.
TROPICAL STORM BETA poses a heavy rain threat to southeast Texas. Beta's exact path is uncertain, but coastal flooding from storm surge and inland flooding from heavy rain is looking increasingly likely. The strongest winds should hold off from making it to our coast until Tuesday or Wednesday but we'll get the rain and coastal flooding as early as Sunday, and winds will be noticeably gustier as well, especially along our coastal communities.
This is the 9-11 Memorial we have in our front lobby. This is a support beam from the World Trade Center.
Each day we pass this on our way into work and remember those that rushed into those burning buildings to save lives, and as we leave after our shifts we remember all who didn't get to go home to their families.
We will Never Forget all the souls lost that terrible day.
18021 Upper Bay Rd
http://nassaubay.com
~2 ACLS equipped ambulances
*Medic 8 & Medic 81
~Lifepak 15 12Lead EKG Monitor
~Cpap
~EZ-IO
~Kingvision
~LUCAS
~Power-LOAD
Be the first to know and let us send you an email when City of Nassau Bay EMS posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.
View from what will be the new station's mezzanine.
Progress on the Fire/EMS station.
Xmas Boat Parade...
Time for the Christmas Parade!
Booondoggles and Kayak Rental Hut
Clearlake Park
Happy 4th of July Nassau Bay... 🇺🇸
1800 Space Park Drive Suite 200
NASA's Gateway Program
2101 E NASA Pkwy, Houston
Bay Area Houston Economic Partnership
18045 Saturn Ln, Houston
Nassau Bay Volunteer Fire Department
18295 Upper Bay Rd., Houston
1800 Space Park Dr
Space Center Houston
1601 Nasa Rd 1, Houston
NASA Astromaterials
2101 Nasa Pkwy, Houston
Windsor EMS, Inc.
1100 Hercules Avenue, Houston
Clear Lake Area Chamber of Commerce Young Pro
Clear Lake Area Chamber of Commerce
1201 E. NASA Parkway, Houston
Ibrahim & Elliott, LLP
1120 Nasa Pkwy, Ste 110, Houston
Ford Realty Group
League City 77573
Starport - NASA Exchange-JSC
EnerStaff, LLC
950 Gemini, Houston
Clear Lake City-County Freeman Branch Library
16616 Diana Ln, Houston
Other Government Organizations in Nassau Bay
Our thoughts are with the communities of City of Webster, Texas - Government and City of Nassau Bay, Texas after the passing of Mike Hayes, who worked as a 9-1-1 Telecommunicator and then Lead TCO since 2003. He also worked with City of Nassau Bay EMS since 2005 - 2020. Mr. Hayes, was very dedicated to emergency communications and public safety. RIP Mr. Hayes and thank you for your service. Webster Police Department
Congratulations to City of Nassau Bay EMS Paramedic JJ Valdez for being selected as the Space Center Rotary Club's Paramedic of 2021. EMS Chief Shawn Doyle nominated JJ for his excellence in patient care and community involvement. "JJ has been serving the citizens of Nassau Bay for seven years, always advocating for the sick and injured," Doyle said. "JJ was on duty for the four days of Harvey and stood by prepared to respond to the storms that skirted us by in 2020. We at Nassau Bay EMS are honored that JJ Valdez has chosen to serve our citizens and visitors."
National EMS Week (May 16 - May 22) May 16-22, 2021 is the 46th annual National EMS Week. Founded in 1974 by President Gerald Ford and continued by The American College of Emergency Physicians (ACEP), EMS Week is dedicated to the celebration of Paramedics, EMTs, and the entire EMS workforce for their contribution to the health and safety of the community. Not only is this week a celebration of EMS professionals, but it is also a time to raise awareness about the critical role of Emergency Medical Services. The theme for this year's EMS Week is: This is EMS: Caring for Our Communities and each weekday hosts a themed day in which first responders are encouraged to participate. These days include EMS Education Day, Safety Tuesday, EMS for Children Day, Save-A-Life Day (CPR and Stop the Bleed), and EMS Recognition Day. If you have time, be sure to stop by the Nassau Bay Fire and EMS Department and say hello to our knowledgeable and friendly EMS personnel. Thank you, City of Nassau Bay EMS!
Nassau Bay PD, Nassau Bay EMS and Nassau Bay VFD are currently working a hazard material incident in the 18100 block of Point Lookout. Nassau Bay emergency agencies are being assisted by additional departments with the Regional HazMat Response Team. The 18000 block of Space Park, between Point Lookout and Saturn Lane is currently closed for staging of the emergency response units. At about 9:15 am, Nassau Bay EMS and Nassau Bay PD responded to a reported fatal overdose at an apartment in the building. While investigating the death, officers and EMS personnel learned there was a possibility of Fentanyl being present in the apartment. Because of the highly toxic nature of Fentanyl, personnel evacuated from the apartment and contacted HazMat crews to the scene. HazMat will stabilize and decontaminate the scene and remove any dangerous substances. Officers will complete the death investigation once the scene is safe for entry. All personnel at the scene are also being monitored and examined at by EMS and HazMat at the scene for any possible exposure. City of Nassau Bay, Texas Nassau Bay Volunteer Fire Department City of Nassau Bay EMS
The City of Nassau Bay is celebrating National Employee Appreciation Day! Nothing would be possible without this group of men and women who work hard every day for this wonderful City. Thank you! #ilovenb #employeeappreciation Nassau Bay Police Department City of Nassau Bay EMS
Here is a some help for when the littles start asking about Santa and when he is arriving. City of Nassau Bay, Texas Nassau Bay Volunteer Fire Department City of Nassau Bay EMS
A huge "Thank You" to the paramedics who transported my wife to the hospital earlier this evening. We couldn't have asked for a quicker response time and care. Luckily the doctors determined the cause of the problem and she will be ok.
A peek inside the City of Nassau Bay's Emergency Operation Center(EOC). The EOC has been activated since Sunday morning and manned by City Staff, Public Safety, EMS, and Nassau Bay Volunteer Firefighters. Thank you to all of our Volunteers who have chosen to weather Hurricane Laura with us. Nassau Bay Police Department City of Nassau Bay EMS Nassau Bay Volunteer Fire Department We are standing by! Stay tuned for a live interview with Nassau Bay's EOC Team Members.
This week is National EMS Week (May 17th - 23rd)! #EMSWeek brings together local communities and medical personnel to honor the dedication of those who provide the day-to-day lifesaving services of medicine's "front line." The important contributions of EMS practitioners in safeguarding the health, safety and wellbeing of their communities should be fully celebrated and recognized. To our City of Nassau Bay EMS - Thank you for serving our City!
In 1962, President Kennedy proclaimed May 15th and the calendar week in which May 15th falls, as National Police Week. #NationalPoliceWeek pays special recognition to those law enforcement officers who have lost their lives in the line of duty for the safety and protection of others. Next week is National EMS Week(May 17th - 23rd). In 1974, President Gerald Ford authorized #EMSWeek to celebrate EMS practitioners and the important work they do in our nation's communities. In celebration of both Police and EMS Week, the City of Nassau Bay has chosen to express our appreciation and thanks to all of our First Responders - Police, EMS, and Fire. Nassau Bay Police Department City of Nassau Bay EMS Nassau Bay Fire Dept. This week, next week, and all the weeks to come... THANK YOU!
https://1plusmovers.com/moving-leaders/ Us, moving leaders. You, leader. Loyal. Hardworking. Trustworthy. Notably, a team player that likes luxury. 1+MOVERS = EASY! (832) 323-EASY! 1PlusMovers.com (832) 323--3279 BOOK YOUR MOVE BY: Call Text Live Chat Email FaceBook Google Maps City of Nassau Bay, Texas Nassau Bay, Texas Nassau Bay Police Department City of Nassau Bay EMS Nassau Bay Garden Club Nassau Bay Farmer's Market AERO on Upper Bay Apartments Voyager at Space Center Nassau Bay Fire Dept. Nassau Bay Baptist Church Chick-fil-A Nassau Bay
ICYMI: At the December 9th Council Meeting, City Council unanimously approved the naming of the Fire & EMS Station to the "Tom George Fire & EMS Station." Tom George is Nassau Bay's Fire Administrator and serves as the Volunteer Fire Department Fire Chief. He has been with the City since June 2008 and spent numerous hours ensuring the City's new Fire & EMS Station was built properly and within budget. Congratulations, Tom! Nassau Bay Volunteer Fire Department City of Nassau Bay EMS
We will notify you when anything happens in Nassau Bay.


Instructors: Gino Aisenberg, Ph.D., M.S.W. and Saejin Kwak Tanguay M.Ed.
Saejin Kwak Tanguay is a Ph.D. candidate in Multicultural Education at the University of Washington's College of Education. Her research focuses on how educational contexts impact cross-racial and cross-ethnic relations among students, and how these peer relations impact the educational experiences and trajectories of historically marginalized populations. She is interested in how policies and their implementation, curricula, and pedagogical practices can create contexts that encourage cross-racial/ethnic friendships and coalition building.
What does the course offer? Engaging with Microagressions & Macroassaults: Equity in Praxis is unique in that it offers an explicitly interdisciplinary space for faculty, staff and graduate students to talk about equity and justice. For some, this course fills a much-needed gap in the curriculum of their respective departments. For others, it is a chance to reach across disciplinary boundaries to access other perspectives while sharing their own. This class offers participants the opportunity to build community with others who care deeply about these issues and are invested in making our campus, our city and our world a more equitable and just place.
How does this course create change? Disciplinary and departmental lines can be hard to cross. It is rare for someone in the social sciences to cross paths with someone from the laboratory sciences, for example, let alone have meaningful conversations with them about equity. This course helps build bridges across departmental lines and integrate these networks: thus allowing people to better harness the resources, knowledge and diversity of perspectives each individual brings and use this knowledge to build coalitions for change.
What is Praxis? Praxis is just a fancy word for "practice" that results from critical reflection and contains the explicit goal of transformation. Without praxis, social change and transformation cannot happen. This course will provide the space for this type of critical reflection, and help participants strategize for how their personal and professional lives can be oriented towards transformation of unjust structures, practices, and interactions.
Be sure to check here for more information about the course!
This course series is centered in the diverse and common experiences, strengths, and needs of multicultural and marginalized communities. Through participation in varied activities, including readings, guest presentations, facilitated discussions, small group work and other dynamic learning we will gain 1) a deepening critical understanding of historical and structural factors that perpetuate oppression and exclusion, including privilege, and transgressions and microaggressions and 2) skills of engagement and dialogue to promote inclusion and justice.
Engaging Jim Crow Education: Who is Allowed to Learn and Why?
Speaker: Dr. Joy Williamson-Lott, professor for History of Education at the University of Washington's College of Education and Associate Dean of Graduate Programs.
Panelists: Graham Pruss, doctoral student studying Sociocultural Anthropology in the University of Washington's Anthropology Department, and Pat Lemus, manager of the King County Veterans Program.


text:
Q: SwiftUI Menu with label an image and a text
As you can see in the image I would like to put the photo inside that drop down menu where it says Paul.
I tried to insert it but I get a strange effect, it happens that the image takes up all the space, you can't see the text anymore.
Can you give me a hand?

import Foundation
import SwiftUI

struct RemoteImage: View {
    private enum LoadState {
        case loading, success, failure
    }

    private class Loader: ObservableObject {
        var data = Data()
        var state = LoadState.loading

        init(url: String) {
            guard let parsedURL = URL(string: url) else {
                fatalError("Invalid URL: \(url)")
            }

            URLSession.shared.dataTask(with: parsedURL) { data, response, error in
                if let data = data, data.count > 0 {
                    self.data = data
                    self.state = .success
                } else {
                    self.state = .failure
                }

                DispatchQueue.main.async {
                    self.objectWillChange.send()
                }
            }.resume()
        }
    }

    @StateObject private var loader: Loader
    var loading: Image
    var failure: Image

    var body: some View {
        selectImage()
            .resizable()
    }

    init(url: String, loading: Image = Image(systemName: "photo"), failure: Image = Image(systemName: "multiply.circle")) {
        _loader = StateObject(wrappedValue: Loader(url: url))
        self.loading = loading
        self.failure = failure
    }

    private func selectImage() -> Image {
        switch loader.state {
        case .loading:
            return loading
        case .failure:
            return failure
        default:
            if let image = NSImage(data: loader.data) {
                return Image(nsImage: image)
            } else {
                return failure
            }
        }
    }
}

struct Test: View {

    var body: some View {
        VStack(alignment: .trailing){
            Menu {
                Button(action: {
                    NSApplication.shared.terminate(self)
                }) {
                    Text("Esci")
                }
            } label: {
                RemoteImage(url: "https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Leonardo_Dicaprio_Cannes_2019_2.jpg/440px-Leonardo_Dicaprio_Cannes_2019_2.jpg")
                    .aspectRatio(contentMode: .fit)
                    .frame(width: 20, height: 20)
                    .cornerRadius(10)
                Text("Paul")
            }
            .menuStyle(BorderlessButtonMenuStyle())
            .frame(width: 80, height: 16)
            .padding(3)
            .cornerRadius(4)
            .help("Impostazioni")
        }
        .frame(width: 360, height: 360)
    }
}

redpajama_set_name: RedPajamaStackExchange