Stringly Typed Booleans

I’m getting rather hacked off seeing boolean properties typed as strings. Stringly typed is a phrase I learnt off a post from the excellent Coding Horror blog and it describes a phenomena whereby properties that are of a specific type, e.g. Boolean, Date, int, are stored needlessly as strings.

I’m working on a website that communicates with a money laundering service to check whether an individual is “bad” or not. Individuals can pass the test, but importantly it is possible to pass the test with some warning flags raised. If any of the warning flags are raised then an email should be sent off to compliance for them to do…whatever it is they do. Fair enough right?

The warning flags are obviously booleans. There was either a warning raised or there wasn’t – there are no two ways about it (no pun intended). In the serialized response, the warning flags are encoded as “Yes” or “No”…which is understandable. Now, upon receiving the response, it is parsed and turned into an internal representation. This is where things get really weird. The programmer that coded the object that stores the response from the service has decided to encode the warnings as strings, initialised to “”. Which is totally fucking bonkers.

Why?

Well, now our boolean warnings aren’t really booleans – they have WAY more than two possible values and the meaning of these values is subjective. One may consider “”, null, “No” as false, but could conceivably also consider “false” or “0″. We get the same sort of problem with true – “Yes”, “1″, “true” and then we get a whole load of unknown values which is every other possible string in the world. Which might be considered to be true.

So how the hell can any number of programmers work on this piece of code without introducing errors because of differing definitions of truthy and falsey values? Well, they can’t. To illustrate the problem further, even loosely typed languages differ in their boolean coercion, for example JavaScript and PHP:

<script>
if("0") alert('Opposite day!');
</script>

<?php
if("0") echo 'Opposite day!';
?>

JavaScript considers “0″ true but PHP considers it false. Personally I think JavaScript is “right” here, but as I said before, it is totally subjective.

The icing on the cake is of course the extra code you have to write to check the truthy or falsey string values. Something along the lines of “if x is not null and not empty and not the word No then it is probably true…probably”, which would otherwise have been coded as “if x then true” if x was a boolean – which is orders of magnitude shorter.

Of course, there are some bat shit crazy strongly typed languages that allow you to assign null to a Boolean, but that is a different story altogether.

