sap Leonardo WebIDE

I was messing around with sap Leonardo, trying to do a web ui application in the last 2 days. Even coding db schemas and flutter through the process.

In the last couple of days with WebIDE i think and I thought to mess with code and software itself. I thought that I can do an app ouside and import it. For that purpose I decided to use a flutter dart and html5 uI, the exact same template.

To learn for me is trying to hack or do a hackathon behind the glance of the beauty.

In the following article I will show how I done it or I tried it to be successful.

I got a weird file. Attached with this article relied on sapui5.

Sega Saturn SDK

In due my case studies with OpenGL, WebGL and Vulkan API. In the last years and moths of study to get an Open System with C++ and try to reboot systems mostly vintage systems such as Sega Saturn and Gameboy Advance.

I found a reasonable tool called Jo-Saturn. I was playing around and still do it.

#include <jo/jo.h>


enum  jo_gamepad_keys {

void            my_draw(void)
    jo_sprite_draw3D(0, 0, 0, 500);

void            jo_main(void)
    jo_sprite_add_tga(“TEX”, “A.TGA”, JO_COLOR_Transparent);

See you soon for a Gameboy Advance and another one about spectrum.

OpenKrown App

Welcome to my OpenKrown App for android and iOS.

The main ui was built with dart and flutter UI sdk from Google, then I want to keep my code clean through android sdk, kotlin and iOS objc code not swift.

The connectivity between the App will have firebase on the top notch php with firebase sdk for web.

You will need to learn dart from here:

After learning and create a flutter App.

You can copy this bsd license code inside into lib/main.dart as an example.

import 'package:flutter/material.dart';

void main() {

class TabBarDemo extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            bottom: TabBar(
              tabs: [
                Tab(icon: Icon(Icons.directions_car)),
                Tab(icon: Icon(Icons.directions_transit)),
                Tab(icon: Icon(Icons.directions_bike)),
            title: Text('Tabs Demo'),
          body: TabBarView(
            children: [

For the javascript code you will need to do this as it follows:

<script src=""></script>
  // Initialize Firebase
  // TODO: Replace with your project's customized code snippet
  var config = {
    apiKey: "<API_KEY>",
    authDomain: "<PROJECT_ID>",
    databaseURL: "https://<DATABASE_NAME>",
    projectId: "<PROJECT_ID>",
    storageBucket: "<BUCKET>",
    messagingSenderId: "<SENDER_ID>",

I will update my example at github for OpenKrown Engine MIT License soon.

And get it on more in details.

Markdown Howto

Everyday we face with markdown at github or gitlab, even for our files. Explaining our porocedures for compilation.

Today, my new post will be about markdown texting format.

Headers I think it’s the main way to learn how we done in our daily basis.

# H1
## H2
### H3
#### H4
##### H5
###### H6

Alternatively, for H1 and H2, an underline-ish style:



Lists – A way to schematic our goals or our tasks.

1. First ordered list item
2. Another item
⋅⋅* Unordered sub-list. 
1. Actual numbers don't matter, just that it's a number
⋅⋅1. Ordered sub-list
4. And another item.

⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).

⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅
⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅
⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)

* Unordered list can use asterisks
- Or minuses
+ Or pluses

Links – The hyperlinks we can share or inter connect in our documents.

[I'm an inline-style link](

[I'm an inline-style link with title]( "Google's Homepage")

[I'm a reference-style link][Arbitrary case-insensitive reference text]

[I'm a relative reference to a repository file](../blob/master/LICENSE)

[You can use numbers for reference-style link definitions][1]

Or leave it empty and use the [link text itself].

URLs and URLs in angle brackets will automatically get turned into links. or <> and sometimes (but not on Github, for example).

Some text to show that the reference links can follow later.

In the next post I will show how we can do a markdown for a github project even how we can share our code globally.

Take care. See you soon.

[arbitrary case-insensitive reference text]

: [1]:

[link text itself]




It came out the OpenKrown Engine for MMO and MOBA style online games.

It’s a MIT License engine, that I was developing in the last months.

Developed with cmake, c++11, c++17, go, java, c#. It will have an authenticator application written all in dart (flutter) and firebase design.

A php or several php files for OAuth desirable security builtin.

All the code for outside purpose it will be hosted at github, the gitlab hosted source code is the private and testing code.

For now, this is a working in progress source code (WIP), I hope to give in the next months a working project to be able and capable of anyone do an Online RPG game.

In the end of the week a logo prototype.

Updates Nº1

Hello Everyone!


After months of struggle, I am pleased to announce a Game Master ebook in epub and PDF format.

Besides a SRD based D&D 3.5 and D&D 5.

These both ebooks will be available at drivethru RPG and Smashwords.

I will announce them here.

By the way I will keep too Wattpad account with more new and fresh material.

Have a good summer and vacations too.

Pedro Dias Vicente


SharpDevelop 3.2+ Dark

Hello everyone,

I’m here to tell I was trying to make DLL files for Dark and put them on Dark Dasic and Pro version.

I will give here a code snippet for example. BTY I got the project successful. I will give my code template for C# here as a community driven.

The project must be upgraded from 2008. For instance I will show on 2015 Community Edtion too.

Every time everyone needs to create a new code template, you should call references inside c# vesion.

For instance DarkGDK, DGDKLib. You must make to get the code done and built.

I’m here to help. So, any doubt I will try to give an answer soon as possible.


Code Snippet Cllass1.cs:
/* Criado por SharpDevelop.
* Utilizador: astro
* Data: 19/02/2017
* Hora: 16:52
* Para alterar este modelo usar Ferramentas | Opções | Código | Alterar Cabeçalhos Standard
using System;

namespace GDKCs.Properties
/// <summary>
/// Description of Class1.
/// </summary>
public class Class1
private static Boolean LeftMouseDown;
private static Boolean[] KeyDown = new Boolean[104];
private static int lastScanCode;

public static void SetupKeyEvents() // Must be called once before any of the following functions

for (int i = 0; i <= KeyDown.Length; i++)
KeyDown[i] = false;
public static Boolean SingleKeyPress(DarkGDK.IO.Keys kKey)

if (DarkGDK.IO.Keyboard.State(kKey) && !KeyDown[DarkGDK.IO.Keyboard.ScanCode])
KeyDown[DarkGDK.IO.Keyboard.ScanCode] = true;
lastScanCode = DarkGDK.IO.Keyboard.ScanCode;
return true;
else if (DarkGDK.IO.Keyboard.ScanCode == 0) // Means we aren’t pressing any key 🙂
KeyDown[lastScanCode] = false;
return false;
return false;

public static Boolean SingleLeftClick()
if (DarkGDK.IO.Mouse.LeftClick && !LeftMouseDown)
LeftMouseDown = true;
return true;
else if (!DarkGDK.IO.Mouse.LeftClick)
LeftMouseDown = false;
return false;
return false;

public void NGame(){


public void LGame()


public void OGame()
public void OptGame()
public void qGame(){

public void Menu()
int c = 1;
case ‘1’: Console.Write(“New Game\n”);
case ‘2’: Console.Write(“Load Game\n”);
case ‘3’: Console.Write(“Online Game\n”);
case ‘4’: Console.Write(“Options\n”);
case ‘5’: qGame();
default: Console.Write(“Error… Quitting\n”);



public Class1()




Thank you so much.

Ubuntu on Windows – apache2 with nodejs



I made a WIP, I wanted to interact apache2 with nodejs.


I made a few steps before apache2 configurations.


  • apt install nodejs-legacy npm apache2
  • npm install –upgrade npm
  • npm install -g bower grunt express node-php
  • service apache2 stop

Then I need to make a personal configuration inside /etc/apache2/sites-enabled/ with the 000-default.conf

Inside this conf file I added with nano /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:8080>
    ServerAdmin #or your email
    ServerName crawl

    ProxyRequests off

    <Proxy *>
        Order deny,allow
        Allow from all

    <Location />
        ProxyPass http://localhost:8000/
        ProxyPassReverse http://localhost:8000/

Then I restart the apache2 service through this command: service apache2 restart.

Then I got this configuration working with Bash on Ubuntu on Windows:


<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request’s Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

# Available loglevels: trace8, …, trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with “a2disconf”.
#Include conf-available/serve-cgi-bin.conf

ProxyPreserveHost on

ProxyRequests on

<Proxy *>
Order deny,allow
Allow from all

#<Location />
ProxyPass /node http://localhost:8000/
ProxyPassReverse /node http://localhost:8000/

ServerName localhost

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

But I had issues, fixing them. I couldn’t figure out yet which issues are in these configures. Now fixed it I think.



Besides it’s needed to install XMing for GUI, apt install apache2, libxml2-dev libapr1 libapr1-dev.


Thank you. I will keep this updated.

[contact-form][contact-field label=”Name” type=”name” required=”1″ /][contact-field label=”Email” type=”email” required=”1″ /][contact-field label=”Comment” type=”textarea” required=”1″ /][/contact-form]