<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Octa</title>
    <description>The latest articles on Forem by Octa (@0ctavia).</description>
    <link>https://forem.com/0ctavia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F240517%2F41d8dcd7-3807-47d0-a360-17ae40c17a43.png</url>
      <title>Forem: Octa</title>
      <link>https://forem.com/0ctavia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/0ctavia"/>
    <language>en</language>
    <item>
      <title>Ontologies - part 2 : definitions &amp; vocabulary</title>
      <dc:creator>Octa</dc:creator>
      <pubDate>Tue, 08 Dec 2020 09:37:29 +0000</pubDate>
      <link>https://forem.com/0ctavia/ontologies-part-2-2h35</link>
      <guid>https://forem.com/0ctavia/ontologies-part-2-2h35</guid>
      <description>&lt;h2&gt;
  
  
  Why are we even doing this?
&lt;/h2&gt;

&lt;p&gt;As I'm reading further along about ontologies one thing is clear to me. The point of this entire thing is to take the real world - something you innately know and understand - and try to extract from your brain categories and relationships between them that a computer can understand. Once you've got that, said computer can answer queries, create a knowledge base and be trained to play around with the data at astonishing speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Definition
&lt;/h2&gt;

&lt;p&gt;These definitions so far seem the best to me:&lt;br&gt;
An &lt;strong&gt;ontology&lt;/strong&gt; is a formal explicit description of concepts in a domain of discourse.&lt;br&gt;
An ontology together with a set of individual &lt;strong&gt;instances&lt;/strong&gt; of classes constitutes a &lt;strong&gt;knowledge base&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Ontologies consist of classes (eventually subclasses) or concepts. Classs have properties (features and attributes of the class, sometimes calles slots as well) and there can be restrictions on those slots or properties (those restrictions can also be called facets).&lt;/p&gt;

&lt;h2&gt;
  
  
  Vocabulary &amp;amp; OOP
&lt;/h2&gt;

&lt;p&gt;Like with all new domains you need to be familiar with a few words before you can understand something like the definition above. &lt;br&gt;
Object oriented programming in this case is both something that can help and that can hurt. Ontologies are composed of classes and subclasses, and have instances. Sounds familiar, right?&lt;/p&gt;

&lt;p&gt;You can safely use your understanding of what an instance is in OOP to help you understand instance in an ontology. For classes however, it's a bit different. In OOP you tend to use classes along with methods, and creating a class will entail you coding the methods, thinking whether or not they're in the right place or need to be split off, instantiating classes so you have access to their methods etc. In ontologies a class is much more descriptive. When you create the ontology you describe the properties of the class and think much more in terms of structure than in terms of what the class does. An ontology is a mapping, not a program. It can be part of a program however, but that's for a later post.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>ontology</category>
      <category>owl</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Ontologies - part I: Introduction</title>
      <dc:creator>Octa</dc:creator>
      <pubDate>Wed, 02 Dec 2020 10:39:40 +0000</pubDate>
      <link>https://forem.com/0ctavia/what-even-is-an-ontology-day-i-fpm</link>
      <guid>https://forem.com/0ctavia/what-even-is-an-ontology-day-i-fpm</guid>
      <description>&lt;p&gt;As someone who studied philosophy back in the day (am I old yet?) I've thrown the word ontology around a lot. As someone who is now a web developer, I've heard it in passing in the corridors. But as someone in a 3-man IT/DEV/OPS team, I have been gifted the task of diving into it because someone had to.&lt;/p&gt;

&lt;p&gt;Luckily I like a challenge. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ul4HGkKV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/igfka94b0nt028otqjoq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ul4HGkKV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/igfka94b0nt028otqjoq.gif" alt="David Tenant about to lose it"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A major aspect of this challenge will be to explain to my coworkers what this is and how they will need to wrap their minds around, so this series of posts will be an exercise in summarizing and condensing what I learnt each day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basically, what is an ontology?
&lt;/h2&gt;

&lt;p&gt;Before you think of data, think of the real world. You know fruit comes from a tree, not from a seed. You don't know how you know or when you learnt, but you know that you plant a seed, get a tree, get some fruit. One type of fruit comes from one type of tree. Carrots are edible, so is fruit, but a carrot is not a fruit.&lt;br&gt;
All these statements are description of reality. What if someone tried to unravel the matrix behind reality, break all of the fruit-stuff I mentioned before to tiny bits of reality, then classify those in neat boxes and relationships between said boxes?&lt;br&gt;
Basically that's an ontology. Classes and relationships.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do we need this?
&lt;/h2&gt;

&lt;p&gt;The main advantage is that those relationships and classes can be translated into a language the machine can understands, ie, your computer. If someone says "this carrot came from the carrot tree" you know it's wrong - but how does your computer know that this can not be true in reality?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--71chEea3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u4146j5zconqb3ht79md.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--71chEea3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u4146j5zconqb3ht79md.gif" alt="Guy dancing in carrot costume"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Is this the same as a taxonomy?
&lt;/h2&gt;

&lt;p&gt;Most of us are more familiar with a taxonomy. At the very least you've seen one in biology class. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vIymGcKb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1qcqnslmp0puzotwwzip.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vIymGcKb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1qcqnslmp0puzotwwzip.jpg" alt="red fox"&gt;&lt;/a&gt;&lt;br&gt;
Species: Vulpes vulpes -&amp;gt; Genus: Vulpes -&amp;gt; Family: Canidae -&amp;gt; etc.&lt;br&gt;
Taxonomies are hierarchical, they formalize the relationships. It's a type of structure, and you can often easily visualise it as a tree-like structure. They tend to be applied to one domain. You classify documents, you classify tools, but how do you connect information in documents about the tools? That's where ontologies help. &lt;br&gt;
&lt;a href="https://www.earley.com/blog/what-difference-between-taxonomy-and-ontology-it-matter-complexity"&gt;This&lt;/a&gt; post was very helpful to me.&lt;/p&gt;

