Mike Shankman's paintings are relics of an aftermath, the debris left behind after powerful and destructive forces have toppled what once stood. His images are both desolate and visceral, and I like them very much. Enjoy!
This entry was posted on Friday, February 26th, 2010 at 8:46 am	and is filed under Gouache, ink, Oils. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
These are some of my favorite paintings you've posted. The sense of color and dimension make them exciting. But I think I'm most impressed with Shankman's design sensibility. These paintings get me excited to paint!
If you like this its an intriguing mix of David Schnell and Tadashi Kawamata, both in their own way, interested in flying lumber.
Really like the colors, sense of dimension, the way how the drawing is contacted from straight lines and angles.


An eighteen-year-old man from Huddersfield has been released on bail as part of an investigation in to hacking by the National Crime Agency. Five other men across the country were also arrested for allegedly using 'Lizard Stresser' - a programme that can take websites offline for up to eight hours at a time.
All six men are suspected of maliciously deploying Lizard Stresser, having bought the tool using alternative payment services such as Bitcoin in a bid to remain anonymous. Organisations believed to have been targeted by the suspects include a leading national newspaper, a school, gaming companies and a number of online retailers.
"By paying a comparatively small fee, tools like Lizard Stresser can cripple businesses financially and deprive people of access to important information and public services.
Richard O'Dwyer will meet Keith Vaz MP today to discuss O'Dwyer's extradition to the USA. He is due to stand trial there accused of breaching copyright laws by creating a website linking users to pirated films. Mr Vaz has been a vocal critic of the UK's extradition treaty.
A youngster with cerebral palsy who had his electronic voice box stolen has received a replacement. Declan Gould uses the computer as his main way of communicating and was left isolated when thieves stole the device which helps him talk.


text:
Release Number: 2020-49
DWC Posts Additional Adjustments to Official Medical Fee Schedule (Hospital Outpatient Departments/Ambulatory Surgical Centers)
On March 30, 2020, the Administrative Director of the Division of Workers' Compensation (DWC) issued an order that title 8, California Code of Regulations, section 9789.39, pertaining to the Hospital Outpatient Departments and Ambulatory Surgical Centers Fee Schedule portion of the Official Medical Fee Schedule, be adjusted to conform to changes in the Medicare system, effective for services rendered on or after April 1, 2020. Subsequently, on May 4, 2020, the Centers for Medicare and Medicaid Services (CMS) issued a corrected Addendum B to supersede the previous document, effective April 1, 2020.
The order is the second Administrative Director order for services rendered on or after April 1, 2020 to the Hospital Outpatient Departments/Ambulatory Surgical Centers Fee Schedule.
The Hospital Outpatient Departments and Ambulatory Surgical Centers fee schedule update order adopts the following Centers for Medicare & Medicaid Services (CMS) Medicare changes:
Adopt and incorporate by reference CMS' HOPPS addendum B found in the April 2020 CORRECTION (ZIP) – updated 5/4/2020 file, in place of the original file, for services rendered on or after April 1, 2020, except that HCPCS Code C9803 is effective for services on or after March 1, 2020.
Certain sections of the CMS Medicare OPPS April 2020 Integrated Outpatient Code Editor (I/OCE), IOCE Quarterly Data Files V21.1 R2 Apr 2020 quarterly update.
On April 30, 2020, CMS issued the Interim Final Rule with Comment Period [CMS-5531-IFC] "Medicare and Medicaid Programs, Basic Health Program, and Exchanges; Additional Policy and Regulatory Revisions in Response to the COVID-19 Public Health Emergency and Delay of Certain Reporting Requirements for the Skilled Nursing Facility Quality Reporting Program." The Interim Final Rule with Comment Period [CMS-5531-IFC] adopts a wide variety of temporary emergency provisions to address the COVID-19 pandemic in order to increase access to needed care and appropriately reimburse medical providers. In the Interim Final Rule, CMS adopts a new COVID-19 specimen collection code, C9803, effective March 1, 2020, to be used by hospital outpatient departments during the public health emergency.
The Administrative Director update order dated March 30, 2020 remains in effect for services rendered on or after April 1, 2020, except as modified by Administrative Director order dated May 15, 2020. The Orders and regulations can be found at the DWC website's OMFS page.
The California Department of Industrial Relations, established in 1927, protects and improves the health, safety, and economic well-being of over 18 million wage earners, and helps their employers comply with state labor laws. DIR is housed within the Labor & Workforce Development Agency. For general inquiries, contact DIR's Communications Call Center at 844-LABOR-DIR (844-522-6734) for help in locating the appropriate division or program in our department.
Recent News:
January 14, 2022 Cal/OSHA Posts Fact Sheets and Updated COVID-19 FAQs
January 13, 2022 DWC Posts Additional Adjustment to Official Medical Fee Schedule (Physician Services / Non-Physician Practitioner Services)
January 11, 2022 DWC Announces Return to Virtual Hearings
January 7, 2022 DWC Accepting Applications for Qualified Medical Evaluator (QME) Examination on April 16-23
January 6, 2022 Cal/OSHA Updates COVID-19 FAQs to Align with CDPH Guidance on Isolation and Quarantines
January 6, 2022 DWC Pharmacy and Therapeutics Committee Meeting Scheduled for January 19
January 3, 2022 WCAB's Final Rules in Effect as of January 1
DWC Newslines

redpajama_set_name: RedPajamaCommonCrawl


text:
Syria's challenge to Tony Blinken's conscience
By David Adesnik, opinion contributor — 10/22/21 09:30 AM EDT
The Nazi massacre at Babyn Yar claimed the lives of 33,771 Ukrainian Jews in September 1941. To mark the 80th anniversary of the massacre, Secretary of State Antony Blinken Antony BlinkenUS sends aircraft carrier group to Mediterranean as Russia threat looms US sanctions 'international' Hezbollah financing network US, Japan in 'close consultations' amid Russian tensions MORE meditated on the lessons of the past. We must, he said, "recommit ourselves to ensuring that their full history is told, and pledge to act, every day, so that history is not repeated." That notion is unobjectionable, even banal. Nonetheless, it is absent from the Biden administration's policy toward Syria. Unrepentant, Bashar al-Assad continues preside over prisons that churn out emaciated corpses in a manner reminiscent of the Third Reich. Yet according to Blinken, the United States will no longer stand in the way of those who seek Assad's diplomatic rehabilitation.
The secretary of state is the stepson of an Auschwitz survivor, whose rescue by an African-American GI he recounted during the opening remarks at his confirmation hearing. On Holocaust remembrance day in April, Blinken honored the civil servants who appealed to President Roosevelt when the State Department placed one barrier after another in the way of European Jews seeking refuge in the United States. Their effort changed the president's mind, enabling tens of thousands to enter the country.
During the first weeks of his tenure, Blinken made a commitment to "put human rights at the center of U.S. foreign policy." Initially, that extended to Syria. The administration pledged full implementation of the Caesar Act, the 2019 law that imposed expansive sanctions to isolate and hold accountable the Assad regime. "The world must renew its shared resolve to promote the dignity and human rights of all Syrians," Blinken said in July, announcing sanctions on eight Syrian prisons and their overseers.
Weeks later, a quiet reversal began. In mid-August, the U.S. approved Syrian participation in a regional plan for trading natural gas and electric power. The U.S. ambassador in Beirut — there is none in Damascus — said that Washington's sanctions on the Assad regime would not get in the way of the deal. "There is a will to get this this done," she noted. Reportedly, the Biden administration even advised the four countries participating in the deal — Syria, Lebanon, Egypt, and Jordan — how to structure their agreement in order to avoid sanctions.
Syria's neighbors readily understood the signals from Washington, even though few inside the Beltway noticed. Neighbors that had once shunned Assad — whether out of principle or deference to Washington — suddenly raced to engage the regime. A delegation of Lebanese ministers visited Damascus in early September, the first such contact in a decade. Days later, the Jordanian minister of energy hosted his Egyptian, Syrian, and Lebanese counterparts in Amman to discuss their joint venture. The Egyptian and Jordanian foreign ministers then met with Assad's top diplomat on the sidelines of the UN General Assembly. In early October, King Abdullah of Jordan accepted a personal phone call from Bashar al-Assad, which he had not done since the war in Syria began.
This flurry of activity alerted journalists to the administration's reversal; they began asking questions. The response was twofold. One the one hand, the State Department said U.S. policy toward Syria had not changed. Yet its spokespersons were careful not to reiterate the old calls for Assad's isolation. Rather, they insisted the United States would not normalize relations with the Syrian regime, nor would it encourage others to do so. The Department seemed to hope that few would notice the difference between actively opposing normalization and simply not encouraging it.
Last week, Blinken finally faced a direct question from a reporter about Syria. Like his subordinates, the secretary sought to convey an impression of continuity while carefully selecting his words to avoid contradicting the new policy. He said, "What we have not done and what we do not intend to do is to express any support for efforts to normalize relations or rehabilitate Mr. Assad or lifted a single sanction on Syria or changed our position to oppose the reconstruction of Syria until there is irreversible progress toward a political solution."
Blinken spoke those words only seven days after his commemoration of Babyn Yar. He should recall the civil servants who told FDR that his administration was complicit in the destruction of European Jewry. He should approach President Biden Joe BidenNew York woman arrested after allegedly spitting on Jewish children Former Sen. Donnelly confirmed as Vatican ambassador Giuliani associate sentenced to a year in prison in campaign finance case MORE and the rest of the cabinet to explain why both our country's principles and its national interest favor the isolation of a regime that continues to bomb hospitals, torture political prisoners en masse, and refuses to address evidence that it maintains an illegal chemical weapons program.
There is still time to reverse the gains Assad has made. Gas and power won't begin to flow through Syria for roughly another three months, since repairs are under way to pipelines and other infrastructure damaged by the war. More importantly, the president has not officially waived Caesar Act sanctions nor has the administration formally circumvented them by other means. Clear messages from the secretary of state and the president could marginalize Assad once again, so that Moscow and Tehran remain the only capitals where he can expect a warm welcome.
The Syrian-American community and other advocates of human rights still hope that Blinken will serve as the conscience of this administration. During last year's campaign, when asked to explain Biden's view of Syria, Blinken spoke emotionally about how the Obama administration, in which he held senior positions, "failed to prevent a horrific loss of life" and massive displacement of refugees. "It's something that I will take with me for the rest of my days," he said. Now is the time to show it.
David Adesnik is a senior fellow and director of research at the Foundation for Defense of Democracies (@FDD), a nonprofit, nonpartisan 501(c)(3) research institute focusing on foreign policy and national security. FDD does not accept donations from foreign governments.
Tags Syria Antony Blinken Joe Biden Bashar al-Assad Caesar Syria Civilian Protection Act Politics of Syria Syrian civil war sanctions Biden foreign policy Human rights abuses


