Red-naped bushshrike

The red-naped bushshrike or red-naped boubou (Laniarius ruficeps) is a species of bird in the family Malaconotidae, which is native to the dry lowlands of the eastern Afrotropics.

Red-naped bushshrike
L. r. kismayensis (top)

Least Concern  (IUCN 3.1)[1]
Scientific classification
Kingdom: Animalia
Phylum: Chordata
Class: Aves
Order: Passeriformes
Family: Malaconotidae
Genus: Laniarius
Species:
L. ruficeps
Binomial name
Laniarius ruficeps
(Shelley, 1885)
Synonyms

Dryoscopus ruficeps Shelley, 1885

Range and habitat

It is found in Ethiopia, Kenya, and Somalia. Its natural habitat is subtropical and tropical dry shrubland, under 1,000 m (3,300 ft) above sea level.

Habits

It is a shy and skulking bird,[2] that forages on the ground and in the lower strata of dense thickets and thornbush.[3] It sings just after sunrise from a bushtop. They have various harsh and repetitive calls, which includes dueting.[2]

Subspecies

There are three accepted subspecies:[3]

  • L. r. ruficeps (Shelley, 1885) – northern Somalia
Description: Crown to hindneck bright orange-rufous to rufous-red, forecrown black[3]
  • L. r. rufinuchalis (Sharpe, 1895) – Ethiopia, central Somalia and Kenya
Description: Forecrown black[2]
  • L. r. kismayensis (Erlanger, 1901) – coastal Somalia and Kiunga, Kenya
Description: Forecrown orange-red[2]
gollark: If this worked as expected, in theory you could do```pythonraise quibble("abcd")```but alas, no.
gollark: But which runs much faster.
gollark: ```pythonfrom requests_futures.sessions import FuturesSessionimport concurrent.futures as futuresimport randomtry: import cPickle as pickleexcept ImportError: import pickletry: words_to_synonyms = pickle.load(open(".wtscache")) synonyms_to_words = pickle.load(open(".stwcache"))except: words_to_synonyms = {} synonyms_to_words = {}def add_to_key(d, k, v): d[k] = d.get(k, set()).union(set(v))def add_synonyms(syns, word): for syn in syns: add_to_key(synonyms_to_words, syn, [word]) add_to_key(words_to_synonyms, word, syns)def concat(list_of_lists): return sum(list_of_lists, [])def add_words(words): s = FuturesSession(max_workers=100) future_to_word = {s.get("https://api.datamuse.com/words", params={"ml": word}): word for word in words} future_to_word.update({s.get("https://api.datamuse.com/words", params={"ml": word, "v": "enwiki"}): word for word in words}) for future in futures.as_completed(future_to_word): word = future_to_word[future] try: data = future.result().json() except Exception as exc: print(f"{exc} fetching {word}") else: add_synonyms([w["word"] for w in data], word)def getattr_hook(obj, key): results = list(synonyms_to_words.get(key, set()).union(words_to_synonyms.get(key, set()))) if len(results) > 0: return obj.__getattribute__(random.choice(results)) else: raise AttributeError(f"Attribute {key} not found.")def wrap(obj): add_words(dir(obj)) obj.__getattr__ = lambda key: getattr_hook(obj, key)wrap(__builtins__)print(words_to_synonyms["Exception"])```New version which tends to reduce weirder output.
gollark: https://github.com/joelgrus/fizz-buzz-tensorflow/blob/master/Fizz%20Buzz%20in%20Tensorflow.ipynb
gollark: ?remind 5d Misuse ?remind even more. Suggestions: nested reminds (is that possible)?

References

  1. BirdLife International (2012). "Laniarius ruficeps". IUCN Red List of Threatened Species. 2012. Retrieved 26 November 2013.CS1 maint: ref=harv (link)
  2. Zimmerman, Dale A.; et al. (1999). Birds of Kenya and Northern Tanzania. Princeton University Press. pp. 218, 617. ISBN 0691010226.
  3. Fry, H. (2017). "Red-naped bush-shrike (Laniarius ruficeps)". Handbook of the Birds of the World Alive. Lynx Edicions, Barcelona. Retrieved 14 April 2015.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.