Using Cygwin in Windows 10, chmod 600 does not work as expected?

ssh says:

Load key "C:\Users\me/.ssh/id_rsa": bad permissions
debug1: Trying private key: C:\Users\me/.ssh/id_dsa

So I try to fix the permissions using chmod 600 as is very standard on Linux systems:

me@DESKTOP-B7QCL2A /cygdrive/c/Users/me/.ssh
$ chmod 600 C:\Users\me/.ssh/id_rsa

But it does not work. ssh still reports bad permissions. Indeed, it seems that the chmod 600 command did nothing:

me@DESKTOP-B7QCL2A /cygdrive/c/Users/me/.ssh
$ ls -l C:\Users\me/.ssh/id_rsa
-rw-r--r-- 1 me me 887 May 31 18:58 'C:Usersme/.ssh/id_rsa'

I mean sometimes it works, if the file is in the home directory. I don’t know why .ssh isn’t in my home directory, it’s odd, but let’s not change the ssh configuration because I haven’t touched it, just trying to add a private key file. Let’s figure out how to fix permissions.

I tried all kinds of hacks suggested here, the setfacl, and the chgrp, none of it works.

dnd 3.5e – How does the spell Siphon work for a caster who is both spontaneous and able to cast prepared spells?

The description of the 3rd-level Sor/Wiz spell siphon (trans) (Complete Scoundrel 103) makes no mention of any restrictions on what spells it can replace due to the source of the siphon spell’s casting. That is, the spell doesn’t seem to care if it were cast as a prepared spell or if it were cast without preparation. Instead, the description says that the siphon spell effect can replace only expended arcane prepared spells (like those of a wizard) and expended arcane spell slots of a caster that casts spells without preparation (like those of a bard or sorcerer).

Further, with the spell’s description including tightly knit language that accommodates casters whose spells are both prepared and not prepared, it seems reasonable to allow a multiclass caster who’s capable of both kinds of casting to pick to allocate the spell’s effect appropriately however she wants. For example, I’d have no problem in my campaign allowing a sorcerer/wizard to cast the spell siphon and use appropriately the effect to replace expended prepared spells, expended spell slots, or both in some combination.

Were the spell to check the caster’s magic style—with or without preparation—, activating a wand of siphon would be complicated as the spell’s effect would then possibly be contingent upon the creator of the wand of siphon instead of the effect being contingent upon the spell itself. Under such a reading, a typical wand of siphon would default to creation by a wizard—as that would give it the lowest caster level—, so a sorcerer could still activate such a wand but receive no benefit. That’d be weird and would perhaps make the siphon spell unique among 3.5‘s official spells.

GSA-SER Work 2020?

Hi, I newbie and just one week buy GSA SER. I want to know, GSA SER still powerful in 2020? I believe these tools still strong, how about you?

dnd 5e – How do the damage rules from blogofholding’s “5e monster manual on a business card” work?

5e monster manual on a business card

Damage: This is the damage budget for all the monster’s attacks. Limited-use (daily, recharge, or situational) attacks do 4x the damage budgeted. Multi-target attacks do ½ the damage budgeted. Limited-use multi-target attacks do 2x. All other damage sources are 1 for 1, including at-will and legendary single-target attacks, auras, reactions, and variable-length effects like Swallow. If a monster has several at-will options (such as melee and ranged), the lower-damage options are free.

The example stat block that the author uses to illustrate these rules involves a low-level creature that can only make a single attack per round, and in this situation the rules seem to work out. I’m having more trouble figuring out how the rules work when you start throwing multiattack into the mix or when you get into the higher levels with powerful creatures that have legendary actions, for instance.

The Monster Manual lists the Adult Red Dragon as a CR 17 creature. According to the blog’s rules, this would give it a damage budget of 85. The dragon’s fire breath is a limited-use, multi-target attack that deals an average of 63 points of damage to those who fail their saves, so as per the rules this should use up 31 out of the 85 budget, leaving 54.

The legendary Wing Attack also falls into this category and so should use up 7 more of the budget, leaving 47.

The blog’s rules indicate that only the most powerful at-will attack, which is a 1 for 1 on the budget cost, requires any budget, which means that the Bite attack eats up the 26 of the remaining budget, leaving 21.

Is this correct? Does the fact that the dragon has multiattack come into play in the budget calculations? Or is it that the dragon is a powerful creature and thus based on “concept” it should be up to 50% higher on the damage budget? In this case, we’re looking at a budget of up to 127, and then it seems like accounting for every attack available works out: 31 for the breath weapon, 7 for the wing attack, 26 for the bite, 15 x 2 for the claws, 17 for the tail, for a total of 111.