text:
Fast Food Companies Begin Using Meat Substitutes
Sophie Bird
U.S. sales of plant-based alternatives to animal products increased 17% from 2017 to 2018, according to Forbes, and the growing demand for meat substitutes is being reflected in the fast food industry.
Fast food companies such as Burger King and White Castle have joined the race to add fake meat substitutes to their menus in recent months, according to Earther, and several chains have rolled out new vegetarian and vegan products within the last week.
Del Taco now offers a taco made with Beyond Meat's pea-protein substitute, and Burger King has pledged to make its meatless Impossible Whopper available nationwide by the end of 2019. Although McDonald's does not currently offer a fake meat burger in the United States, it launched a vegan burger in Germany earlier this week.
As two leading companies in the industry, Beyond Meat and Impossible are working on building brand relationships with fast food companies. Beyond Meat became a public company this month, with its debut stock price coming in at 163% above its initial public offering (IPO) the first day. The company has now raised a quarter of a billion dollars to improve and grow its offering of products, according to MarketWatch, and become the best performing first-day IPO in almost 20 years.
Because the meat industry contributes approximately 15% of all global greenhouse gas emissions, choosing fake meat alternatives is considered more environmentally friendly, according to Earther. In its IPO, Beyond Meat stated its burgers use 46% less overall energy, 99% less water, 93% less land and are responsible for 90% fewer gas emissions.
While plant-based options sometimes cost more (Del Taco's fake meat taco costs $1 more than its meat taco) the impact, or lack thereof, that these products have on the environment makes them a more sustainable consumer decision.
However, some companies, critics and individuals have concerns about the long-term viability of the fake meat industry. Yahoo! Finance, Earther, and Bloomberg have all published articles on Beyond Meat's IPO in the last week, expressing doubts that the company can turn a profit or achieve its estimated valuation of $1.5 billion.
That being said, while consumers may have doubts about whether companies like Beyond Meat are worth investing in, there's little risk in trying one of the new plant-based fast food options for yourself. Although McDonald's and Burger King have yet to roll out plant-based options in Indiana, consumers can expect Burger King's Impossible Whopper to arrive in the Hoosier state within the next six months.


text:
Q: How to specify the view location in asp.net core mvc when using custom locations? Let's say I have a controller that uses attribute based routing to handle a requested url of /admin/product  like so:
[Route("admin/[controller]")]
public class ProductController: Controller {

    // GET: /admin/product
    [Route("")]
    public IActionResult Index() {

        return View();
    }
}

Now let's say that I'd like to keep my views organized in a folder structure that roughly reflects the url paths they are related to.  So I'd like the view for this controller to be located here:
/Views/Admin/Product.cshtml

To go further, if I had a controller like this:
[Route("admin/marketing/[controller]")]
public class PromoCodeListController: Controller {

    // GET: /admin/marketing/promocodelist
    [Route("")]
    public IActionResult Index() {

        return View();
    }
}

I would like the framework to automatically look for it's view here:
Views/Admin/Marketing/PromoCodeList.cshtml

Ideally the approach for informing the framework of the view location would work in a general fashion based on the attribute based route information regardless of how many url segments are involved (ie. how deeply nested it is).
How can I instruct the the Core MVC framework (I'm currently using RC1) to look for the controller's view in such a location?

A: Great news... In ASP.NET Core 2 and up, you don't need a custom ViewEngine or even ExpandViewLocations anymore.
Using the OdeToCode.AddFeatureFolders Package
This is the easiest way... K. Scott Allen has a nuget package for you at OdeToCode.AddFeatureFolders that is clean and includes optional support for areas. Github: https://github.com/OdeToCode/AddFeatureFolders
Install the package, and it's as simple as:
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc()
                .AddFeatureFolders();

        ...
    }

    ...
}

DIY
Use this if you need extremely fine control over your folder structure, or if you aren't allowed/don't want to take the dependency for whatever reason. This is also quite easy, although perhaps more cluttery than the nuget package above:
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
         ...

         services.Configure<RazorViewEngineOptions>(o =>
         {
             // {2} is area, {1} is controller,{0} is the action
             o.ViewLocationFormats.Clear();
             o.ViewLocationFormats.Add("/Controllers/{1}/Views/{0}" + RazorViewEngine.ViewExtension);
             o.ViewLocationFormats.Add("/Controllers/Shared/Views/{0}" + RazorViewEngine.ViewExtension);

             // Untested. You could remove this if you don't care about areas.
             o.AreaViewLocationFormats.Clear();
             o.AreaViewLocationFormats.Add("/Areas/{2}/Controllers/{1}/Views/{0}" + RazorViewEngine.ViewExtension);
             o.AreaViewLocationFormats.Add("/Areas/{2}/Controllers/Shared/Views/{0}" + RazorViewEngine.ViewExtension);
             o.AreaViewLocationFormats.Add("/Areas/Shared/Views/{0}" + RazorViewEngine.ViewExtension);
        });

        ...
    }

...
}

And that's it! No special classes required.
Dealing with Resharper/Rider
Bonus tip: if you're using ReSharper, you might notice that in some places ReSharper can't find your views and gives you annoying warnings. To work around that, pull in the Resharper.Annotations package and in your startup.cs (or anywhere else really) add one of these attributes for each of your view locations:
[assembly: AspMvcViewLocationFormat("/Controllers/{1}/Views/{0}.cshtml")]
[assembly: AspMvcViewLocationFormat("/Controllers/Shared/Views/{0}.cshtml")]

[assembly: AspMvcViewLocationFormat("/Areas/{2}/Controllers/{1}/Views/{0}.cshtml")]
[assembly: AspMvcViewLocationFormat("/Controllers/Shared/Views/{0}.cshtml")]

Hopefully this spares some folks the hours of frustration I just lived through. :)

A: I am using core 3.1 and just do this inside of ConfigureServices method inside of Startup.cs.
 services.AddControllersWithViews().AddRazorOptions(
     options => {// Add custom location to view search location
         options.ViewLocationFormats.Add("/Views/Shared/YourLocation/{0}.cshtml");
     });

the {0} is just a place holder for the view name.
Nice and simple.

A: You can expand the locations where the view engine looks for views by implementing a view location expander.  Here is some sample code to demonstrate the approach:
public class ViewLocationExpander: IViewLocationExpander {

    /// <summary>
    /// Used to specify the locations that the view engine should search to
    /// locate views.
    /// </summary>
    /// <param name="context"></param>
    /// <param name="viewLocations"></param>
    /// <returns></returns>
    public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations) {
        //{2} is area, {1} is controller,{0} is the action
        string[] locations = new string[] { "/Views/{2}/{1}/{0}.cshtml"};
        return locations.Union(viewLocations);          //Add mvc default locations after ours
    }

    public void PopulateValues(ViewLocationExpanderContext context) {
        context.Values["customviewlocation"] = nameof(ViewLocationExpander);
    }
}

Then in the ConfigureServices(IServiceCollection services) method in the startup.cs file add the following code to register it with the IoC container.  Do this right after services.AddMvc();
services.Configure<RazorViewEngineOptions>(options => {
        options.ViewLocationExpanders.Add(new ViewLocationExpander());
    });

Now you have a way to add any custom directory structure you want to the list of places the view engine looks for views, and partial views.  Just add it to the locations string[]. Also, you can place a _ViewImports.cshtml file in the same directory or any parent directory and it will be found and merged with your views located in this new directory structure.
Update:
One nice thing about this approach is that it provides more flexibility then the approach later introduced in ASP.NET Core 2 (Thanks @BrianMacKay for documenting the new approach).  So for example this ViewLocationExpander approach allows for not only specifying a hierarchy of paths to search for views and areas but also for layouts and view components.  Also you have access to the full ActionContext to determine what an appropriate route might be.  This provides alot of flexibility and power.  So for example if you wanted to determine the appropriate view location by evaluating the path of the current request, you can get access to the path of the current request via context.ActionContext.HttpContext.Request.Path.

A: You're going to need a custom RazorviewEngine for this one.
First, the engine:
public class CustomEngine : RazorViewEngine
{
    private readonly string[] _customAreaFormats = new string[]
    {
        "/Views/{2}/{1}/{0}.cshtml"
    };

    public CustomEngine(
        IRazorPageFactory pageFactory,
        IRazorViewFactory viewFactory,
        IOptions<RazorViewEngineOptions> optionsAccessor,
        IViewLocationCache viewLocationCache)
        : base(pageFactory, viewFactory, optionsAccessor, viewLocationCache)
    {
    }

