Beranda

  • Is your startup’s technology defensible? My test for technical defensibility in a startup

    Is your startup’s technology defensible? My test for technical defensibility in a startup


    When I am working on the technical due diligence of a startup company before VC investment, one of my goals is determining in what ways the technology being built affects the company’s strategy: how (and if) it contributes to the product’s defensibility.

    I feel proud that I have not used to word “moat” even once in this article.
    Technology is not the only way to create defensibility. Network effects, having better data or money than the competition, a strategic relationship with key players, etc. can all be important. In some cases it makes sense to invest in a company where the technology is only an afterthought, assuming that the engineering involved is at least adequate. However, innovative tech is a bit special. After all, it’s harder to bring true disruption with stuff that has been around for a very long time.

    So, what does it mean for your startup to create technical defensibility? I like to explain it with a thought experiment. Let’s imagine that you, as a startup, are facing an obnoxiously rich adversary. As soon as your company starts making any waves they decide that whatever gizmo your startup is making is the best thing since sliced bread. However, they don’t want to buy anything from you. They are dead set on conquering (not merely winning) that market, no matter what. Uh-oh.

    Think of a behemoth like Google, Facebook, or Amazon. You can disregard the usual objections about minimal market sizes, and even whether the whole thing would make commercial sense (after all, that is out of scope for technical due diligence). Imagine it’s personal, with a slightly desperate and arbitrary twist. I like this quote from a recent interview with an Amazonian to set the mood:

    What’s an example of a division that AWS subsidizes particularly heavily? Prime Video, for one. Jeff loves Prime Video because it gives him access to the social scene in LA and New York. He’s newly divorced and the richest man in the world. Prime Video is a loss leader for Jeff’s sex life.

    This is the kind of force I want you to imagine is trying to crush you.

    Your startup’s tech defensibility is the measure of how much your technology would help it survive or win such a contest. What are the rules of engagement?

    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6499/4-2023-hd-1080p
    https://bitbucket.org/atlassian/update-all-the-things/issues/21830/4-tw-2023
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31932/4-hd-1080p
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31931/4-hd-1080p
    https://bitbucket.org/atlassian/update-all-the-things/issues/21829/4-2023-hd-tw
    https://bitbucket.org/atlassian/cwd-4444-java-bug-reproducer/issues/5/2023-hd
    https://bitbucket.org/atlassian/cwd-4444-java-bug-reproducer/issues/4/2023-tw
    https://bitbucket.org/atlassian/crowd_pam/issues/13932/2023-hd
    https://bitbucket.org/atlassian/update-all-the-things/issues/21832/2023-hd-tw
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6501/tw-2023
    https://bitbucket.org/atlassian/update-all-the-things/issues/21831/2023-4k-tw-zh-1080p
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6502/2023-hd-1080p
    https://bitbucket.org/atlassian/crowd_pam/issues/13931/2023-1080p
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31934/2023-hd
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31933/hd-1080pda

    They have more money. They will happily set it on fire if they think it may give them an edge. Assume they will overspend you when it comes to hardware, computing power, marketing, everything. I said obnoxiously rich, right?

    This small ritual makes the model train faster.
    They have a better and bigger engineering team. This is a corollary to the above — it’s much easier to create a great engineering team if you have a generous budget for salaries and benefits. However, it merits some additional explanation. When it comes to generic job functions (Java/Rust/Haskell/Go programmers, data scientists, ML researchers, DevOps, scrum masters — you name it), assume they will get more experienced people, and more of them. You can count, however, on talented individuals that you already have on your team. So, if your co-founder invented the fancy gizmo algorithm — that’s something you can use.

    They are better at reimplementing anything that’s available in the scientific literature. Implementing an algorithm from a scientific paper may be far from trivial, but it’s essentially a matter of craftsmanship, and they have more and better scientists. Not to mention that they can simply hire the authors of the paper (unless you have already hired them).

    You have some head start. Let’s be generous and assume that they start competing in earnest only when you get your first serious media mentions. However, remember that they have a bigger, better team (am I repeating myself?), so they might be able to work faster. You’ve got a little bit more time, but time is not on your side.

    The situation as I present it looks bleak. No one said it would be easy! Creating meaningful technical defensibility is extremely challenging. However, some options come to my mind (and there’s probably tons I didn’t think of):

    Not all processes scale linearly with the number of people involved. For example, Google may have the best ML researchers in the world, and they have plenty of them. However, if they have to learn about a whole new domain, there’s no magic bullet, they still have to put in the time. You get additional points if the domain is esoteric, boring, or otherwise unattractive for most people.

    Sometimes, there just isn’t a lot of prior art in some subjects. If you have discovered such a problem, and it’s a problem whose solution may be lucrative, that’s amazing. Usually, when I am researching some technology and cannot find enough relevant papers on Google Scholar, it means that I am searching wrong. In the few situations when that was not the case I tend to get very excited.

    Data very often is the key to an advantage, especially when it comes to AI-based products. If you can have a monopoly on the relevant data, or you can create a virtuous circle in which a better product creates more data, which leads to an even better product, etc. then you are in business.

    Some processes are hard to accelerate. For example, if you are developing a new drug and want to prove there are no long term side effects, waiting is your only option. Similarly, regulatory certification may be extremely difficult to expedite. If you are the first to get it, you can give you an advantage.

    Many problems get exponentially harder as you make progress. Only when you think you are 90% of the way there, you realize that the remaining “10%” will take at least as much time as you have already invested. This kind of surprise may repeat, more than once. In my experience, this is especially common when someone is trying to transfer technology from an academic setting to an industrial one. What is crucial is that, almost by definition, this situation is unknowable at the start, so it’s almost impossible to budget for it.

    As annoying as this may sound from the point of view of someone with an engineering mindset, who is trying to solve a problem, being in such a situation is a huge advantage for you. The fact that your rich competitor has more people may mean that they will realize the hurdle’s existence more quickly than you had, but not by an order of magnitude more quickly. The important question here is: how “deep” is your problem? Is it going to be completely solved after just a few “oh crap we are not there yet” cycles? Or are you going to keep making meaningful improvements indefinitely? From a defensibility point of view, working on a problem that keeps getting exponentially harder indefinitely is much better. By the time you get where you were when the rich competitor started, you will have already created some additional distance.

    Defensibility is not a binary option (as in “defensible” or “not defensible”) when it comes to technology. Also, technology may be only one of many factors that are contributing to it. My thought experiment is a (negatively) idealized situation, with the scale tipped against you. It’s not that every startup gets in the way of a billionaire getting laid, after all.

    Jane, we simply cannot keep ignoring the synergies between our businesses. Also, I would love to have you on my L-team. Why are you still running? It’s OK, I’ll send you the term sheet over email.
    Finally, in the real world, we don’t always care about “winning.” On occasions, all you need to do is make it a better option for the obnoxiously rich adversary to buy you out instead of competing. Sometimes it’s not about outrunning the bear, but about creating a situation in which the bear wants to acquire your company at a good valuation, and have you join his organization as a VP.

  • Why is it so difficult to scale a software house, and what can you do about it

    A software house is a very common type of business in my part of the world. It is a company employing engineers to work on software products, and sells the IP created in its entirety (or almost) to the customer. In Poland these are usually small to medium operations (5 to 300 employees). They keep their hiring bar pretty high, salaries are decent, and they tend to focus on things like the higher-end aspects of web/mobile, Digital Signal Processing, or Deep Learning. So, we are not talking about big outsourcing centers, hiring thousands of people (these are also interesting, but not something I know a lot about).

    I’ve been interested in software houses for a long time. I’ve observed how my friends went into this business, and how their companies grew. 10clouds, Rebased — I remember them when they could still fit their whole teams around one restaurant table. Netguru started a bit earlier, so when I met them it was 2 or 3 tables. Tooploox — they were still a product company when I met them in the Bay Area. Finally, in early 2017 I joined MicroscopeIT as CTO/co-founder. I drove its reincarnation as a consulting company specializing in AI and Computer Vision (the name is still a dead giveaway of the company’s product origins), and built the team from 3 engineers to 20. I’ve spent a lot of time thinking about strategy for this sort of company.

    Photo by Kamil Gliwiński on Unsplash
    A software house is a great way for engineers and other technically minded people to start building a real company, especially in capital starved parts of the world like Central and Eastern Europe (Poland, Romania, Ukraine, Bulgaria…). However, the most common business model is flawed, and imposes serious constraints on growth — especially when you want a more valuable company, not just one employing more engineers. I have a few ideas about what can be done about that.

    Origin stories
    The software houses I know most of came to life mainly in 2 ways. The first is what I call The Merry Devs of Sherwood, the second is We Used to Be a Startup.

    The Merry Devs of Sherwood
    If you are a freelancing programmer who is good at her job, you can have the good life. The money is great, you can take a holiday almost whenever you feel like it. If you don’t like your project, you can easily find a different job.

    There are downsides too, though. Depending on how good is your customer’s contractor game, you may end up working with great people, or with a sad bunch of idiots. The latter is a downer, so in order to avoid it you can bring your friends to work on your contracts. This is wonderful news for the customer, as finding good developers is hard. A strong developer vouching for another dev is usually a very strong indicator of quality.

    With time it becomes clear that someone in the team has a knack for finding new gigs, talking to customers, and organizing work, all things which a lot of engineers despise. Soon there’s more work than the initial team can handle, so they hire new people. A software house is born. The founders are usually great engineers, and hiring is easy because they know how to make devs happy.

    Photo by Sergei Akulich on Unsplash
    We Used to Be a Startup
    You are a startup founder with a technical background. You have an idea, maybe a little bit of seed investment money. You start building a great technical team, and work frantically on your product. However, with time it becomes more and more clear to you that maybe your product-market fit isn’t ideal. You are not getting the traction you hoped for. Your runway becomes shorter and shorter. Soon, you get little panic attacks thinking of your bank account.

    But then, a little miracle happens. You meet someone who maybe doesn’t want to buy your product, but they’d love for you to build something for them. And pay you sweet, cold cash. This is not an ideal scenario — you were supposed to be doing something else. But it beats going broke and having to let go this amazing team you built. You take the contract, and the customer is happy. Unlike many other contractors, you “get it.” After all you were trying to build your own product just a moment ago, so you are great at prioritizing. Then another contract follows, and another. You are not building your product at all, but then, on the other hand, you are not desperate anymore. Being cash flow positive, and this matters a great deal. Maybe you keep doing some vestigial work on your original idea, but now it’s more a PR thing, as you’ll always take billable hours if available.

    My guesstimate is that there’s more Merry Bands than We Used To Be A Startups. Both types of software house have their stronger sides, at least initially. We Used to Be a Startup may have stronger product skills, while the Merry Devs of Sherwood may be slightly better at engineering and project management. However, with time both types of organizations end up well rounded, and this initial preference ends up being just part of the company’s history.

    Economics of a software house
    Central and Eastern Europe is a hub for software houses. There’s no shortage of technical talent (in Poland universities may suck at research, but they are amazing at producing well rounded engineers). What Poland desperately lacks, however, is easy access to capital. Even if getting access to VC money is becoming easier (and London and Berlin are very close to Warsaw), you still need to spend a few months working on the project to get to the point where a reputable VC will reply to your emails. The proverbial “friends, fools, and family” that would fund a startup during that time are much more risk averse and strapped for cash than in Western Europe or the US — so it sometimes never happens.

    On the other hand, a software house, unlike a product startup, needs almost zero working capital. You don’t need an office, a coffee shop will do. Everyone brings their own computer. You pay people when the customer pays you. Everyone (the owner included) is hired as independent contractors, so you if you run into a contract glut you can just close the operation.

    During the crucial bootstrapping period you are afforded a surprisingly carefree financial existence.

    An typical thing in a software house is that most (or all contracts) are Time & Materials. This is important, as estimating how long a software project will take is very hard (and even worse if you do R&D). What is more, if you are doing agile (as you should!), the requirements are constantly changing — and the overhead of having to constantly adjust the price would be horrible. So, T&M significantly reduces the risk for the developer.

    However, T&M also creates the biggest problem with running a software house: it’s really hard to scale. Like any agency business, at its core you are selling people’s time to a customer (with the code being a useful artifact). There’s only a set number of hours in the day. So, if you grow from 10 to 20 developers, you can double your revenue, at most. Actually, worse than that, because every employee carries an overhead. With 20 employees, you need to spend some energy on managing them. This doesn’t mean you have to hire a manager — you can as well try to empower your current employees to take on more responsibilities — but whatever you do, time spent managing an organization is not time spent building stuff for your customers. Your revenue will be growing sublinearly with respect to your number of employees.

    https://bitbucket.org/atlassian/cursores/issues/5/2022-hd-1080p
    https://bitbucket.org/atlassian/cursores/issues/4/2023-thai-sub
    https://bitbucket.org/atlassian/crowd_pam/issues/13928/2023-4k-full-hd-1080p
    https://bitbucket.org/atlassian/crowd_pam/issues/13927/the-first-slam-dunk-2023-1080p
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6498/2023-th-the-first-slam-dunk-1080p-hd
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6497/hd-2023-1080p
    https://bitbucket.org/atlassian/update-all-the-things/issues/21828/2023-hd
    https://bitbucket.org/atlassian/update-all-the-things/issues/21826/hd-khun-pan-2023
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31930/2023-full-hd-2023
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31929/the-first-slam-dunk-2023-hd-1080p
    https://bitbucket.org/atlassian/boto3_extensions/issues/11/4-john-wick-chapter-4-3
    https://bitbucket.org/atlassian/crowd_pam/issues/13930/4-2023-hd
    https://bitbucket.org/atlassian/boto3_extensions/issues/10/4-2023-4k-tw-zh-1080p
    https://bitbucket.org/atlassian/crowd_pam/issues/13929/4-2023-tw
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6500/4-2023-1080p

    So, employee salaries, which in a product company are an operational cost, in a software house are the main contributor to your COGS (cost of goods sold) and will be the key influence on your gross margins. Not realizing that is a common source of mistakes of people with a product background coming to an agency (this was a mistake I made initially). For example, in a product company, hiring the best, most amazing programmers is a no brainer. You are in a race to bring a product to market, and if you have to pay people double to win — so be it. In a software house, you will make your customers very happy, but it will not move the needle when it comes to your revenue. In fact, it may hurt it— your team will finish more quickly, resulting in less billable hours.

    What is more, with more people on board a lot of things that used to be easy start being hard. Maintaining a consistently high bar for new hires? It comes natural when you are 5 people, requires a lot of thinking at 20 people. Low operational costs? Hey, but you don’t want to be working in a coffee shop forever. You actually crave that nice office, with fast Internet and a kitchenette full of fancy soda. Independent contractors? Sorry, it turns out most people prefer to receive a regular salary.

    The latter is especially dangerous, as it can throw you into the dreaded wet-season/dry season cycle. You are selling people’s time, so the hours you cannot bill become, essentially, your inventory, and has a cost. If you have more people than contracts (dry season) your profits disappear. If you have more contracts than people, you are leaving money on the table, and the customer gets annoyed (they are not getting their product fast enough!). To make things worse, hiring is a process with a lot of momentum, it takes time to find good people and onboard them. You are always either dying of thirst, or drowning.

    Scaling ideas
    Here’s some ideas on how to scale a software house. However, they are no silver bullets — all of them involve some risk and are not without serious drawbacks. Some of them aren’t even good ideas..

    1. Not really scaling: higher hourly prices
      This list gets off a bumpy start: a really awful idea for scaling. However, it’s not an obviously bad idea (I fell into this trap myself), and that makes it dangerous. So, let’s get it out of the way quickly.

    The fallacy goes like this:

    By hiring incredibly smart people, who are capable of great feats of engineering in difficult specializations, we’ll be able to command really high prices for a premium service. Our revenue will still linearly depend on the number of employees, but that won’t matter that much, because our gross margins will be high enough.

    Why is this a trap? Very high margins make you a target for your competitors, your customer, and… well, technical progress.

    Other software houses will notice you have great margins, and try to copy your business, but offering slightly lower prices.

    Second, from your customer’s point of view a substitute for your services is a team of their own. They have to pay for finding and hiring those people, and their salaries. And actually, they can play your game and try to hire people in your market, directly. It’s going to take them a nontrivial amount of work, yes, but it will allow them to decrease their costs, and increase their own value by getting the IP generating talent in-house.

    Third, there’s a strong trend for commoditizing important technologies, especially if they are complementary to a big player’s core business (see what Joel Spolsky wrote about it in 2002). In 2010 web development was hard and rather annoying, and thus lucrative. The skill to write an interesting JS app without a complexity that would melt your brain was rare. These days, with React and Angular it’s mostly a solved problem. A similar process is taking place right in front of our eyes, with Deep Learning, except at a higher pace. Things that 3 years ago took a week of hard work in TensorFlow are now a beginner tutorial in Keras, taking just a handful of lines of code.

    By the way, not everyone needs the premium service — most software work is pretty standard. If you specialize too much, not only your potential market will be significantly smaller, but you’ll also have a much harder time getting to those customers who actually need your services.

    1. Switch to fixed price contracts
      This one is really scary, and goes against the custom. Negotiating such a contract is much harder, and the stakes are higher. If you mess up on the estimation, you may end up losing money on a contract, which is virtually impossible with T&M.

    However, a fixed price has some significant benefits, and you should consider it.

    First, stop deluding yourself that there’s no estimation necessary in a T&M contract — it’s just that you make it someone else’s problem. After all, the client needs to budget for the project! What is more, if a client needs a software house, in most cases engineering is not part of their core competency. This means that, as a company, you are throwing away one of your important comparative advantages — after all, you are supposed to be good at building software.

    Second, a fixed price allows you to actually innovate to grow your margins. Your cost is a function of the time you spend developing the product. Remember those amazing engineers that you hired? If they are actually amazing, they will find a way to get it done faster. Are your people agile fanatics? This can help you manage the risk of delays. Are your devs great at test driven development? Fantastic, you’ll have less defects to deal with. In a T&M contract, hiring the best people will at most boost your reputation. In a fixed price situation having those people will directly increase your profits.

    Third, a fixed price contract destroys a perverse incentive baked into T&M. Your customer really, really wants the product to be ready as quickly as possible. They are investing a lot of money into it, after all. The more quickly that happens the better. You shouldn’t get a rewarded for busywork, and you shouldn’t be penalized for doing the right thing and delivering quickly.

    1. Stay small
      Yeah, I feel awkward for proposing “don’t scale” as an idea here. However, growth for the sake of growth is rarely worth it. If your company is 5 people, you can keep running it like a pirate ship. Everyone is a partner, everyone is a great engineer. You don’t have to worry about cash flow that much, and you’ll probably keep being able to coding. And if you manage to establish a reputation you’ll have plenty of money. Rates for companies are customarily higher than for individuals, and here you won’t be giving anyone a cut of it.

    Photo by Ricky Kharawala on Unsplash

    1. Do a product
      If you realize that people keep asking you to work on the same thing over and over, that may be the indication that there’s a market that it’s not being appropriately served. After all, people are paying you a lot of money to make a custom version just for them. You built it several times, so you have a decent idea on how to make it work. And if you have a product, you are escaping the service company hell, and your payroll is merely an operational cost again.

    Pulling this off is not trivial, however. First, the price point for the product will be much lower than of the bespoke version (for which you give all the IP to the client). You’ll need significantly more customers, and that may require a very different marketing strategy than what you’ve been doing as a service company. You should also prepare for a lower revenue for a few quarters, so better have a rainy day fund.

    For a more in-depth discussion of this strategy and some case studies, I recommend The Customer-Funded Business.

    Conclusion
    A software house requires a very low capital investment, making it a great business idea for countries that are capital starved yet have plenty of technical talent. However, T&M pricing makes scaling a software house a total pain in the neck. I proposed a few ideas, of which switching to a fixed price model is one I think has most potential.

  • Teaching ChatGPT to Speak my Son’s Invented Language

    When I was a kid, I used to invent languages. I thought myself rather lonely in this pastime, but now I know I was far from alone. A very prolific language inventor was JRR Tolkien, the author of The Lord of the Rings, whose languages deserve their own Wikipedia entry. There’s even a vibrant Internet community of conlangers, as they are called (this article is great if you want an introduction). However, my languages were rather simple, with original vocabulary but grammar that mimicked Polish, Spanish, or English. I didn’t have access to linguistic knowledge, and I doubt anyone in my family could explain to me what the phonetic alphabet was. Sadly, the notebooks where I wrote down my languages were lost a long time ago.

    My 9 years old son, Rysio, has inherited the predilection for language creation. However, he has the good fortune of living in a different era. Thanks to YouTube channels like NativLang and LangFocus, he has access to a wealth of linguistic knowledge, which he uses to create more elaborate and creative languages. His latest creation is Kłeti (pronounced “kwety”). His design goal is to create a language whose grammar would not mimic any languages he knows well, like English or Polish. He also strived to use as many sounds as possible.

    Rysio’s interests apart from languages include, among many things, dinosaurs and lemurs (as you can guess from this photo).
    As a parent, it can be a little unsettling when you hear your child making strange noises with their mouth. At first, my wife and I were worried that our son might be having a stroke or some other medical issue. But as it turns out, he was just practicing different sounds. He would classify them based on whether they were sounds for his language or just beatboxing sounds. While he doesn’t know how to express most of these sounds in the phonetic alphabet, he remembers how to reproduce them with his mouth.

    I absolutely love engaging with my son’s creations. Part of me feels like I should become fluent in Kłeti as quickly as possible. However, the language is very different from the Indo-European languages that I am familiar with. For example, Kłeti has a sentence structure that is SOV (Subject-Object-Verb), while all the languages I know have a Subject-Verb-Object (SVO) sentence structure. Additionally, Kłeti uses specific connectors to link nouns, verbs, and adjectives together, again: not a feature an Indo-European speaker would be familiar with. Furthermore, Kłeti has a different approach to forming questions, showing possession, and indicating plurality. All of these differences can make it surprising and challenging for someone with an Indo-European language background to learn and use Kłeti.

    But the challenges of learning Kłeti don’t end there. My son designed a special alphabet for the language. The romanization of Kłeti uses the Polish alphabet (which gives you for example the Ł in the name, which is pronounced like [w]) also uses consonant clusters to express uncommon sounds, which are tricky to pronounce for me (or anyone except my son). Additionally, Kłeti has a word boundary marker, (y)‘ng, which is inserted between words. This means that a sentence in Kłeti may look like this: hingadaa’ng’khuu’ngkilja’khłattama’khattama, which translates to “A dog can run fast” in English.

    An example of Kłeti sentences written in their “native” alphabet.
    Despite my son’s age-inappropriate impressive linguistic knowledge, properly documenting Kłeti seemed to be beyond his current abilities. As a result, it seemed like the language might only exist in his imagination, along with the glossary and some example sentences he put in a Google Doc.

    But here’s the thing: we’re living in a time when things that would have seemed like science fiction just a few years ago are now at our fingertips. In April 2023, we decided to take advantage of this fact by giving ChatGPT a run for its money. As an afternoon project, we decided to teach it Kłeti.

    First pass
    To get started, I took my son’s Google Doc and asked ChatGPT to clean it up and rewrite it using a more consistent format. I didn’t want to waste GPT 4 credits for such a simple task, so we opted for ChatGPT 3.5, which was more than capable of handling the job. In the mean time, my son finished brushing his teeth (apparently he had forgotten about it in the morning) and joined me at my desk.

    We fed his example sentences and glossary to GPT 4 with the following prompt:

    Here’s a few example sentences in Kłeti, a new language:

    Hello, I am here — kłakura,m’aenala’ngkil’ai’khy’ngo’kh
    My name is rick — m’eanalauu’ngt’ou’ngkilri’kho’ngo’kh
    You have a son — i’khm’aenala’ngkilforr’io’nguuy

    A dog can run fast — hingadaa’ng’khuu’ngkilja’khłattama’khattama

    Here’s a glossary of Kłeti:

    English Kłeti
    hello kłakura
    bye ołarata
    son forr’io
    daughter forri’a
    me m’eanala

    friend hahe

    What can you tell me about this language?

    (I removed most sentences and words in the interest of readability.)

    GPT output the following:

    Kłeti is a constructed language with unique features and vocabulary. Here’s what we can deduce about its characteristics from the example sentences and glossary provided:

    Word order: Kłeti appears to follow a Subject-Verb-Object (SVO) word order in its sentences, which is similar to English and many other languages.

    Morphology: Kłeti seems to have a rich morphology with several affixes and particles to indicate tense, possession, and other grammatical features.

    Tense markers: The language has specific markers for future and past tense that attach to the verbs: ‘i-/a-’ for future tense and ‘e-/u-’ for past tense.

    Pronouns: Kłeti has distinct pronouns for persons and animals, and it differentiates between he, she, and it based on the gender or animacy of the referent.

    Vocabulary: The language has a unique vocabulary, with specific words for colors, numbers, family relations, and more. It also has a comprehensive system for counting.

    Possessive marker: The language uses a possessive marker ‘-uu’ to indicate possession.

    Adjective-noun and noun-verb connectors: Kłeti uses (y)‘kh as an adjective-noun connector and (y)‘ng as a noun-verb connector.

    Question formation: Kłeti uses specific markers like ‘kr’iu’ for true/false questions and ‘‘rcu’ for infinite choice questions.

    Overall, Kłeti is an intriguing constructed language with its own unique grammatical features and vocabulary. It demonstrates a well-thought-out structure, allowing for clear expression and communication.

    While this is impressive, it is not entirely correct. Fortunately, the best (and only) Kłeti expert was sitting next to me, so we provided it some feedback:

    1. No, Kłeti has an SOV word order.
    2. True.
    3. True.
    4. True.
    5. True.
    6. True.
    7. (y)’kh is a noun-adjective connector or a verb-adverb connector. (y)‘ng is a sound that acts like a space, marking word boundaries.
    8. You are right about ‘kr’iu’, but ‘‘rcu’ is a marker for infinite choice questions where the answer is not a number. ‘ch’iu is a marker for questions whose answer can be a number (akin to ‘how much?’ in English).

    Basing on this feedback, GPT generated a new, slightly better description of Kłeti. We repeated this a few times until we got something that we felt good about. It was time for the first real test — ask GPT to translate sentences from Kłeti.

    Us:

    Please attempt to translate the following sentences from Kłeti to English:

    kłakura,m’eanala’ngkilri’khy’ngo’kh

    m’aenalauu’ngkilsamptra’khhingadaa’ngo’kh

    Kil’au’khn’ia’ngo’kh

    GPT:

    Based on the provided Kłeti glossary and example sentences, here are the translations of the given sentences:

    kłakura,m’eanala’ngkilri’khy’ngo’kh
    Translation: Hello, I like Rick.

    m’aenalauu’ngkilsamptra’khhingadaa’ngo’kh
    Translation: My kind dog.

    Kil’au’khn’ia’ngo’kh
    Translation: She (animal) likes it.

    Those were mediocre results (the translations were going in the right direction, but weren’t there yet), but we didn’t give up. Our next prompt was designed to give feedback and allow the model to tell us what it needs to get better:

    In fact, these are the correct translations. Can you please explain why you were mistaken?

    Hello I am Rick — kłakura, m’eanala’ngkilri’khy’ngo’kh
    My dog is kind — m’aenalauu’ngkilsamptra’khhingadaa’ngo’kh
    She (the dog) is smart — kil’au’khn’ia’ngo’kh

    What kind of information would have allowed you to avoid making those mistakes? I am not interested in a revised explanation, I want you to write the text that I could give to an LLM in addition to other information about Kłeti so that it wouldn’t repeat your mistakes.

    Rysio with the kind and smart dog mentioned in the Kłeti text.
    GPT:

    I apologize for the incorrect translations earlier. In order to avoid making those mistakes, the following information would be helpful to provide to an LLM:

    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6486/cel-film-kr-sn-katastrofa-2023-esky-online
    https://bitbucket.org/atlassian/update-all-the-things/issues/21821/kr-sn-katastrofa-cel-film-online-zdarma
    https://bitbucket.org/atlassian/update-all-the-things/issues/21820/kr-sn-katastrofa-2023-cel-film-cz-dabing
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31924/kr-sn-katastrofa-cel-film-2023-online
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31923/kr-sn-katastrofa-2023-cel-film-cz-dabing
    https://bitbucket.org/atlassian/crowd_pam/issues/13924/3-khun-pan-3-2023-1080p
    https://bitbucket.org/atlassian/crowd_pam/issues/13923/3-2023-thai-sub
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6489/3-2023-4k-full-hd-1080p
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6488/3-khun-pan-3-2023-1080p
    https://bitbucket.org/atlassian/update-all-the-things/issues/21823/3-2023-th-khun-pan-3-1080p-hd
    https://bitbucket.org/atlassian/update-all-the-things/issues/21822/hd-3-2023-1080p
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31926/hd-3-khun-pan-2023
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31925/3-2023-full-hd-2023
    https://bitbucket.org/atlassian/bamboo-cli/issues/410/3-2023-full-hd-2023
    https://bitbucket.org/atlassian/bamboo-cli/issues/409/khun-pan-3-3-2023-hd-1080p
    https://bitbucket.org/atlassian/bash-maven-plugin/issues/12/2023
    https://bitbucket.org/atlassian/bash-maven-plugin/issues/11/korean-hd-2023
    https://bitbucket.org/atlassian/crowd_pam/issues/13926/suzume-hd-2023
    https://bitbucket.org/atlassian/crowd_pam/issues/13925/korean-hd-2023
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6491/suzume-ko-2023
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6490/suzume-2023-1080p
    https://bitbucket.org/atlassian/update-all-the-things/issues/21825/hd-2023-1080p
    https://bitbucket.org/atlassian/update-all-the-things/issues/21824/2023-hd-1080p
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31928/2023-1080p
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31927/2023-2023-full-hd-1080p-4k

    Make it explicit that ‘kil’ is a copula (like ‘is’ in English) and ‘ngo’kh’ is a particle that indicates liking or preference.

    Clarify the distinction between the noun-adjective connector (y)’kh and the verb-adverb connector (y)’kh, as well as the use of (y)’ng as a space marker.

    Provide examples of sentences that include the copula ‘kil’ and the particle ‘ngo’kh’ to illustrate their usage and position in sentences.

    Emphasize the importance of understanding the SOV word order in Kłeti and its impact on translation.

    By providing this additional information, the LLM would be better equipped to avoid the mistakes made in the previous translations.

    After a few attempts at improving ChatGPT’s understanding of Kłeti this way, we decided to try a slightly different approach. We gave ChatGPT the following prompt:

    Please provide a list of English sentences whose translation would be sufficient to provide you the information from above.

    ChatGPT 4 generated those sentences for us, and my son translated them. I also asked for some additional sentences for my son to translate that we would be able to use as test data — to see how well it was doing.

    After several rounds of refining and testing, we were finally ready to tackle the real goal of the exercise: getting a prompt that would produce more accurate translations of Kłeti. But why do something so difficult yourself when you have a helpful assistant to do it for you?

    Please summarize everything that you know about Kłeti’s grammar in one prompt that I could feed to ChatGPT so that it can translate between Kłeti and English, without making the mistakes you made. Don’t worry about the glossary, we’ll do that separately.

    The first result contained a mistake, which we corrected. We asked GPT to provide examples for all the rules it was describing.

    Kłeti is an SOV language with a unique grammatical structure. In Kłeti, nouns, verbs, and adjectives must be connected using specific connectors. Use (y)’kh to connect a noun to an adjective (e.g., o’bbapla’kh’yepla: red toy) or a verb to an adverb (e.g., attama’khatik’io: quickly fly). Use (y)‘ng as a space between words, marking word boundaries.

    When forming questions, use ‘kr’iu’ for yes/no questions (e.g., kr’iu’ngimulimy’ngnam: is he eating a sandwich?), ‘rcu’ for infinite choice questions where the answer is not a number (e.g., m’eanala’ng’rcu’ngunam: what did I eat?), and ‘ch’iu for questions whose answer can be a number (e.g., b’gha’khhomrina’nma’ng’ch’iu’ngliu: how much does this book cost?).

    To show possession, use the possessor noun followed by ‘uu’ and then the possessed noun (e.g., m’eanalauu’ngkilsamptra’khhingadaa’ngo’kh: my dog is kind).

    In Kłeti, adjectives come before the noun they modify and are connected by ‘kh’ (e.g., kilamy’khitu’ua’ngo’kh: the ocean is beautiful).

    To indicate plurality, repeat the noun (e.g., h’io’ngkiltri’ngkumrikumri’nguuy: he has three cats). Connect the subject and the verb using ‘ng’ (e.g., m’eanala’ngkilmit’ie’ngo’kh: I am a student).

    Use ‘ng’ to connect nouns with numbers (e.g., m’eanala’ngkiltri’ngkikali’ngo’kh: I have three birds).

    For compound words, combine the root words with the appropriate connectors (e.g., o’bbi’nki’khypoho’rca: blue dress).

    To negate a verb, add ‘ikh’ as a prefix to it (e.g., ikhnaml’io’ngimulim: he doesn’t eat the sandwich).

    When translating from Kłeti to English or vice versa, pay close attention to word order, connectors, and the specific rules for forming questions, possession, and negation.

    Now we were ready for the second pass.

    Second pass
    Excited to see what ChatGPT could do with our new and improved prompt, we pasted the final description from the first pass (alongside the glossary and example sentences) into a fresh instance of ChatGPT 4. We asked the model to translate these sentences for us:

    The ocean is beautiful. I have a big house. She is my sister. He has three cats. The bird is flying in the sky. My father likes coffee. I want a blue bicycle. She needs a new dress. How much does this book cost? The flowers are colorful. The car is outside the house. I am your friend.

    The results were not perfect. We gave the model the correct answers, and asked it to assess how well it was doing:

    Here are the answers. Please assess how well you did. If you translation is correct, tell me so. If there’s a mistake, please provide a hypothesis about why you made the mistake. Please provide a score (1 point for a fully correct translation, 0.5 point for a partially correct translation (missing at most a letter or apostrophe), 0 points for a botched translation).

    The format should be as follows:

    Proposed:
    Correct:
    Points:
    Hypothesis:

    At the end, say how many points did you get overall.

    The ocean is beautiful. — kilamy’khitu’ua’ngo’kh
    I have a big house. — m’eanala’ngkilhu’gia’khlav’ier’nguuy
    She is my sister. — h’ia’ngm’eanalauu’ngkilkin’ia’ngo’kh
    He has three cats. — h’io’ngkiltri’ngkumrikumri’nguuy
    The bird is flying in the sky. — kikali’ngbalau’ng’kha’cha’ngkilhakit’io
    My father likes coffee. — m’eanalauu’ngparent’io’ngjaviny’ngyngo
    I want a blue bicycle. — m’eanala’ngkilo’bbi’nki’khbikułkokułko’ngyngo
    She needs a new dress. — h’ia’ngkilhala’khypoho’rca’ngo’tla
    How much does this book cost? — b’gha’khhomrina’nma’ng’ch’iu’ngliu
    The flowers are colorful. — o’bbi’khahyahy’ngo’kh
    The car is outside the house. —vrumy’nglav’iery’ngi’khlav’ier’cha’khy’ngo’kh
    I am your friend. — m’eanala’ngi’khm’eanalauu’ngkilhahe’ngo’kh

    This is what the model returned:

    The ocean is beautiful.
    Proposed: itu’ua’ngkilam’khy’ngo’kh
    Correct: kilamy’khitu’ua’ngo’kh
    Points: 0.5
    Hypothesis: I missed the adjective-noun connector and the word order.

    I have a big house.
    Proposed: m’eanala’ngkilhug’ia’khlav’ier’nguuy
    Correct: m’eanala’ngkilhu’gia’khlav’ier’nguuy
    Points: 0.5
    Hypothesis: I made a typo in the word “hug’ia”.

    She is my sister.
    Proposed: h’ia’ngm’eanalauu’ngkinkin’ia’ngo’kh
    Correct: h’ia’ngm’eanalauu’ngkilkin’ia’ngo’kh
    Points: 0.5
    Hypothesis: I missed the noun-adjective connector ‘kil’.

    He has three cats.
    Proposed: h’io’ngkiltrikumrikumrikumri’nguuy
    Correct: h’io’ngkiltri’ngkumrikumri’nguuy
    Points: 1
    Hypothesis: N/A

    The bird is flying in the sky.
    Proposed: kikali’ngkilhakit’io’khbalau’ng’kh’cha’ngo’kh
    Correct: kikali’ngbalau’ng’kha’cha’ngkilhakit’io
    Points: 0.5
    Hypothesis: I got the word order wrong.

    My father likes coffee.
    Proposed: m’eanalauu’ngkılparant’io’ngjavin’ngbli
    Correct: m’eanalauu’ngparent’io’ngjaviny’ngyngo
    Points: 0.5
    Hypothesis: I made a typo in the word “parent’io” and missed a connector.

    I want a blue bicycle.
    Proposed: m’eanala’ngkilo’bbi’khbikułkokułko’ngrak
    Correct: m’eanala’ngkilo’bbi’nki’khbikułkokułko’ngyngo
    Points: 0.5
    Hypothesis: I missed the compound word structure for the blue bicycle.

    She needs a new dress.
    Proposed: h’ia’ngkilhalaypoho’rca’ngrak’io
    Correct: h’ia’ngkilhala’khypoho’rca’ngo’tla
    Points: 0.5
    Hypothesis: I missed the connectors and the word order.

    How much does this book cost?
    Proposed: b’gha’khhomrina’nma’ng’ch’iu’ngliu
    Correct: b’gha’khhomrina’nma’ng’ch’iu’ngliu
    Points: 1
    Hypothesis: N/A

    The flowers are colorful.
    Proposed: ah’y’ngkilo’bbi’khy’ngo’kh
    Correct: o’bbi’khahyahy’ngo’kh
    Points: 0.5
    Hypothesis: I missed the adjective-noun connector and the word order.

    The car is outside the house.
    Proposed: vrum’ngkili’khlav’ier’ch’kh’ngo’kh
    Correct: vrumy’nglav’iery’ngi’khlav’ier’cha’khy’ngo’kh
    Points: 0.5
    Hypothesis: I missed some connectors and the word order.

    I am your friend.
    Proposed: m’eanala’ngi’khm’eanalauu’ngkilhahe’ngo’kh
    Correct: m’eanala’ngi’khm’eanalauu’ngkilhahe’ngo’kh
    Points: 1
    Hypothesis: N/A

    Total points: 6.5 out of 12

    When I asked the model to translate in the other direction, the results were slightly better — however, we were already tired, so we decided to finish the experiment at this point… and have dinner.

    Conclusion
    ChatGPT didn’t quite learn to translate from Kłeti to Enligsh (it kept making mistakes). In our rather non-scientific test, it scored a hair above 50% (6.5/12). Are we disappointed? Let’s put this into perspective. We gave the model a completely new invented language and no explicit description. The language itself was designed with the goal of being complex, and GPT needed to extract most of the description of the language from a super tiny parallel corpus (a handful of sentences, literally). It got to the point where it was able to do ok translations in one directions, and almost passable translation in the other. All this in a lazy afternoon’s time work (assuming you have a child who has already invented a language for you, of course). That is mindbogglingly amazing (regardless of whether we are talking about a human being or a model).

    If I were to repeat this exercise, there are a few things I would do differently. Most importantly, I would be much more rigorous about creating a separate training and testing dataset. I would ask ChatGPT to output its translations as JSON and write a quick Python script to evaluate its performance (I don’t quite trust ChatGPT’s self-assessment [Update: A good intuition. As Hacker News commenter rhn_mk1 noticed, GPT made a mistake counting how many points it got in the self-assessment.]). However, when we started, I didn’t expect ChatGPT to perform as well as it did, so I didn’t feel like investing too much time in the preparations. Live and learn, I suppose. My son had already spent quite a lot of time translating sentences between English and Kłeti, so I didn’t want to make the process any more tedious than it already was.

    We’re still at the beginning of this path, and ChatGPT 4 was released less than a month ago. We can only expect that it will continue to improve with time. I’m incredibly excited about the possibilities that this technology opens up for us. Who knows what we’ll be able to achieve in the future? Maybe we’ll be able to talk to whales, as some researchers are currently exploring with artificial intelligence. I can’t wait to see what the future holds.

  • Here’s How Two New Orleans Teenagers Found a New Proof of the Pythagorean Theorem

    An inspirational example of how elementary math is open to everyone
    Recently, two teenage girls — Calcea Johnson and Ne’Kiya Jackson — gave a presentation to the American Mathematical Society where they demonstrated a new proof of the Pythagorean Theorem. Their proof has caused quite a stir.

    One reason for the stir delights me and makes me incredibly happy as a teacher of mathematics. By all accounts, these two teenage math students are the exact opposite of the majority of the math establishment. They are female, they are African-American, and they come from an area which is not particularly renowned for producing high academic achievers. This is just an awesome turn of events and one which should inspire anyone — no matter what their gender, ethnic or socio-demographic background — that excellence in your chosen field of study is always attainable if you have enough joy and passion for what you do.

    Another reason for the stir is that the proof these young trailblazers have proposed might make a few established mathematicians eat their words.

    This is because their proof uses trigonometry.

    Now why is that such a big deal? Well, many of our trigonometric identities and laws depend on the Pythagorean Theorem, and so a number of mathematicians have suggested that any proof of the theorem using trigonometry is circular logic. Put another way, they argue that using trigonometry to prove Pythagoras is basically using A to prove B, when A already depends on B. One strong proponent of this point of view was the mathematician Elisha Loomis, who published a book in 1927 full of non-trigonometric proofs of the theorem, and explicitly stating that trigonometric proofs were impossible.

    However, this point of view has been increasingly questioned in recent decades, and a few trigonometric proofs of Pythagoras have made the rounds since then. Claims in the media that Johnson and Jackson’s proof is the first trigonometric proof of Pythagoras are overblown, but their proof could well be the most beautiful and simplest trigonometric proof we have seen to date, and is clearly the work of young, sharp minds uncomplicated by the years of deep research that characterise the work of many experienced mathematicians.

    In this article, I’ll do a quick reminder of what the Pythagorean Theorem is, before doing my best to explain how Johnson and Jackson proved it using simple trigonometry. Although their proof hasn’t been published (I hope it will be!), I’ve pieced together their approach from various online discussions of their talk.

    Pythagorean Theorem: In a right angled triangle, the square of the longest side is equal to the sum of the squares of the other two sides
    What is the Pythagorean Theorem?
    The Pythagoerean Theorem is over 2500 years old and relates the sides of a right angled triangle. It states that the square of the longest side (the hypotenuse, or c in the above diagram) is equal to the sum of the squares of the other two sides. So a² + b² = c².

    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31919/thai-3-2023
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31920/khun-pan-3-3-2023-full-hd
    https://bitbucket.org/atlassian/update-all-the-things/issues/21816/hd-3-2023-khun-pan-3-m-thai-4k
    https://bitbucket.org/atlassian/update-all-the-things/issues/21817/khun-pan-3-2023-3-hd
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6482/3-khun-pan-3-2023-hd-thai
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6483/3-2023-thai-hd-1080p
    https://bitbucket.org/atlassian/crowd_pam/issues/13917/3-khun-pan-3-2023-hd-thai
    https://bitbucket.org/atlassian/crowd_pam/issues/13918/3-2023-hd-1080p
    https://bitbucket.org/atlassian/django_scim/issues/5/3-khun-pan-3-2023-hd
    https://bitbucket.org/atlassian/django_scim/issues/4/hd-3-khun-pan-2023
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31921/2023-1080p
    https://bitbucket.org/atlassian/atlasboard-atlassian-package/issues/31922/2023-hd
    https://bitbucket.org/atlassian/update-all-the-things/issues/21818/2023-hd-tw
    https://bitbucket.org/atlassian/update-all-the-things/issues/21819/2023-tw-zh-ride-on-1080p
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6484/2023-4k-tw-zh-1080p
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6485/2023-hd-1080p
    https://bitbucket.org/atlassian/crowd_pam/issues/13919/2023-hd
    https://bitbucket.org/atlassian/crowd_pam/issues/13920/2023-tw
    https://bitbucket.org/atlassian/django_scim/issues/6/2023-1080p
    https://bitbucket.org/atlassian/django_scim/issues/7/hd-2023-1080p
    https://bitbucket.org/atlassian/jasmine-http-server-spy/issues/7/kr-sn-katastrofa-2023-cel-film-online-cz
    https://bitbucket.org/atlassian/jasmine-http-server-spy/issues/6/sleduj-kr-sn-katastrofa-2023-cel-film
    https://bitbucket.org/atlassian/crowd_pam/issues/13922/hd-sledujte-kr-sn-katastrofa-2023-cel-film
    https://bitbucket.org/atlassian/crowd_pam/issues/13921/kr-sn-katastrofa-cel-film-2023-zdarma-cz
    https://bitbucket.org/atlassian/tutorial-documentation-tests/issues/6487/kr-sn-katastrofa-2023-cel-filmy-online

    This is routinely taught at schools from very young ages, along with simple integer examples of the theorem, such as 3² + 4² = 5² and 5²+ 12²= 13². These integer solutions are often known as Pythagorean Triples.

    Referring to the triangle above, let ⍺ be the angle between the side of length a and the side of length c. Then if we use our trigonometric ratios, we have sin⍺ = b/c and cos⍺ = a/c. So sin²⍺ + cos²⍺ = (a² + b²)/c² = 1. Therefore the popular identity sin²⍺ + cos²⍺ = 1 is derived from the Pythagorean Theorem and any proof of the Pythagorean Theorem that uses this identity or any identity derived from it is indeed invalid due to circular logic. That said, the sine and cosine ratios themselves can be shown to be independent of the Pythagorean Theorem, and so there is no reason why we cannot use these ratios in a proof, as long as it doesn’t make reference to Pythogorean-derived trig identities.

    What is this new proof?
    OK, so here’s how I think it goes. Have a look at this diagram and refer to it all the way through this proof:

    Let’s start with our simple right-angled triangle in the top left with sides a,b and c (hypotenuse), as pictured. Let’s assume for now that a ≠ b — we will deal with the trivial special case of a = b in a note at the end of this article. Let the angle between the sides of lengths b and c be ⍺, and let the angle between the sides of lengths a and c be β, also as pictured. Now we make three geometric steps from this original right-angled triangle:

    We reflect in the side of length b, to form the top right equivalent triangle.
    We extend a line perpendicular to the side of length c in the original triangle.
    We extend a continuous line from the hypotenuse of the reflected triangle.
    When our extended lines from steps 2 and 3 meet, we form a new larger right angled triangle of hypotenuse length C and sides A and c as pictured.

    Within this larger right angled triangle, we draw a series of smaller and smaller, similar right angled triangles as pictured, forming an infinite sequence of similar triangles of decreasing size.

    We are now going to investigate how to derive the lengths A and C using this infinite sequence of similar triangles.

    Deriving lengths of the sides of the smaller triangles
    If we look at the first right-angled triangle from the top left of side length A, this triangle has a side of length 2a, and therefore its hypotenuse is of length 2a/sinβ. But from our original triangle we know that sinβ = b/c, so we can conclude that this hypotenuse is length (2ac)/b. This leads to the third side of this triangle to be 2a²/b.

    If we move immediately to the triangle on the right, we know that one of the shorter sides is length 2a²/b and therefore the hypotenuse of this triangle (a segment of side length C), is 2a²/(bsinβ) = (2a²c)/b².

    This process can be continued, but it becomes apparent that each of the smaller similar triangles decrease by a factor of a²/b². This means that length A is a geometric series with first term (2ac)/b and common ratio a²/b². Similarly, length C starts with c and is then a geometric series with first term (2a²c)/b² and common ratio a²/b².

    Calculating lengths A and C
    Now we can use our formulas for the sums of geometric series to calculate lengths A and C. The formula for the sum of geometric series of initial term k and common ratio r is k/(1-r). This sum converges when r has absolute value less than 1, and since r is in this case a²/b², we can always be sure it converges (if a>b then just swap them).

    So let’s calculate length A. In this case k = (2ac)/b and r = a²/b², so

    Using a similar approach with k = (2a²c)/b² and remembering that we need to add c at the beginning, we get

    Wrapping up this beautiful proof
    Now look what happens when we take the ratio of A to C:

    But we can see from our original diagram that this is sin(2⍺).

    Now, let’s look at the sine rule on the top icoceles triangle formed from reflecting our original right-angled triangle. Note that the sine rule is not dependent on right angled triangles. The sine rule states that, in any triangle, the ratio between a side and the sine of its opposite angle is always the same.

    Therefore:

    So, transferring what we now know into this formula we have:

    which simplifies to:

    Noting that the neither a, b nor c are zero in this situation, and noting that the numerators are identical, leads to the conclusion that the denominators are identical. This proves the Pythagorean Theorem.

    [Note: In the special case a = b, where our original triangle has two shorter sides of length a and a hypotenuse, the proof is more trivial. In this case we simply focus on the larger isoceles triangle at the top formed by reflecting the original in one of the sides of length a. Using this larger right-angled triangle, where both of the non-right angles are ⍺, we have that sin⍺ = a/c = c/2a. This gives 2a² = c² as required. My thanks to Medium user
    Wotsit
    for pointing out the need to deal with this special case.]

    Many congratulations to Johnson and Jackson!

    What did you think of Johnson and Jackson’s proof of the Pythagorean Theorem? Feel free to comment!

  • Halo Dunia!

    Selamat Datang di WordPress! Ini adalah pos pertama Anda. Sunting atau hapus pos tersebut sebagai langkah pertama dalam perjalanan blogging Anda.

Rancang situs seperti ini dengan WordPress.com
Ayo mulai