Hi everybody! A while ago, I did a post on learning Teeline, which was really fun to write. Since then, I’ve learned a lot more, and wanted to share with you in the best way I know how: by curating my own Teeline dictionary!
It was important to me to create a dictionary that was easily searchable, because so much out there is image-only, and you have to manually scour resources. I want this to be a resource that is easy and available!
So far the dictionary contains 674 words. I have done my best to show multiple ways of expressing words (specifically with the upward/downward ‘L’), but keep in mind that there might be a different way to write any given word that’s equally valid.
If you have any requests, suggestions, corrections, or general comments, please let me know! I would be happy to include them in the dictionary. I intend this to be a living project, and I want it to grow and evolve to be the best (and most useful) it can be.
Why hello everyone! Happy pi day!! This week I’m pleased to introduce you to my latest project: learning Teeline. Teeline is a shorthand method that I set out to learn because… it looks cool? It could possibly be useful for taking notes during lectures? Honestly, because I felt like it.
I have collected all of my notes into a (hopefully) intelligible format, and I thought I’d share them with you!
The alphabet
Note: only use the full vowel for the hard sound, or to represent the words as noted. Otherwise use the indicator.
Join letters into words as they would be in cursive: the second letter starts where the first ends, etc.
Cut out all intermediate vowels. Sntncs shld rd lk ths.
Explicitly indicate vowels if they begin or end a word.
Exclude silent and double letters: right = rt, numb = nm
Write vowels much smaller than consonants.
Things to note in the image:
Proper nouns (or other capitalized words) have a double-dash underneath them.
‘T’/’D’ basically look the same in the middle or end of words; this doesn’t matter too much because they make a very similar sound and Teeline is partly phonetic.
Use abbreviations: opportunity = opr, company = co
‘K’ joins up on the side (rather than the bottom) of tall letters like ‘H’, ‘J’, and ‘P’.
Use phonetic spellings: laugh = lf
I like to include an ‘S’-shape above a soft ‘C’: Greece = grsc1This is accepted Teeline, but not in widespread use
You can abbreviate ‘people’ to a single ‘P’/’L’ blend.
‘At’ is just an ‘A’ at the ‘T’ position.
‘S’ is written inside of ‘B’.
‘T’ and ‘D’ are dis-joined from ‘R’: ‘T’ above the ‘R’ and ‘D’ below it. They are also dis-joined from each other, with ‘T’ written above the previous letter and ‘D’ below it.
Avoiding awkward shapes
Also note that you can use ‘-XNK’ to represent ‘-THXNK’ and similarly ‘-XNG’ to represent ‘-THXNG.’
Edit 24-Apr-2018: I have started curating my OWN Teeline dictionary. I highly recommend checking it out! If there’s a word you want to find but can’t, leave a comment. I’d be happy to add it.
When in doubt, I recommend checking this Teeline dictionary for the preferred “spelling.”
Common Word Groupings
As you speed up and get better at Teeline, you’ll notice certain words often come together. You can combine these into a single group.2I like to think of them as ‘glyphs’, but that is not acceptable Teeline terminology to the best of my knowledge. These are the groups I use the most, but you can find a comprehensive list of word groupings in this book.
I’ve also included ‘WH’3and a couple ‘W’ words because I found it very easy to mix those up. I often interchange ‘what’ and ‘with’ and am working on fixing that.
Strategies for learning Teeline
Don’t try to learn everything all at once. Start by drilling the alphabet until you’ve got that down pat. Then just start linking words together and see how that goes. I would start each morning by reading my previous day’s work, circling and fixing mistakes, and seeing what was difficult to read and why. Then I’d transcribe a new passage to be reviewed the next day.
I noticed pretty quickly what letter combinations were very difficult to write, so I worked blends into my shorthand very quickly. ‘TR’ and ‘DR’ were some of the best. I thought it would be hard to distinguish them from the non-blended characters, but I actually found it quite easy. It makes it soooo much easier to write, as well.
Certain suffixes are also terribly awkward. ‘NG’ is one of the most awkward character combinations ever. I was super excited to figure out the ‘-XNG’ suffix set. I tried to let other suffixes come naturally.
If I ever found myself thinking “there has to be a better way to write this word,” then I would look it up in the dictionary, and usually there was, indeed, a better way to write it. My point is that rather than try to memorize all these rules, I let my natural curiosity provide the impetus for learning each new rule at my own pace.
Currently I’m mostly focused on word groupings. This is particularly challenging for me because I naturally want each group to be one word. I’m just taking it one day at a time, trying to use groupings as they make sense to me. I’m sure I’ll evolve more and more confidence here as I practice more.4The rallying cry for learning any new thing ever.
This is about the level of Teeline I’m at right now:
The text says:
Here was once a velveteen rabbit, and in the beginning he was really splendid. He was fat and bunchy, as a rabbit should be; his coat was spotted brown and white, he had real thread whiskers, and his ears were lined with5I used ‘what’ instead of ‘with’ pink sateen.6I used the hard ‘E’ indicator to show that this is ‘sateen’ and not ‘satin’ On Christmas morning, when he sat wedged in the top of the Boy’s stocking, with7accidentally ‘what’ again a sprig of holly between his paws, the effect was charming.
It’s no secret that I like Python. A lot. It is a powerful object-oriented language that can handle linear algebra, graphics, complex statistics, and basically anything else you might want to throw at it. As far as programming languages go, it’s one of the easiest to learn.
The popular webcomic xkcd.com illustrates (with some hyperbole) how easy it is to use Python.
These two features (power and ease) are what make it a great social justice language. Allow me to elaborate.
A little backstory
You probably know that women and under-represented minorities (URMs) are, well, under-represented in science. They are especially under-represented in computer science.8I won’t be going into the “why this is bad” part of the discussion; perhaps some other time.
Where other STEM fields have seen a lot of success in gender equity, computer science has seen a DECREASE. Source: NPR.org
URMs in the Tech Sector vs. US Economy Source: Mother Jones
Barriers into computer science
Okay, so. This is a problem. Why?
Maria Klawe looked at introductory computer science courses in college campuses, and identified several barriers to women’s access to computer science:2Klawe’s work focuses specifically on women, but the same principles apply to other URM groups as well.
Lack of formal education early on
Feeling overwhelmed in introductory courses
Feeling disconnected from the content
The image of geeky, unpopular boys dominates
Bored during class
Let’s look at each of these issues and see why Python is a good fit to counter them.
The Python solution: We need to increase the availability of free coding resources. Not only that, but those resources need to be friendly to use. Python is perfect for someone who has never coded before: it uses English words to convey its meaning. No archaic and indecipherable curly braces here. The whitespace layout is visually appealing and easy to picture. For these reasons, Python and Lua are probably the most user-friendly languages.
Why am I not recommending Lua, then? Because it’s not as powerful, and that means it is not used in most professional settings.4That is ever-so-slowly changing, and I’m all for it! Python is powerful. If you learn Python, you have learned a programming language that you can take with you through the rest of your career. If URMs start learning Python, they will have a much more solid coding foundation moving onward.
Feeling overwhelmed in introductory courses
I think everyone knows the feeling of taking a class that’s maybe a bit… over your head? And on top of that, you have the stinky know-it-all in the corner whose hand constantly shoots up and has all of the answers. Why is it SO EASY for that one person? Maybe you’re not cut out for this, and should just quit… I’ve been there. It’s a very human experience.
The truth about that know-it-all, though, is that they probably have been coding at home for a long time. Klawe’s solution was to separate those who have had previous coding experience from those who do not. That’s, unfortunately, a bit beyond even Python’s capabilities5but not beyond yours if you teach a CS class!.
What is the Pythonic solution to this problem? Teach Python in introductory courses. At the risk of sounding like a broken record, Python is very easy to learn compared to, say, Java or C. When learning code from scratch, the most important thing is that you understand the structure and logic of algorithms. Once you understand the underlying structure, then picking up another language is much easier. Most languages have a fairly complicated syntax,6I’m looking at you, curly braces. but the syntax isn’t the interesting part about learning to code– writing code is! When a new coder sees words that they can read the concepts they’re working with, they are much more likely to continue coding.
Feeling disconnected from the content
Again, from Klawe: there’s a stereotype of a “computer scientist” being a socially inept white male. Indeed, one study by Cheryan et. al. showed that hanging pictures of Star Trek can turn women off of science. If coding turns you into a social reject, or worse– was never “meant” for someone of your skin tone or gender identity (SHUDDER), wouldn’t you feel pressure away from the field?
Python is engaging in ways that other languages are not, and it is perfect for jump-starting the new computer scientist into the world of powerful, object-oriented programming.
In Summary- Python is a social justice programming language
Python’s clear English-based syntax is easy to learn and intuitive compared to other programming languages. This makes it more accessible to those who don’t have a formal computer science background or who find themselves in a position requiring self-learning.
The sheer variety of packages that Python supports keep the language dynamic and interesting– there’s something for everyone. This helps to keep the new computer scientist engaged so they continue to learn more. They can pick up coding projects that matter to them and to their communities.
Python’s vast package library and object-oriented base keep it in the running for powerful coding languages. It is used in industries (especially, and I can attest to this, in academia within the physical sciences) worldwide. Learning Python is a useful skill that the new computer scientist will use throughout their career.
Am I saying Python is always the correct choice for programming? No, of course not. Nothing beats FORTRAN’s matrix algebra. The stability, portability, and efficiency of C cannot be denied. There will always be an optimal language for your current project. For me, my desire to educate others about the wonders of computer science means that Python will be my go-to language, because as far as initiating badass new scientists is concerned, nothing is better.