    public override IEnumerable<string> AreaViewLocationFormats =>
        _customAreaFormats.Concat(base.AreaViewLocationFormats);
}

This will create an additional area format, which matches the use case of {areaName}/{controller}/{view}.
Second, register the engine in the ConfigureServices method of the Startup.cs class:
public void ConfigureServices(IServiceCollection services)
{
    // Add custom engine (must be BEFORE services.AddMvc() call)
    services.AddSingleton<IRazorViewEngine, CustomEngine>();

    // Add framework services.
    services.AddMvc();
}

Thirdly, add area routing to your MVC routes, in the Configure method:
app.UseMvc(routes =>
{
    // add area routes
    routes.MapRoute(name: "areaRoute",
        template: "{area:exists}/{controller}/{action}",
        defaults: new { controller = "Home", action = "Index" });

    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});

Lastly, change your ProductController class to use the AreaAttribute:
[Area("admin")]
public class ProductController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}

Now, your application structure can look like this:

A: In .net core you can specify the whole path to the view.
return View("~/Views/booking/checkout.cshtml", checkoutRequest);

A: Though other answers may be correct, I'd like to add something that is a little bit more "basic":

*

*There is (a lot of) implicit routing behavior in MVC .NET

*You can make everything explicit also

So, how does that work for .NET MVC?
Default

*

*The default "route" is protocol://server:port/ , e.g. http://localhost:607888/
If you don't have any controller with a explicit route, and don't define any startup defaults, that wont work.
This will:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Special}/{action=Index}");
});
Controller Routes
And if you add a class SpecialController : Controller with a Index() method, your http://localhost:.../ will and up there.
Note:  NameController => post fix Controller is left out, implicit naming convention
If you rather define your routes explicit on the controllers, use this:
[Route("Special")]//explicit route
public class SpecialController : Controller
{ ....

=> http://localhost:<port>/Special will end up on this controller

For mapping http requests to controller methods, you can also add explicit
[Route(...)] information to your Methods:
// GET: explicit route page
[HttpGet("MySpecialIndex")]
public ActionResult Index(){...}

=> http://localhost:<port>/Special/MySpecialIndex will end up on SpecialController.Index()

View routes
Now suppose your Views folder is like this:
Views\
   Special1\
          Index1.cshtml
   Special\
          Index.cshtml

How does the Controller "finds" its way to the views?
The example here is
[Route("Special")]//explicit route
public class Special1Controller : Controller
{
    // GET: Default route page
    [HttpGet]
    public ActionResult Index()
    {
        //
        // Implicit path, implicit view name: Special1<Controller> -> View  = Views/Special/Index.cshtml
        //
        //return View();

        //
        // Implicit path, explicit view name, implicit extention
        // Special <Controller> -> View  = Views/Special/Index.cshtml
        //
         //return View("Index");

        //
        // Everything explcit
        //
        return View("Views/Special1/Index1.cshtml");
    }

So, we have:
return View(); => everything implicit, take Method name as view, controller path as view path etc.
http://<>:<>/Special => Method = Index(), View = /Views/Special/Index.cshtml
return View("Index"); //Explicit view name, implicit paths and extension
=> Method = Special1Controller.Index(), View = /Views/Special/Index.cshtml
return View("Views/Special1/Index1.cshtml"); // method implicit, view explicit
=> http://<>:<>/Special, Method = Special1Controller.Index(), View = /Views/Special1/Index1.cshtml
And if you combine explicit mapping to methods and views:
=> http://<>:<>/Special/MySpecialIndex, Method = Special1Controller.Index(), View = /Views/Special1/Index1.cshtml
Then finally, why would you make everything implicit?
The pros are less administration that is error prone, and you force some clean administration in your naming and setup of folders
The con is a lot of magic is going on, that everybody needs to understand.
Then why would you make everything explicit?
Pros: This is more readable for "everyone". No need to know all implicit rules. And more flexibility for changing routes and maps explicitly. The chance on conflicts between controllers and route paths is also a little less.
Finally: of course you can mix explicit and implicit routing.
My preference would be everything explicit. Why? I like explicit mappings and separation of concerns. class names and method names can have a naming convention, without interference with your request naming conventions.
E.g. suppose my classes/methods are camelCase, my queries lowercase, then that would work nicely: http://..:../whatever/something and ControllerX.someThing (Keep in mind, Windows is kind of case insensitive, Linux by no means is! And modern .netcore Docker components may end up on a Linux platform!)
I also don't like "big monolithic" classes with X000 lines of code. Splitting your controllers but not your queries works perfectly, by giving them explicit the same http query routes.
Bottom line: know how it works, and choose a strategy wisely!

A: So after digging, I think I found the issue on a different stackoverflow.
I had the same issue, and upon copying in the ViewImports file from the non area section, the links started to function as anticipated.
As seen here: Asp.Net core 2.0 MVC anchor tag helper not working
The other solution was to copy at the view level:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

A: According to the question, I think it is worth mentioning how to do so when you use areas in your routes.
I credit most of this answer to @Mike's answer.
In my case, I have a controller with a name that matches the area name. I use a custom convention to alter the controller's name to "Home" so that I can create a default route {area}/{controller=Home}/{action=Index}/{id?} in MapControllerRoute.
Why I landed on this SO question was because now Razor wasn't searching my original controller's name view folders, therefore not finding my view.
I simply had to add this bit of code to ConfigureServices (the difference here is the use of AreaViewLocationFormats):
services.AddMvc().AddRazorOptions(options =>
    options.AreaViewLocationFormats.Add("/Areas/{2}/Views/{2}/{0}" + RazorViewEngine.ViewExtension));
// as already noted, {0} = action name, {1} = controller name, {2} = area name

A: You can combine two actions to keep things DRY.

*

*Call Controller.View(string, object?) with the view path instead of the name for arg 1. (see Brian Rizo´s answer)

*Overwrite above method in your controller class to construct the path from view name and then call the base method.

In all your controller action methods you now can keep using the view name when returning a view.
    [Route("Wizard/UploadStuff/[action]")]
    public class UploadStuffController : Controller
    {
        //overwrites base method to incorporate common path
        public new ViewResult View(string name, object? model)
        {
            var path = $"Views/Wizard/UploadStuff/{name}.cshtml";
            return base.View(path, model);
        }

        public async Task<IActionResult> Step1(string param1)
        {
            UploadStuffModel model;

            //... more code

            return View("Step1", model);
        }

