💰 Зарплаты в IT в первой половине 2024: по городам, специализациям, языкам и компаниям → подробнее

О компании «think-cell»

Do you believe in beauty when it comes to programming? Do you have a vivid interest in elegant algorithms? Are you fluent in C++? If so, we would like to meet you.

About us

Thank you, think-cell, for sponsoring the Standard C++ Foundation and challenging our Microsoft compiler team with complex C++ code.

Herb Sutter, President of the Standard C++ Foundation

think-cell is a fast-paced software company in Berlin, Germany, with a focus on developing graphics products that stand out from the crowd. More than 1,000,000 users worldwide rely on our software for their daily business because we make creating PowerPoint presentations so much easier, faster, and more enjoyable. Among our customers are many renowned consulting companies and large international corporations.

Because think-cell is highly profitable, we don't have to make compromises regarding code quality and beauty. We're willing to go the extra mile in developing sophisticated algorithms and refining our user interface, and we're proud of our many happy customers. The company is owned and managed by seasoned computer scientists, which contributes to a working environment that makes exceptional Developers want to come and stay.

About our software

Our focus is on business slides (as opposed to more artful, open-ended applications) because they offer great potential for automation of the layout tasks traditionally performed by PowerPoint users themselves. There are plenty of challenges, from a solid understanding of what makes a good layout, to algorithms that produce an aesthetically pleasing output fast enough for interactive slide design, to an intuitive and unobtrusive user interface that supports our original approach to slide layout, to solid technical solutions for automatic bug reporting and updates, to compatibility with third-party software on the computers of over a million users.

Here are some highlights of what we've done:

Language

  • Everything we do is C++. Even our customer portal is written in C++. There's some Assembler glue code where necessary, and our build scripts are written in Python, but other than that, think-cell is all about C++.
  • We closely track the latest versions of our compilers, Visual C++ and Xcode, so we can always use the latest C++ standard features as soon as they become available.
  • We fund the working group for programming languages of the German Institute for Standardization (DIN). Some of our employees are members of this committee and vote in the international standardization process ISO / IEC C++.
  • We're an official sponsor of the Standard C++ Foundation, which promotes international standards for C++.

Library

  • We use Boost throughout our code—for example, Boost.Spirit for parsing.
  • We have our own range library, in the same spirit as Boost.Range or Eric Niebler’s range-v3, but we go further, for example, by unifying internal and external iteration. We gave a talk about it, and most of the code is public.
  • We develop our own cross-platform library to support macOS and Windows with a single code base. You can find our public library here.
  • We have our own reference-counting and persistence libraries to save and restore whole object trees.
  • We have an extensive bug-reporting infrastructure. Assertions and error checks stay in the release code, and our software automatically reports bugs to our server. The server analyzes the bug, categorizes it, and files it in a database that all Developers can access. If an update fixes the bug, the user can download the update directly from a bug response web page.

Algorithms

  • think-cell was founded on the idea of an algorithm for automatic slide layout, and we're still on an exciting journey towards that ambitious vision. You can see our most recent release in action!
  • We developed a new algorithm for automatic point cloud labeling that allows labels to be positioned away from the actual points.
  • We developed a new algorithm for automatic column chart labeling.
  • We're working with John Forrest—author of the linear solver CLP—to make his simplex code faster for our kinds of problems.
  • We developed many generic data structures that aren't in C++ or Boost, such as partitions.
  • Our software not only produces charts, it can also read them off print and digital images. For our chart recognition tool, we rely on OpenCV and the Leptonica Image Processing Library.

Reverse Engineering

  • We do lots of reverse engineering with the disassembler IDA from Hex-Rays to achieve things that aren't possible through the documented Microsoft Office API.
  • We've written what's probably the best function-hooking engine out there. Each time our software starts, we patch the Microsoft Office executables in memory. Rather than hard-coding patch addresses, we search for small chunks of assembly code to protect against minor changes in the executables.

Вакансии компании «think-cell»

Оценки и отзывы сотрудников о компании «think-cell»
Оценить
В этом году ещё никто не оценил эту компанию. Чтобы получить публичную оценку, нужно собрать минимум 25 голосов от сотрудников.
Награды компании
У этой компании пока нет наград
Откуда приходят в компанию
В какие компании уходят
Информация отсутствует
Фотографии офиса компании «think-cell»
Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»Фото офиса компании «think-cell»