Sourcing Mathematica in Closed Networks

booleanstrings Boolean Leave a Comment

I want to share my experience sourcing a Mathematica Engineer (Palo Alto) on Reddit, Discord, and a professional forum. I followed advice from Wim Dammans and Erin Mathew, who are experts in this sort of sourcing.

Here is what I learned. Mathematica Engineers working outside of Wolfram’s Mathematica are rare primarily because it is expensive and not open-source software (here is another “closed” in the scenario!) Our client does not require their customers to purchase Mathematica; they do calculations on their server. Mathematica is widely used at universities; our candidates were likely to be recent grads in CS or any sciences.

LinkedIn search returned little, so I explored “closed” channels.

Knowing the unfortunate perception that “recruiters are spammers,” I started asking on the relevant Reddit forum, where could I post such a job? I also included a link to my LinkedIn profile, as Wim teaches us. Reddit hides personalities and revealing who I am was to reassure people. Also, I could check who viewed my profile. The channel moderator asked for details which I happily shared by editing the job link into my post.

Sharing a similar message on an internal Mathematica forum received a warm welcome. The long-time site admin contacted me and no less than helped enhance the job post and my profile. (I also tried to aggregate user profiles, but the details were too slim to identify potential candidates.)

Going to Discord, I felt bold and posted the job upfront, receiving a positive reaction.

Though the search initially seemed hopeless, we now have two people in the next interview stages. (Knock on wood!)

Join us this week for a fully updated 90-minute class

How to Find and Attract Tech Talent

on Wednesday, November 30th.

LinkedIn Software Crisis (a Summary)

booleanstrings Boolean 5 Comments

A few days ago, many functions on LinkedIn broke for several hours (you can always – and hopefully will be able to – check on Twitter whether something is going on globally). LinkedIn mostly got it back together to the previous state. This post is about what remains broken. A lot, unfortunately – I don’t think it has been that bad before.

I do not know of workarounds for some of these problems. Whether you use a business account or LinkedIn Recruiter, incorporate X-Ray into your sourcing. Google’s search is reliable. And back up your data.

Broken Functions

The Strange Numbers in LinkedIn Recruiter

  • As of today, LinkedIn Recruiter shows 1.4B+ total members, a jump from the recent 1B+ and unexplained discrepancy with, which comes up with under 900M.
  • LinkedIn Recruiter finds 620M+ people without locations, a jump from 84K+. Some of them do have locations, though, and shouldn’t be found.

  • On the other hand, searching for these locations gives us 25 members – I think there should be more:


  • LinkedIn Recruiter finds 1B+ people without years of experience. I have no idea how this happens. Two weeks ago it found 600M+.
  • Both LinkedIn and Recruiter will incorrectly miss 910M+ (i.e., 65%) profiles if you search by Industry.

The above is not a complete list of misbehaving functions; I could go on. The broken filter functions and strange numbers in Recruiter are new.
It is a shame since we, as well as job seekers and clients, are affected by the site’s health.

I have made multiple attempts to report problems to Customer Support. It has not made a difference. I am hoping to find another channel of communication. [Edited: since posting, I have heard from two managers at LinkedIn and am hopeful.]

This post is to bring some awareness to the state of things. If you see something unexpected on LinkedIn, it is likely not you (and please share what you observe).

X-Ray, I say!

Deviations from Boolean

booleanstrings Boolean Leave a Comment

Is Boolean (newly) broken? First, let us make it clear what we mean by the question. There are:

  1. Google Boolean search
  2. Google search
  3. LinkedIn Boolean search
  4. LinkedIn search.

Out of the four, two are intentionally “broken,” and one is broken due to bugs. One works fine, but produces unexpected numbers – and lists – of results – something that has started to happen only recently. (Let me know if you need info on which is which.)

Formal Boolean search logic has been intentionally “altered” on both Google and LinkedIn for a long time (the image here is a joke.) Google gives us some control over making a search “strictly” Boolean via quotes and Verbatim. LinkedIn does not.