        //... more action methods
  }

redpajama_set_name: RedPajamaStackExchange


text:
function radius = psfFindCriterionRadius(inPSF, criterion)
% Find the radius around the peak of the passed PSF
%
% Syntax:
%   radius = psfFindCriterionRadius(thePSF, criterion)
%
% Description:
%    Find the radius around the peak of the passed circularly symmetric
%    PSF that includes criterion fraction [0-1] of the mass.
%
%    Doesn't handle cases where PSF is super small or bigger than
%    underlying grid.
%
%    The passed PSF does not need to be centered or circularly averaged.
%
%    The answer comes back in pixels, so you need to convert to more
%    interesting units in the code that calls this utility function.
%
% Inputs:
%    inPSF     - Circularly symmetric PSF
%    criterion - Criterion fraction of the mass
%
% Outputs:
%    radius    - The radius around the PSF's peak
%
% Optional key/value pairs:
%    None.
%
% Notes:
%    * [Note: JNM - Possibly add error checking for if inPSF or criterion
%      are not supplied?]
%

% History:
%    09/16/07  dhb  Wrote it.
%    09/18/07  dhb  Eliminate integer constraint by linear interpolation.
%    12/22/09  dhb  Fix bug in how peakRow and peakCol are computed.
%    12/22/09  dhb  Normalize here so it is more flexible.
%    08/29/11  dhb  Center here so that it need not be done on call.
%    11/13/17  jnm  Comments & formatting
%    01/11/18  jnm  Formatting update to match Wiki

% Examples:
%{
    wvfP = wvfCreate;
    wvfP = wvfComputePSF(wvfP);
    myPSF = wvfGet(wvfP, 'psf');
    rad = psfFindCriterionRadius(myPSF, 0.5)
%}

% Normalize so it sums to one
inPSF = inPSF / sum(inPSF(:));
inPSF = psfCenter(inPSF);

% Make the radius matrix
[n, m] = size(inPSF);
if (n ~= m), error('Input must be a square matrix'); end
nLinearPixels = n;
[peakRow, peakCol] = psfFindPeak(inPSF);
radiusMat = MakeRadiusMat(nLinearPixels, nLinearPixels, peakCol, peakRow);

% Find the criterion radius
maxRadius = max(radiusMat(:));
radius = maxRadius;
mass = zeros(floor(maxRadius));
for ii = 1:floor(maxRadius)
    index = radiusMat <= ii;
    mass(ii) = sum(inPSF(index));
    if (mass(ii) > criterion)
        lambda = (criterion - mass(ii - 1)) / (mass(ii) - mass(ii - 1));
        radius = (1 - lambda) * (ii - 1) + lambda * ii;
        break;
    end
end

redpajama_set_name: RedPajamaGithub


This double 12 numeral/number professional size Mexican Train and Chicken Dominos Set comes in an Aluminum Case. It also includes a plastic hub, train markers and 2 chicken foot markers.
Yellow Mountain Imports prides itself on providing high-quality craftsmanship and classic games.Yellow Mountain Imports Dominoes Accessory Set: You may just find you haven't experienced the full potential of Mexican Train dominoes without this domino accessory set! From the quality train markers made of die-cast metal, scorepad and instructions, and a wood centerpiece, this is a solid (and beautiful!) set.Quality Dominoes Accessories are Second to None: You've got a winning set with 8 die-cast metal train markers divided into four individual colors and a hub centerpiece made of solid wood that measures 5.8 x 5.8 x 1.1 inches (14.75 x 14.75 x 2.5 centimeters). No matter if this is your first (or hundredth) time playing, we bet you'll love it!Your Best Game of Dominoes Yet: While created for two specific dominoes games in mind, this really is a versatile dominoes accessory set, and the hub can fit domino tiles with dimensions up to 1 x 2 x 0.4 inches (2.6 x 5.2 x 1 centimeters), so feel free to get creative!100% Satisfaction Guarantee: If for any reason you're dissatisfied with our domino accessory set, please contact us and return the set within 30 days for your money back!
All aboard for Mexican Train with this larger set of Double 12's. This collection of 91 tiles also includes 4 detailed metal trains and a wooden hub. Enjoy more complex domino games, now up to 8 people. Great care went into this high quality set of Dominoes and collectible tin. Based in the Chicago Suburbs, Regal Games has been going to the moon and for over 75 years to ensure quality classic and entertaining games are shared and memorable moments created for generations to come.
Want more Mexican Train Set similar ideas? Try to explore these searches: Scrapbooking Stickers Die Cut, Slim Sheath Dress, and Leather Upholstered Bed.


So I sit here after a couple of days after this years experience of the Alchemy festival, not just with content after eating the delicious food, but with great inspiration and in awe that this might be the best food festival at the Southbank so far! I mean, how are they going to beat this next year?! Kerb's return to the Southbank has definitely started with a bang! It's a wonderful spicy adventure with street food and drink from India, Sri Lanka, Nepal, Pakistan, Bangladesh and Afghanistan and is running until the 25th May 2015. If you haven't been before, you are truly missing a delight for your taste buds! For me, as a frequent visitor of this festival, the fusion of music and food comes hand in hand. Delicious food for my tummy and melodious music to soothe my soul. However it has been a new experience for me behind one of the stalls this time and I have a new appreciation for the hard work that is involved in making each food stall a success. Hats off to you all! It's a tough, tough job but you would never know it from all the big smiles that exude from the traders on these stalls and the friendly chat and absolute pleasure they display when making the food that they are all passionate about. All the street food traders are obviously passionate about food but I have had a privileged first hand experience in learning how much hard work is involved in bringing fresh, high quality ingredients to the customers at this festival. Papi's Pickles celebrates the rich heritage of both South Indian and Srilankan food and their dishes and pickles use not only seasonal produce but also local, organic and Fairtrade ingredients for street food markets, events as well as pop ups. And that's not the end of their passion! They are also a social enterprise seeking to work with unemployed Srilankan and South Indian women, and they really have achieved so much considering they have only been running for about a year. Abi, the founder of Papi's Pickles is a truly inspirational lady and entrepreneur along with the rest of the team who have developed the enterprise to get this far in such a short period of time. It has been an absolute pleasure working with the ladies at Papi's Pickles and you really do have to visit their stall to here their inspiring stories and taste the yummy dishes they have bought to this years festival. Definitely one organisation to keep an eye on 😉 They have a unique menu including pick-your-own-filling Uthappam's, Kichdi with Srilankan Wambatu Moju and not forgetting their "to die for" Kulfi!
Delicious Uthappam by Papi's Pickles!
Beaming smiles and lovely chat were served alongside the most delicious food from the team at Jaffrey's Indian streetfood. The pakora's are one of the crispiest I have ever eaten and I was particularly intrigued by the pureed aubergine sauce and chilli sauce which were refreshing and flavour-packed condiments served with the pakoras. Yum yum yum! Perfect with a cup of hot chai which you can also get in a couple of the stalls there.
Or perhaps you may prefer one of the asian-inspired cocktails served at the Bar there. Some great flavour combinations which you can see in my photo below. Another little gem I discovered was the Ice Kitchen corner stall – the pistachio and rose ice lolly was out of this world! They have really fresh and clever flavour combinations that I haven't come across with your usual ice lollies and I can't wait to get a copy of their recipe book.
This festival is like the "Mecca" for London foodies and for me it was a great pleasure this year to have met some fellow foodies Nessy Sam, Trishna Shah and Mallika Basu who I had previously connected with on social media. Along with the new stalls at the Alchemy festival this year there are also some familiar faces including Dosa Deli, The Peckish Peacock and Horn Ok Please. You really are spoilt for choice and I am definitely not missing the chance to go again to try the rest of the food and drink before the end of the festival (and attempt to grow a second stomach too!). I am already thinking about what other dishes I am going to try out on my next visit and unashamedly drooling while doing so. I know…but you will understand the greediness I experience if you have already been to the festival 🙂 I really am no alchemist, but I'm sure some of this is pure food 'magic'!


text:
<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

Class Series extends MY_Model {

    function __construct() {
        parent::__construct('series', 'Series');
    }

}


Owen Shipler, the Chief Learning Officer at Current, powered by GE, was previously associated with GE as the Northeast Region Manager – Lighting.
Previously, he was the Senior Marketing Manager and the Total Lighting Control Commercial Leader at GE Lighting Systems, Inc., where he has also been the Outdoor Product Manager and the Regional Sales Manager for 2 years each.
Owen joined GE in 2000 at the position of Digitization BlackBelt. He has also been with United States Air Force as the Acquisition Manager.
Owen holds his MBA in Business from University of West Florida. He also holds a BS in Legal Studies from United States Air Force Academy.


text:
La poix (du latin pix, picis) est une matière collante produite par distillation.

Elle peut être :
 noire comme celle constituée à partir de résines et goudrons obtenus à partir de bois résineux ou d'autres bois comme le bouleau ou comme celle tirée de l'asphalte ;
 plus claire comme celle tirée des dérivés de la résine de pin.

On l'utilise pour la fixation de corps légers ou comme enduit imperméabilisant. Elle est très facilement inflammable.

L'artisan produisant la poix est le pégoulier, en italien pegolotti. En Occitan, le mot « pegar » de même racine signifie « coller » et est directement passé en français régional dans le Midi de la France sous la forme « péguer ».

Histoire
La poix désigne premièrement la résine brute du pin, soit la gemme.

Les noms grec πίσσα (pissa) et latin pix désignaient à l'origine aussi bien la résine que la poix ; et de manière plus large les confusions sont fréquentes dans l'Antiquité entre les dénominations de poix, de résine, de bitume et de pétrole ; le bitume se dit aussi pix fossilis et on employait la poix pour le falsifier. πίσσα et pix sont indo-européens, comme le montrent les formes slaves et baltiques de la racine. Ensuite Columelle rapporte l'usage par les Allobroges, d'une poix, pix corticata, pour apprêter leurs vins, qui ne peut être qu'une résine de sapin. L'arbre à poix est nommé picea, dont l'usage pour cette signification n'est attesté qu'au .

La poix évoque ensuite différentes substances solides obtenues par chauffage et dessication de la résine de pin. La poix est obtenue par chauffage de la résine, contenue dans le bois tout entier comme dans les pins, ou dans l'écorce seulement comme dans les sapins. On distingue au  quelquefois d'une manière assez peu motivée la poix blanche, la poix noire, la poix résine :
 poix blanche — La poix dite blanche désigne la colophane. Elle prend souvent le nom de poix jaune, ou poix de Bourgogne. Elle est dure, tenace, très fusible par la chaleur, comme toutes les résines. Elle est le produit de plusieurs variétés de pin et même de sapin. On la recueille ordinairement pendant l'hiver, sur les troncs des arbres. Elle ne tire véritablement au blanc que lorsqu'elle a été recueillie avec soin, fondue à un feu très doux et coulée à travers un tamis quelconque. Produite dans les Landes et des Vosges, le commerce de celle de la première de ces provenances est spécialement établi à Bayonne et à Bordeaux ;
 poix noire — La poix noire est fort inférieure en qualité ; en effet ce n'est qu'une résine fortement salie par différentes matières, car dans sa fabrication on tire parti de plusieurs objets de rebut : on brûle les éclats de bois imprégnés de résine (galips), les paillasses qui ont servi à la filtration Cette combustion de substances non résineuses y porte une proportion plus ou moins grande de charbon et diminue d'autant les propriétés utiles de la poix. La poix noire doit être d'un beau noir lisse, cassante à froid, mais facile à ramollir par la chaleur des mains et y adhérant beaucoup ;
 poix-résine ou résine jaune — La poix dite jaune ou poix résine n'est que de la résine (la colophane), principalement celle récoltée en Bourgogne, dans laquelle, pendant sa fusion, on a réussi à introduire au moyen du brassage une certaine quantité d'eau. Cette poix jaune à cause de l'eau interposée ne jouit presque d'aucune transparence. Elle est ordinairement mise dans le commerce sous la forme de pains de couleur jaune presque totalement opaques, très fragiles, se ramollissant à la chaleur des doigts. Son odeur est assez faible comparée à celle des résines sèches.
La pharmacopée ancienne distinguait :
 pix alba, la poix blanche, pix burgundica. La colophane ;
 pix nigra liquida, la poix noire liquide. La partie liquide du goudron de pin appelé aussi brai ;
 pix nigra sica, la poix noire sèche. La partie grossière du goudron de pin qui est évaporée jusqu'à siccité ;
 zopissa, du goudron de pin raclé des navires, et macérée dans l'eau de mer.

Pline l'Ancien rapporte qu'on extrait la poix liquide par distillation de la résine de pin cembro ou d'épicéa, bois très résineux. Cette poix liquide est employée en Égypte pour la momification des corps. La poix liquide peut être réduite au feu et coagulée au vinaigre, et sert alors à imperméabiliser les amphores. Les Grecs calfatent les navires avec de la poix mêlée de cire. Pline nomme également poix les extraits de résines d'autres arbres orientaux, comme le térébinthe, le lentisque, le cyprès. Ces poix sont solubles dans l'huile et peuvent servir à l'épilation.

Les topos hérités de l'historiographie romantique du  ayant renoncé à la critique de la littérature des chroniqueurs médiévaux, et repris dans les films de guerre se déroulant au Moyen Âge, évoquent lors des sièges, des jets de poix fondue (résine de pins et de sapins), d'eau ou d'huile bouillantes, mais ces ressources étaient trop rares ou précieuses pour être gaspillées.

La poix fut l'un des carburants les plus utilisés pour les bateaux à vapeur américains, en Floride. À cette époque, la poix est extraite des fours à poix.

Elle est l'un des composants du vernis à graver, utilisé dans la gravure par eau-forte.

La poix fut aussi utilisée pour torturer Ravaillac, l'assassin d'Henri IV.

Dans la Bible

Noé l'utilise pour construire l'arche, selon les instructions précises que Dieu lui donne. Construite en bois de gopher, l'arche devait être enduite de poix en dedans et au-dehors. Ainsi imperméabilisée, elle devenait une embarcation sûre pour affronter le déluge (La Bible : Genèse 6:14).

Notes et références

Voir aussi

Articles connexes
 Expérience de la goutte de poix
 Goudron de pin
 Goudron de bouleau
 Brai

Poix

redpajama_set_name: RedPajamaWikipedia


text:
What's Happening Under the Ice?
/Lake Life, News
What's Happening Under the Ice?
By Marie McCallum
The basics: Lake thermal stratification patterns
Have you ever wondered what is happening to lakes and all the organisms that they host under the ice in the winter? Most interior BC lakes freeze in the winter, forming a layer of ice covering the entire surface of the lake. The majority of lakes and ponds don't completely freeze as the ice, and eventually the snow that layers on top, acts to insulate the water below (Ausable River Association, 2016). Interior lakes follow a pattern where they stratify (separate into layers that don't mix) in the summer, turnover or fully mix in the spring and fall, and then they re-stratify in the winter. This is known as a dimictic lake or a lake that turns over twice per year. In the summer, the warmest water is found at the surface and the coolest, most dense water can be found at the bottom of the lake. A thermocline forms which is defined by a temperature change of at least 1°C per vertical meter. As temperatures begins to cool down in the fall, the upper layer cools and all the water in the lake can mix as the density differences breakdown.
Lake water under the ice
To start, it is important to understand why ice floats. This video offers a great explanation; in summary, the way that the H2O molecules bond together at freezing temperatures, causes there to be lots of space between molecules, meaning that ice is less dense than water allowing it to float. If this were not the case, and ice formed from the bottom up, there would be no habitat for fish and other aquatic organism in the winter. In winter, a reverse stratification pattern forms, meaning that water gets colder as you go deeper into the lake. As water is most dense at 4°C, this can be found at the bottom of the lake. Water freezes at 0°C so the narrow layer of water, just below the ice, will be similar to the ice temperature and a slight warming can be observed towards the bottom of the lake. Although a true thermocline does not form, the different densities between water layers prevent mixing from occurring. The ice layer also prevents mixing of the lake water by wind. Without the mixing of water, the influx of oxygen at the surface, or oxygen produced by plants that are photosynthesizing, there is little supply of oxygen to the lake in the winter.
Lakes that are clear and less biologically productive will have sufficient oxygen to support life at all depths through periods of stratification. As lakes become more productive and increasing quantities of plants and animals respire and decay, more oxygen consumption occurs, especially near the bottom where dead organisms accumulate. Oxygen in bottom layers may decrease rapidly, forcing fish to move into the upper layer. Fish kills can occur when decomposing algae and organic material use up the oxygen.
Decomposition of organic material from dead organisms or organic material from the watershed (leaves, fallen trees, etc.) is an important process in lakes and can be more obvious when lakes are ice covered. With clear ice, the rising bubbles of carbon dioxide and methane are frozen into the ice and make for a spectacular display (Ward, 2021). Some lakes produce very large volumes of methane – to the point where it can be ignited as it exits a sampling hole in the ice surface (Fox, 2019). Visit this link to see this spectacular phenomenon for yourself! BCLSS advocates following safety protocols for all on ice activities. If venturing out on the ice for any activity, precautions should be taken to ensure ice is sufficiently safe. To learn more about ice safety, read this article by the Canadian Red Cross.
(Photo by Paul Zizka obtained from Ward, 2021)
What do fish do in the winter?
Being trapped under the ice with little oxygen might not sound very appealing, however, many organisms such as fish, have adapted to these conditions. Lake fish including Pike, Largemouth Bass, Trout, Yellow Perch, and more have adapted to this low oxygen, cold environment. Some fish species will move to the lake inlet, where freshwater from the streams flowing into the lake brings in dissolved oxygen allowing the fish to breathe. Other fish that live at the bottom of a lake, move towards the edges of the lake where the shallow water is oxygenated to the bottom. Some fish hover near the ice surface where oxygen in the ice slowly dissolves into the water (Trout Unlimited Canada, 2020).
While the area right below the ice may be one of the most oxygen rich areas in the lake during the winter, it is also the coolest where water can be less than 1°C. To avoid hypothermia, fish conserve energy by entering a state of semi-dormancy where they reduce their metabolism, limit movement, breathing rate, and primary bodily functions (NOAA, 2021). Another way fish can combat the cold environment is to increase their activity and breathing rates to stay warm which also means they need to feed actively throughout the winter which can be difficult with scarce resources (Trout Unlimited Canada, 2020).
What about other organisms?
Other organisms such as phytoplankton that live in lakes, produce thick-walled resistant cells that settle to the bottom of the lake where they overwinter. Zooplankton use a similar strategy, where they enter a resting stage and spend the winter in the relatively warm lake sediments. Amphibians will enter a state of hibernation for the winter and often burrow themselves down into the sediment along the lake bottom. Aquatic plants die back during the winter as they aren't able to receive enough light beneath the ice to continue growing. However, their root systems remain intact and store energy so that they can produce new vegetation in the spring (Ausable River Association, 2016). In winter months, benthic, or bottom dwelling invertebrates have been found to burrow into the substrate of the littoral zone, the zone where sunlight reaches the bottom in sufficient amounts to promote plant growth. They construct a cocoon and burrow deep into the bottom sediments and remain in this temporary habitat until it returns to a suitable state (Oldenburg, 2014).
It is being discovered that in some lakes under specific conditions, there can be very active biological activity under the lake ice. Recent research has documented algal blooms under lake ice (Weisberger, 2016; Sorensen, 2016) with some specific case studies in Lake Erie (Hill, 2020) and in Lake Baikal (Hampton et al., 2020). Clear ice that enables algal photosynthesis seems to be an important factor.
The natural world is incredibly resilient. This unique environment demonstrates the varied properties of water and some of the many cold adaptations that plants and animals have to survive the harsh reality under the ice.
Ausable River Association (2016). A look under the ice: winter lake ecology. Ausable River Association blog. https://www.ausableriver.org/blog/look-under-ice-winter-lake-ecology
Fox, D. (2019). Strange lake belches flammable gas in the high Arctic. ScienceNewsforStudents, Earth. https://www.sciencenewsforstudents.org/article/strange-lake-belches-flammable-gas-high-arctic
Hampton, S.E., S.M. Powers, S. P. Devlin & D. M. McKnight (2020). Big Question, Few Answers About What Happens Under Lake Ice. EOS Science News by AGU. https://eos.org/science-updates/big-questions-few-answers-about-what-happens-under-lake-ice
Hill, S. (2020). Alage in Lake Erie in the winter? Ice would help UWindsor research. Windsor Star, Local News. https://windsorstar.com/news/local-news/algae-in-lake-erie-in-the-winter-ice-would-help-uwindsor-research
NOAA (2021). Where do fish go when it freezes outside? National Ocean Service website. https://oceanservice.noaa.gov/facts/fish-freeze.html
Oldenburg, C. (2014). Winter Survival Strategies of Benthic Invertebrates in Temporary Habitats In a Northern Minnesota Lake. Biology Department, Bemidji State University. https://bit.ly/31CC4vX
Sorensen, E. (2016). Study Finds Life Under Lake Ice Complex, Surprisingly Active. Water Blogged. https://blog.limnology.wisc.edu/2016/12/01/study-finds-life-under-lake-ice-complex-surprisingly-active/
Trout Unlimited Canada (2020). What do fish do in the winter? Trout Unlimited Canada news. https://tucanada.org/what-do-fish-do-in-the-winter-part-2-lakes/
Ward, M.J. (2021). Captured In Ice. Outdoor Photographer. Landscape & Nature Photography Tips. https://www.outdoorphotographer.com/tips-techniques/nature-landscapes/methane-bubbles-captured-in-ice/
Weisberger, M. (2016) Surprise! Life Thrives Under Ice-Covered Lakes. Live Science, News. https://www.livescience.com/57011-life-blooms-in-ice-covered-lakes.html
Microplastics in Freshwater
Gift of a Membership


text:
Dansac er en virksomhed der udelukkende producerer stomiprodukter, inklusive stomi-, ileostomi- og urostomiprodukter.

Ekstern henvisning
 Dansac

Fremstillingsvirksomheder i Danmark


Heart disease is a progressive illness that takes a lot out of your aging family member. At first, heart disease might be something that your family member is able to keep under control with medications and other treatments, but eventually it worsens and proceeds to the end stages. This is when hospice care can help tremendously.
Medical treatments seem like something that your senior would want to continue indefinitely. But at some point, she might get tired of them or they may feel to her as if they're doing more harm than good. In the later stages of heart disease, your elderly family member may simply want to enjoy the time that she has left. Hospice care can help her to do that as comfortably as possible.
Heart disease can sometimes increase your elderly family member's visits to the emergency room or the hospital and that's not necessarily fun for her. In fact, those trips may be so trying that she wants to stop going to the hospital at all. Hospice providers can help her to manage symptoms and issues at home so that she doesn't have to go.
One big reason that people stop seeing hospital trips as useful is that it takes longer to recover from those visits than it used to take. Your elderly family member may tell you that she just doesn't see why it's necessary and wants to rest at home.
When normal daily activities, like walking from the couch to the bathroom, start to wear your family member out to the point that she's winded and exhausted, she may be in the later stages of heart disease. Hospice elder care can help you and your senior learn how to manage her fatigue and assist her in those activities.
As heart disease progresses, even staying awake can take more energy than your senior has to offer. She may start to withdraw a bit and sleep more. It will also be more difficult for her to pay attention and she might seem to have trouble following simple conversations.
If you're still in doubt about whether hospice elder care is the right solution for your family member, talk with her medical providers. They can help you to determine where she is in the stages of heart disease and when making the shift to hospice is right.
If you or an aging parent are considering hospice elder care in Philadelphia, PA, please contact the caring staff at Serenity Hospice today. Call (215) 867-5405.


IN THE NEWS:UCI Health is leading the way in advancing no-incision approaches to surgery, according to Dr. Jaime Landman, professor and chair, Department of Urology, UC Irvine.
Daily Pilot Fitness Files columnist Carrie Luger Slayback covered Dr. Landman's recent presentation at the Newport Beach Public Library, where he discussed the rapid surgical innovations being made possible by revolutionary advances in high-definition imaging and technology.
Landman described how the patient experience in the not-too-distant future will involve increasingly less invasive procedures, aided by robots, advanced by computer chips and enhanced by 3D printing. Colonoscopy scopes will be a thing of the past. Patients will simply swallow a pill, which will be steered by a magnet through the intestines. Prostate biopsies will be replaced by a camera pill and scan, and any cancerous growths will be removed by non-surgical ablation rather than a prostatectomy. The advent of 3D printing will not only be used to create surgical tools designed for each patient's anatomy, but will also help eliminate operating room medical waste.


text:
Q: SELF keyword in Objective-C In a project I'm creating, I have various classes. One of my classes has an instance of NSMutableArray that holds objects of another one of my classes. I thought I had a firm understanding on this topic, but somehow it got jumbled up in my mind again.
When initializing an instance of this class, I have this initilize method:
- (MMShowMovement *) initWithMovementName: (NSString *) name andNumber: (NSInteger) number {

 if( [super init] ) {

  [self setMovementTitle: name];
  [self setMovementNumber: number];

  [self setDotArray: [[NSMutableArray alloc] init]];

 }

 return self;

}

Later on, after an instance of this class is created, I can add objects to the NSMutableArray "dotArray." Here is that method.
- (void) addDot: (MMDot *) dot {

 [dotArray addObject: dot];

}

(I know, its simple) I'm wondering, when I use "dotArray" in this method, I am accessing the dotArray object for the instance of the class for which this method has been invoked, correct? Or should I use the self keyword here also?
- (void) addDot: (MMDot *) dot {

 [[self dotArray] addObject: dot];

}

Honestly, I'm not really sure. I believe it is the former, but I'm unsure as to why. And it is not necessary to use the self keyword in this method, why do I have to use it in the initializer to access the object?

A: self is a pointer to the current receiver - It refers to the object that received a message.
You can use self to get access to the object that performs the current method.
In your case, this means that if object X of type MMShowMovement receives an addDot: message, self contains a pointer to X.
You can access dotArray in three different ways:
[dotArray addObject:dot]; //directly access the instance variable dotArray
[[self dotArray] addObject:dot]; //access dotArray with an accessor method
//--or--
[self.dotArray addObject:dot]; //access dotArray with an accessor method using dot-syntax

If you are using automatic KVO notifications, you have to use the accessors (instead of directly manipulating the ivar) to trigger notifications.
To ensure that a variable is accessed via its accessor method, you have to prefix self.

A: [self dotArray] calls the "dotArray" selector (method) of the object. If there is no such method, you'll get an error. You cannot access the instance variable this way, unless it's a property and you've synthesized this getter method for it.
[dotArray addObject] simply accesses the variable and calls a built-in method that is specified by NSMutableArray.
[self setMovementTitle:], [self setMovementNumber:] and [self setDotArray:] are all method calls. You always need an object reference for method calls.
In init, you may as well have said [dotArray addObject] (after initing the variable, of course).

A: Usually we'll write
self = [super init]

Because super's initialization method might return an object that's not the same as the one that was allocated. So that's why we use self in initxxx method and we don't need to use self in other kinds of methods.
I learned this stuff clearly from the book Learn Objective-C on the Mac, Chap 10 Object Initialization, Mark Dalrymple and Scott Knaster, Apress.
A excerpt from the book:
instance variables are found at a memory location that's a fixed distance from the hidden self parameter. If a new object is returned from an init method, we need to update self so that any subsequent instance variable references affect the right places in memory.


text:
Guto Bebb – Sir Tom Hunter right to say People's Vote is only way forward
Scottish entrepreneur and philanthropist Sir Tom Hunter has stated his support for a People's Vote on Brexit.
Commenting, Guto Bebb MP, leading supporter of People's Vote, said:
"Sir Tom Hunter, one of Scotland's most successful businessmen and philanthropists, is right to say that the only way forward out of this Brexit mess is by giving the public the final say through a People's Vote.
"Huge numbers of people across the country are coming to the same conclusion as Sir Tom – that due to broken promises, the Brexit being delivered looks totally different to the one that was promised. That's why the public must be given a say on whether they accept the Brexit deal on offer, or whether they'd prefer to keep our current, better, deal in the EU.
"That's why huge numbers of people who will be marching through London on March 23, insisting that MPs in Westminster put Brexit back to the people."
Sir Tom Hunter's comments can be read here.


Pastor added one of his church member on facebook and he innocently accepted.
Man: I'm fine, my daddy.
Pastor: You should be saying amen to claim the Blessings. Man: Ok, May the over-speeding trailer of blessings jam and crush you and your family. May the earthquake of happiness swallow you and your family members. May the sea of miracles drown you and your family members in Jesus' name.


text:
'Deep Throat' Led Salt Lake FBI Office for a Time
By | Posted - May 31, 2005 at 4:59 p.m.
Carole Mikita ReportingA frail, 91-year old man faced a media horde outside his California home today. His face mostly in shadows, illuminated by the staccato flash of cameras. It was a fitting way for one of the most shadowy and intriguing figures in American lore to come forward.
Mark Felt, a former FBI agent who had a stint here in Utah is said to be "Deep Throat", the confidential source who spilled the beans about the "Watergate" scandal that brought down the Richard Nixon presidency. Mark Felt's family members say they're glad he got it off his chest.
Joan Felt, Daughter: "He's happy. He's grinning from ear to ear."
The former associate director of the FBI broke his silence in a Vanity Fair article, and the Washington Post later confirmed the report. Felt was the confidential source who put Post reporters Bob Woodward and Carl Bernstein on to the Watergate scandal that ultimately brought down the presidency of Richard Nixon.
Not everyone's calling Felt a hero, certainly not G. Gordon Liddy who served prison time for his role in Watergate.
G. Gordon Liddy, Watergate Conspirator: "If Mark Felt was Deep Throat, he's no hero. He's someone who behaved unethically in that he didn't take his evidence to a grand jury and seek an indictment. That's what he should have done."
Felt's daughter says her father decided to go public when he found out his story could make money to help pay for his grandchildren's education.
For years there was speculation "Deep Throat" had Utah ties. It turns out he did. And there is an even more famous Utahn who helped make this story memorable on film.
The story of Watergate involved men who lived here in different decades and whose influence reached from Salt Lake's FBI office to the big screen. Bob Woodward and Carl Bernstein gave the film rights to Robert Redford. He was producer, as well as star, and told Chris Matthews on 'Hardball' that with the spotlight came responsibility.
Robert Redford "A lot of research became very important. So, when I got that involved in the research with Bob and Carl, who were very generous and certainly very cooperative, I learned more than I ever expected to know about Watergate."
Redford says he asked Woodward early on about 'Deep Throat's' identity, but when the reporter declined to reveal his source, he didn't push him.
Robert Redford: "I figured if bob ever wanted me to know, he'd tell me. And in the meantime, part of me hoped it wouldn't come out because the mystery had such theatrical advantages."
What played out in theatres had been front page news for years, but this story had humble beginnings. Mark Felt was born and raised in Idaho, and from October 1956 to March 1958 was head of Salt Lake's FBI office. A retired Utah agent says he's not surprised by the news.
Louis Bertram: "I think he was protecting the bureau. I think he was protecting the country. Mark Felt would have had the background and the insight and the intelligence and the wherewithal to collect information about these individuals."
Watergate will be front page news again, there will be more books and who knows, perhaps even another film.
Will Ukraine boycott the Olympics if Russians are allowed to compete?
Should pregnant women be able to use the HOV lane in Utah?


Manitoba is rich in community-based financial support services.
Co-operatives are organizations and businesses known for a values-driven approach to business and community.
Credit unions are like financial co-operatives and play an important role in the lives of all Manitobans.
Manitoba is rich in community-based financial support services, providing the practical experience and guidance you might need to get your finances back on track. Many of these local, non-profit organizations share common values and offer low or no-cost tools and resources to people in Winnipeg, Brandon, and other cities and towns across the province.
As you continue your journey of growing your financial knowledge, look for trusted, unbiased in-person resources to help you. Along with your own reading and planning, the combination of the human touch with the facts and figures can make for a powerful combination that motivates you to stay on your path.
And when you see a benefit for yourself, your family and your whole community, your motivation to grow your financial knowledge may stay strong.
Whether you're at the beginning of your financial journey or well along your way, take time to learn about community support groups in your area.
SEED Winnipeg (Supporting Employment & Economic Development) is an important community-based resource for financial and business tools and information. SEED can provide the hands-on support, know-how, and guidance you might need to stay on financial track.
Immigrant and Refugee Community Organization of Manitoba provides programming and accommodations for newcomer families. IRCOM maintains a broad scope of programs and offers specific programming connected to financial empowerment and independence.
These are just a few of the organizations currently out there, but there are always new opportunities to expand your financial knowledge. Visit MoneySmart Manitoba regularly for updates on community-based financial education and support options.


A hot meal shall be prepared and served every Saturday to those who are homeless or are in need. Every guest shall be treated with Dignity, Respect, and compassion.
We are a volunteer ministry, shopping, preparing, cooking, serving, and cleaning. We feed the body, with a small continental breakfast and a hearty Hot meal, nourishes the mind with spiritual growth, and fill the soul with caring, kindness, and warmth.
Our goal is to help out those in need of temporary assistance. Our guests are invited in at 8:30 a.m. to a small breakfast consisting of coffee and juice, cereal and oatmeal, toast and danish. At 10:30 a.m., we provide a hot meal, consisting of anything from, meatloaf, chicken, pork chops, roast beef, and including potatoes, vegetables, salad, fruit, bread, and dessert.
All those in need of a good hot meal for the Body, a bit of nourishment for the Mind, and some down to earth friendly care, for the Soul are welcome to come and enjoy the morning with us.
For more information please contact duffy.rad@gmail.com.
Are you interested in volunteering with the Bread of Angels? Please click the flyer below for more information.


text:
import os
import sys
import re

import logging
import MySQLdb

class MySqlConfig:
	def __init__(self, host = 'localhost', port=3306, user='root', password = '', dbname = 'mysql', mysql_sock = '', defaults_file = '', tags = None, options={}):
		self.host = host
		self.port = port
		self.user = user
		self.password = password
		self.mysql_sock = mysql_sock
		self.defaults_file = defaults_file
		self.tags = tags
		self.options = options
		self.dbname = dbname

