Code Monkey home page Code Monkey logo

codebot's Introduction

Hey there! ๐Ÿ‘‹

fernando-coding-hue

My name is Fernando Bevilacqua, I am software developer currently living in Brazil ๐Ÿ‡ง๐Ÿ‡ท. I like to code and create new things, specially when they can help me or anyone somehow. I spend a lot of my (free) time coding, for my own and for other open-source projects.

โš’๏ธ Work

I have hands-on experience on a variety of technologies and software projects, including game development, enterprise application development, and finally research/teaching work related to human-computer interaction, computer graphics and programming. I've been a team member, team leader and also project manager.

๐ŸŽ“ Education

I have a BSc degree in Computer Science, a masters in Computation (focused on Computer Graphics) and a PhD in Informatics (focused on Human-Computer Interaction).

โœจ Cool stuff about me

  • ๐Ÿ•น๏ธ Co-founded a game development company and shipped a bunch of games (PC and web).
  • ๐Ÿ“š I've been a lecturer of Computer Science for several years.
  • ๐Ÿ“ก I've been a consultant for companies working with healthtech, AI/speech, games and education.
  • โšก Built my own code editor (Codebot), then made it a web-based editor.
  • ๐Ÿ”ญ I wrote a few scientific papers about emotions, games and computers.
  • ๐Ÿง Published a software/method for detecting stress and boredom of players based on heart rate and facial actions (all done remotely, no sensors).
  • ๐Ÿ’ฌ I like to teach and write tutorials (already wrote about many topics related to gamedev).
  • ๐Ÿ™Œ The tutorial series Understanding Steering Behaviors that I authored is top 1 result on Google regarding steering behaviors. It has also been praised by Craig W. Reynolds, the original invetor of the technique (๐Ÿคฏ).
  • ๐Ÿ˜… Built a software (Besearcher) to run my experiments and e-mail me when anything interesting pops-up, so I could have more time for coffee.
  • ๐Ÿ’š I've been involved with open source for quite a while. I've been a co-maintainer (of Flixel Community, a game engine), main maintainer (of cvui, a C++/python ui lib for OpenCV) and contributor (Haxeflixel and Flixel Studio, for instance).

๐Ÿ“ซ Contact

Hit me up on any of the following channels:

codebot's People

Contributors

dovyski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codebot's Issues

Project navigation/creation dropdown

Implemente the project navigation/creation dropdown. The name of the currently open project must be displayed at the top of the files panel, followed by an icon. When the user clicks the project name, a dropdown presents all recent projects. Clicking any of them makes Codebot load the project.

The icon can be something like a + sign. If the user clicks the button, the new project dialog appears.

SmartTypes API

Implement the SmartTypes API, which allows Codebot to show "mini-editors" for different file types. e.g. CSV files representing a tilemap are rendered using a spritesheet.

Improve tab content visualization and z-index

The tab system doesn't provide any mechanism to show/hide content. It should transparently hide content based on the currently active tab. Maybe use something like z-index to achieve that.

This task depends on #7.

Beta

Complete code editing tool, with a small but essential set of features, such as code completion, find, replace, preferences, projects, etc. No fancy sliding panels or project environments yet.

Find in project

Implement the "Find" functionality for in-project search.

Ignore files/dirs in files panel

Some files/dirs should not be displayed in the files panel, such as .git and Thumbs.db. Codebot must filter those files based on the user preferences, because if you want to see _everything_ in the editor, you can!

Sliding panel: assets

Implement a sliding panel to add assets, by category or package, to a game. This task depends on #26.

Files panel doesn't refresh

Files panel is not working properly. If new content is loaded (e.g. new project folder), the panel doesn't refresh its content.

Suppress FancyTree log/debug messages

FancyTree produces a LOT of debug/log messages. The minified version should suppress that, but for some reason it doesn't work with Codebot.

Those messages must be suppressed and/or the minified version must be fixed to work properly.

Refactor plugin system

The current plugin system is extremely simple, archaic and hardcoded. A new one is required to create the foundation for several features, such as sliding panels.

Choose editor mode based on file extension

Currently the editor mode is set to javascript no matter the file extension. Codebot should choose the editor mode based on the file being edited, e.g. css mode for .css files.

Add some love to the layout

Work on Codebot layout to make it decent. Right now there are several sharp edges, e.g. tab bar is gray, editor is dark, etc.

I'm planning to mimic this awesome layout:

spacegray-eighties

Application preferences

Add a sliding panel with Codebot preferences. Using those preferences, a user can fine tune everything in the application, such as theme, tab size, shortcuts, etc. All preferences must be stored in a JSON file.

Make "sub sliding panels" close when X is pressed

The asset finder, for instance, has a sub sliding panel that shows info about the selected asset. It cannot be closed directly, the user must click the X on the assets finder sliding panel instead.

Re-implement rename of files/folders in files panel

The rename feature is not working properly in files panel when running on node-webkit. When running in the browser, it works (most of the time), but it's not deterministic.

Right now I'm using a FancyTree extension to enable the rename feature. A better approach is to re-implement everything from ground up without a extension.

Project creation dialog/flow

Design and implement a project creation dialog/flow. I think the best approach present the user with two options: a simple and an advanced one, both as tabs in the dialog.

In the simple option, the user just choose a template, type in a few words (e.g. package name) and done. It's pretty much what Flashdevelop does.

The advanced option allows the user to make small choices and progress during the creation. E.g. choose platform, choose engine, tweak any details, done. Here Codebot can provide the user with more content e.g. if engine is Starling, create a basic skeleton for a Starling project.

Stackable panels

All sliding panels should have the option to stack content, for instance when the user is using a sliding panel and must do something that requires a new sliding panel.

iOS does it pretty well. This demo by codedrops shows a really nice stackable menu too.

Refactor tab code

The current tab code is a combination of chrome-tabs and Codebot code. It should be encapsulated in a new class, dispatching some events related to the tabs (focus, blur, etc).

The tab data should be standardized through all the API.

Project environment

Project environment is a set of tools/plugins that Codebot uses to allow the development for an specific platform. For Flash gamedev, for instance, we need Flex/AIR SDK; HTML5 needs a web server, a JS minifier, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.