text:
Today on Churn.fm we have Bob Moore, serial entrepreneur and the co-founder and CEO of Crossbeam, a platform that helps companies find overlapping customers and prospects while keeping the rest of their data private and secure. Bob was also the founder of RJ Metrics and Stitch, two data analytics startups that got acquired by Magento and Talend respectively.
In this episode, Bob shared his experience on how his company's churn rate affected their acquisition value, how partnerships can be a powerful tool to fight churn, and why he decided to build Crossbeam.
We also discussed why Bob considered RJ Metrics exit as a $2.6 Billion fail, how better product positioning helped them decrease churn, and how a change in your customer mindset can affect your product-market fit.
As usual, I'm excited to hear what you think of this episode, and if you have any feedback, I would love to hear from you. You can email me directly on Andrew@churn.fm. Now enjoy the episode.
How Superhuman Built an Engine to Find Product/Market FitHow to Stop Channel Conflict and Tech Partner Conflict
The Gene: An Intimate History
RJMetrics
My $2.6 Billion Ecosystem Fail: An RJMetrics Post Mortem
How important was churn on Bob's previous acquisition experience 00:02:23
How Bob's experience in motivated him to build Crossbeam 00:07:23
How partnerships can be powerful to make customers more sticky with churn and retention 00:10:38
Power dynamic in partnerships 00:18:54
Bob's $2.6 billion mistake in his previous startups RJMetrics 00:21:54
What Bob would do to turn around the churn situation in a company 00:26:30
How better product positioning helped RJMetrics to decrease churn 00:29:29
How the change of customer mindset can affect your product market fit 00:30:58
Hi, Bob. Welcome to the show.
Hello. Great to be here.
Thanks. It's excellent to have you on board. I noticed a really interesting post that you put up on Twitter, which I'd recommend everybody go check out around RJMetrics and a mistake that you believe you made at the time. But for the listeners, Bob is the co-founder and CEO now of Crossbeam, a collaborative data platform that helps companies build more valuable partnerships. They act as an escrow service for data allowing companies to find overlapping customers and prospects with their partners. Welcome The rest of the data private and secure. Prior to Crossbeam, Bob was also the CEO and co-founder of RJMetrics, which was acquired by Magento in 2016, and is now part of the Adobe commerce cloud, where he continued on his Head of Magento business intelligence for a while before spinning out a new company called stitch as part of the deal. Stitch was then later acquired by Talend in November 2018. So my first question for you, Bob,is churn and retention must have been a central focus for you throughout your various ventures. How important was churn during the acquisition discussions?
Oh, it was fundamentally important. I would say that churn, especially in the case of RJ metrics was probably one of the most focused on topics at the board strategic level all the way down to the day to day tactical level throughout pretty much the entire life of the company. And it was probably one of the larger things that throttle the growth of that business over the years and In the case of Stitcher, it was almost the opposite, where we had a super sticky product where revenue very naturally had a growth path through people's usage of the product. And, you know, we had we had negative churn throughout the life of that business. So, yeah, it's it's part of the lifeblood of doing this work is working in around retention and churn.
Yeah, maybe you want to just give us a quick overview of RJ metrics and stitch and why you think the two differ when it came to churn and retention.
Yeah, so RJ metrics was a data analytics platform, we sold mostly to e commerce companies. So we would help those companies identify things like customer lifetime value, conduct cohort analysis, really basically figure out who their most valuable customers are and how to get more customers like them. And RJ was we sold into marketing departments and we were very much kind of your one stop shop for analytics. So we plug into your shopping cart and then you know, do our Our number crunching and spit out these dashboards that would give you kind of some best practices analytics, and then maybe some more pointed analysis around potential action items and things like that. So very much a, you know, used by people in the go to market organization kind of dependent upon or downstream from your shopping cart or transactional data. And stitch was much more like a data infrastructure product. So we helped people in their journey to answer a lot of the same questions. But instead of being a one stop shop, or this big, monolithic platform that kind of did it all, we basically just helped Connect tools to each other. So for example, you can use stitch to pull data out of your Magento shopping cart, and drop it into your Amazon Web Services, Amazon redshift data warehouse, and stitch would be very good at making sure that data got synced on a regular basis that it was always accurate that it was structured the way you want That, you know, either sides API's change, we would, we would make sure that that got addressed very rapidly kind of save you the trouble of building little scripts to move data around or data pipelines. But we didn't actually do the analysis, we left that to companies that we were partnered with, like, like Looker and, and the like. So basically, the big difference if you really dial it back and you know, forget the vertical we're in and everything is that RJ metrics was a giant, multifaceted software product that solves a lot of problems in one for the purpose of giving you a very specific output. Whereas stitch participated in a large ecosystem of products and help tie those products together to get basically the same output but giving customers a lot more control over the tools they use for each step of the job.
And make some sense to us. And, by the sounds of this one sounds like very user facing front facing when it comes to our gym metrics and then stitches more sort of like Quietly working in the back end and Thomas like maybe a set and forget sort of thing like once you've done it you should can relax about it as opposed to something that you constantly saying, Is that correct or?
Yeah, that's fair. I you know, I think I said in that blog post, you know, stitch was all ecosystem no glory, right. I mean, we're, we were the plumbing business with that company.
Yeah. But when you say no glory, I think one of the greatest things I found actually with stitch was how incredible the SEO work was. Like having the business intelligence team busy building it out for them. And every time I would search sort of a specific topic, like there would be a stitch post for it, or there'd be a stitch link explaining how to get it done, but then also like hinting towards its teachers and does this for you. So I think there was you said, no glory, but you definitely came up everywhere.
Yeah, it was a fun business for that stuff, because we were able to because the nature of the business was connecting one system to another, every single permutation of anything. Systems was kind of its own unique topic you could talk about. So the long tail search dictionary for that business was enormous. And that just gave us the opportunity to build probably more content marketing assets than any other company I've been at.
Yeah, super interesting. And maybe even something I want to reach out to, like, push on at the end of the show as well, just something for us to think about it. So then you went on now and you founded crossbeam, as well. did sort of like your experience when it came to train and retention from both these previous company sort of motivate you in any way to founding crossbeam? Like had that have any influence in what you're building today?
Yeah, kind of on two levels. One because I wanted to obviously create a product that had that stickiness and that value growth like we saw at Skitch. And I think that was a big input to choosing, you know, which idea to work on and ultimately landing on crossbeam. But then there was almost this other level to it like that. A level where Crosby was actually a product that by using it also helps companies increase the stickiness of their products and make those products more valuable. And it does that by basically helping create a go to market layer, which includes retention and account management. On top of all these technology integration is that everybody is building. You know, when you build a tech integration, or you open up an API to your platform, you end up basically opening yourself up to that enormous partnership ecosystem that exists out there especially we see this in b2b SAS right now. But what happens in a lot of companies is that that's very much a product or a technology decision. And the actual the sales teams, the retention teams, don't think of that as an opportunity to actually directly drive more deals or increase retention or create more value that might allow for account expansion or Growing ACV, but in reality, it's probably one of the most powerful and underutilized weapons at the disposal of those teams. They just don't have the data and the basic that the systems to run and scale all those operations. So what cross beam does is allows you to work with your partner companies where you do have these tech integrations and other partnerships. And systematically, it's scalable identify when, for example, your sales pipelines overlap, or when maybe your target account list overlaps with the customer list of one of your close partners. And by identifying these things in a safe, secure, trusted environment, where you know that the rest of your data is kept completely private, you can actually build systems and actions around these overlaps, that let you make sure that you never miss an opportunity to upsell a tech integration or you never make the wrong decision about what to hook into your products next in terms of where you make that that integration investment or Never miss a deal where your sales reps and the reps from a company that you're close with could be collaborating and helping each other win. And that's at the core of all of that is create more value make your products more sticky, all as a result of collaboration through through partner ecosystems. And I think that's tied directly into churn and account expansion. It's a big part of that story.
Yeah, that's super interesting as well, like just thinking about the different use cases of having the knowledge and having those interests you mentioned sort of like retention team customer success, potentially having that knowledge, being able to put together webinars and training sessions. And I think the use cases become very, very interesting. The, the topic of partnerships itself hasn't really come up much on the show, but I do believe it is a very, very valuable channel and a good way to sort of make your product more sticky and sort of sort of embed yourself further into the users workflow. Do you want to just walk us through like some of the things you see when it comes to general attention and how powerful partnership can be in integrations.
Yeah, I think when you think about churn problems, in almost all cases, they amount back down to problems with product market fit. You know, there's been a failure to deliver on whatever the promise was that people signed up for your product within the first place. And in a lot of cases, that is because where the intersection of their needs and your offering has been created, the the overlap there just isn't high enough to create the kind of value that they need to justify the expense. And, you know, in potentially competitive situations, there's there's another option out there that they think like, or that is able to make that ROI calculation a little better. But at the end of the day, building something that is a force multiplier for your clients, and that creates value for them is the number one hands down thing you can do to reduce churn and to increase the size of accounts that you have. So when we think about partnerships through that lens. The question is how can a partnership actually increase product market fit? And the answer is really fascinating because it works on both sides, it works in terms of helping on the product side and on the market side. on the product side, it basically allows your products to become more sticky by hooking it into the fact that they're using other products. So you know, you can imagine, if you had a partnership with just a, you know, maybe example of a company, everybody knows slack. So, you know, it's one thing to have a product that creates a lot of value for your customers. It's another thing to have those customers also inside of the context of slack, be running a slack integration or slack bot that allows them to interact with your product and extract value from it in that environment. You know, when when you have that kind of integration, it not only makes your product more valuable because it's it's where your users already are but it also makes slacks product or valuable Because inside the context of that environment, it's yet another way that people are extracting value for slack. So inherently by doing that, and by having an integration like that one, both sides are benefiting because it means that if someone stops using Slack, then they're going to miss out on a way they're getting value from your product. And if someone stops using your product, they're going to miss out on one of the ways they're getting value through slack. And what happens is you get this rising tide lifts all ships, mixed metaphors, you get one plus one equals three situation where it is this bi directional value creation that is really profound in nature. And that just makes products more valuable and more sticky. So anyway, that that's the product side of the product market fit right now. It's really kind of core to how retention gets driven through collaboration and partnerships. on the market side, you have this opportunity to actually do business development and have the people that are out in your revenue funnel so that means your sales People, your customer success people, your account managers, even your marketers, be enabled by the existence of partnerships as well. And where that comes into plays in the motions that these people actually go through in the process of winning deals, and also, you know, to address churn, kind of focusing on account management and growing accounts. So, with the help of a tool like crossbeam, for example, suddenly your teams are able to know, okay, we've built this tech integration, we know that it's valuable and that it makes each other's products more sticky. But how do we know that everybody who could be using it is using it, like you can look at your product data and know that 50 people have the slack bot installed or whatever, what you don't know is whether or not there's another 500 people out there that already use both of the products but just don't have that integration with them. And historically, there's no way to figure out that overlap without oversharing like one side or the other has to give up their whole customer list in order for the other side to do the math and find their overlapping customers. But with something like a crossbeam sitting in the middle, I was acting like an escrow service for data, you can answer that question, how many customers do we have in common? Who are they without needing to worry about the rest of your customer list making it through to the other side. And that could be a tool that gets used by folks that are trying to do account management to, you know, drive the install of different integrations to make the product more sticky. to basically place yourself in that ecosystem where that value that we talked about on the product side actually gets realized. So what's cool about partnerships is really they make products more valuable, and they make markets more actionable, and they unlock emotions for your sellers and your retainers to go and take. And that I think makes it uniquely powerful in the world of just making your revenue
grow. Yeah, I love so much of what you said now, and maybe we can start to unpack a bit of it. So the first part of think which is really interesting, sort of aside the concept of product market fit and how to sort of strengthen that product market fit you have. And I think one of the interesting things as well, that you're touching on is unlocking and enabling multiple new use cases for your product or service by making having a power up of that sort of one plus one equals three. And I think this is something as well, that's heavily undervalued. I think when it comes to general attention of really like, it's one of the most powerful leavers as well, when you can is making an unlocking new use cases. Because if you have a company or a user, using your service in multiple different ways, they become more and more reliant on you for the service. And you gave the example of slack. And I think, ultimately, every business out there today is making slack more powerful when you think about the number of partnerships and integrations that are being built there. I found that very, very interesting. And then the second part was the market side as well. I think that's also a very important thing. And I think one thing you said, which was key was not only like, Where's the overlap, but who are these customers that overlap because that can also be a powerful nicad attendance, okay. Is this something we should really building? Do these people fit in Todd, your customer profile that we have this overlap with? And then if yes, I mean, that should be highly prioritize integration that you start working on. Yeah.
Another example maybe that might just really resonate given the rest of our conversation is, if you think about two companies, like stitch and Looker, for example, as partners, so think about what stitch does helps the day to get where it needs to be. You think about what Looker does sits on top of that data and provides the ability to analyze it. The cool thing about stitch is that product market fit is very real, right? Because if you get rid of stitch other things break, like if you remove stitch if you turned off of stitch, but it was the thing, putting data in your data warehouse, all of a sudden, Looker, which is sitting on top of your data warehouse doesn't have fresh data anymore. And that's like the embodiment of right but like making something so sticky that it cannot possibly be removed is that it's in the value chain. It's actually In that best in class stack such that other products depend on it. And it depends on other products, and it was almost impossible for people to remove. And then on the market side, what we saw was, you know, Looker, which is this wildly successful business intelligence company would go out and would be selling deals. And sometimes their potential customers didn't have the right data in their data warehouse yet. So part of them actually closing a deal and then figuring out how to help them get the right data there. And lo and behold, a great option for them was to introduce them to the team and stitch it to say, hey, stitch will solve this problem for you. So you kind of open up this co selling motions co selling channel between these companies that extensively don't even have a direct tech integration to each other. They both just kind of have the middle. Now, the warehouse has the middleman. But you get this real embodiment of what I'm talking about in that in that case,
absolutely. The one empowers the other to get the job done. I think it's also very interesting from that perspective, and sort of like what you mentioned, now is the And I think this is definitely a theme that's come up on the show, like when speaking to people that really turn wasn't such a big issue. It was tended to be those products or services were really, it was a vital part of a workflow there was very, very difficult to be removed. So like in the case of stitch, as you mentioned, like, if you remove stitch, things start to break. Whereas on the flip side, when we think about something like maybe like RJ metrics is that you could remove our geometrics and replace it with something else. And then the switching costs wouldn't be as high and things wouldn't necessarily break. You might have less information, but it's not doesn't mean that you don't have information. So how much of this do you see with customers as well, like the example that you gave now of stitch and look like with your platform that you will know the crossbeam? Like, do you see that there's this power dynamic quite a bit in partnerships where the one is really feeding the other and do you sort of see this as a way as a bargaining chip for companies?
Yeah, it's it's interesting. Because you can obviously name cases where you've got a partnership in one parties, it's significantly bigger than the other. But I would actually say in the majority of our the use cases for customers, that value creation is really, truly bi directional. And I think the reason that it works is because in the case of a big company helping a smaller company, the value is self evident, right? The big company commands a lot of power and attention and influence in network in their ecosystem. And then bestowing some introductions or collaboration on a smaller company is a very easy thing for them to do and an extremely valuable thing for smaller company, when it happens in the opposite direction. It's not necessarily that that one small company can, you know, really move the needle for the bigger one, but it's the fact that there are in some cases, hundreds, if not thousands, of small companies that in aggregate actually represent an extremely powerful and sizable contributor of value innovation. You need backup to the big company. So when you when you look at companies like Salesforce or like HubSpot, or like Slack, and you look at their app stores or their app ecosystems, what you see is a really, really long tail of companies that have a lot of cases, you know, look at the bottom 50% of the companies in there, and you probably never heard of any of them, but they're all real. And they all make those products be days Slack, HubSpot or Salesforce more valuable and more sticky. Because when these these little specific tools get installed, it means that the place where people are going to interact with them is actually those core platforms. And because of that, the big players, the slacks, HubSpot and Salesforce to the world, they love those ecosystems, they cultivate them, they invest in them, they back these developers that are working to build these integrations, because they know the impact that it has on churn and retention. So that the value is really bi directional. There's the shape is different.
Yeah, and I think this is touches on a little bit about the blog posts that I mentioned earlier in the show. So For the listeners is something I think you can find it on Twitter on Bob's account at the moment. And it's it's titled My 2.6 billion ecosystem fail. And RJ metrics post mortem. And I think like the central of the topic is all around it was ecosystem is everything. JOHN to talk us through a little bit about sort of why you believed you made this mistake and how ecosystem is everything?
Sure, yeah. I think the the root of the reason RJ metrics didn't sell for $2.6 billion, but our largest competitor did was just kind of the thesis of the article. The biggest input to that after having some time in some business to look at it is how extremely closed off we were to letting the value that we created flow into other systems and make other products more valuable. I think that we were we were not a hub where data Kind of, you know, float in and float out. And everybody benefited like what we've been talking about in the rest of this episode, we were more like a terminal. We kind of, you know, we pulled in your data from various sources, we would analyze it for you. But it was kind of like where your data went to die, you know, you got our charts out. And that was it. That was your consumption point. And because of that, there just weren't that many other people outside of the people that, you know, collecting paychecks from us. And we're on our team who were motivated to get our product in the hands of their customers in their ecosystem. The fact that somebody used RJ metrics didn't really help anybody except RJ metrics and the customers of our geometrics. And because of that, we basically shut down this entire potential growth Avenue, which was a big universe of partners, that could have been a larger force multiplier and megaphone for our messaging than anything we ever could have done internally. But I think it was something that was just not not part of the picture. It was because we took with too big of a bite on the technology side and tried to own too much of that technology stack as opposed to playing nicely with other players where the data could have, you know, lived or moved or Urban Health. So I, if you look at Looker, on the contrary, you know, Looker decided to take on a very specific part of that stack. In some ways. Looker was one third of the product that RJ metrics was from a comprehensiveness standpoint, because they didn't bother trying to build their own data pipelines. They didn't bother trying to build their own data warehouse. They just were really, really good at business intelligence. And they partnered with everybody for for everything else. And what that meant was two things. One, they built a better business intelligence product, and we did because they could focus all their energy on it, and to they had an army of other companies. In addition to channel sellers and resellers and system integrators and other folks who were out there beating the drum saying lookers amazing, and that provides this ability to scale exponentially that we just never talked to. And I think those things really compounded. You know, again, it's the product market fit thing, right? They had a far better and wider product market fit, because the product was better. And because the market was more able to disseminate that product due to their work in the ecosystem. So you know that when I say that it was a kind of ecosystem fail on our part. That's why and then when we got the stitches when our eyes got open to really how real that was, because ironically stitch our next company was a big liquor partner, liquor went from being our worst enemy to our best friend pretty much overnight, because we were, we were playing a different game, and we play that game. You know, we grew faster, we got more sleep at night, and you know, we ended up having a much more lucrative outcome. So that was that was the lesson learned. I think
It definitely, it feels like it's a trend of the time as well. Like if we think about the sort of this concept of walled gardens with ad networks now like getting big kickback and backlash and people wanting to have a little bit more country control over the data and not being locked into sort of a specific system. And in the case of maybe our geometrics is your sort of locked in to the system with the data and with the opposite look at being able to have the flexibility to plug and play and pulling data from every people are really looking now for this not to be tied in not to be held down and to have more control over the data ultimately, of how they use it, how they store it. So it's an interesting one. So next up, then I it's a question I ask everyone on the show, and I'd love to have your input on it as well as let's have a hypothetical scenario now that you start a new role a new job at a company and Turner retention is not doing well at all. And you've been tasked now to turn things around for the company. You've been given three months and they want to see results. What would be some of the first things you would do within those first 90 days?
My guess would be that if it has not historically been a priority that there's a lack of data readily available to really paint a little bit more of a story around what's going on. And I think a lot of people with churn when they think about data, they think about, you know, let's let's build a dashboard or do a cohort analysis, just look at like the numbers. But I actually think, like, the more time goes by the more, it really rings true for me that churn issues, again, are issues that are way more fundamental. They're way more at the product market fit level, they almost feed up from, like the core vision and positioning of the company. And I think the data that can help support that or help build a case around what to do about it is much, much less structured in a lot of cases. Then just looking at a bunch of transactions and trying to do a cohort analysis of you know, who's turning off from what cohorts so honestly, my answer would be get on the phone with as many customers as possible. Happy ones, unhappy ones, ones that have turned. And if possible, try and scale that data collection in the form of a, you know, current and past customer survey and create some incentives around collecting that data. And I think really, what you would try to do there is collect a large enough number of data points that you can really put some trend lines together, kind of doing like the five wise style of questioning, right? Like, okay, why did you turn? Well, we went to a competitor, but why did you go to a competitor? Well, we thought they would give us more value. Well, why are you getting more value? Because they had this feature that you don't Well, why is that feature important to you? And you keep digging down? And ultimately, I think you do unavoidably make your way down to either a product issue or a market issue. Market issues could be things like pricing being way out of whack, or something about the positioning or who you're selling to, or some execution failure on the part of the delivery team, but more often than not It's a product issue. And what you'll actually get down to is the fact that, you know, there's confidence was lost or faith was lost in the product for some reason, and they didn't believe that they could get out of the set of issues that they were in. And they thought the best course was just go elsewhere or to have nothing at all. So long winded answer. I don't know if this was supposed to be the lightning round. But I think what I would go do is collect data and I would just talk to as many customers as humanly possible.
Yep. And I think what you're saying now, as you're going back to sort of the core of it and really challenging like, does this company have product market fit yet another it's a problem with product or to problem with the market. I find it very interesting as well, that you touch on the market as well coming being like a very heavily data driven background as well in your past building these different startups. But really, always it comes down to the very beginning of like, do you have that product market fit and potentially there's a problem with your positioning people not understanding what your product is? Maybe overselling it and under delivering like, or like you said, on the product side that really lacking that confidence or lost it somewhere along the way, and not really fulfilling the use case that they intended to.
Yeah, or selling into the wrong market to I mean, we learned this at RJ metrics where we initially we were kind of trying to sell it, like anybody who had a website could be an RJ metrics customer. And for her, it was really bad. But when we did an analysis of our term by vertical, we found that when e commerce it wasn't bad at all, but it was actually really healthy business we had going in e commerce. But we were also trying to sell to SAS companies and gaming companies and publishers and tech companies and all kinds of other stuff. And the churn was brutal in this vertical. So by the time we we got acquired at argit, we had almost entirely narrowed the scope of the business into e commerce, and it made a pretty drastic impact on the reliability of our revenue. And I think is a main part of the reason why we were such an attractive target for magenta, which is obviously an e commerce only player. Yeah,
and I think that's actually a very, very Interesting point, I think it's something that is not looked at enough in the sense that if somebody looks okay, we have a term problem. And they're just looking at the high level like aggregated data. And yes, okay, if you're looking at the numbers like that, you can see the geometry and sometimes more often than not, if you really start to look down and break down your different segments and trying to understand who are these customers, and what does our successful code look like, you can definitely sort of be able to pick up either an industry or a specific demographic or some customer traits that can then go help you out and find more of those customers. What led you to the sort of point we selected? Let's sort of double down on e commerce sec. What was the research or what was the process look like when in order to make that decision?
Yeah. A lot of kind of my answer to the last question came into play here where it's one thing to just look at, okay, turn by vertical, right. And that's something you can do in a dashboard without talking to humans. It's another thing when you go a little deeper and you get to asked the question of why did you turn. And I think what we saw was not just that the churn rates were higher in those other verticals, but that the reasons for churning were different. And in a lot of cases, what was happening is that people were just leaving, not just RJ metrics because they didn't like the product or didn't get valuable because they had a mental shift in how they wanted to solve this problem, like a fundamental thing where even if RJ metrics was a perfect product, but knocked out of the park and did everything we said we were going to do for them, they still would have left because they didn't want big monolithic solution. They wanted to buy a data pipeline product of data warehouse and a business intelligence tool and stitch them together themselves. And in that case, we were just not compatible with the market that we were in I think for for b2b SAS companies we were selling into this was really probably the most pronounced the reasons people were leaving were not reasons that we can fix without basically starting an entirely new company was it without ironically is pretty much What we did with with stitch but but for that vertical, I think we just had to shut it down because there was no there was no path to success. Whereas people that were turning in e commerce, they might have turned because they wish we had they were migrating to a new shopping cart and they wish we had an integration for it. Or they found themselves doing more work in Excel and NRJ. And we built some Excel like features and we can address it like that those are iterable incremental products, fixes that can make things better. But in those other verticals, the reasons for turning were so existentially deep that they were on addressable. And that's why we left those verticals.
That's very interesting. And it touched on something as well similar to what we've previously discussed. Is it also that people maybe in the beginning when they come to to solve a specific problem, your product might meet that need to begin with, but then as they start to understand the problem better and understand their business better. They start to realize that potentially this product or service is not what I was actually looking for an alternative. Was this something that you also saw geometrics where people would initially come to you They were meeting their needs. But then as maybe they became a little bit more sophisticated or their game to grow and understanding what they were actually looking for. Then that was at a point in time where you might have initially had that product market fit, but that markets, product market fits definition started to change as well.
Yeah, I think this comes up, it didn't happen in RJ and I would say it came up probably the most when the idea of data and big data was really at like the peak of the hype cycle. So there was a point in time there were just the word of the day was data and anybody who is in a, you know, in a business that isn't focused on their data is missing out. And obviously, that's become kind of conventional wisdom today, but there was a point where there was hype around it, like in the way that like blockchain and AI are kind of the the buzzwords of the day, you know, at the moment. It was big data and data that kind of captured that Zeitgeist, you know, in that era, you know, 2012 to 2014 ish, so That was great for us because we did data, kind of broadly stated, if a company at large felt like I gotta get in on this data thing, or I am failing, because I'm not doing something in the world of data, we were definitely a way to check that box. But, and we got a lot of leads that just came to us and said, my boss told me we need to be doing more with data. So here I am. But the problem was those people while we could get them on board and close deals and collect some dollars from them, they insured at an inordinately high rate. Because once we gave them the data, which was exactly what we pitched them executives that we were going to do, they had this now what question because they had not operationalize their company in a way that they can actually use the data to do anything, you know, to make decisions to enact actions to change behaviors to influence workflows. They didn't do any of that. They just went on that, you know, a great hunt to invest some money in something and Jason's data and the data wasn't Hot buzzword anymore. They weren't buying our product anymore. And the onus really fell on us to make sure that they could operationalize our outputs, which was kind of different than what our core product was, which was kind of like, we're going to give you the answers to your questions, and then you gotta go, you gotta go run your own business with that information.
It was a challenge for real, and just kind of a scope creep of what our responsibility was. Yeah,
it's interesting. I think this came up with episode of Elena Dorfman segment, which I think is maybe competitive, just stitch in some ways. But they also realize similarly that that was a challenge for them. And they actually added friction to the onboarding process, to ensure that the business sort of goals are aligned that a good understanding what they were trying to achieve before they actually went out starting to implement and roll after tool or service. So
yeah, there are there are very smart company. We're big fans of those, folks.
Cool. So you've done this now a few times, built a couple of very successful companies and now you're on to crossbeam what would be one piece of advice that you would give to an entrepreneur starting out now when it comes to sort of building a company that's going to retain customers.
Yeah, I think it really is the old like, know the customer adage, and get in the room with them spend time. You know, even when it feels like you know what they're going to say, I guarantee you can have, you know, a 30 minute jam session with them. And you'll come out of there with things that that were not on your mind before. Like, really customer driven development, customer influence roadmap, no matter how strong your vision is. There's nuance there that I think without customer empathy, you're you're going to, you're going to stumble. So that's that's rule number one for me. Why? Because your customers ultimately are the be all end all of whether or not they get retained on your platform and the things that are on their mind. are the things that are potentially connected to all the decision making triggers that might exist for them whether it is meeting a budget for that quarter hitting a goal for that quarter, some other abstracts emotional issue or political issue that's going on. And having visibility into that not just an individual accounts, being able to spot trends that can allow you to speak the language that creates empathy with those users is just really critical to marrying the product and the market sides of that critical product market fit stuff so I think you can build the best product in the world but if you don't know that customer you don't know that market and you're not gonna be able to position that product in the way that is going to be most conducive to having them stick around.
Yeah, I was gonna continue with another three wise to get to the very bottom, but I think you nailed it.
Unknown Speaker
Man, that was
Yeah. Cool. So Bob, do you have anything you want last things you want to leave the audience with kits been a pleasure having you today? But is anything last that you'd like to leave them with? How can they keep up to speed with what you're doing? or?
Yeah, I think, definitely check out get crossbeam.com learn more about what we're up to. It's a very new type of technology, there's not really been anything like it before. And we definitely want to raise awareness of it. And, you know, come on sign up, you can get a free account, kick the tires. That's kind of rule number one and stay in touch with our content, head over to the blog, sign up for the newsletter. We're doing a lot on all these subjects on a regular basis. And we try to put out really high quality stuff. So we promised that to chunk up your inbox. We're love talking about this stuff, and we'd love to engage with everybody.
Awesome. Well, thank you so much for joining the show today. It's been a pleasure having you. And for those listening as well, like as Bob mentioned, make sure to get and check out get crossbeam.com a lot of exciting things happening there. And just thanks a lot for joining.
Thank you. Great to be here.
Kris Rudeegraap
3 changes Sendoso made to achieve a net dollar retention close to 120% with their mid-market and enterprise customers.
Mohammad Nasrullah
The impact of integrations on churn and retention.
Firaas Rashid
Understanding the buyers and sellers side in an enterprise software deal
Rupesh Rao
Focusing your customer onboarding on customer outcomes and how it impacts retention.