But Boolean deviation is not a problem if implemented well. On Google, you can benefit from its semantic algorithms when you search as everybody, i.e., to find one good answer. We all “Google” when sourcing and exploring relevant companies, job titles, associations, etc. in the Exploratory part of our jobs. These are short “questions,” easily fitting under Google’s limit of 32 keywords.

What is new on Google, is that if, unlike most humans, you are after getting as many results as possible, you need to play some games and combine results. Rephrasing a query in a formally equal, but differently expressed Boolean Strings generates widely varying results and their numbers. Even a Google Search Engineer found some search strings to return “odd results” in my post.

The reason Google returns such different results to similar queries is that our queries are of a rare, “restrictive,” kind. Google’s attention – both in the ways Engineers develop algorithms and Google AI teaches itself by watching everyone’s reaction to results – is targeted at the vast majority of population that just “Googles” and hopes to see one correct answer. We had an informal chat about this on Recruiting Brainfood last week.

I am guessing with the reasons being:

  1. The growing amount of data in Google’s Index making its fast response harder
  2. A desire to return some results if at all possible and knowing that most want only one or a few results,

Google regularly restricts numbers of results to small percentages of matching results. It picks results rather randomly when you switch or repeat keywords, mainly because it has not been trained on such “weird” requests. It never returns more than 300-400 results (which means that its displayed numbers of results mean nothing. It never did; back in 2010 we still saw up to 1,000, but no longer). However, as of recently, some queries return more (close to 400) or fewer (less than 100) results after seemingly “cosmetic” tweaks. Google stops when it “feels” it has made “enough” effort on your query.

Consequently, silly things like repeating keywords, putting some of them in quotes, or excluding non-existent keywords make Google “grab” different results that sometimes overlap very little – to our advantage. By scraping and combining records, you can beat up all the limits and get lists of over 1,000. It is similar to a spy or a thief scanning a dark room with a flashlight and getting a fuller picture.

Another effect: because Google wants to make you happy, it will trigger its semantic components, interpreting your search if it finds few exact matches. It differs from before in how much effort Google puts into varying your terms. The more keywords you add, the more extensive range of similar words you are likely to see. Google will usually initially try to make it work with one variation, like owner as a synonym for manager. If you exclude that, it will try to vary something else until it feels that you have been served. It used to be more generous with synonyms before 🙂

Quite a different story, LinkedIn personal people search is broken, and you need to know how.

Join me this Thursday for a brand-new class,

Search Is No Longer Boolean,

where I will review the specifics of the Search Universe changes, demonstrate examples, and discuss search strategies.



The Shallowest Deep Web Where Hackerranker Lives

booleanstrings Boolean Leave a Comment

Search Engines like Google index pages on the Surface Web, i.e. (roughly speaking) pages that do not require a login.

Not all of those pages are indexed. Sites can tell Google not to index parts of them. The mechanism is via robots.txt files or <meta> directives on individual pages. Even though you can view those pages in incognito, you won’t find them via X-Raying.

One example is Airtable, suggested by Alla Pavlova. There are multiple contact lists of laid-off people or conference attendees, yet finds none.

Another example is Hackerrank, covered by Balazs. (In the case of Hackerrank, they have introduced those <meta> directives on every profile.)

There are two ways to discover these pages. These pages are not as “deeply” hidden as some other parts of the web, and you can sort of X-Ray for them.

1. Search on Social Networks. (No directives exist in HTML preventing links from being shared!)


Play some keyword games to eliminate irrelevant pages from Airtable (such as documentation).

You can continue with sites like Reddit, Discord, etc. “Closed networks” often hide their users’ professional backgrounds, along with their names. But “shared information” describes most of the popular posted content.

Note, though, that you can search for the words surrounding links to pages but not the page’s content. So the search needs to have those “description” or “comment” keywords – what the link is about: contact lists, attendees, events, directories, etc. In this way, it is similar to intitle: and inanchor: searches. It invites searching with “natural language” since it is likely someone’s comments on the document in addition to sharing its title and URL.

2. Apply the same logic to Google search. Look for pages with links to sites like Airtable or Hackerrank – accordingly, with words describing those links.