&lt;p&gt;Enough for one blog, see you later hopefully for the rest.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>owl</category>
      <category>beginners</category>
      <category>ontology</category>
    </item>
    <item>
      <title>Which autism accommodations have helped you / your colleagues?</title>
      <dc:creator>Octa</dc:creator>
      <pubDate>Tue, 10 Nov 2020 06:31:50 +0000</pubDate>
      <link>https://forem.com/0ctavia/which-autism-accommodations-have-helped-you-your-colleagues-1cbj</link>
      <guid>https://forem.com/0ctavia/which-autism-accommodations-have-helped-you-your-colleagues-1cbj</guid>
      <description>&lt;p&gt;This will be a small drop in an ocean of posts, but I hope it can get some replies. I need help, and maybe at the same time this post can help others. As I'm starting out my career as an autistic developer, I am running into many difficulties, burnout, anger, lack of direction, overstimulation. &lt;/p&gt;

&lt;p&gt;The pandemic has many of us working from home, which for autistic people means that there is a better control on over- or understimulating circumstances, noise, the clothes we can wear or not. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1x29neuekuf9gg2zvc68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1x29neuekuf9gg2zvc68.png" alt="Satan being a huge fan of open plan offices"&gt;&lt;/a&gt;&lt;br&gt;
In general I think this is one area where adaptations can make life easier for autistic developers.&lt;/p&gt;

&lt;p&gt;There is also the issue of videocalls. It has been proven they are &lt;a href="https://www.bbc.com/worklife/article/20200421-why-zoom-video-chats-are-so-exhausting" rel="noopener noreferrer"&gt;tiring&lt;/a&gt;, for everyone. However they are still a big feature of WFH, and not every boss or colleague is understanding of your desire to turn off the camera, or to communicate via email, though I think those could be a step in the right direction.&lt;/p&gt;

&lt;p&gt;One of the worst aspects in my work environment specifically has been the lack of structure. While Agile (the more common organisation in CS) has its perks and downfalls, it represents a system with rules and things one can plan for. If you have a less organised workplace but your colleagues are at a desk's distance, you can turn around and ask. However in remote working conditions "just ask" seems to work really badly. I think in this case it's one of the more complex areas to ask for accommodations, as you're asking colleagues to regularly go out of their way just to make you more comfortable - which is something else entirely than just letting you have noise-cancelling earphones.&lt;/p&gt;

&lt;p&gt;In any case, please let me know what you think and what worked for you.&lt;/p&gt;

</description>
      <category>mentalhealth</category>
      <category>watercooler</category>
      <category>beginners</category>
    </item>
    <item>
      <title>TIL: errors are good and important </title>
      <dc:creator>Octa</dc:creator>
      <pubDate>Fri, 21 Feb 2020 09:17:46 +0000</pubDate>
      <link>https://forem.com/0ctavia/til-errors-are-good-and-important-3iea</link>
      <guid>https://forem.com/0ctavia/til-errors-are-good-and-important-3iea</guid>
      <description>&lt;p&gt;A bit of a diary post but I realised today that I need to stop focusing on results only and enjoy the debugging journey.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3osxYB55Nnuqzws3ny/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3osxYB55Nnuqzws3ny/giphy.gif" alt="dear diary"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I suppose we all know this: You're coding and you've just written a few extra lines, suddenly your app crashes, nothing loads and you have this big fat error, warning, or nothing at all. Oops.&lt;br&gt;
I used to see this as a failure, as my code not being good enough. It's important to realise that's not what it is.&lt;/p&gt;

&lt;p&gt;It's a learning opportunity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"But how do I make sure that I don't lose too much time on this?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This was one of my big questions. I'm straight outta bootcamp and I am a junior so it's bound to happen a lot. Here is what I think can help:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Set a time-deadline after which you go ask for help&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sometimes you have to deliver x or y by the end of the day and you can't afford too many hours on it. So, when you &lt;strong&gt;start&lt;/strong&gt; debugging, look at the clock and set a deadline after which you'll go ask.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Set a frustration-limit after which you go ask for help&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I once got so frustrated and flustered that I deleted my entire code, doing the digital equivalent of a tableflip ragequit. It was a good lesson that sometimes one can be too frustrated to continue working on something. It will probably take time to know when you reach that point, but if you notice you're there, step away from the computer, hands in the air, and go get a fresh pair of eyes to look at it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Make notes of what you've learnt.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Maybe you needed to dig through the entire structure of your linux distro, maybe it was your IDE, maybe you had to read up on OOP because you hadn't understood something. Once it works, open up a note-taking system and jot down quickly things like the language, the error, what was wrong, how you fixed it (and maybe a link to the Stack Exchange solution, or post that helped you). This keeps a trace of your learning and if weeks down the line it happens again, a quick search in that file can help.&lt;/p&gt;

&lt;p&gt;The last tip especially helps me see bugs and errors as ways of learning, rather than mere obstacles. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you have any tips or helpful methods, feel free to leave them in the comments below, as they might also help me and other beginners.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>debugging</category>
      <category>codenewbie</category>
      <category>coaching</category>
    </item>
  </channel>
</rss>