text:
Academia, Education, Evangelicals, Evolution, Godbeat, Richard Ostling, Science
What's ahead for 'young earth creationism,' so lamented by many evangelicals?
Weeks ago, The Religion Guy observed that "creationism" is alive and well within sectors of Islam and Mormonism. Meanwhile, there are the continuing, familiar debates among evangelical and fundamentalist Protestants (on which the late Billy Graham was carefully noncommittal).
Journalists will want to note several upcoming events that reporters could employ for updates.
Ken Ham, the CEO of Answers in Genesis (AiG), is the star platform personality among "young earth creationists" who reject evolution and believe planet Earth has only existed for 6,000 years or so, with God directly creating all the species in six literal days. Most conservative evangelical educators today adhere to the vast eons in standard geological science and reject that chronology as an embarrassment to those who question other aspects of the evolutionary cause.
Ham is the entrepreneur famed for Kentucky's Creation Museum and nearby Ark Encounter, a 510-foot model designed from a literal reading of the Bible's flood account. (Their aggressive promotion of that viewpoint is quite in contrast with D.C.'s new and high-toned Museum of the Bible, which shuns controversy.)
Reporters can catch Ham in action during six conventions held by a like-minded organization for homeschoolers, Teach Them Diligently. One may occur in your area. The first occurs March 8-10 in Nashville, followed by Rogers, Ark. (March 22-24), Atlanta (April 5-7), Mobile (May 3-5), Myrtle Beach (May 17-19) and Columbus, Ohio (June 7-9). The events are promoted by five conservative universities (Bob Jones, Cedarville, Liberty, Ohio Christian and Truett-McConnell).
Ham's very popularity presents a big problem inside his movement, according to Joel Duff, a biology professor at the University of Akron, with a doctorate in evolution (University of Tennessee) who is also a Presbyterian Church in America layman. The Guy confesses he missed Duff's important analysis of this when posted a year ago.
Tagged: young earth creationism, Billy Graham, Ken Ham, Answers in Genesis, Ark Encounter, Joel Duff, Discovery Institute, Theistic Evolution, Francis Collins, Biologos, American Scientific Affiliation, Gordon College
World Religions, Scriptures, Science, Richard Ostling, Mormons, Jews and Judaism, Islam-Muslims, Godbeat, Fundamentalism, Evolution, Evangelicals, Academia
Taking the perennial creation debate beyond those familiar evangelicals and fundamentalists
U.S. evangelicals and fundamentalists have vigorously debated when to date the origin of planet Earth and of the human species, whether God as Creator employed Darwin-type evolution and, more recently, whether the Bible requires belief in a literal Adam and Eve.
Reporters should be acquainted with Ken Ham's strict "young earth" creationists, Hugh Ross's "old earth" creationists, pro-evolution evangelicals at BioLogos (founded by Francis Collins, an evangelical and world-class geneticist), the Intelligent Design researchers at the Discovery Institute and discussions within the American Scientific Affiliation, an organization of Bible-believing professionals in science.
Though conservative Protestants have dominated news coverage, there's a good story angle in other religious groups that likewise struggle over evolution. In recent weeks, both Islam and The Church of Jesus Christ of Latter-day Saints (a.k.a. LDS or Mormon) have won some media attention on themes other writers could explore in further depth.
Islam's creation account in the Koran parallels the longer version in the Jewish and Christian Bible. On scriptural grounds, Muslim authorities insist on a literal Adam and Eve (the latter is unnamed in the Koran but cited in recognized Hadith texts).
More broadly, "The Oxford Dictionary of Islam," edited by Georgetown University expert John Esposito, states that evolution "is denounced by most Muslim scholars" as "a refutation of Koranic theories of creation." Evolutionary ideas are excluded from school textbooks in nations like Pakistan, Saudi Arabia, and Sudan. However, a recent beliefnet.com column by Stephanie Hertzenberg sketches a more complicated, three-sided debate.
First, many Muslims do believe any form of evolution is incompatible with their faith, a la Protestant creationists. Hertzenberg notes that in such traditional interpretations of the Quran, Adam "had no parents and was a fully formed human being" when created, and other species also stem from the "sudden creation of complete modern organisms" without evolution. A prominent exponent of this stance is Turkish neurosurgeon Oktar Babuna, who has taught at three U.S. universities.
Tagged: Talmud, Bible, Koran, Adam and Eve, Creationism, Discovery Institute, BioLogos, young earth creationism, Mormons, Church of Jesus Christ of Latter-day Saints, The Guardian, The Jerusalem Post, Book of Mormon, Huffington Post
Discrimination, Evolution, Atheists & Agnostics, Journalism, Mark Kellner
When discussing Dawkins' dissing, journalists miss a major irony and lots of context
Richard Dawkins is, arguably, the world's most famous atheist. He opposes religions of all stripes as "false," dangerous and anti-scientific. And while that stance has earned him the opprobrium -- and, presumably the prayers -- of many faithful people in many religious traditions, it's rarely gotten him bounced from a speaking engagement.
Radio station KPFA in Berkeley, California, canceled an event featuring Dawkins -- in the video above, he uses the rather charming term "de-platformed" to describe it -- because the station didn't like the author's "assertions during his current book tour that Islam is the "most evil" of world religions, Twitter posts denigrating Muslim scholars as non-scholars and other tweets," as a statement from the radio station indicated.
This generated somemainstream media coverage, with The New York Times coming to the fore:
Henry Norr, a former KPFA board member, criticized Mr. Dawkins in a July 17 email to the station. "Yes, he's a rationalist, an atheist and an advocate of the science of evolution -- great, so am I," Mr. Norr wrote. "But he's also an outspoken Islamophobe -- have you done your homework about that?"
Lara Kiswani, the executive director of the Arab Resource and Organizing Center, which is based in San Francisco, also emailed the station last week. She said Mr. Dawkins's comments give legitimacy to extremist views.
"KPFA is a progressive institution in the Bay Area, and an institution that reflects social justice," she said in a phone interview on Saturday. "It isn't required to give such anti-Islam rhetoric a platform."
Quincy McCoy, the station's general manager, did not immediately respond to an email seeking comment. In a KPFA news broadcast on Friday, he said the station "emphatically supports free speech."
Except, apparently, when that "free speech" offends followers of one of the three Abrahamic faiths.
Tagged: Richard Dawkins, KPFA, Berkeley, atheism, evolution, Intelligent Design, Discovery Institute, Mark Kellner, The New York Times
Academia, Books, Atheists & Agnostics, Evolution, Godbeat, People, Science, Richard Ostling, Scriptures
Tom Wolfe, foe of pompous elites, targets Darwinian evolution, so where are the religious responses?
Perpetually white-suited Tom Wolfe is a both a novelist and "new journalism" pioneer who applies fictional techniques to non-fiction with trademark florid verbiage. He gladly punctures elitist pomposity, as in the famed "Radical Chic" satire from long-ago 1970 or later take-downs of modern art and architecture.
At age 85, he's again rousing the rabble with "The Kingdom of Speech" (Little, Brown). The Religion Guy confesses he has not yet read the book so the following relies on media coverage. There've been vigorous responses over recent weeks but, oddly, little from religious commentators.
Whatever the odds that "natural selection" of advantageous physical mutations produced countless new species across eons of time, religious thinkers often contend that Charles Darwin's evolution theory cannot explain the origins of humanity's self-consciousness, love, moral sense, creativity, artistry, or even Darwin's own mind. So, does the origin of species ultimately and logically require a Creator? Are humans unique divine creations or mere mammals with special tricks, "trousered apes," in Duncan Williams' memorable phrase? Obviously, hot theological stuff.
Wolfe, a professed atheist, takes aim at Darwinism, also a target of many religious conservatives, because it fails to explain the origin of human language. One Wolfe hero is linguistics professor Daniel Everett, who theorized about the origin of language years ago as a Bible translator in the Amazon jungles. The book also champions the oft-forgotten Alfred Russel Wallace, who simultaneously came up with the natural selection concept while the upper-crust Darwin won the celebrity sweepstakes.
Wallace later broke with Darwin, figuring that evolution explains much, but not human attributes like language, which implies some higher power beyond nature.
Tagged: Tom Wolfe, Charles Darwin, David Klinghoffer, Discovery Institute, Intelligent Design

redpajama_set_name: RedPajamaCommonCrawl


text:
/**
 *
 */

package org.opensaml.saml2.core.impl;

import org.opensaml.common.impl.AbstractSAMLObjectMarshaller;
import org.opensaml.saml2.core.AuthzDecisionStatement;
import org.opensaml.xml.XMLObject;
import org.opensaml.xml.io.MarshallingException;
import org.w3c.dom.Element;

/**
 * A thread-safe Marshaller for {@link org.opensaml.saml2.core.AuthzDecisionStatement}.
 */
public class AuthzDecisionStatementMarshaller extends AbstractSAMLObjectMarshaller {

    /** {@inheritDoc} */
    protected void marshallAttributes(XMLObject samlObject, Element domElement) throws MarshallingException {
        AuthzDecisionStatement authzDS = (AuthzDecisionStatement) samlObject;

        if (authzDS.getResource() != null) {
            domElement.setAttributeNS(null, AuthzDecisionStatement.RESOURCE_ATTRIB_NAME, authzDS.getResource());
        }

        if (authzDS.getDecision() != null) {
            domElement.setAttributeNS(null, AuthzDecisionStatement.DECISION_ATTRIB_NAME, authzDS.getDecision()
                    .toString());
        }
    }
}

redpajama_set_name: RedPajamaGithub


Join the fun at the Goodguys West Coast Nationals in Pleasanton! We'll be there with our rig, so you can check out some of our new products, along with some of our best sellers! Don't forget we also have a full line of steel wheels, as well as Rocket Racing Wheels. It's a great event, as you'll see thousands of hot rods, customs and muscle cars, all stuffed into the Alameda County Fairgrounds. Goodguys Pleasanton is eligible for tire and wheel pre-order, so you can have your tires and wheels delivered to the show for free!


text:
Q: Bad data when RSA Decrypt a text file which saved as in Byte by RSA Encryption Here is the method for encryption and saving to a file (both saving as String and Byte file)
public void Encrypt()
    {
        RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();

        System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();//Encode String to Convert to Bytes

        string data = tbSerial.Text;//whatever you want to encrypt

        Byte[] newdata = encoding.GetBytes(data);//convert to Bytes

        Byte[] encrypted = myrsa.Encrypt(newdata, false);

        msg = "";

        for (int i = 0; i < encrypted.Length; i++)
        {
            //textBox1.Text = "" + encrypted[i];
            string[] msg_temp = { encrypted[i].ToString() };
            foreach (string val in msg_temp)
                msg += val + " ";
        }

        File.WriteAllBytes("C:\\Marketing\\Serial.txt", encrypted);
}

This is the decryption method. Yet this caused a problem as Bad data.
public void Decrypt()
    {
        Byte[] bytelist;
        String mgs1 = "";

        RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();

        //this code segment Read Byte to file.
        bytelist= File.ReadAllBytes("C:\\Marketing\\Serial.txt");

        Byte[] decrypted = myrsa.Decrypt(bytelist, false);//decrypt

        string dData1 = System.Text.Encoding.UTF8.GetString(decrypted); //Encode String to Convert to Bytes

        for (int i = 0; i < decrypted.Length; i++)
        {
            string[] mgs1_temp = { dData1[i].ToString() };
            foreach (string val in mgs1_temp)
                mgs1 += val;
        }
        MessageBox.Show("Decrypted Data:  " + mgs1);
    }

=====================================
Byte[] decrypted = myrsa.Decrypt(bytelist, false);//decrypt ==> **Bad data appears here!**

After encrypting and saving the file, the decrypting cannot read the file. Therefore, as I thought, RSACryptoServiceProvider caused this problem. Can anyone give me some advice?

A: You should either base 64 encode your ciphertext or you should rely on a binary encoded file. Currently you are storing string representation of bytes as ciphertext. In the decryption method you handle them as bytes which is not correct.
Note that using just RSA is not correct for text. RSA can only encrypt a limited amount of plaintext. Instead, hybrid encryption is normally used. A random AES key is used to encrypt the data, then this key is encrypted with the RSA public key.

A: A few facts about cryptography and your particular piece of code that may help you:

*

*RSA is NOT for data encryption, it is for signatures. Being an asymmetric cipher, it was designed to serve for message signing purposes, and not encryption. While it generally works for encryption, too, it's applicability is limited. You should you a symmetric cipher like AES. Further reading: Schneier, Bruce, Applied Cryptography. Also see update below.

*You don't provide encryption keys anywhere in your code. Think how it could work without keys? Encryption algorithms require, maybe quite surprisingly, two inputs Encrypt(data, key) / Decrypt(data, key). You've provided just the data portion.

*Why, why, lord WHY (←this emphasis is here to underline the importance of distinguishing between text and binary data) do you store BINARY data as TEXT? Learn to store BINARY as BINARY, unless you have to store them in a generally textulal file format like XML, in which case let the XML serializer decide how best to store a chunk of BINARY data.

*Go again through your code and think whether what you pass as input to the decryption routine actually is the output of the encryption. Generally, when there's a sequence of transformation, inverse transformations in (generally) reverse order must be applied to turn a output into a input. Like this:
input -> A -> B -> C -> output
output -> C^-1 -> B^-1 -> A^-1 -> input

So, your encryption algorithm does:
covert string ("ABC") to byte[] -> encrypt -> covert byte[] to string ("120 130 140")

but your decryption algorithm is far from the inverse, which should be:
convert string ("120 130 140") to byte[] -> decrypt -> covert byte[] to string ("ABC")

UPDATE: Further commentary on (1) for nitpickers, downvoters, and curious readers. When the authors of RSA first published their paper, they stated two important problems that had to be solved:

*

*establishing privacy (=encryption of messages),

*establishing signatures.

While the nitpickers and downvoters may claim I do not understand RSA is an ecryption algorithm per se, a smart reader quickly recognizes—typically from the usage of the word cipher—I actually do.
However, as Mr. Rivest, Mr. Shamir, and Mr. Adleman state in their paper in section III Privacy, i.e. in respect to encryption of messages, the cipher has certain properties that make it less practical for common data encryption in comparison to symmetric ciphers:

A public-key cryptosystem can be used to "bootstrap" into a standard encryption scheme such as the NBS method. Once secure communications have been established, the rst message transmitted can be a key to use in the NBS scheme to encode all following messages. This may be desirable if encryption with our method is slower than with the standard scheme.

And yes, the vast majority of real-world RSA applications truly is for things such as key exchange and signatures. Hence for a less-experienced user of cryptography a rule of thumb should be:

*

*Do I need to encrypt data (protect privacy)? ⇒ Symmetric ciphers are the head-start.

*Do I need to create an electronic signature? ⇒ Public-key ciphers like RSA.

Plus asking yourself the question "Is there a proven library to solve this problem?" at the very first place. Why? There's a lot more needed to reach acceptable level of security than just a single "cryptoAlg.Encrypt(data, key)" call.
Further downvotes are welcome :-)