Example: “” tech layoffs.

These discoverable and viewable sites are “the Shallow Part of the Deep Web.”

For an update on Google search algorithm, check out the brand-new class on Thursday, November 17th,

Search Is No Longer Boolean.


Boolean Search Is Dead

booleanstrings Boolean Leave a Comment

Google search strings are often called Boolean Strings. But do you think Google search is Boolean? It is not. Neither is LinkedIn’s, despite what their help says. Both platforms apply semantic algorithms, trying to guess the searcher’s intent; one – successfully, the other – poorly, introducing bugs while at it. Both platforms break the formal Boolean rules.

You can see that the Boolean logic is broken with these simple examples, which “should” return no results, yet they do because of the interpretation:

You may want to rely on Google’s interpretation in cases like researching target companies or associations (etc.). That is a “question to Google,” like top retail companies in china or common hispanic last names, looking for one or a few “right” answers – like most people do. That is what the verb “google” implies. Where you need to apply control to eliminate some false positives, you can put single keywords in quotes, and Google will not vary them.

However, relying on one Google search is a bad idea if you are after as many matching results as possible.

1, You want to modify your search to let Google know your search is “restrictive,” which may produce many more results.

2. Modifying the search without changing its Boolean logic leads to different results! These changes will get different results and their numbers:

People – Researchers, Sourcers – like us – who want to get lots of results, for example, from an X-Ray,  are not on Google Developers’ radar since we are in the minority. From experiments and a nod from Google’s team, we should be playing “non-Boolean” games and combining results from seemingly equivalent searches. Some automation may come in handy.

Why are we still seeing mile-long OR strings on Google in posts? For a while now, using ORs on Google has been reducing search results. Compare searching for each term in turn and combining results with a search with ORs for any list of words, and you will see. Say NO or ORs.

LinkedIn is another matter.

LinkedIn is a different – and sad – story. Its premium search is buggy – it won’t find some members through keyword searches for words in their Headlines, About, and Job Descriptions. We have not been able to decipher what it does – it just seems random.

LinkedIn Job Search is broken in strange ways.

What are LinkedIn Developers doing? @LinkedIn, we can help you find good ones. Perhaps QA Engineers as well.

LinkedIn Recruiter search is unintuitive, but you can use it well.

When sourcing, you also need to be aware of how restrictive LinkedIn/Recruiter filters can be. When you use standard filters, you are down to searching among 18% of LinkedIn members.

X-Ray, it turns out, is an excellent alternative to Recruiter.

In practice, “broken Boolean” means that we should be smart and combine controlled Boolean and open-ended semantic searches to reach our goals.

I am preparing a webinar on the topic outlining what exactly happens with the Boolean rules and how to take advantage of our algorithm understanding; watch our announcements. In the meantime, join the popular, updated, Find Anyone’s Contact Info on November 9th.

Explore our Sourcing Training Library.

My friend, a philosopher and community leader Hung Lee and me will have an informal chat on the “Boolean Is Dead” topic on November 11th. Join us!


Hide-and-Seek Profiles

booleanstrings Boolean Leave a Comment

As my friend Master Sourcer Marcel van der Meer demonstrates, 84 MLN LinkedIn members will not be found by locations.

We also know from test searches that:

  • ~45-60% members are not found by Seniority, Function, Company Size, and other LinkedIn-calculated filters
  • ~600 MLN members cannot be found by years of experience.

People join LinkedIn to be visible and be found. What percent of members succeed with that? Marcel’s post has prompted me to run a test search on LinkedIn Recruiter, selecting all these values:

  • Locations (all continents except Antarctica; adding the latter results in seeing just 25 Software Engineers, which is a bug, right?)
  • Seniority (all values)
  • Function (all values)
  • Company Sizes (all values)
  • Company Types (all values)
  • Years of experience from 0 to 100

(I could have also selected levels of connections and industries, reducing the results further, but that crashes Recruiter.)



  • 18% (or fewer) members are found by the search filters
    • 42% of them are women
    • 24% of them are open to work
  • 82% members (or more) are hidden when you use these search filters.

