Context-free grammar how to have unequal number of a on either side of a b

I have been trying to create a CFG for the set

{w=(a^i)b(a^j)|where i =/= j} 

To my understanding, there are essentially 2 scenarios, one where there are more ‘a’s on the left side of ‘b’, and one where there are more ‘a’s on the right side of ‘b’. So far I have come up with:

S = TbR | RbT T = aT | ε R = TaT 

My intention is the have R to always have more ‘a’s than T, however I don’t think this is correct as T can be greater than R in this definition, as R could take be just ‘a’ while T is ‘aa’. I need a bit of help defining 2 variables T and R, where R always has more ‘a’s than T.

Side jobs for IT security experts?

I’ve been working in IT security since more than 15 years, I’m involved in all related technologies/topics (Firewall, VPN, Proxy, AV, email, Windows/Linux clients, etc.). I’ve worked with these for many years now, adding (log) data analysis and forensics over the recent years. I’m also good in scripting (automation, log ingest, etc.), mostly using Linux, but I’m also no stranger to PowerShell.

So, to give myself the feeling of being more productive, and also to support the wife and kids better, I’d like to earn some extra money. I should not be another full time job, as I still want to be able to spend time with the family and friends. And, at least for the beginning, shorter tasks (I don’t want to commit to for 12 months right away …) would be appreciated.

Any ideas, what jobs or tasks I could take?

Thanks, m.

Modern SharePoint client side webpart code repo

I am wondering, if the OOB SharePoint Client Side webparts are open source or not? Let me give you a background, why I came to this point. I created a MS Flow manually triggered, added Column Formatting in one of list, and use executeFlow attribute to trigger the MS Flow. Everything looks good till this point.

Now I added this list view to a Page using OOB List (preview) client side webpart. The column formatting stays as is and on UI everything is as expected. But when I click the button created via Column Formatting on the page, nothing happens.

Since I have urgent need of rolling out my feature, I need the capability to trigger MSFlow from List (preview) webpart too. I cant wait until MS rollout this feature. So I thought to check SharePoint Github repo. I scanned most of the repo, but couldnt find a repo which have these webpart available.

I dont want to build the webpart from scratch, just need some enhancement on top of the what we already have (available OOB). So I was, if these webpart are Open Soruce or not, and if so, where I can find them.

Is there any security concern if I kept password hash on client side?

I have an application that need to be able to work in offline, But the requirement is to authenticate everytime the application is open.

So If I also kept password hash on client side to make it be able to authenticate when there is no internet, Is there anything I should concern?

Thank you very much in advance

Ubuntu 18.04 LTS along side Windows 10 not showing up MSI X470 GAMING PRO (MS-7B79)

I have an HDD Previously of 1 TB which has Windows 10 installed.

Today, I got a new WB SSD 1TB.

To install windows first on SSD, I removed HDD and installed windows 10 and created 2 partitions on WB SSD.

Now when I try to boot I get directly booted into the new OS, fair.

Next I have tried installing ubuntu 18.04 lts, i have selected 2nd partition which was ~465 gb and installed successfully.

Then after restarting i was expecting to show boot menu to allow me to select 3 os


  • 1st SSD’s Windows 10
  • 2nd SSD’s Ubuntu 18.04 LTS
  • 3rd HDD’s Window 10

I have disabled fast boot option from Power Setting and verified that Secure Boot is Disabled in Bios settings.