dnd 5e – How does underwater rules work with flying familiars?

Being a familiar doesn’t change any interactions with being underwater. The things that matter are whether or not they can breathe underwater and whether or not they have a swim speed.

If they don’t have either, as most PCs don’t, then you treat the familiar the same as you would any PC when going underwater.

You can read more about the rules regarding underwater movement (PHB, Chapter 8) and underwater combat (PHB, Chapter 9).

Since there is a NPC caster using water breathing on the PCs, that spell could also be applied to the familiars and any other friendly creatures the party would like to join them. If not, then they’ll just have to hold their breath via the suffocation rules (PHB, Chapter 8).

Flying speed underwater

As per the rules on swimming if it’s not a swim speed, then each foot of movement uses another foot of movement. There is no rule that you can’t use your fly speed underwater, just that you use your ‘speed’. However, as seen in this question whether or not you can use your fly speed may be up to your DM. The rule aren’t clear, so talk with them (or making a ruling if you are the DM) about that.

Americans are returning to work, will the demlibs continue their fight to not work?

I’ll continue fighting for common sense during a pandemic, now run off and be a good little ‘Human Capital Stock’.

‘Our Human Capital Stock is ready to get back to work’ – Donald J. Trump’s Economic Adviser Kevin Hassett

Hassett, despite lacking experience in the field of public health policy, influenced The Trump Administration’s response by downplaying the danger of coronavirus and pushing the administration to re-open the economy amid lockdowns and social distancing. To no surprise Hassett works at American Enterprise Institute, wrote a paper in 1999 claiming the stock market was about to have a massive swing upward. Shortly thereafter, the dot-com bubble burst and was also the economic adviser to the 2004 campaign of George W. Bush.

starfinder – Does double tap feat work with soldier Weapon Specialization and with deadly aim?

Thanks for contributing an answer to Role-playing Games Stack Exchange!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.

To learn more, see our tips on writing great answers.

c# – Entity Framework 6 using Repository and Unit Of Work Patterns

I have the following method that contains the logic for saving Nunit tests to a mysql database:

public void AddModelToDatabase(FileReportModel Model, UnitOfWork UnitOfWork)
      {
         var project= UnitOfWork.Projects.AddProject();
         var namespace_id = UnitOfWork.Namespaces.AddNamespace(Model);
         var story_list = Model.Stories.ToList();
         UnitOfWork.DailyReportInfo.AddDailyReportInfo();
         var session_id = UnitOfWork.Sessions.AddStorySession(story_list, project, namespace_id);

         foreach (var item in story_list)
         {
            var fixture_data = UnitOfWork.Fixtures.AddFixture(item, namespace_id);
            UnitOfWork.SaveChanges();
            var scenarios_group_by_id = item.Scenarios.GroupBy(S => S.Id);
            bool first = true;
            foreach (var scenario in scenarios_group_by_id)
            {
               var test_data = UnitOfWork.Tests.AddTest(scenario.FirstOrDefault(), fixture_data);
               var tests_and_subtests = scenario.ToArray();

               foreach (var test in tests_and_subtests)
               {
                  var result_data = UnitOfWork.Results.AddResult(scenario);
                  var bug_data = UnitOfWork.Bugs.GetAll();
                  if (test.Example != null)
                  {
                     var total_tests = tests_and_subtests.ToList().Count;

                     var sub_test_data = UnitOfWork.SubTests.AddSubTest(test_data,total_tests);
                     UnitOfWork.ExampleTableHeaders.AddExampleTableHeaders(test, UnitOfWork);
                     var example_header_data = UnitOfWork.ExampleTableHeaders.GetAll().Where(x => test.Example.Headers.Contains(x.Name));
                     UnitOfWork.TestHeaders.AddTestHeader(test_data, example_header_data,test, UnitOfWork);
                     UnitOfWork.TestBugs.AddTestBug(test.Tags, test_data,sub_test_data, bug_data);
                     UnitOfWork.ExampleTableValues.AddExampleTableValues(test, UnitOfWork);

                     foreach (var header in test.Example.Values)
                     {
                        var test_header_count = Array.FindIndex(test.Example.Headers, Row => Row.Contains(header.Header));
                        var example_table_values = UnitOfWork.ExampleTableValues.GetAll().Where(t => test.Example.Values.ToList()(test_header_count).GetValueAsString().Contains(t.Name));
                        UnitOfWork.SubTestValues.AddSubTestValuesByIndex(sub_test_data, test_header_count, example_table_values, test, UnitOfWork);
                     }

                     UnitOfWork.SessionSubTests.AddSessionSubTest(session_id, test_data, sub_test_data, result_data);

                     UnitOfWork.StepCategories.AddStepCategory(UnitOfWork);
                     UnitOfWork.Steps.AddStep(test.Steps, UnitOfWork);

                     if (first)
                     {
                        foreach (var step in tests_and_subtests.First().Steps)
                        {
                           var step_modifiers = UnitOfWork.StepCategories.GetAll().Where(M => step.Title.Contains(M.Name));
                           var step_data = UnitOfWork.Steps.GetAll().Where(S => step.Title.Contains(S.Name));
                           var step_index = tests_and_subtests.First().Steps.FindIndex(i => i.Title == step_data.First().Name);
                           UnitOfWork.TestSteps.AddTestSteps(test_data, step_data, step_modifiers, step_index);
                        }
                        first = false;
                     }
                  }

                  else
                  {
                     UnitOfWork.SessionSubTests.AddSessionSubTest(session_id, test_data, null, result_data);
                     UnitOfWork.TestBugs.AddTestBug(test.Tags, test_data, null, bug_data);

                     UnitOfWork.StepCategories.AddStepCategory(UnitOfWork);
                     UnitOfWork.Steps.AddStep(test.Steps, UnitOfWork);

                     foreach (var step in test.Steps)
                     {
                        var step_modifiers = UnitOfWork.StepCategories.GetAll().Where(M => step.Title.Contains(M.Name));
                        var step_data = UnitOfWork.Steps.GetAll().Where(S => step.Title.Contains(S.Name));
                        var step_index = tests_and_subtests.First().Steps.FindIndex(i => i.Title == step_data.First().Name);
                        UnitOfWork.TestSteps.AddTestSteps(test_data, step_data, step_modifiers, step_index);
                     }
                  }

                  UnitOfWork.Tags.AddTags(test.Tags, UnitOfWork);

                  var tags_data = UnitOfWork.Tags.GetAll().Where(c => test.Tags.Contains(c.Name));
                  UnitOfWork.TestTags.AddTestTags(test_data,test.Tags, tags_data, UnitOfWork);
               }
            }
         }
      }

