Skip to content
View crimson206's full-sized avatar

Block or report crimson206

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
crimson206/README.md

한국어

Table of Contents

  1. About Me
  2. Micro-wise-Development
  3. AutoDocs
  4. Break Conventions
  5. Python-Typescript Integration

About Me

Personal Goal as a Professional Developer

I am a developer striving for advanced automation in programming, using a new methodology called MWD (Micro-wise-Development). This automation aims to integrate deterministic approaches based on conventional programming with dynamic approaches powered by AI.

Current Position

Currently, I dedicate most of my time and resources to my core projects as an independent developer, while also holding a working student position in the Data Science field on a temporary basis.

Collaboration Opportunity

MWD is an innovative development methodology that I believe will be widely adopted by professional developers in the future. As the creator and an early adopter of MWD, I am confident in the efficiency gains it can bring to diverse development environments. If you are interested in introducing MWD into your organization or exploring its business potential, please contact me at sisung.kim1@gmail.com.

Micro-wise-Development

Micro-wise-Development (MWD) is an innovative methodology where every software feature is modularized into its smallest functional units, each independently managed in its own repository. From small utilities for personal use to sophisticated and high-dimensional features for many users, all code is broken down into micro-sized components for development.

I apply this methodology to over 100 repositories I maintain and dozens of PyPI packages. MWD encourages individual developers to actively publish small modules, and all of my packages are managed under the namespace "crimson" to prevent conflicts and maintain consistent branding within the community.

AutoDocs

Currently, documentation is omitted for most of my repositories based on strategic reasons:

  • Not all modules are intended for official release
  • Documentation is supplementary to the core implementation
  • Traditional documentation limits flexibility for module modifications and extensions
  • The goal is to achieve complete automation of documentation, avoiding temporary manual efforts

Instead, newer Python modules include an example folder, which serves both as documentation and as a test suite through nbval.

Alternatively, the File-Loader module offers a creative approach. All my modules are composed of just a few scripts. The structure generated in the flatten_module folder by [control.ipynb] can be completely explained by a chatbot like Sonnet. These scripts make extensive documentation unnecessary since they are easily understood with chatbot assistance.

Sonnet Example
Load Files Example Use Chatbot Example

My development work is driven by real needs. Although the AutoDocs system is in progress, I don't have an immediate necessity to document all my modules for myself as the primary developer. However, if there is demand, I can adjust the development priorities accordingly, so feel free to reach out if interested.

Break Conventions

In order to surpass the limits of traditional development practices, I challenge many conventions, leading to experimental efforts aimed at improving the development environment:

  • IntelliType: An initial approach to enhance Python's type hinting system. This approach particularly challenges the traditional documentation methods for arguments that are often duplicated across various places without being explicitly bound.

  • Types: The experimental lab to explore innovative type hinting ideas and annotations in their smallest forms.

  • AutoPydantic: A tool that automatically converts function specifications into Pydantic models. Initially developed for runtime type checking, it has evolved into a powerful analysis tool.

  • ExecutableTypes: A specialized type system in enhancing AI model development by enabling dynamic validation of tensor shapes through type hints. It effectively conveys the value of making complex models more comprehensible, without requiring deep analysis.

Python-Typescript Integration

To enhance the development environment and eventually provide services for end users, I am focusing on developing VSCode and Chrome extensions. Practicing MWD requires frequent environment setups, and the TypeScript ecosystem, compared to Python, involves a more complex set of configurations. To eliminate the inefficiencies of re-implementing functions from Python to TypeScript and to leverage VSCode's extension-driven development convenience in Python, I am pursuing the integration of both languages:

  • ITSNB: An experimental project to implement an efficient experimentation/development environment in TypeScript similar to Python's .ipynb files. Currently, the TypeScript ecosystem lacks an equivalent research and development environment.

  • PY-TS-Types: A foundational module automating type mapping between Python and TypeScript, serving as a cornerstone for their integration.

  • Storybook: A framework I am actively using. The Controls feature, in particular, is expected to play a crucial role in auto-generating interactive documentation pages for Python modules following the Python-TypeScript integration.

  • RunVscode: An initial experimental project for programmatically controlling VSCode extensions. Though currently in a legacy state, the documentation page generated using Storybook provides an early example of creating a documentation page using Storybook.

Pinned Loading

  1. intelli-type intelli-type Public

    Python 1

  2. auto-pydantic auto-pydantic Public

    Python 1

  3. micro-wise-development micro-wise-development Public

    TypeScript 1