Unknowingly, 82% members play hide-and-seek and miss opportunities. How does that happen? There are two main reasons for profiles to disappear from search:

  1. Data is absent on the profile. Some people have missing locations, years of work, etc.
  2. LinkedIn does not understand the data (such as job titles). It happens with Seniority, Function, and other filters. — Using standard language will put you back on the map.

I doubt Marcel and I can reach the invisible 820 MLN members prompting them to get on the radar by entering info that LinkedIn algorithms recognize. (Reaching LinkedIn asking to fix search deficiencies is just as hard.)

But if you are reading this, please share with your peers, and check out how to be found. Also, do not search for work on LinkedIn – use Google instead.


LinkedIn Job Search Is Haunted

booleanstrings Boolean 1 Comment

Happy Halloween! I’ll just leave this here. If anyone can make sense of what LinkedIn Job Search does in the two screenshots below, please get in touch. (As with people search, I have no idea. LinkedIn Developers have started to write code in mysterious ways.)

(I doubt there is anything underlying here like in the Google case with quotes. It is a coincidence that quotes add results in both observed cases.)

The conclusion for now is – do not trust the job search function. If you want to search for a job on LinkedIn, do so via Google, like intitle:accountant houston tx cpa

Note that even if they fix the LinkedIn Job Search Dialog algorithm, it does not let you to search by job title, while Google does – put the desired role keywords under the intitle: operator.


Who Needs LinkedIn Recruiter? X-Ray vs. LinkedIn Search Comparison Chart

booleanstrings Boolean 11 Comments LinkedIn Recruiter Google X-Ray (finds public profiles) Google Example
Name Y Y intitle:<name> intitle:”phil tusing”
Current Job Title Y (false positives) Y (false positives) Y – intitle:<title> intitle:”executive assistant”
Current Company Y (false positives) Y (false positives) Y – intitle:<company> intitle:seekout
Last Company (even if left) N N Y – inanchor:<company> inanchor:”morgan stanley”
Last School N N Y – inanchor:<school> inanchor:ucla
Headline N Y – headline: secret operator Y – inanchor:<headline> inanchor:”open to work”
Summary N Y – summary: secret operator N
Current Job Title Y Y Y intitle:machinist
Last Job Title  (even if left) N N Y – inanchor:title inanchor:”truck driver”
Job descriptions N N Y (by keywords) “scaled up” start-up cloud bay area
Self-Entered Skills Y – in Company Employees and School Alums search Y – skills: secret operator N
Skills and Assessments N Y but works almost like keywords
Past Company Y Y Y (by keywords) -intitle:chevron inanchor:chevron
Past Job Locations N N Y (by keywords) “united kingdom” canada AROUND(3) present
Past Job – <title at company> N N Y – use AROUND(X) “CFO” CFO AROUND(3) google
YOE N Y (but rounded) N
True Years at Company N Y (but rounded) Y – with AROUND(X) or Asterisks present AROUND “2..6 years” operations manager
Years in Position N Y (but rounded) N
Current Location Y – by Area  Name Y by Area  Name or Zip/Radius Y – by Area  Name present AROUND(3) “greater new york” operations manager “new york”
Profile in Language Y Y Y – secondary profiles end in /<lg> – 2-letter country abbreviation*/fr
Spoken Languages N Y Y – approximate “Native or bilingual proficiency” tagalog
Function (calculated) N Y N
Seniority (calculated) N Y N
Company Type (calculated) N Y (calculated) N
Company Size (calculated) N Y N
School Y (Boolean) Y (selection only) Y (by keywords) “school of arts and enterprise” -intitle:”school of arts”
Last School N N Y – inanchor:<school> scientist inanchor:sorbonne “sorbonne”
Field of study N Y Y (by keywords) “quantum physics” university Phd
Industry Y Y Y (imprecise) “environmental services”
Years of study N (but see school alumni search) Y (but not tied to a school) N
Degree N Y (but may be incomplete) N
Grades at School N N Y (by keywords) GPA AROUND(3) “4.0” accounting
Other accomplishments N N Y (by keywords)
Recommendations N N Y (by keywords)
Open to Work Status N Y N
Network Relationships Y (buggy) Y (buggy) N
Followers of Y N N
Connections Of Y N N
Group Member N Y N
Open to Volunteering Y N N
Service categories Y N Y (some)

