Guest post from René van der Hoofd
Alex Guba, a maintainer of City of Zion, dubbed Joshua Chen the “Crypto-Priest.” As a youth minister in Taiwan, Josh spends his days working with the youth on professional development, interpersonal skills, and community engagement in the southern city of Tainan. A former developer, Josh spent 15 years in computer and software development prior to following his call to ministry. But in 2017, an old friend came calling.
Andrew Thornhill, co-founder of Spotcoin and Josh’s friend, tugged him back into the world of developers. Thornhill and the Spotcoin team were launching a new business, backed by the NEO blockchain and smart contract. Drawn in by the adaptability and universality of NEO, an interconnected partnership emerged. Spotcoin wanted to give back to the NEO community.
Josh possessed the developer skills, interpersonal relationships, and desire to build community. He was the perfect addition to the Spotcoin team and Thornhill recruited him to the role of Community Development Manager. The role was two-fold: mentor up-and-coming developers and assist the NEO development projects.
NEO and City of Zion launched the NEO Sharp project. On May 5, 2018, City of Zion released their “April Report” that detailed the overarching goal to develop “the specification and implementation of a new standard.” Led by Alex Guba and Ashley Rolleston, the NEO Sharp project has three goals:
- To break inter dependencies in NEO to allow a plug-able modular design
- To create testing infrastructure for both specification of behavior and benchmark of modifications.
- To develop an initial fully compatible version and experiment one new experimental high-performance module for each component.
Josh joined on behalf of Spotcoin, with six other contributors, to work on the project. Below is the first part of a three-part series with Joshua Chen on NEO Sharp, his role, and the hope for the future.
Spotcoin: Tell us a bit about working with City of Zion and the NEO team.
Joshua Chen: I work with a project called NEO Sharp. Basically, it’s an implementation of the NEO Blockchain. The core functionally for the NEO Blockchain in C#. You download it and use it to run a node.
The original NEO guys wrote the program in C#, Erik Zhang and Da Hongfei. A lot of the documentation was in Chinese which made it difficult for English speaking programmers to get started and understand the documentation. An organization called City of Zion was organically created to help out. They started translating some of the documentation and helping fix bugs on the NEO side of things. NEO the organization noticed and decided they wanted to work with CoZ as an open-sourced, independent development branch. They sponsor and support CoZ to build out the tools and the NEO Ecosystem. So, NEO Sharp is one of the CoZ projects we have been working on.
SC: Spotcoin asked you to work on the project?
Spotcoin asked me to work with NEO to give back to the ecosystem that Spotcoin is a part of. All part of being a good neighbor. Spotcoin is launching their ICO on NEO, so we wanted to give back to NEO and help with development. Spotcoin gave me the choice to pick, so I picked NEO Sharp.
SC: Tell me about NEO Sharp.
JC: We are excited about NEO Sharp. It’s going to re-implement, re-work, and optimize a lot of different things. We are pulling things apart. It’s a remodel, if you will. It wasn’t bad. As we are moving forward, the ecosystem has changed. Sometimes, we just need to have something that is much more developer friendly. Much more test friendly.
SC: Why did you choose the NEO Sharp project?
JC: I chose the project because I used to be a developer and C# was relatively easy for me to comprehend given my background in Java development. I worked in the industry from 1995 until 2009. I did a lot of development and architecture for startup companies. Back in the dotcom boom I worked with a startup called Go2Call, a competitor to Skype. I helped develop their billing and admin systems in the background. I loved it.
I love design and how can we design things to work better. I’m a big believer in not just initial cost of software development but making it maintainable. Let’s build to something so that it is easy to change, because things are going to change!
SC: That’s what you are working on with NEO Sharp?
JC: We are doing a refactoring. NEO made a formal announcement about it in their April proof of working document on Medium about what they want to do with neo-sharp We are refactoring the application so that it’s more modular and it will be easier to swap components in and out to expand and add features. It’s like if you are building a house. You don’t just have one solid plumbing pipe to the bathroom, you put stubs and T-Sections and access points along the way for expansion. As the house gets remodeled, what seemed to be good now needs more access points, additions, bigger pipes, etc, etc.
SC: How has it been to work with the NEO Community?
JC: The draw of NEO has been the community. I come from a corporate background, so getting into open-sourced projects was a very different environment for me. When you are getting into a different environment, it’s like being the new kid at school. You’re in fifth grade, you know math, you know science, you know history. But now you’re in a different school. It’s different lockers, different grading systems. You don’t know anybody. And there’s the intimidation. I’m thinking ‘I don’t know if they will accept me.’
But one of the things that has really surprised me and one of the reasons I’m excited about NEO is the community. They have been super helpful. Alex Guba has been helping me through some of the basics. For me, it was a little embarrassing. I’ve been working in development for a long time but it comes down to the basic things like how do I check things in and out? How do they work here? He sat with me through a lot of it. Patiently explaining things. He and Ashley Rolleston, the owner of the project, really helped show me around the project. I felt like I know what was going on. It’s very different from other projects where you come in and do just a part.
SC: Not just doing your piece, but you’re a part of a larger whole.
JC: Yeah. That’s the biggest thing that I’ve come away with as I’m working on this whole project. We are looking at how we develop something new using brand new, leading edge technology like REDIS Streams. There isn’t even an C# implementation out yet. We are all trying to figure out how we do it. It helps to be able to talk about it. I don’t feel like I’m the lone guy. It’s not transactional. It is more relational. The relationships and community keep me coming back and keeps me asking “what I can do and how can I make this work?”
SC: It keeps you grounded and connected to the community.
JC: Yeah. It’s looking toward the future. Right now, NEO Sharp is going to be the new implementation of NEO. It will be the new reference. NEO is also ported to other languages like python. They’re trying to do Java. But C# has been the grand-daddy language. This is where it’s been built and it’s the focus. And it’s a fairly high-profile project in that sense.
SC: So the goal is to work toward the direction of the future. We need it to be adaptable, operable…
JC: Testable. Developer-friendly. A natural evolution we are moving toward.