	def get(self, key, default_value):
		if hasattr(self, key):
			return getattr(self, key)
		else:
			return default_value

class MySql:
	def __init__(self, name, dbname = '', autocommit = False):
		self.mysql_version = {}
		self.log = logging.getLogger(name)
		self.log.setLevel(logging.WARNING)
		self.cursor = None
		self.db = None
		self.configinstance = None
		self.dbname = dbname
		self.autocommit = autocommit
	#def
	def get_library_versions(self):
		try:
			import MySQLdb
			version = MySQLdb.__version__
		except ImportError:
			version = "Not Found"
		except AttributeError:
			version = "Unknown"

		return {"MySQLdb": version}

	def check(self, instance):
		host, port, user, password, dbname, mysql_sock, defaults_file, tags, options = self._get_config(instance)

		if (not host or not user) and not defaults_file:
			raise Exception("Mysql host and user are needed.")

		self.configinstance = instance
		self.db = self._connect(host, port, mysql_sock, user, password, dbname, defaults_file)
		#SET UTF-8
		self.db.set_character_set('utf8')
		self.cursor = self.db.cursor()
		self._cursorUtf8(self.cursor)
		if self.autocommit:
			self.cursor.connection.autocommit(True)

	def _get_config(self, instance):
		host = instance.get('host', '')
		user = instance.get('user', '')
		print "user", user
		port = int(instance.get('port', 0))
		password = instance.get('pass', '')
		mysql_sock = instance.get('sock', '')
		defaults_file = instance.get('defaults_file', '')
		tags = instance.get('tags', None)
		options = instance.get('options', {})
		dbname = instance.get('dbname', 'mysql')