And I’m calling it like so :

         using (var context = new DbContext())
         {
            context.Database.Log = Console.Write;
            if (!context.Database.Connection.State.HasFlag(ConnectionState.Open))
            {
               context.Database.Connection.Open();
            }
            using (var transaction = context.Database.BeginTransaction())
            {
               try
               {
                  var unit_of_work = new UnitOfWork(context);
                  unit_of_work.Sessions.AddModelToDatabase(Model, unit_of_work);
                  context.SaveChanges();

                  transaction.Commit();
               }
               catch (Exception ex)
               {
                  transaction.Rollback();
               }
            }
         }

Even that the AddModelToDatabase() is working I have the feeling that can be improved: like maybe using to many nested foreach(possible performance issues)? or maybe breaking it to separated and smaller methods? Maybe even to many nested SaveChanges? I will appreciate any feedback

keyboard shortcuts – Paste Without Formatting won’t work safari

I am able to use the “Paste Without Formatting” option in every browser except Safari. In Safari, neither the keyboard shortcut (Shift + Cmd + V) or menu>paste without formatting works. When I right-click, the option to paste (Cmd + V) is there, but paste without formatting is greyed out, along with several other options.

Screenshot of Menu

Pagination not work on page but work on category

i am using kriesi Pagination, it is working perfectly fine category page but it when i do similar query on page then it is not working. any idea why ?

function kriesi_pagination($pages = '', $range = 2){  
 $showitems = ($range * 2)+1;  
 global $paged;
 if(empty($paged)) $paged = 1;
 if($pages == '')
 {
     global $wp_query;
     $pages = $wp_query->max_num_pages;
     if(!$pages)
     {
         $pages = 1;
     }
 }   

 if(1 != $pages)
 {
     echo "<div class='pagination'>";
     if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo;</a>";
     if($paged > 1) echo "<a class='prev' href='".get_pagenum_link($paged - 1)."'>&lsaquo; Previous</a>";

     for ($i=1; $i <= $pages; $i++)
     {
         if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
         {
             echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
         }
     }

     if ($paged < $pages) echo "<a class='next' href='".get_pagenum_link($paged + 1)."'>Next &rsaquo;</a>";  
     if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>&raquo;</a>";
     echo "</div>n";
 }

}

my page query is

    <?php query_posts(array('category_name' => 'm-directory',
                          'meta_key'=> 'mno',
                         'orderby'=> 'meta_value',
                         'order'=> 'ASC')); if ( have_posts() ) :
while ( have_posts() ) : the_post(); ?>       <li class="post">  
     ...
   </li>  <?php endwhile;  kriesi_pagination(); ?>     <?php else : ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php

endif; ?>