22,164 thoughts on “Stringly Typed Booleans

  1. Wow that was odd. I just wrote an really long comment but after I clicked submit
    my comment didn’t appear. Grrrr… well I’m not writing all that over again. Anyways, just wanted to say fantastic blog!

  2. Кодирование от алкоголизма в Одинцово применяется как важный этап комплексного лечения алкогольной зависимости. Процедура помогает прекратить регулярное употребление спиртного уменьшить патологическую тягу и получить время для восстановления здоровья отношений и привычного ритма жизни. Частная наркологическая клиника принимает совершеннолетних пациентов анонимно проводит предварительную диагностику и подбирает современные методы с учетом возраста стажа алкоголизма перенесенных болезней и личной мотивации. Получить дополнительную информацию – kodirovanie ot alkogolizma na domu

  3. Люди помогите советом Брат снова сорвался Родственники не знают что делать Таблетки не помогают Короче единственный кто реально помог — нарколог на дом анонимно с выездом Дал рекомендации и успокоил семью В общем вся инфа по ссылке — нарколога домой https://kodirovanie.narkolog-na-dom-krasnodar23.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  4. Волгоград всем привет Близкий человек уже несколько дней в запое Соседи стучат в стену Нужен врач прямо сейчас Короче единственный кто реально помог — вызвать нарколога на дом быстро Дал рекомендации и успокоил семью В общем жмите чтобы сохранить — вызов нарколога на дом цена https://alkogolizm.narkolog-na-dom-volgograd13.ru Нарколог на дом — это реальный выход Перешлите тем кто в такой же ситуации

  5. Hello, this weekend is good for me, as this moment i am
    reading this great informative paragraph here at my residence.

  6. В данной публикации мы поговорим о процессе восстановления от зависимости о том как вернуть себе нормальную жизнь. Мы обсудим преодоление трудностей значимость поддержки и наличие программ реабилитации. Читатели смогут узнать о ключевых шагах к успешному восстановлению. Читать полностью – ресоциализация наркозависимых

  7. Thanks for sharing your thoughts about . Regards 重庆:山城风貌与烟火气并存的魅力都市

    重庆位于中国西南地区,是长江上游重要的经济中心,也是中国最具辨识度的城市之一。独特的山地地形、丰富的人文历史以及充满活力的消费市场,共同塑造了重庆独有的城市魅力。

    重庆最吸引人的地方在于其立体化城市景观。穿楼而过的轨道交通、依山而建的建筑群以及错落有致的道路系统,让这座城市充满视觉冲击力。洪崖洞、解放碑、朝天门等地标不仅是游客热门打卡地,也成为重庆城市形象的重要代表。

    重庆人的生活方式带有浓厚的烟火气。街边小店、夜市经济和社区文化十分活跃。当地居民热情直爽,喜欢聚会交流,形成了独特的人文氛围。

    火锅文化是重庆的重要名片。无论是本地居民还是外地游客,都能在丰富的餐饮市场中体验到地道的巴渝风味。餐饮业的发展也带动了旅游和消费市场持续增长。

    近年来,重庆不断推进现代产业升级,汽车制造、电子信息、新能源等行业快速发展。作为西部重要门户城市,重庆正在吸引越来越多的人才和企业落户。

    如今的重庆既保留着传统巴渝文化的特色,也展现出国际化大都市的发展潜力,成为中国西部最具活力的城市之一。

    韩国首尔外围(高端外围)外围韩国首尔模特(微信:186-5986-9520)外围预约平台

  8. Волгоград всем привет Отец не выходит из штопора Соседи стучат в стену Таблетки не помогают Короче только это реально спасло — нарколог на дом круглосуточно цены доступные Дал рекомендации и успокоил семью В общем телефон и цены тут — выведение из запоя на дому https://alkogolizm.narkolog-na-dom-volgograd13.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  9. I think that what you said was actually very logical. However, what about this?

    what if you added a little information? I am not saying your information isn’t good., but suppose you added a
    headline that grabbed folk’s attention? I mean Stringly Typed Booleans | freestyle developments
    is a little plain. You ought to glance at Yahoo’s home page and see how they
    write post titles to get people to click. You might add a related video or a pic or two to grab readers excited about what you’ve got to say.
    In my opinion, it could bring your posts a little bit more interesting.

  10. Принимаем заявки круглосуточно уточняем состояние и подбираем безопасный формат помощи. Ознакомиться с деталями – vyvod-iz-zapoya-cena-himki

  11. You actually make it seem so easy together with your presentation however I
    to find this matter to be actually one thing which I feel I might never understand.
    It kind of feels too complicated and extremely wide for me.

    I am having a look ahead in your subsequent post,
    I will attempt to get the hold of it!

  12. Люди подскажите Близкий человек уже несколько дней в запое Жена в истерике В больницу тащить страшно Короче единственный кто реально помог — нарколог на дом круглосуточно без выходных Приехал через 40 минут В общем вся инфа по ссылке — наркологическая помощь на дому в волгограде https://alkogolizm.narkolog-na-dom-volgograd13.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  13. My spouse and I absolutely love your blog and find the majority of your post’s to be just what I’m
    looking for. Would you offer guest writers to write content available for you?
    I wouldn’t mind composing a post or elaborating on a lot of the subjects you write regarding here.
    Again, awesome web log!

  14. Heya this is somewhat of off topic but I was wondering if blogs use WYSIWYG editors
    or if you have to manually code with HTML. I’m starting a blog soon but have no coding knowledge so I wanted to get advice from someone with experience.
    Any help would be enormously appreciated!

  15. Информация об обращении не передается третьим лицам а детали лечения обсуждаются только с пациентом. Выяснить больше – https://vyvod-iz-zapoya-lyubertsy2.ru

  16. Наркология объединяет медицинское лечение психологию психиатрию и технологии реабилитации. Основной комплекс помощи может включать очищение организма медикаментозное лечение диагностику лечение абстинентного синдрома консультацию психотерапевта работу с мотивацией зависимого и последующее возвращение в социум. Если болезнь существует на протяжении нескольких лет терапия обычно требует больше времени. Подробнее доктор объясняет пациенту какие задачи решаются на каждом этапе и почему полный курс лечения не стоит заменять одной капельницей. Ознакомиться с деталями – наркологическая клиника цены Красноярск

  17. Данный факт гласит о срочной необходимости врачебного вмешательства для выведения из запоя в стационаре клиники и последующего квалифицированного лечения алкогольной зависимости. Если зависимый перестал реагировать на окружающих появились судороги или угроза смерти нельзя ждать приезда плановой бригады: требуется экстренная помощь. Дополнительная информация – наркология вывод из запоя

  18. С пациентом работают профильные специалисты которые оценивают состояние и подбирают безопасный план помощи. Изучить вопрос подробнее – вывод из запоя клиника

  19. Выбирая наркологическую клинику стоит учитывать что лечение зависимости редко ограничивается одной процедурой. Детоксикация кодирование психотерапия психологическая поддержка проработка семейных отношений и реабилитация решают разные задачи и не заменяют друг друга. В результате комплексного подхода пациент постепенно восстанавливает физические ресурсы учится распознавать срывные предвестники и формирует навыки трезвой жизни. При этом личный план лечения составляется не по шаблону а с учетом диагноза возраста общего самочувствия мотивации и клинических противопоказаний. Подробнее порядок лечения зависимого и реабилитации при зависимости уточняется в центре на консультации с наркологом; отдельно рассматриваются терапия и детоксикация. Получить больше информации – анонимная наркологическая клиника в Красноярске

  20. Вызов нарколога на дому подходит в тех случаях когда человек находится в стабильном состоянии и врач не видит противопоказаний к проведению процедуры вне стационара. Бригада приезжает с необходимым оборудованием и набором лекарственных препаратов. Осмотр включает сбор анамнеза оценку общего состояния давления пульса и других значимых показателей. При наличии показаний могут выполняться лабораторные анализы ЭКГ и дополнительные диагностические мероприятия. Получить больше информации – наркологическая клиника наркологический центр Санкт-Петербург

  21. В статье рассматриваются различные стратегии борьбы с зависимостями включая проверенные методы и реальные истории успеха. Читатель узнает какие подходы наиболее эффективны и как начать путь к выздоровлению. Ознакомиться с теоретической базой – https://vyezd-narkologa.ru/service/narkomaniya/kapelnitsa-ot-narkotikov

  22. Improve your threading and machining knowledge with the comprehensive resources available
    from MisoL Tap. These guides cover everything from choosing an M6 bolt tap size and identifying the correct 1/4 BSP tap drill size to understanding 1/4 pipe thread tap and 1/4 NPT thread tap requirements.
    Gain practical knowledge of internal thread measurement techniques
    and learn how Acme thread vs standard thread designs differ in construction and application. Find out when to use taper, plug, and bottoming taps,
    compare different styles of thread taps, and explore options for the
    best taps for stainless steel. MisoL Tap also provides industry-focused information about the best threading tap manufacturers, making it a useful destination for machining professionals and buyers.

  23. Лечение алкоголизма не сводится к одному уколу или сеансу. Перед кодированием нарколог уточняет длительность запоев количество алкоголя состояние печени сердца сосудов и головного мозга. Специалисты изучают данные анализов оценивают возможные побочные реакции и определяют подходит ли медикаментозное психотерапевтическое аппаратное или комбинированное лечение. Если больной недавно пил первым этапом становится детоксикация а потом проводится кодирование от алкоголизма выбранным методом. Углубиться в тему – kodirovanie ot alkogolizma

  24. Чем раньше человек или его близкие обращаются за профессиональной консультацией тем больше возможностей подобрать медицинскую и психологическую поддержку без ожидания плачевных последствий. При острых состояниях сотрудники оценивают необходимость экстренного выезда стационарного лечения или направления в профильное отделение. Узконаправленная помощь может потребоваться при сочетании зависимости с тяжелыми психическими или соматическими заболеваниями. Изучить вопрос подробнее – https://a.narkologicheskaya-klinika-v-krasnoyarske17.ru/

  25. I just couldn’t depart your site before suggesting that I
    extremely enjoyed the usual info an individual provide for your guests?
    Is going to be again steadily to inspect new posts

    Feel free to surf to my web page: bestinfo

  26. Superb blog you have here but I was wanting to know if you knew of any user discussion forums that cover the same topics talked about in this article?
    I’d really like to be a part of online community where I
    can get feedback from other experienced individuals that share the same interest.
    If you have any recommendations, please let me know.
    Cheers!

  27. Woah! I’m really loving the template/theme of this blog. It’s simple, yet effective.

    A lot of times it’s very difficult to get that “perfect balance” between superb usability and appearance.
    I must say you’ve done a awesome job with this.

    Also, the blog loads extremely quick for me on Internet explorer.
    Excellent Blog!

    Here is my blog post 마곡스웨디시

  28. Капельница от запоя в Краснодаре рекомендуется при первых признаках алкогольной интоксикации или тяжелого похмелья. Без своевременного медицинского вмешательства состояние человека может резко ухудшиться привести к развитию осложнений и даже стать угрозой для жизни. Срочная помощь необходима в таких случаях: Разобраться лучше – https://kapelnica-ot-zapoya-krasnodar7.ru/

  29. Вывод из запоя необходим когда человек несколько дней употребляет алкоголь не может самостоятельно остановиться и чувствует выраженное ухудшение здоровья. Продолжительный запой носит опасный характер: в крови накапливаются продукты распада этанола развивается обезвоживание нарушается обмен веществ повышается нагрузка на сердце печень почки и головной мозг. Даже если зависимый уверен что сможет выйти из запоя сам резкое прерывание употребления способно привести к тяжелой абстиненции судорожным припадкам алкогольному делирию и другим серьезным последствиям. Получить дополнительные сведения – вывод из запоя круглосуточно

  30. Медицинский вывод из запоя проводят на дому или в клинике. Нарколог осматривает больного собирает анамнез определяет стадию абстиненции и выбирает дальнейшее лечение. При удовлетворительных показателях возможна помощь на дому а при тяжелых проявлениях специалист может предложить стационарное наблюдение. Красноярский край имеет большую территорию поэтому при оформлении вызова необходимо назвать город район и точный адрес. Выездная служба позволяет получить консультацию и начать лечение без самостоятельной поездки в медицинский центр. Получить больше информации – анонимный вывод из запоя в Красноярске

  31. Вот лично мой случай — когда листал портфолио заметил важную деталь. Идеально — съездить на производство. Кстати вот тут как раз можно прицениться. заказать кухню в СПб через каталог заказать кухню в СПб через каталог Там и фотки реальные — толковый материал для сравнения. Мне такой подход помог: сначала изучил ассортимент спросил про акции и понял что это мое. Не ведитесь на первую же цену а подойдите к вопросу вдумчиво. Поверьте результат того стоит. Делитесь потом что выбрали

  32. Наркологическая помощь в Красноярске может быть доступна круглосуточно включая выходные и дни праздников. Выездной нарколог приезжает по указанному адресу выполняет осмотр пациента измеряет основные показатели оценивает психическое и физическое состояние. При наличии показаний проводится детоксикация инфузионная терапия и медикаментозное лечение. Капельница при запое помогает обеспечить введение растворов и назначенных лекарственных средств внутривенно под наблюдением медика. Состав капельницы подбирается индивидуально поэтому использовать одинаковую схему для каждого больного неправильно. Ознакомиться с деталями – https://c.vyvod-iz-zapoya-v-krasnoyarske17.ru/

  33. Когда клиника далеко время позднее или важна конфиденциальность помощь на дому позволяет начать лечение немедленно и в комфортной обстановке. Ниже — типичные ситуации когда визит нарколога на дом особенно уместен. Детальнее – https://narkolog-na-dom-serpuhov6.ru/narkolog-na-dom-kruglosutochnom-v-serpuhove

  34. Принимаем заявки круглосуточно уточняем состояние и подбираем безопасный формат помощи. Узнать больше – kodirovanie ot alkogolizma ceny

  35. My spouse and I absolutely love your blog and find almost all of your post’s to be
    exactly what I’m looking for. Do you offer guest writers to write content in your case?
    I wouldn’t mind producing a post or elaborating on a number of the subjects you write with regards to here.
    Again, awesome web log!

  36. I believe that is one of the so much significant info for me.
    And i’m glad reading your article. However want to observation on some basic issues, The site style is wonderful, the articles is in point of fact excellent : D.
    Good process, cheers

  37. Вывод из запоя в Москве — это профессиональная наркологическая помощь направленная на безопасное прекращение длительного употребления алкоголя и устранение симптомов тяжелой интоксикации. Жителям Красногорска и других городов Московской области доступен срочный выезд на дому прием в клинике и лечение в стационаре. Экстренное обращение особенно важно если самочувствие ухудшается появляются припадки спутанность сознания или признаки сосудистой и сердечно-сосудистой недостаточности. Узнать больше – http://www.domen.ru

  38. Wonderful beat ! I wish to apprentice even as you amend your site, how can i subscribe for a weblog site?
    The account aided me a appropriate deal.
    I were a little bit familiar of this your broadcast offered
    vibrant transparent idea

  39. Вот лично мой случай — когда сравнивал каталоги заметил важную деталь. Лучше сразу смотреть живые примеры. Между прочим именно там можно оценить масштаб. каталог кухонь для заказа в СПб https://zakazat-kuhnyu-hxm.ru Там и фотки реальные — достойный ориентир. Я лично так и делал: пролистал все позиции спросил про акции и понял что это мое. Так что советую не торопиться а выделите время на сравнение. Потом скажете спасибо. Надеюсь найдете свой идеал

  40. До начала инфузионной помощи нарколог проводит осмотр уточняет жалобы и оценивает противопоказания. При наличии показаний в программу могут быть включены инфузионные растворы седативные средства препараты для поддержания обменных процессов гепатопротекторы витаминные комплексы и другая медицинская терапия. Объем растворов в литрах состав капельницы и продолжительность процедуры определяет врач поскольку больший объем не означает автоматически более качественную очистку организма. Дополнительная информация – наркологическая клиника вывод из запоя

  41. Вывод из запоя необходим когда человек несколько дней употребляет алкоголь не может самостоятельно остановиться и чувствует выраженное ухудшение здоровья. Продолжительный запой носит опасный характер: в крови накапливаются продукты распада этанола развивается обезвоживание нарушается обмен веществ повышается нагрузка на сердце печень почки и головной мозг. Даже если зависимый уверен что сможет выйти из запоя сам резкое прерывание употребления способно привести к тяжелой абстиненции судорожным припадкам алкогольному делирию и другим серьезным последствиям. Разобраться лучше – http://vyvod-iz-zapoya-lyubertsy2.ru/

  42. Своевременное обращение к врачу позволяет остановить запой уменьшить проявления абстинентного синдрома снизить риск осложнений и значительно ускорить восстановление организма. Медицинская помощь особенно актуальна если зависимый пил несколько суток подряд не смог остановиться самостоятельно или предыдущие запои уже приводили к тяжелому похмелью. Чем раньше родственники решили вызвать нарколога тем больше возможностей провести детокс и стабилизацию без развития критического состояния. Получить больше информации – нарколог на дом вывод из запоя

  43. Информация об обращении не передается третьим лицам а детали лечения обсуждаются только с пациентом. Получить дополнительные сведения – kodirovanie ot alkogolizma odincovo

  44. Discover plastic processing and extrusion solutions designed for manufacturers, recyclers, and industrial businesses
    through XJG Machine’s specialized resources. From the best plastic shredder machines for 3D printing to industrial plastic recycling machine manufacturers,
    these guides provide useful information for evaluating modern equipment and technologies.
    Learn about common extruder machine problems and solutions,
    compare plastic extrusion machine manufacturers in USA, and research PVC extrusion profile manufacturers USA and
    PVC extrusion companies in USA. XJG Machine also features a pipe laser printing machine and plastic pulverizer
    machine for specialized processing needs. Explore pipe production line manufacturers and the plastic extrusion screw
    barrel catalog to support better equipment selection and production planning.

  45. After getting multiple quotes for a brand new AC installation I chose this
    HVAC service and could not be happier with the results The level of technical knowledge and genuine professionalism displayed by the entire HVAC team was truly
    impressive and reassuring They specialize in all major
    HVAC brands and can service any make or model of heating and cooling
    equipment If you need dependable and fast HVAC service this is
    absolutely the team to call without any hesitation whatsoever

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>