		return host, port, user, password, dbname, mysql_sock, defaults_file, tags, options

	def _connect(self, host, port, mysql_sock, user, password, dbname, defaults_file):
		try:
			import MySQLdb
		except ImportError:
			raise Exception("Cannot import MySQLdb module. Check the instructions "
				"to install this module at https://app.datadoghq.com/account/settings#integrations/mysql")

		if defaults_file != '':
			db = MySQLdb.connect(read_default_file=defaults_file)
		elif  mysql_sock != '':
			db = MySQLdb.connect(unix_socket=mysql_sock,
									user=user,
									passwd=password,
									db = dbname)
		elif port:
			db = MySQLdb.connect(host=host,
									port=port,
									user=user,
									passwd=password,
									db = dbname)
		else:
			db = MySQLdb.connect(host=host,
									user=user,
									passwd=password,
									db = dbname)
		self.log.debug("Connected to MySQL")

		return db
	"""http://stackoverflow.com/questions/1566602/is-set-character-set-utf8-necessary"""
	def _cursorUtf8(self, cursor):
		cursor.execute('SET NAMES utf8;')
		cursor.execute('SET CHARACTER SET utf8;')
		cursor.execute('SET character_set_connection=utf8;')
		return cursor

	def _get_version(self, db, host):
		if host in self.mysql_version:
			return self.mysql_version[host]