Note: search is currently broken.

To generate target public profile lists in Excel by precise search, use our tool Social List (trial, subscription).

Advanced Sourcing School and #CPSP Exam & Catch Up on the News

booleanstrings Boolean Leave a Comment

Hello Sourcers and Recruiters:

On October 25th, 2022, we are launching our most substantial live training program for Recruiters yet,

Advanced Sourcing School and CPSP Exam,

and you are invited! As hands-on Sourcers working across industries and globally, we share proven sourcing methods. Subscribers are eligible, so if you are into sourcing, consider subscribing. The School is a way to “learn it all” in less than two weeks, prove yourself by taking the certification exam, and keep the materials for future reference. Only a few seats are left. Please reach out if you have any questions. Oh, and here’s a Q&A.

Using a premium account on LinkedIn? Unfortunately, the search is broken. Consider upgrading or X-Raying. 😉

Googling? I have run into something interesting – The Behavior of the Quotes (Google Search Report). Luckily, we got unique insights from Google’s Danny Sullivan (we are told that Google’s team “had a lively discussion” over the findings, lol). It turns out that when you Google, the search engine assesses your string and gives you different results based on whether it “senses” an “open-ended” or “restrictive” search. There is still a lot of mystery left – let us explore it! This discussion affects those who want to see as many results as possible for a search.

Join our FB group for questions, answers, and shares.

Happy Sourcing!

Researchers: Run “Restrictive” Google Strings

booleanstrings Boolean Leave a Comment

The post reflects my current understanding of how Google works. I hope to share extra detail with you as we do more testing or if we hear more from Google Search people.


When you write a search string, Google assesses whether it is:

  • Open-ended (assuming you, the user, require assistance) or
  • Specific, or “restrictive.”

Google decides on “restrictive” in some cases with quotes or when you use advanced operators  (maybe something else). For restrictive searches, Google does a fair job of searching with less interpretation. That sometimes leads to more results.

Looking closer, it’s not one or the other; there seems to be a measure of restrictiveness (from open-ended to more and more specific, depending on input) to which Google reacts; see some examples below.

Conclusion. When you Want to Get More Google Search Results:

  • Be aware of “open-ended,” “restrictive,” and “in-between” (more and more restrictive) searches
  • Putting keywords in quotes or using operators sometimes makes a search restrictive,  showing extra results
  • When running “open-ended” searches, for different results, consider making the search more specific by adding keywords or operators.

>> Download “Quotes” PDF Summary <<

In a hurry? End of SUMMARY

Google’s Danny Sullivan‘s comments on my Quotes on Google post shed some light on the observed phenomena: words in quotes produced more results than without in my examples. I had expected words without quotes to be interpreted, therefore leading to more results, not less.

Thanks to Danny for taking the time to comment. The word therefore above was false logic. I still have many related questions and wonder whether there is a channel to ask them and interact with the team. (@Google, we would be glad to hear your thoughts.)

Evolving semantic input interpretation while allowing to keep control over search via special syntax – when everyone uses the same search box – is not easy.

NOTES for Hands-On Sourcers:

If you think that as a practical result of the “quotes” insight, you need to start putting all your keywords in quotes – perhaps you should try that. But quotes help to see more results only sometimes.

Yes in some cases:

No in other cases:


It does not matter in yet some other cases.

I.e., quotes around single words sometimes help find more results (perhaps working as a “restrictive” indicator). A researcher needs to know that might happen and search with and without quotes around single words.

From my tests, an advanced operator like site: makes a query restrictive.

In addition to your strings appearing to Google as “restrictive” (sophisticated!) searches, you can increase the number of combined results by repeating keywords, moving them around (as Nicolas Darcis demonstrated at #sosueu), and searching in Images.