To enter:

  • Delete while booting
  • Advance-> Windows 8.1/ 10 WHQL Support is disabled (i have researched here for how to do it

Some people have suggested on various forums to run this command from cmd as administrative

command: bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

I have restarted and still not able to get it working.

The fun part is while booting if i press F11 to see boot option i get to see all of them listed followed by Enter Setup option. I have tried logging in newly installed ubuntu and it works flawlessly.

My bcdedit command output after editing is as below:

C:\Windows\system32>bcdedit  Windows Boot Manager -------------------- identifier              {bootmgr} device                  partition=\Device\HarddiskVolume2 path                    \EFI\UBUNTU\GRUBX64.EFI description             Windows Boot Manager locale                  en-US inherit                 {globalsettings} default                 {current} resumeobject            {564500db-e222-11e9-a9a6-e69b1900e4bb} displayorder            {current} toolsdisplayorder       {memdiag} timeout                 30  Windows Boot Loader ------------------- identifier              {current} device                  partition=C: path                    \Windows\system32\winload.efi description             Windows 10 locale                  en-US inherit                 {bootloadersettings} recoverysequence        {564500dd-e222-11e9-a9a6-e69b1900e4bb} displaymessageoverride  Recovery recoveryenabled         Yes isolatedcontext         Yes allowedinmemorysettings 0x15000075 osdevice                partition=C: systemroot              \Windows resumeobject            {564500db-e222-11e9-a9a6-e69b1900e4bb} nx                      OptIn bootmenupolicy          Standard 

Here is the current state of my pc from windows os’s view:

enter image description here


  • C: is Windows on SSD
  • E: Ubuntu on SSD(I dont know why it is shoing like that or rather not show at all)
  • G: Windows on HDD

Please help me and let me know what am I doing wrong.

How could I block or at least detect the use of ultrasonic side channels or Google Nearby Messages API on my smartphone?

My question is about the use of ultrasonic messages that are part of the modern advertising ecosystem and are also used by the Google Nearby Messages API.

When it comes to advertising, the type of ultrasonic messages that I am referring to are described in this Wired article titled “How to Block the Ultrasonic Signals You Didn’t Know Were Tracking You”, from 2016. The article says (emphasis added):

The technology, called ultrasonic cross-device tracking, embeds high-frequency tones that are inaudible to humans in advertisements, web pages, and even physical locations like retail stores. These ultrasound “beacons” emit their audio sequences with speakers, and almost any device microphone—like those accessed by an app on a smartphone or tablet—can detect the signal and start to put together a picture of what ads you’ve seen, what sites you’ve perused, and even where you’ve been.

The Wired article also mentions that:

Now that you’re sufficiently concerned, the good news is that at the Black Hat Europe security conference on Thursday, a group based at University of California, Santa Barbara will present an Android patch and a Chrome extension that give consumers more control over the transmission and receipt of ultrasonic pitches on their devices.

Being that the article was from 2016, I looked at the Black Hat Europe conference from that year for more information about the Android patch. The presentation mentioned in the Wired article seems to be this one.

The presentation slides (available here) led me to the website where the researchers do have an android patch as mentioned in the Wired article. Alas that patch is a research prototype made for android-5.0.0_r3.

There is also this research paper from 2017, titled “Privacy Threats through Ultrasonic Side Channels on Mobile Devices”. The authors of this paper found out for example that

  • Advertising platforms such as Google’s Universal Analytics and Facebook’s Conversion Pixel provided services utilizing this technology. The researchers analyzed three commercial solutions: Shopkick, Lisnr and Silverpush.
  • 234 Android applications analyzed by the researchers were constantly listening for ultrasonic beacons.
  • Out of 35 stores visited in European cities, 4 were using ultrasonic beacons at the time of the research.

Anyway my interest is not just about blocking advertising trackers. Even though the marketing departments may be the largest consumer of this technology, it can be utilized in many other ways as well.

And this issue is related to another technology, namely the Google Nearby Messages API. The overview document written by Google about this technology (here) says that (emphasis added):

The Nearby Messages API is a publish-subscribe API that lets you pass small binary payloads between internet-connected Android and iOS devices. The devices don’t have to be on the same network, but they do have to be connected to the Internet.

Nearby uses a combination of Bluetooth, Bluetooth Low Energy, Wi-Fi and near-ultrasonic audio to communicate a unique-in-time pairing code between devices.

The concerns about the Nearby Messages API are:

  1. Its ability to pass small binary payloads, i.e. presumably executable code.
  2. That while it is easy to disable Bluetooth and WiFi on a smart phone, it is not so easy to disable the microphone.


Are there ways to block or at least detect the use of ultrasonic side channels or Google Nearby Messages API on my smartphone?

Page thumbnails – right or left side of document?

Working on a “fancy PDF viewer”.

Was thinking of moving the Page thumbnails to the far right of the page (to clean the design up a bit), but all apps I can recall have the thumbnails on the left side … always.

To me the thumbnails don’t look like a vital feature, I mean there are much more important things that can use that valuable left side of the screen. What am I missing in this case and what are the negative consequences of moving the thumbnail previews to position 2 on the mockup?


enter image description here