		# Get MySQL version
		cursor = db.cursor()
		cursor.execute('SELECT VERSION()')
		result = cursor.fetchone()
		cursor.close()
		del cursor
		# Version might include a description e.g. 4.1.26-log.
		# See http://dev.mysql.com/doc/refman/4.1/en/information-functions.html#function_version
		version = result[0].split('-')
		version = version[0].split('.')
		self.mysql_version[host] = version
		return version
	def query(self, sql):
		"""Executes the given SQL statement and returns a sequence of rows."""
		assert self.cursor, "%s already closed?" % (self,)
		try:
			self.cursor.execute(sql)
		except MySQLdb.OperationalError, (errcode, msg):
			if errcode != 2006:  # "MySQL server has gone away"
				raise
			self._reconnect()
		return self.cursor.fetchall()
	def lastrowid(self):
		assert self.cursor, "%s already closed?" % (self,)
		return self.cursor.lastrowid

	def close(self):
		"""Closes the connection to this MySQL server."""
		if self.cursor:
			self.cursor.close()
			self.cursor = None
		if self.db:
			self.db.close()
			self.db = None

	def _reconnect(self):
		"""Reconnects to this MySQL server."""
		self.close()
		self.db = slef.check(self.configinstance)
		#self.cursor = self.db.cursor()

