Skip to content

GSoC 2019 Proposal: Create syslog ng configuration snippets for VSCode (chen assert)

chen-assert edited this page Apr 7, 2019 · 5 revisions

Create syslog-ng configuration snippets for VSCode

The basic idea is to build a VSCode snippets plugin that can help users in writing syslog-ng conf file, which can make the using syslog-ng becoming easier and quicker and reduce the error probability.

Overview

  • As syslog-ng being used in many systems and platforms, more and more developer and operations engineer want to use this tools to optimize their workflow, but the complexity of writing configure file may hinder someone's work, we need some way to simplify this work.
  • VSCode is a famous cross-platform editor in programming, especially in operations engineers. By writing and release the snippets plugin in VSCode market, we could do a minor facilitate to its accessibility, accelerate users' workflow, perfect ecology and make this logging framework becoming a little more attractive.
  • I usually use VSCode in both Windows and Linux, and I used to write many C++ macros to simply my work when solving algorithm question, but afterwards I found it is a little inconvenient and do some try to write them in VSCode snippets. This project really attracts me because I can really write some universal snippets and share to others, let my code could easily be reused in many places.

Deliverables

Demo

Code snippets are templates that make it easier to enter repeating code patterns, such as loops or conditional-statements, this function can accelerate and Simplify our code writing.

For example:

As a basic version of snippets

img1

I can use that to quickly make my configure in syslog-ng

gif1

Basic goals
  1. Writing comprehensive code snippets for Syslog-ng's configurations.
  2. Pack snippets into a plugin and release it in VSCode market.
  3. Do a complete test about every snippet (in syntax and function).
  4. Make the plugin be easy to modify and update.
stretch goals
  1. I seldom use vim, but from my research, as the basic function of code snippets, the work in vim is similar with VSCode, and we shouldn't let the snippets code different in the two editors. So we could rewrite the snippets in vim's pattern to make them identical. Furthermore, we could try to use one language to generate two kinds of snippets, and finally even make a universal generator.
  2. As a released plugin in VSCode market, we could add more syntax check, code/option hints functions in the plugin to make VSCode better support to this framework and further improve the user experience.

Skills

  1. Basic knowledge about syslog-ng
  2. Ability about writing VSCode plugin
  3. C and Python programming

Needed skills

  1. Professional knowledge about configuration syntax
  2. Deep knowledge about writing code generator
  3. Making a CI process

Timeline

Days Before Rodeo (current day-May 5)

  • Read more concept about syslog-ng and VSCode plugin.

Community Bonding Period (May 6–26)

  • Try to configure syslog-ng to verify my understanding and find user's need, familiarize the community and mentor.

Weeks 1–3 (May 27–June 16)

  • Start with the writing about code snippets.

Weeks 4–5 (June 17–July 30)

  • Use vsce to pack code snippets into plugin and release it to VSCode markplace
  • Set up CI for the plugin's pack and release.

Weeks 6-7 (July 1–July 14)

  • Do manual and write automatic testing to every snippets
  • As a user to use, get feedback and try to find some other user requirements

Weeks 8 (July 15–July 22)

  • Review the project
  • Bug fixing
  • Write documents

Weeks 9-12 (July 23–August 19)

  • Add some new interesting feature
  • Try to wroking with the stretch goals(add code hints or making cross-platform generator).

About Me

Personal Information

Name: ChenJingrui
Emai: jingrui.chen@ucdconnect.ie
Location(In summer): Beijing, China (UTC + 8)
University: University College Dublin
Program: Bachelor of Technology (Software Engineering)
Year of Study: 3 Year
Phone: +86 15201256700
Github: https://github.com/chen-assert
Blog(writing in Chinese): https://chenassert.xyz

Skills&Experience

I am chen-assert, a junior undergraduate student in Software Engineering at University College Dublin. As a teaching assistant at my university, I have many experiences to teach others about how to configure and use the basic function of a thing.

I also Interested in algorithm and got a bronze prize in 2018's ACM-ICPC regional competition. Besides, I did some learning about machine learning and statistic in Coursera, and have some experience to use remote services. I am familiar with using C, JAVA. Kotlin, Python and solid foundation about computer network, and have an internship experience in a start-up company(about block-chain) last year.

I used writed Android application, JAVA based network communication system, web page using tensorflow.js, and now I am working on a class project with restful api.

In addition to the above, I am always curious to take upon new challenges and creating new things.

I can easily work 30 hours a week.

Clone this wiki locally