redpajama_set_name: RedPajamaStackExchange


text:
Author: Jean-Pierre Rossouw
Review: La Colombe
La Colombe has been in its "new" venue, Silvermist, for about five years already – longer than some restaurants actually manage to stay open. So calling this restaurant an evergreen is truly most apt. Consider also the heralded chefs that have been at the helm: Franck Dangereux; Luke Dale-Roberts; Scot Kirton. James Gaag heads the team now (more on this below) but nowadays its notable when an establishment brings with it a reputation larger and more durable than the chef's.
On the website, chef Gaag is quoted: "When it comes to food, I believe that flavour comes first! Food needs to be immediately delicious and inviting, not overthought, overworked or overcomplicated. Flavour is paramount and key in making great food and also running a great kitchen. Making it look pretty is where we get to have a bit of fun as a chef, and yes we eat with our eyes first, but ultimately flavour is what makes the guests come back."
La Colombe was well-rated in the very first Rossouw's Restaurants guide, released in late 2003, the review noting how the blackboard menu was written only in French… remember those days? And the average cost per head? Two hundred and ten South African rand… 15 years later, at a recent meal, the per-head price was R1,495 before wine. The most useful comment to make regarding this may be that South African dining, at its finest, has reached price-parity with many international peers – as this is an increase that has comfortably out-paced inflation.
The La Colombe of old, and more recent, has been based on contemporary cuisine, with a bias towards classic European cooking. Service levels have always been high, indeed consistently among the very best in the country. Over the last while my concern was that, while the kitchen's technical prowess was never in question, they seemed always to be chasing international trends instead of finding their own beat. Sometimes this adherence to trend even led them astray, such as asking guests to get up from the table to visit the "Alice in Wonderland" garden a few menus ago.
A dinner here in July reassured me that service is still a very strong suit – if more dramatic than ever before with an animated manager on duty. Wine service, led by sommelier Joseph Dafana, is very good. The wines paired to the menu were also on point – featuring a really entertaining "blind tasting" pairing with their signature tuna course (the one in a tin). For this course, a wine is poured into a black glass and guests are invited to guess the wine. This is a great example of playful creativity that also encourages relevant discovery – whimsy matched to interest. Adding to the interactive theme, courses are brought out by the kitchen brigade, with many of the team, including chef Gaag, coming out to introduce the plates.
This dinner was consistently excellent – and the culinary direction has now shaken itself loose of relying (heavily) on obvious "trends du jour". Now there's a focus on fresh and lively spice-driven cuisine – including Cape Malay, Indian, West Indian and Thai. It's colourful, vibrant and full of clean flavours, making good on chef Gaag's promise. Happily, La Colombe remains one of the country's leading premium restaurants.
Lamb roti canapé
Mussel & passionfruit curry
Lamb & Jerusalem artichoke
Banana, hazelnut, tonka
La Colombe
Silvermist Estate, Constantia Nek
www.lacolombe.co.za
Review: FYN Restaurant
From their website, this founding statement: "At FYN, South Africa's wild freedom is tempered by the rigours of contemporary cuisine to create a restaurant at the edge." I think cultural commentators could have some fun "unpacking" this colourful sentence, but I'll leave it serving as their own notice of intent.
I've now visited Fyn twice. It's a knockout space, and a wonderful reinvention of a downtown square that is off most peoples' radar, unless you work in parliament – but then you are likely to be someone that most people want off their radar. The glass box concept is contemporary and also comfortable, and the ceiling installation is impressive – feeling, as a lunch companion noted, much like an overhead kelp forest that houses the seafood-leaning items on the menu.
This is certainly a luxury space, with a commensurately luxe wine list – yet with a culinary approach that is pretty novel to South African dining, taking the form of kaiseki*. I do not think kaiseki falls into most people's idea of "contemporary cuisine" (per their intro); and here the kaiseki concept has been modulated, albeit softly, towards local flavours and ingredients.
Notwithstanding these local modulations, many people seem to share my puzzlement over the disjunct between the deep localism suggested by the name of the restaurant and the internationalism of the majority of the menu. "Fyn" does of course simply mean "fine" (possibly as in fine dining, or the finer things) but putting it in Afrikaans made me, and others, hope that there would be a whole lot more reference to and interaction with local cuisine. Instead what you get are "luxury" ingredients, mostly taking an elite and international form. Prawns from Hawaii, crab from Alaska, scallop from Europe, Mauritian sea bass. We were even offered a bespoke gin from Japan. These are delicious foods, but I can't help thinking this is a short-cut to what is commercially agreed as being "fine". It's a safe way to impress most comers. But in the light of the current zeitgeist – which I dearly hope is not just a fad, toward the use of foods with a more local provenance, I found this (ironically, given the space) somewhat old-fashioned.
The kitchen technique and presentation, however, are superb. The succession of plates and trays is a masterclass in method and beauty – which is what kaiseki sets out to show the diner. And while it draws most consistently from the Japanese cookbook, there were, as mentioned, a few innovations that introduced the local; such as a guineafowl yakitori with Malay spices and African steamed bread, dombolo, with bone marrow. The main course (fillet, with a green bean "risotto" and sweetbreads) and the desserts were again firmly Eurocentric in an "international" style. Desserts are very impressive indeed.
The beauty of this approach to cooking is that the menu can be tweaked and ingredients substituted with ease as they go along. My hope is that this does happen and, as time goes by, it will mean more and more towards a local focus – so that what many take as Fyn's promise of South African cuisine reinterpreted through a Japanese idiom, can be realised.
* From Wikipedia: "… a traditional multi-course Japanese dinner. The term also refers to the collection of skills and techniques that allow the preparation of such meals and is analogous to Western haute cuisine."
Bento Canapés
Idombolo, bone marrow coal
Fillet with green bean "risotto"
Sweet kaiseki
Kaiseki tray
FYN Restaurant
5th Floor, Speakers Corner, 37 Parliament Str, Cape Town
Reservations: + 27 (0)21 286 2733
info@fynrestaurant.com
Review: Wolfgat
Look at this picture.
Don't you instantly wish you were there? There's a mesmerising quality to natural spaces like this, and Wolfgat perfectly captures the essential nature of this part of the Cape's West Coast by being housed in a historic fisherman's cottage (luckily) with wind-protected views – and then having the sensitivity to minimise all else so that you experience, simply, being here. It's quite remarkable.
Continue reading "Review: Wolfgat"
Platter's 2019 reveals its Five Star wines and more
Platter's by Diners Club South African Wine Guide 2019 was launched at Cape Town's Table Bay Hotel earlier this week and a total of 90 wines achieved the coveted Five Star status this year.
All wines that scored 93 points or higher in the primary assessment went into a second round of tasting, conducted blind (without sight of the label) by small panels including experienced palates from outside the team. The stringency of this model means that Platter's Five Star wines show consistent brilliance.
This edition, the ultimate Platter's accolade, Winery of the Year, has expanded to become a trio of pinnacle awards, each saluting excellence in South African wine-making. The Newcomer Winery of the Year recognises the winery that records the best results as a first-time participant in the guide. This honour goes to Erika Obermeyer Wines, with two Five Stars on debut. The Top Performing Winery of the Year award goes to Mullineux, who are no strangers to Platter's accolades, having twice previously been Winery of the Year. In the new guide they achieve a remarkable four Five Stars plus a Wine of the Year. Finally, the Editor's Award for 2019 goes to Newton Johnson Vineyards, as editor Philip van Zyl's personal commendation of this family venture's consistently superb quality over a range of styles of wine.
In a further innovation, the number of Wines of the Year has also been increased, and the expanded line-up now reflects the highest-scoring Five Star wines in their category (or, in instances where wines were tied with the highest scores, the judging panels' preferred wine). The list of these 25 remarkable wines follows after the break below.
To order your copy, please visit the online store. The books will be available in retail later this month. You can also subscribe online today for full access to the new information, or get the Platter's app for iOS or Android (requires subscription).
Continue reading "Platter's 2019 reveals its Five Star wines and more"
Review: Eike by Bertus Basson
Eike by Bertus Basson is the latest addition to this dynamic chef's collection. You can learn more about all of them on his website, and read our recent review of Overture here.
Eike is briefly introduced on his site with the statement: "I have always wanted to open a dining room that celebrates South African food". It also explains that this restaurant offers only a "fixed" (tasting) menu. I've eaten here twice to date and the menu has so far seen small adjustments, but the idea is to update seasonally according to what's fresh – but always in step with the underlying concept behind Eike, "to celebrate our food heritage" and to evoke the "nostalgia" of ideas and flavours that may no longer be in vogue – "inspired by childhood memories" says Basson. In a recent conversation with the chef regarding upcoming spring ideas, he explained that this could for instance take the form of pairing asparagus with "basic sandwich ham" – a canapé idea that may well have been a staple of middle-class suburbia in the 1980s, to go with the Barbara Streisand dinner soundtrack. (On the subject of music, Eike plays local-only tunes.) Continue reading "Review: Eike by Bertus Basson"
Posted on August 29, 2018 September 5, 2018
Review: Overture Restaurant
Chef Bertus Basson has always been a highly charged individual, and of late he has channelled ever-more of this incandescent energy into his food enterprises, opening a number of restaurants and off-shoots to restaurants as well as being featured in a number of local food TV series. The latest restaurant to open is Eike (which will soon be reviewed); joining Bertus Basson at Spice Route, Spek en Bone, De Vrije Burger, The Deck and his very popular catering company.
This latter part of his career, leading to his current position as one of South Africa's pre-eminent chefs – one could call it his "mature" phase, even though he would probably dislike this – began at Overture on the Hidden Valley wine farm just over 10 years ago. Since Overture was recently re-opened after a renovation, it was a good time to revisit the "mothership" of his current portfolio. Continue reading "Review: Overture Restaurant"
Food from the sea
In 1979, the late Lannice Snyman, a doyenne of South African cookery, published a cookbook called Free from the Sea. Nearly 40 years later, it remains remarkable that this natural wilderness offers us so much food, but I doubt anyone today – writer or publisher – would have the guts to use such a title for a seafood book: the myth of sea as an endless buffet is, one hopes, finally dying.
But it's a struggle to regulate fisheries thanks to so much open space, so many players, and so few enforceable boundaries. While there have been some successes, the big picture is ever-bleaker. Part of the problem is that, for so long, we've viewed seas as discreet spaces, and if we just look after our own stretch, we might be doing alright. But there is, in reality, only one ocean as all seas are linked by winds, currents and migratory patterns. Continue reading "Food from the sea"
Waves of Coffee and Truth's Black Honey
For the size of the city, Cape Town is blessed with an unfair number of fine coffee emporia. In one of those "where the hell did the time go?" moments, I was recently reminded that Origin Coffee Roasting, the epicentre of "Third Wave" coffee in South Africa, was started 12 years ago, in 2006.
In coffee parlance, "Third Wave" represents the point in the evolution of modern coffee culture that the artisan roastery takes a central place after the traditional coffee scene, which is the First Wave. In South Africa the First Wave was "coffee" from chicory granules and weak drip brew in hotels and restaurants (and in the USA it still means weak drip brew). The Second Wave is marked by the arrival of the branded stand-alone coffee chains, which we got a decade before the Third Wave hit, in the form of Mugg & Bean (est. 1996 in the V&A Waterfront) and Seattle Coffee Co. (also 1996, in Cavendish Square). The most famous international chain, Starbucks, only arrived here well after our Third Wave (April 2016, ten years after Origin) – testimony to us being blessed with quality. Continue reading "Waves of Coffee and Truth's Black Honey"
Review: Upper Bloem Restaurant
The name of the restaurant is Upper Bloem, which is slightly confusing to any Capetonian since Upper Bloem is a street address in the Bo-Kaap, but the restaurant is located on Main Road in Greenpoint. What the name references are the roots of the menu here – Cape Malay and the Cape in general – as does the interior of the unprepossessing but comfortable space in its "curry" colours. As they explain, the menu speaks of chef Andre Hill's childhood spent in the Bo-Kaap and they "invite you to (sic) a journey of flavours, spices, tastes, textures and nostalgia".
The caveat to this account is that lunch currently is an "opening special" set menu that is pared-down from the dinner offering, and I am unsure how often they plan to change the menus, so it may differ when you get there. Costs can be very well managed by means of set menus (and certainly are here at R195 per person), but the plates necessarily default to "simpler" and less luxurious ingredients to achieve this value. Not all diners will like the choices either, but I enjoy the exercise of a "pared down" menu, as it forces kitchens to be more creative and less reliant on the obvious "big hit" flavours or hero ingredients. Continue reading "Review: Upper Bloem Restaurant"
Review: Skotnes at Norval Foundation
As of writing, the Norval Foundation building is so new that they are still snag-fixing, but it is already something to behold, and clearly adds another contemporary jewel to the crown of the Cape's beautiful art spaces so far populated by the likes of the Zeitz MOCAA and Cavalli. The Norval is a space where creativity is on display in the architecture as much as in the sculpture garden and the exhibits within. The gallery has a strong link to the famed South African artist Cecil Skotnes, hence the name of the restaurant on the premises. So it's an eatery with plenty of sophistication and high art around it to live up to. Continue reading "Review: Skotnes at Norval Foundation"


text:
#include <algorithm>
#include <cstdint>
#include <limits>
#include <tuple>
#include <utility>

#include <glog/logging.h>

namespace folly {

namespace detail {

struct FixedMergingCancellationStateTag {};

// Internal cancellation state object.
class CancellationState {
 public:
  FOLLY_NODISCARD static CancellationStateSourcePtr create();

 protected:
  // Constructed initially with a CancellationSource reference count of 1.
  CancellationState() noexcept;
  // Constructed initially with a CancellationToken reference count of 1.
  explicit CancellationState(FixedMergingCancellationStateTag) noexcept;

  virtual ~CancellationState();

  friend struct CancellationStateTokenDeleter;
  friend struct CancellationStateSourceDeleter;

  void removeTokenReference() noexcept;
  void removeSourceReference() noexcept;

 public:
  FOLLY_NODISCARD CancellationStateTokenPtr addTokenReference() noexcept;

  FOLLY_NODISCARD CancellationStateSourcePtr addSourceReference() noexcept;

  bool tryAddCallback(
      CancellationCallback* callback,
      bool incrementRefCountIfSuccessful) noexcept;

  void removeCallback(CancellationCallback* callback) noexcept;

  bool isCancellationRequested() const noexcept;
  bool canBeCancelled() const noexcept;

  // Request cancellation.
  // Return 'true' if cancellation had already been requested.
  // Return 'false' if this was the first thread to request
  // cancellation.
  bool requestCancellation() noexcept;

 private:
  void lock() noexcept;
  void unlock() noexcept;
  void unlockAndIncrementTokenCount() noexcept;
  void unlockAndDecrementTokenCount() noexcept;
  bool tryLockAndCancelUnlessCancelled() noexcept;

  template <typename Predicate>
  bool tryLock(Predicate predicate) noexcept;

  static bool canBeCancelled(std::uint64_t state) noexcept;
  static bool isCancellationRequested(std::uint64_t state) noexcept;
  static bool isLocked(std::uint64_t state) noexcept;

  static constexpr std::uint64_t kCancellationRequestedFlag = 1;
  static constexpr std::uint64_t kLockedFlag = 2;
  static constexpr std::uint64_t kMergingFlag = 4;
  static constexpr std::uint64_t kTokenReferenceCountIncrement = 8;
  static constexpr std::uint64_t kSourceReferenceCountIncrement =
      std::uint64_t(1) << 34u;
  static constexpr std::uint64_t kTokenReferenceCountMask =
      (kSourceReferenceCountIncrement - 1u) -
      (kTokenReferenceCountIncrement - 1u);
  static constexpr std::uint64_t kSourceReferenceCountMask =
      std::numeric_limits<std::uint64_t>::max() -
      (kSourceReferenceCountIncrement - 1u);

  // Bit 0 - Cancellation Requested
  // Bit 1 - Locked Flag
  // Bit 2 - MergingCancellationState Flag
  // Bits 3-33  - Token reference count (max ~2 billion)
  // Bits 34-63 - Source reference count (max ~1 billion)
  std::atomic<std::uint64_t> state_;
  CancellationCallback* head_{nullptr};
  std::thread::id signallingThreadId_;
};

template <size_t N>
class FixedMergingCancellationState : public CancellationState {
  template <typename... Ts>
  FixedMergingCancellationState(Ts&&... tokens);

 public:
  template <typename... Ts>
  FOLLY_NODISCARD static CancellationStateTokenPtr create(Ts&&... tokens);

 private:
  std::array<CancellationCallback, N> callbacks_;
};

template <typename... Data>
class CancellationStateWithData : public CancellationState {
  template <typename... Args>
  CancellationStateWithData(Args&&... data);

 public:
  template <typename... Args>
  FOLLY_NODISCARD static std::
      pair<CancellationStateSourcePtr, std::tuple<Data...>*>
      create(Args&&... data);

 private:
  std::tuple<Data...> data_;
};

inline void CancellationStateTokenDeleter::operator()(
    CancellationState* state) noexcept {
  state->removeTokenReference();
}

inline void CancellationStateSourceDeleter::operator()(
    CancellationState* state) noexcept {
  state->removeSourceReference();
}

} // namespace detail

inline CancellationToken::CancellationToken(
    const CancellationToken& other) noexcept
    : state_() {
  if (other.state_) {
    state_ = other.state_->addTokenReference();
  }
}

inline CancellationToken::CancellationToken(CancellationToken&& other) noexcept
    : state_(std::move(other.state_)) {}

inline CancellationToken& CancellationToken::operator=(
    const CancellationToken& other) noexcept {
  if (state_ != other.state_) {
    CancellationToken temp{other};
    swap(temp);
  }
  return *this;
}

inline CancellationToken& CancellationToken::operator=(
    CancellationToken&& other) noexcept {
  state_ = std::move(other.state_);
  return *this;
}

inline bool CancellationToken::isCancellationRequested() const noexcept {
  return state_ != nullptr && state_->isCancellationRequested();
}

inline bool CancellationToken::canBeCancelled() const noexcept {
  return state_ != nullptr && state_->canBeCancelled();
}

inline void CancellationToken::swap(CancellationToken& other) noexcept {
  std::swap(state_, other.state_);
}

inline CancellationToken::CancellationToken(
    detail::CancellationStateTokenPtr state) noexcept
    : state_(std::move(state)) {}

inline bool operator==(
    const CancellationToken& a, const CancellationToken& b) noexcept {
  return a.state_ == b.state_;
}

inline bool operator!=(
    const CancellationToken& a, const CancellationToken& b) noexcept {
  return !(a == b);
}

inline CancellationSource::CancellationSource()
    : state_(detail::CancellationState::create()) {}

inline CancellationSource::CancellationSource(
    const CancellationSource& other) noexcept
    : state_() {
  if (other.state_) {
    state_ = other.state_->addSourceReference();
  }
}

inline CancellationSource::CancellationSource(
    CancellationSource&& other) noexcept
    : state_(std::move(other.state_)) {}

inline CancellationSource& CancellationSource::operator=(
    const CancellationSource& other) noexcept {
  if (state_ != other.state_) {
    CancellationSource temp{other};
    swap(temp);
  }
  return *this;
}

inline CancellationSource& CancellationSource::operator=(
    CancellationSource&& other) noexcept {
  state_ = std::move(other.state_);
  return *this;
}

inline CancellationSource CancellationSource::invalid() noexcept {
  return CancellationSource{detail::CancellationStateSourcePtr{}};
}

inline bool CancellationSource::isCancellationRequested() const noexcept {
  return state_ != nullptr && state_->isCancellationRequested();
}

inline bool CancellationSource::canBeCancelled() const noexcept {
  return state_ != nullptr;
}

inline CancellationToken CancellationSource::getToken() const noexcept {
  if (state_ != nullptr) {
    return CancellationToken{state_->addTokenReference()};
  }
  return CancellationToken{};
}

inline bool CancellationSource::requestCancellation() const noexcept {
  if (state_ != nullptr) {
    return state_->requestCancellation();
  }
  return false;
}

inline void CancellationSource::swap(CancellationSource& other) noexcept {
  std::swap(state_, other.state_);
}

inline CancellationSource::CancellationSource(
    detail::CancellationStateSourcePtr&& state) noexcept
    : state_(std::move(state)) {}

template <
    typename Callable,
    std::enable_if_t<
        std::is_constructible<CancellationCallback::VoidFunction, Callable>::
            value,
        int>>
inline CancellationCallback::CancellationCallback(
    CancellationToken&& ct, Callable&& callable)
    : next_(nullptr),
      prevNext_(nullptr),
      state_(nullptr),
      callback_(static_cast<Callable&&>(callable)),
      destructorHasRunInsideCallback_(nullptr),
      callbackCompleted_(false) {
  if (ct.state_ != nullptr && ct.state_->tryAddCallback(this, false)) {
    state_ = ct.state_.release();
  }
}

template <
    typename Callable,
    std::enable_if_t<
        std::is_constructible<CancellationCallback::VoidFunction, Callable>::
            value,
        int>>
inline CancellationCallback::CancellationCallback(
    const CancellationToken& ct, Callable&& callable)
    : next_(nullptr),
      prevNext_(nullptr),
      state_(nullptr),
      callback_(static_cast<Callable&&>(callable)),
      destructorHasRunInsideCallback_(nullptr),
      callbackCompleted_(false) {
  if (ct.state_ != nullptr && ct.state_->tryAddCallback(this, true)) {
    state_ = ct.state_.get();
  }
}

inline CancellationCallback::~CancellationCallback() {
  if (state_ != nullptr) {
    state_->removeCallback(this);
  }
}

inline void CancellationCallback::invokeCallback() noexcept {
  // Invoke within a noexcept context so that we std::terminate() if it throws.
  callback_();
}

namespace detail {

inline CancellationStateSourcePtr CancellationState::create() {
  return CancellationStateSourcePtr{new CancellationState()};
}

inline CancellationState::CancellationState() noexcept
    : state_(kSourceReferenceCountIncrement) {}
inline CancellationState::CancellationState(
    FixedMergingCancellationStateTag) noexcept
    : state_(kTokenReferenceCountIncrement | kMergingFlag) {}

inline CancellationStateTokenPtr
CancellationState::addTokenReference() noexcept {
  state_.fetch_add(kTokenReferenceCountIncrement, std::memory_order_relaxed);
  return CancellationStateTokenPtr{this};
}

inline void CancellationState::removeTokenReference() noexcept {
  const auto oldState = state_.fetch_sub(
      kTokenReferenceCountIncrement, std::memory_order_acq_rel);
  DCHECK(
      (oldState & kTokenReferenceCountMask) >= kTokenReferenceCountIncrement);
  if (oldState < (2 * kTokenReferenceCountIncrement)) {
    delete this;
  }
}

inline CancellationStateSourcePtr
CancellationState::addSourceReference() noexcept {
  state_.fetch_add(kSourceReferenceCountIncrement, std::memory_order_relaxed);
  return CancellationStateSourcePtr{this};
}

inline void CancellationState::removeSourceReference() noexcept {
  const auto oldState = state_.fetch_sub(
      kSourceReferenceCountIncrement, std::memory_order_acq_rel);
  DCHECK(
      (oldState & kSourceReferenceCountMask) >= kSourceReferenceCountIncrement);
  if (oldState <
      (kSourceReferenceCountIncrement + kTokenReferenceCountIncrement)) {
    delete this;
  }
}

inline bool CancellationState::isCancellationRequested() const noexcept {
  return isCancellationRequested(state_.load(std::memory_order_acquire));
}

inline bool CancellationState::canBeCancelled() const noexcept {
  return canBeCancelled(state_.load(std::memory_order_acquire));
}

inline bool CancellationState::canBeCancelled(std::uint64_t state) noexcept {
  // Can be cancelled if there is at least one CancellationSource ref-count
  // or if cancellation has been requested.
  return (state >= kSourceReferenceCountIncrement) ||
      (state & kMergingFlag) != 0 || isCancellationRequested(state);
}

inline bool CancellationState::isCancellationRequested(
    std::uint64_t state) noexcept {
  return (state & kCancellationRequestedFlag) != 0;
}

inline bool CancellationState::isLocked(std::uint64_t state) noexcept {
  return (state & kLockedFlag) != 0;
}

template <size_t N>
template <typename... Ts>
inline CancellationStateTokenPtr FixedMergingCancellationState<N>::create(
    Ts&&... tokens) {
  return CancellationStateTokenPtr{
      new FixedMergingCancellationState<N>(std::forward<Ts>(tokens)...)};
}

template <typename... Data>
struct WithDataTag {};

template <size_t N>
template <typename... Ts>
inline FixedMergingCancellationState<N>::FixedMergingCancellationState(
    Ts&&... tokens)
    : CancellationState(FixedMergingCancellationStateTag{}),
      callbacks_{
          {{std::forward<Ts>(tokens), [this] { requestCancellation(); }}...}} {}

template <typename... Data>
template <typename... Args>
CancellationStateWithData<Data...>::CancellationStateWithData(Args&&... data)
    : data_(std::forward<Args>(data)...) {}

template <typename... Data>
template <typename... Args>
std::pair<CancellationStateSourcePtr, std::tuple<Data...>*>
CancellationStateWithData<Data...>::create(Args&&... data) {
  auto* state =
      new CancellationStateWithData<Data...>(std::forward<Args>(data)...);
  return {CancellationStateSourcePtr{state}, &state->data_};
}

inline bool variadicDisjunction() {
  return false;
}

inline bool variadicDisjunction(bool first) {
  return first;
}

template <typename... Bools>
bool variadicDisjunction(bool first, Bools... bools) {
  return first || variadicDisjunction(bools...);
}
} // namespace detail

template <typename... Data, typename... Args>
std::pair<CancellationSource, std::tuple<Data...>*> CancellationSource::create(
    detail::WithDataTag<Data...>, Args&&... data) {
  auto cancellationStateWithData =
      detail::CancellationStateWithData<Data...>::create(
          std::forward<Args>(data)...);
  return {
      CancellationSource{std::move(cancellationStateWithData.first)},
      cancellationStateWithData.second};
}

template <typename... Ts>
inline CancellationToken CancellationToken::merge(Ts&&... tokens) {
  bool canBeCancelled = detail::variadicDisjunction(tokens.canBeCancelled()...);
  return canBeCancelled
      ? CancellationToken(
            detail::FixedMergingCancellationState<sizeof...(Ts)>::create(
                std::forward<Ts>(tokens)...))
      : CancellationToken();
}

} // namespace folly


New York 's 2014-2015 budget legislation opens the door for a two-year pilot program allowing private equity firms to own and operate healthcare facilities in the state. The proposed plan would allow for the participation of up to five for-profit corporations with affiliations with at least one academic medical center or teaching hospital, while publicly traded entities and private corporations with more than thirty-five stockholders would be prohibited from participating. The move would represent a shift away from the state's traditional regulations, which have created a system where almost all hospitals have been operated by non-profit entities.
Members of our Health Care and Private Equity Practices will be attending and speaking at the HCap – Game Change 2013: Unleashing New Opportunities in Healthcare Conference, December 5-7, 2012 in Washington, DC.
James M. Hill will be moderating a session entitled – Navigating 2013: Capital Markets Forecast at 11:30AM on December 6th.
Benesch had the opportunity to sponsor the ACG NY 4th Annual Health Care Conference on January 25th, 2011 at the Metropolitan Club in New York City. The conference was a great success with attendees from the private equity, lending, investment and service provider communities. We want to thank all those who attended the conference. It was a great event.


text:
Q: Cloning a database into MySQL I'm starting a project and we need to develop a tool to look into any database (future goal, currently just Microsoft SQL) and then create and populate a MySQL database with the same tables/columns/data.  I've been looking into something like SchemaCrawler to get the DB schema into java objects.  I'm hoping there exists a tool to convert those objects into SQL code that I can run against a mySQL server.  It would be nice to not have to write a bunch of messy logic using jdbc (My current solution, which is still better than the old solution, an uncommented perl script that converts every column to LONG TEXT).

A: You can use SchemaCrawler's integration with templating languages such as Apache Velocity or Thymeleaf, and develop a template that can generate a DDL script for MySQL. Please download the latest SchemaCrawler distribution, and look at the Apache Velocity example.
Sualeh Fatehi, SchemaCrawler


Bedlam Book Cafe – real books. real juice.
We are CLOSED on Sunday April 21st. Happy Easter & Passover!
Welcome to Bedlam. We provide a curated cache of fine used books, focusing on academic presses, literature, arts, humanities, sciences, and esoteric subjects. We aim to be an intellectual, cultural, and community hub encouraging diversity and access to information, as well as healthy living through our offerings of fresh organic juices and smoothies.
We buy books. Please see our FAQS page first about what we buy then get in touch via our Contact page.


10% Return on investment | Betting Forum - FREE Sports Betting Tips and Analysis plus the latest offers from Bet365 and other sportsbooks.
Discussion in 'The Glory Hole' started by ONEDUNME, Oct 10, 2017.
Following on from the discussion about the low returns for investments at the moment I'm going to see i i can turn £1000 onto £1,100 by backing shorties and using an increasing staking plan where necessary.
I will be starting off with real money but whether i stick at it is subject to change.
Bet 4. £10 on Argentina to beat Ecuador in the early hours of tomorrow morning 2/5.
12 minutes still left in the Portugal game but there's no way they're going to give up the 2 goal lead that they have and with Holland being in front by the same scoreline it's looking like three out of three so far.
£11 invested, £19.66 returned so far. Could all change if Argentina don't win later and I'll be behind and chasing parity.
5 Bets, 5 wins. £26 staked, £41.14 returned. Going well so far.
Brilliant start ODM. Even backing at those odds it can be difficult to hit regular winners. Good stuff and good luck.
Aye great stuff ODM, backing five of anything no matter what the odds is a tough ask. More so with the odds you have.


Colonial Tyler Care Center is a 172-bed skilled nursing facility located two blocks from the local hospitals. We offer private and semi-private rooms and a Rehabilitation Center that offers services daily to our clients. We also provide 24hr RN coverage allowing us to accept a higher clinical level such as IV's, wounds and TPN.


WOW! This is stunning Sassy. I love the design and an interesting piece of history from you too so I have learnt something today!!
great twist on the olympics theme Sassy - well done you! and a great card!
Brilliant card Sassy - so creative!
great design and awesome details...hope you have a wonderful weekend!
Hello Sassy, just wanted to say thank you for your kind words about Morgan. Still missing him terribly but talk to him every day.
Been out of touch with blogland recently but will get back in to the swing of things soon. Really do like your card, it is very stylish.
I love your twist on the Olympics Sassy - perfect.
Love your card...especially how you made the torch. Brilliant.
This is awesome, Sassy! I love the vintage feel it has.
Bo Bea in pink of course!!!


55079 - 15mm Light Rainbow Sheer Organza Ribbon x 10 Metre Rolls!
Rolls are spooled with 10 metres of ribbon.
A sheer organza ribbon with rainbow print on both sides.
Perfect for gift wrapping, decorating and more.
55079 - 15mm Light Rainbow Sheer Organza Ribbon x 10 Metre Rolls! Rolls are spooled with 10 metres of ribbon. A sheer organza ribbon with rainbow print on both sides. Perfect for gift wrapping, decorating and more.


A new feature in Outlook 2013 lets you can reply to messages, 'in-line' from the Reading Pane. Instead of opening a reply to an email in a separate window, your reply is crafted within the Reading Pane. Personally, I like this feature because it helps me reduce the number of windows I have open on my desktop. If I need to open my reply in a separate window, I use the Pop-Out button. But some people find Reading Pane in-line replies, a pain.
Make your replies open in a new window every time by clicking through File > Options> Mail > Replies and Forwards > select Open replies and forwards in a new window.
For those of you who want to keep using the Reading Pane in-line reply, here's a tip to make adding your signature more accessible. I like to use keyboard shortcuts a lot. I touch type, so with my fingers already on the keyboard, it's often faster to use shortcuts than it is to use a mouse. While the Ribbon menu is useful for mouse and tablet, it often adds a few extra steps to keyboard shortcuts.
Adding a signature while crafting an email are the keystrokes Alt – E – A -S. What if it was just Alt – number?
The order of the buttons determines which number you will use as the shortcut. I like to put the Signature button in third position.


text:
UFO · Exopolitics 1265 Views JD91
Mandela Effect: Woman Affirms To Have Witnessed Her Death In Another Reality
A couple of weeks ago, on 25 April, researcher and writer Cynthia Sue Larson published a very interesting article on her online blog Reality Shifters in which she explains how she found out she had died in an alternate reality.
According to Ms Larson, she experienced what has been called "The Alive Again Phenomenon". "One of the most astonishing types of reality shifts is the Alive Again phenomenon, in which someone is witnessed as being alive after having previously been reported dead", she said. "And without a doubt, the most stunning type of Alive Again experience is one in which you yourself are the person that people heard had died–and this year was the first time I heard from someone reporting that I had died–fortunately to come back and be Alive Again!", she added.
Ms Larson stated she first heard of her death when an Ontario resident called Steve Boucher sent her an e-mail telling her the terrible news. "I watched your interview with Regina Meredith on Gaia TV and have been a fan of your work for a while now. Shortly after the interview with Regina, I decided to visit your Facebook page to learn more. Upon arriving at your Facebook page, I was greeted with a message from your husband stating that he regretted to inform us that you had passed away and that you had been ill for quite a while", said the mail sent by Mr Boucher. "A month or so later, I noticed a new video of yours on YouTube and was amazed to see that it was a recent video. Then I started to notice more recent videos popping up on YouTube. It didn't take me long to realize that you were still alive!", it continued.
Ms Larson affirmed she became seriously ill soon after the interview Mr Boucher mentions, and commented to her friends she thought she was "close to death". "I had been so ill in December 2016 that I commented to just a few closest friends and family that I felt I'd been close to death", she expressed.
"To me, this incident is a great deal bigger than most all the other types of reality shifts I report in the monthly RealityShifters ezine. And I feel very grateful to Steve and all others who felt I might die and had an adverse emotional reaction to that possibility", Ms Larson wrote.
Draw your own conclusions…
For more information: https://cynthiasuelarson.wordpress.com/2019/04/25/i-just-learned-i-died-in-another-reality/


Bi-Mart is located at the address 51670 Huntington Rd in La Pine, Oregon 97739. They can be contacted via phone at (541) 536-9600 for pricing, hours and directions.
Posted by Mimi B. on May 22, 2016. Brought to you by yahoolocal.
Posted by Retroguy on July 05, 2015. Brought to you by Citysearch.
Bi Mart is located at 51670 Huntington Rd, La Pine, OR..


Toronto – Focusing on building a better web presence is paying off for For Sale For Lease. Monthly traffic in July doubled when compared to June. Both total visits and unique visitor figures doubled.
"We've focussed our attention on improving web traffic and I'm glad to see that it's working. We will continue working to drive those numbers even higher." Russell Littler, CEO of For Sale For Lease said.
Visitor traffic to the website jumped 96.94% over the month of July when compared to June traffic. Much of this is attributed to the company's focus on delivering a better web experience and focusing on reaching business owners and those looking for commercial space. Unique visitors increased by even more; 114.08%.
For Sale For Lease is Canada's leading source for businesses for sale and commercial real estate. They feature retail, office and industrial space for sale by landlords, brokers and real estate agents. Listings span from as far west as Vancouver, BC to as far east as Halifax, NS.
To join the buzz visit http://www.forsaleforlease.ca.