	def _collect_dict(self, metric_type, field_metric_map, query, db, tags):
		"""
		Query status and get a dictionary back.
		Extract each field out of the dictionary
		and stuff it in the corresponding metric.

		query: show status...
		field_metric_map: {"Seconds_behind_master": "mysqlSecondsBehindMaster"}
		"""
		try:
			cursor = db.cursor()
			cursor.execute(query)
			result = cursor.fetchone()
			"""if result is not None:
				for field in field_metric_map.keys():
					# Get the agent metric name from the column name
					metric = field_metric_map[field]
					# Find the column name in the cursor description to identify the column index
					# http://www.python.org/dev/peps/pep-0249/
					# cursor.description is a tuple of (column_name, ..., ...)
					try:
						col_idx = [d[0].lower() for d in cursor.description].index(field.lower())
						if metric_type == GAUGE:
							self.gauge(metric, float(result[col_idx]), tags=tags)
						elif metric_type == RATE:
							self.rate(metric, float(result[col_idx]), tags=tags)
						else:
							self.gauge(metric, float(result[col_idx]), tags=tags)
					except ValueError:
						self.log.exception("Cannot find %s in the columns %s" % (field, cursor.description))
			"""
			cursor.close()
			del cursor
		except Exception:
			#self.warning("Error while running %s\n%s" % (query, traceback.format_exc()))
			self.log.exception("Error while running %s" % query)

if __name__ == "__main__":
	cfg = MySqlConfig(dbname='smartstrader')
	print cfg.get("host", "")
	print cfg.get("hostx", "x")
	msql = MySql('daily')
	msql.check(cfg)
	print msql.query("""SELECT *
FROM  `stock_symbols`
LIMIT 0 , 30""")


text:
Will Anti-Immigration Fervor Hurt the High-Tech Sector?
by Anna Young
The UK has opened a new battlefront in what appears to be a concerted effort by developed economies to limit immigration to their shores, a move that has some significance for high-tech companies.
To Western politicians, the uproar over immigration in communities and nations struggling with high unemployment rates is a useful tool for winning votes. But for businesses operating internationally, it is another one of a rising pile of obstacles to moving critical employees around or securing the services of new ones.
The political drama over immigration is controversial in the United States, but it is in Europe where it has become highly contentious. In addition to fighting illegal immigration, leaders of every political platform in major European nations are now taking steps to limit even legal immigrants, especially from developing countries.
In the UK, for instance, home secretary Theresa May has announced a cap on the number of immigrant workers from non–EU nations into Britain by a fifth from next year. May said non-EU nationals permitted to work in the UK per year will not exceed "21,700."
The government noted that the restriction will not affect thousands of other workers legally allowed to work in the UK on intra-company transfers. I don't believe that. Once you start tinkering with a major policy like this, even intra-company transfers will ultimately feel the impact.
The new policy is part of the government's plan to cut net immigration into the UK by almost half over five years. Still, I question the timing of Prime Minister David Cameron's decision at a time the government is planning on developing a high-tech center in East London to compete with similar ones in Asia and North America.
The UK is only the first Western nation to propose and implement tighter restrictions on immigration. Others in Europe and North America are considering similar moves to safeguard local jobs and appease citizens worried about perceived job losses to immigrants. This will obviously have some impact on the high-tech industry, a segment of the global economy that has long relied on immigrants to fuel innovation and drive growth.
While businesses will be hurt by these restrictions, they will also hurt the competitiveness of nations implementing the policies. Japan, for example, has had a restrictive immigration system in place for decades, making it tough for the country to compete globally for the best technology minds. As the country's population ages, there are already discussions within Japan about relaxing the rules.
In a November advertisement, Japan's Forum of international Relations, an industry body, warned: "If Japan wants to survive in a globalized world economy and to advance her integration with the burgeoning East Asian economy, she essentially has no other choice but to accept foreign migrants."
What emerges from a situation like this is that companies will either move elsewhere to find fresh talents and cheaper labor, or they will create satellite offices. Many high-tech companies are doing just that. For example, software giant {complink 3426|Microsoft Corp.} is "opening a development center" in British Columbia, which allows for foreign workers without restriction, unlike in the US.
Britain and other Western country need to exercise caution in this immigration tussle, because local companies will only accelerate outsourcing if they cannot recruit employees from wherever.
TagsBusiness • Career • Demand • Government Departmental Rulings Directives • Government Relations • Industry World • International Law • International Relations • International Trade • Japan • Labor & Worker Relations • Legal Issues • Legislation • North America • People • Profession • Region • Supply Issues • Western Europe
10 comments on "Will Anti-Immigration Fervor Hurt the High-Tech Sector?"
This really is a very complicated issue.
I agree that in general, there are some very strong feelings against immigration right now — especially in the U.S. — and the causes for this are numerous.
Obviously, the "war on terror" is one factor. I believe there are many people out there that secretly fear that any person they meet of Middle Eastern origin is a secret terrorist.
The drug wars in Mexico are another factor, and obviously Arizona has taken up a very strong anti-immigration stance in response.
And with the high levels of unemployment and general lack of jobs, I doubt many Americans are going to be too supportive of allowing, "immigrants to come in and take jobs away from needy citizens."
So I am not surprised to hear that the UK is taking steps to limit the number of immigrant workers. Will this become a trend? I'm not sure. Could this possibly hurt the tech sector? You know, I think it could. As you say, this potentially could only encourage companies to outsource further.
Immigration has always been a touchy subject and it will only become more controversial in future. Companies operate sometime on a wavelength that is supposed to be global and they don't always consider or see the social impact of their actions. Governments have to figure out ways to balance the needs of businesses and other parts of the society and sometime this results in decisions that may not be popular with corporations.
Will the UK government shoot itself in the foot? Possibly. Will businesses be hurt by this new policy? Very likely. Will the decision be popular with Britons? Most definitely.
Mydesign
It's very sad, to here one more news against the immigration, after the initial step taken by US. Once after completing the studies majority of techies are migrating to other countries, for better career growth. We have to consider the manpower pool as global. Even though the countries want to protect the local interest, they can allow the immigration process especially in skilled technical areas. Then only innovations will happens and as a resultant new product can be released to the market. The national governing bodies can seek alternate methods, against the unemployment and to protect their interest. Initially many of the countries opened their markets for global investment and invited almost all business tycoons for investment. So the capital investors have their own interest and policy's for recruitment. Once after establish, I think it's not fair to levy extra tax or other form of restrictions for the foreign employees.
There is nothing wrong in this move(if it was accompanied by aggressive training for Citizens to take up the High-Tech jobs).
Unfortunately there is no such move.On the contrary,Research and Education budgets are being cut rather aggressively by most Govts in the West.Which means once those jobs go overseas,they will never be coming back.
As for the Highly skilled and talented individuals they really have nothing to worry about.If the West wont take them,Asia will happily absorb the best talent.Remember the best Talent is always in demand(no matter how deep a recession is on currently).
Ashish.
Much of the discussions about immigration in Europe — and I suspect in North America too — is driven both by fear and also by the realities of limited resources. Many in the UK believe the country is being overrun by immigrants who often do not integrate as well as the native-born citizens would like. The more recent economic problems that culminated in sharp budget cuts will only make the situation worse.
The backlash is not a recent development, however. There have always been anti-immigration developments by ordinary citizens in developed economies. The danger to businesses this time is that the government is today in the driver's seat of sharply scaling back immigration. They'll promise it won't affect businesses but eventually companies will find their ability to move employees around or recruit internationally curtailed.
This is a tough issue for all developed nations. Public perception does not differentiate between illegal and illegal immigrants (in the US anyway) and people willing to work for below-average wages vs. highly trained, highly educated immigrants. In the the US, the H1B visa system is supposed to allow in only the most qualified workers, but the total number of visas has been reduced and is capped very quickly.
The issue of transfer among countries in the EU is perplexing. Companies should be allowed to move employees around without government intervention. If this person is gainfully employed, it's a net positive for any country they resdie in.
I agree with your line of thinking.But we also have to understand the importance of helping people understand the importance of High-Tech workforce and the number of related/ancillary jobs they generate in the wider economy.
Its ok to put a cap on unskilled labor entering the UK,but when it comes to Highly skilled labor its a big-big problem and will end up with Companies moving highly skilled jobs overseas to where there are no such restrictions on recruiting the best and most skilled employees.
eemom
While I agree with your premise, I'm not sure how the US or the UK would implement such a restriction. To allow a certain group unlimited imigration rights while restricting others could have its own set of issues and biases. I believe restricting imigration of high skilled high tech individuals is decision that will ultimately hurt companies and perhaps not benefit citizens. This is a case where the best man gets the job (hopefully). I'm not sure companies care whether the "man" is an immigrant or not, I don't believe the government should interfere to make it easier for people to get jobs. Competition and challenge are always motivational drivers.
maou_villaflores
I guess the High-Tech sector is not really affected. They can always outsource the job somewhere which they can get the same result lesser the cost than bringing a highly-skilled IT professional on-shore.If we do the math it will cost them too much in particular with the relocation and immigration lawyer expenses.
prabhakar_deosthali
Whether such restrictions are actually implemented or not, this has definitely created jitters in the nations which are beneficiary of the current outsourcing. The economy of country like India which has largely benefitted from the IT outsourcing boom will be affected to a great extent. And this fear has already affected the stock prices of the IT companies which are heavily dependent on revenues from outsourcing


text:
RCMP officers gather in front of a tripod erected by protesters on the Granite Mainline Forest Service Road in the Fairy Creek watershed on Tuesday, Sept. 14. (RCMP photo)
Fairy Creek arrests surpass 1,000 in Canada's largest act of civil disobedience
Police made 856 arrests during logging protests at Clayoquot Sound in 1993
Kevin Rothbauer
Sep. 15, 2021 11:30 a.m.
The number of arrests at old-growth logging protests in the Fairy Creek watershed climbed past 1,000 on Tuesday, Sept. 14.
With 12 more on Tuesday, the RCMP have now made 1,004 arrests since enforcement of the BC Supreme Court injunction in the area began in May 2021.
Last week, Fairy Creek surpassed the protests at Clayoquot Sound nearly three decades ago as the largest act of civil disobedience in Canadian history. Police made 856 arrests during logging protests at Clayoquot Sound in 1993.
Police arrested 12 individuals for breaching the injunction on Tuesday, including some who were in a trench or perched atop a tripod. Police say the obstacles had been set up overnight by protesters who infiltrated the injunction area. Four of the arrestees were processed and released.
Of the 1,004 arrests at Fairy Creek, 110 individuals have been arrested more than once, for a total of 261 times. The most common infraction has been for breaching the injunction, with 775 arrests, followed by 196 for obstruction, 16 for mischief, six for breaching release conditions, six for assaulting a police officer, two for failing to comply with a court order, one for counselling to resist arrest, one for causing a disturbance, and one under the Immigration Act.
For more news from Vancouver Island and beyond delivered daily into your inbox, please click here.
RELATED: Old-growth activists want fewer police powers at Fairy Creek, RCMP asking for more
Fairy Creek watershedforestryprotest
Local B.C. governments seek ways to go beyond talking about reconciliation
Skeena-Bulkley Valley's Liberal candidate pops up in the riding 5 days before polling


text:
Q: Passing NSArray to a cpp function I need to call a cpp function like
void myFunc(float **array2D, int rows, int cols)
{
}

within an objective-c object. Basically, the array is created in my objective-c code as I create an NSArray object. Now, the problem is how to pass this array to my cpp function.
I am a bit new to these mixed c++/objective-c stuffs so any hint will be highly appreciated.
Thanks

A: I guess you have to convert the NSArray to a plain C array.
Something like:
NSArray *myNSArray; // your NSArray

int count = [myNSArray count];
float *array = new float[count];
for(int i=0; i<count; i++) {
    array[i] = [[myNSArray objectAtIndex:i] floatValue];
}

or, as a commenter suggested (assuming your NSArray contains NSNumbers):
NSArray *myNSArray; // your NSArray

int count = [myNSArray count];
float *array = new float[count];
int i = 0;
for(NSNumber *number in myNSArray) {
    array[i++] = [number floatValue];
}

A: Look at this post.
Check out the answer that mentions using [NSArray getObjects] to create a c-style array.
Here's the code that the poster put in there:
NSArray *someArray = /* .... */;
NSRange copyRange = NSMakeRange(0, [someArray count]);
id *cArray = malloc(sizeof(id *) * copyRange.length);

[someArray getObjects:cArray range:copyRange];

/* use cArray somewhere */

free(cArray);

A: Alternately, since CFArray is toll-free bridged to NSArray, could you call those C functions from your C++ function?  I'd look around, wouldn't be surprised if there weren't a C++ wrapper to give similar semantics, or one could be written easily enough.