Author: pvadmin

  • nativescript setup

    Hello again! It’s coder by gleentech. today we will learn nativescript setup and installation.

    As I referred before we here at coder we will have some tutorials, guidance about nativescript with vuejs.

    First of all in your mac go to terminal or iterm2.

    -> npm install -g nativescript

    then we need to setup a folder for nativescript vue.

    -> tns create vue-example –vue

    We need to have the android SDK 30 and higher on the path too. We need xcode-select active too.

    To check your setup you should do this:

    -> tns doctor

    In the end we can run the application

    -> tns run ios | android

  • Why did I choose 4 languages for 2022

    Why did I choose 4 languages to code for 2022?

    This new article from coder by Gleentech is about an opinion I am giving to all my readers on our official website. I wanted to write about which languages I chose but I  see a lot writing about this but I am writing too. I decided to write because I wanted to show which programming languages I chose to code. I have been coding these languages over the last 4 years.

    I have been coding nativescript as a new over the last few days. I made two applications already.

    With nativescript it’s a good tool to code in Javascript with a few frameworks. I am working with nativescript because Cordova ceased their activity over apache. I was a Cordova developer. Now, I switched to telerik nativescript. It’s an open source tool to make iOS and android applications with javascript. I chose to use nativescript with vuejs. I am learning vuejs too. I decided to focus on nativescript, qt and coldfusion. 

    Today, we don’t need to focus with a lot of languages because you don’t need to know a lot. It’s better to know a few and focus on them.

    This article is ready for 2022 new year’s day. It’’s focus on my knowledge  to speak freely, to show which are the main goals for 2022.

    I am very focused on to show my needs turned to yours. Try to focus on these four programming languages.

    This will be my last article on coder by Gleentech before New Year’s eve and Christmas.

    I chose 4 programming languages which are Java, C/C++, Javascript, typescript.

    Java:

    This language is highly used on big companies. It’s a good language to learn. First try to understand what is a VM(Virtual Machine) and their properties before into deep. Java was a coded language from Sun now it’s an Oracle product.  Today, this language is highly used for enterprises, big applications. With Java I chose coldfusion to code because its a powerful tool to design websites for companies. 

    C/C++:

    I chose C/C++ to code for the operating systems application and tools. I learnt C and C++ in high school and before that. I use makefile to compile the code. Today, I am learning to use C++ with cmake also under qt5 and qt6. Nowadays, the qt is a high powerful tool to code GUI and powerful GUI applications. For C and C++ I use vs code and Netbeans also qt creator for coding qt widgets.  

    Learning this programming is a valuable asset. Almost everything coded for operating systems even kernel is coded with C and C++. I like very much this language because it was one of the first languages I learnt beside visual basic 6. Nowadays, we can do high profiling applications with so many tools out there like vagrant.

    Javascript:

    This is a programming language type script, which is embedded to web browsers. Today, knowing this programming language is a valuable knowledge too. We must know javascript to make websites and native applications for iOS and android. With this programming language you can code html, css and javascript with frameworks and turn the website into a native application.

    You can learn how to use parcel or babel to make front-end Nodejs websites besides backend.

    Today, you can use Javascript for front-end and backend with v8 engine.  There are so many tools out there to help you out. It’s highly recommended to learn Nodejs. With Nodejs you can code a lot of things. The npm is a tool to install plugins for Nodejs. It’s highly customizable. 

    I chose Javascript to code all my web content and management.  

    Typescript:

    It’s a superset from Microsoft open source for javascript came 2012. It’s a highly typed language. It’s mostly a highly powerful typed language. This is a powerful toolkit. It’s a powerful programming language. It’s a true highly typed language.  

    Because of these languages, I chose nativescript, qt, coldfusion to code. With these tools, I can code for iOS, android, web and desktop applications.

    With nativescript I can code iOS and android with html, javascript, css and typescript. Under nativescript we can code with angular, vue and ionic frameworks.

    I am very focused on this tool. It’s very powerful. I am a newbie on these roads, but I am learning over a book I bought it in amazon. I can run now two applications that I made. I am building a new one, focused on supabase data management. I am learning lucee too. It’s a java coldfusion enterprise edition. I made a few articles that will come out soon about coldfusion. For web are these two powerful tools to make our needs.

    For me, teach and learn C++, I code qt5 and qt6. I am working with qt over the last 5 years on my Mac. I am coding qt too on a Ubuntu VM under virtualbox and vagrant.

    -For my opinion never learn too many languages. If you learn you are not good in all.

    You may focus on 3 or 4 languages and practice them all, to become good in all. I learnt a lot with my dad coding. He told me to focus only on 3 or 4 languages and keep practicing them. So, my goal and focus are C/C++, Java, Javascript and typescript. I am focus on all these besides had the newbies knowledge of vuejs. I am trying to learn vuejs framework for frontend Nodejs. We can learn express too for backend Nodejs. You must focus on these or choose the right languages you want.

    After this, you can also learn php. You can learn php because the majority of the simple web hosting are php with WordPress. You must learn WordPress too well. Mostly the websites are php, WordPress hosting. The majority of the websites I build over the last 10 years were WordPress.

    I won’t give up from it, I will code and still code php for WordPress because the people want cheap solutions and web application too. You must as reader try to understand our coder by Gleentech opinion as a constructive assessment. We as a magazine we try to solve solutions to you and back to you.

    WordPress:

    I choose WordPress with php to code the main core of the majority websites I am dealing with in the last 9 to 10 years. It’s a powerful CMS, well documented. We ca deal with APIs too. We can manage our all website from a backend. This CMS is a must to code, frontend and backend and split of, it’s a monolithic structure. Before you dive into WordPress try to learn about the structure and some php code. It can be your strength power tool to manage all your websites. Follow the steps very careful to code php inside WordPress. For that I will teach as a reader php before dig into WordPress.

    You can learn how to manage, code a theme, a plugin. Otherwise code the instalment after you install on a local machine. If you want to code and learn it with a word-press instalment you will need to have an ide, for that I choose VS Code or Netbeans from apache foundation.

    Nativescript:

    Its a powerful tool to code html, javascript, css, scss into a native application for iOS and android. I am talking about it because I chose it to code instead. The defunct cordova. It’s highly active.

    Today, I will keep coding on this platform, for me it’s the future. If you know web, you can code easily on nativescript. First teach yourself vue, ionic or angular. These frameworks are highly used, so you can use them.

    Qt:

     You must learn qt, for me it’s a powerful tool to code in C/C++. Today with the new qtcreator you can code with cmake instead make or qmake.

     We must learn cmake nowadays. It’s a good tool to learn. We every day, we are learning and teaching by us and from others.         

    This article it’s a must to see. It teaches you how to choose the right programming languages and the right tools to code. I hope to see you on the next article. I hope to see you next time.

  • Coldfusion and heroku

    Welcome again to coder by gleentech. Today we will introduce how to code coldfusion and heroku hosting.

    Coldfusion is an old architecture for server-side since 1995.  It works on the server-side. It’s a tag language. Written in JAVA. Since the rewritten in java since 2002, the tags evolved so much. It can be written with html5, css and javascript. There are a few tags for generation forms. On this tutorial I will explain how the heroku interacts with coldfusion (Lucee version)

    Go to lucee website and download the file. It can be downloaded as jar or even in war file.

    Download the GitHub as it follows for our example.

    -> git clone https://github.com/mikesprague/lucee5-heroku

    -> cd lucee5-heroku && mvn package

    -> foreman start

    You will need to register for an account  on heroku and create an app for the tutorial as it follows.

    Then you will need to clone the deploy from GitHub online on heroku.

    Now, open your folder on the Netbeans. Go to webroot, open index.cfm then copy paste:

    <cfscript>

    refURL=”http://docs.lucee.org”;

    wikiURL=”https://bitbucket.org/lucee/lucee/wiki/Home”;

    bbURL=”https://bitbucket.org/lucee/lucee”;

    adminURL=”#CGI.CONTEXT_PATH#/lucee/admin.cfm”;

    webAdminURL=”#CGI.CONTEXT_PATH#/lucee/admin/web.cfm”;

    serverAdminURL=”#CGI.CONTEXT_PATH#/lucee/admin/server.cfm”;

    mailinglistURL=”https://groups.google.com/forum/##!forum/lucee”;

    profURL=”https://www.lucee.org/support.html”;

    issueURL=”https://bitbucket.org/lucee/lucee/issues”;

    newURL=”http://docs.lucee.org/guides/lucee-5.html”;

    </cfscript>

    <!DOCTYPE html>

    <html>

    <head>

        <meta charset=”utf-8″>

        <meta name=”viewport” content=”width=device-width, initial-scale=1.0, shrink-to-fit=no”>

        <title>Home – Pedro Dias Vicente</title>

        <link rel=”stylesheet” href=”assets/bootstrap/css/bootstrap.min.css”>

        <link rel=”stylesheet” href=”https://fonts.googleapis.com/css?family=Montserrat:400,700″>

        <link rel=”stylesheet” href=”https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic”>

        <link rel=”stylesheet” href=”https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css”>

    </head>

    <body id=”page-top” data-bs-spy=”scroll” data-bs-target=”#mainNav” data-bs-offset=”72″>

        <nav class=”navbar navbar-light navbar-expand-lg fixed-top bg-secondary text-uppercase” id=”mainNav”>

            <div class=”container”><a class=”navbar-brand” href=”#page-top”>Pedro Dias Vicente</a><button data-bs-toggle=”collapse” data-bs-target=”#navbarResponsive” class=”navbar-toggler text-white bg-primary navbar-toggler-right text-uppercase rounded” aria-controls=”navbarResponsive” aria-expanded=”false” aria-label=”Toggle navigation”><i class=”fa fa-bars”></i></button>

                <div class=”collapse navbar-collapse” id=”navbarResponsive”>

                    <ul class=”navbar-nav ms-auto”>

                        <li class=”nav-item mx-0 mx-lg-1″><a class=”nav-link py-3 px-0 px-lg-3 rounded” href=”#portfolio”>Portfolio</a></li>

                        <li class=”nav-item mx-0 mx-lg-1″><a class=”nav-link py-3 px-0 px-lg-3 rounded” href=”#about”>About</a></li>

                        <li class=”nav-item mx-0 mx-lg-1″><a class=”nav-link py-3 px-0 px-lg-3 rounded” href=”#contact”>Contact</a></li>

                    </ul>

                </div>

            </div>

        </nav>

        <header class=”text-center text-white bg-primary masthead”>

            <div class=”container”><img class=”img-fluid d-block mx-auto mb-5″ src=”assets/img/profile.png”>

                <h1>Pedro Dias Vicente</h1>

                <hr class=”star-light”>

                <h2 class=”font-weight-light mb-0″>Web Developer – C/C++ – devOPS</h2>

            </div>

        </header>

        <section id=”portfolio” class=”portfolio”>

            <div class=”container”>

                <h2 class=”text-uppercase text-center text-secondary”>Portfolio</h2>

                <hr class=”star-dark mb-5″>

                <div class=”row”>

                    <div class=”col-md-6 col-lg-4″><a class=”d-block mx-auto portfolio-item” href=”#portfolio-modal-1″ data-bs-toggle=”modal”>

                            <div class=”d-flex portfolio-item-caption position-absolute h-100 w-100″>

                                <div class=”text-center text-white my-auto portfolio-item-caption-content w-100″><i class=”fa fa-search-plus fa-3x”></i></div>

                            </div><img class=”img-fluid” src=”assets/img/portfolio/cabin.png”>

                        </a></div>

                    <div class=”col-md-6 col-lg-4″><a class=”d-block mx-auto portfolio-item” href=”#portfolio-modal-2″ data-bs-toggle=”modal”>

                            <div class=”d-flex portfolio-item-caption position-absolute h-100 w-100″>

                                <div class=”text-center text-white my-auto portfolio-item-caption-content w-100″><i class=”fa fa-search-plus fa-3x”></i></div>

                            </div><img class=”img-fluid” src=”assets/img/portfolio/cake.png”>

                        </a></div>

                    <div class=”col-md-6 col-lg-4″><a class=”d-block mx-auto portfolio-item” href=”#portfolio-modal-3″ data-bs-toggle=”modal”>

                            <div class=”d-flex portfolio-item-caption position-absolute h-100 w-100″>

                                <div class=”text-center text-white my-auto portfolio-item-caption-content w-100″><i class=”fa fa-search-plus fa-3x”></i></div>

                            </div><img class=”img-fluid” src=”assets/img/portfolio/circus.png”>

                        </a></div>

                    <div class=”col-md-6 col-lg-4″><a class=”d-block mx-auto portfolio-item” href=”#portfolio-modal-4″ data-bs-toggle=”modal”>

                            <div class=”d-flex portfolio-item-caption position-absolute h-100 w-100″>

                                <div class=”text-center text-white my-auto portfolio-item-caption-content w-100″><i class=”fa fa-search-plus fa-3x”></i></div>

                            </div><img class=”img-fluid” src=”assets/img/portfolio/game.png”>

                        </a></div>

                    <div class=”col-md-6 col-lg-4″><a class=”d-block mx-auto portfolio-item” href=”#portfolio-modal-5″ data-bs-toggle=”modal”>

                            <div class=”d-flex portfolio-item-caption position-absolute h-100 w-100″>

                                <div class=”text-center text-white my-auto portfolio-item-caption-content w-100″><i class=”fa fa-search-plus fa-3x”></i></div>

                            </div><img class=”img-fluid” src=”assets/img/portfolio/safe.png”>

                        </a></div>

                    <div class=”col-md-6 col-lg-4″><a class=”d-block mx-auto portfolio-item” href=”#portfolio-modal-6″ data-bs-toggle=”modal”>

                            <div class=”d-flex portfolio-item-caption position-absolute h-100 w-100″>

                                <div class=”text-center text-white my-auto portfolio-item-caption-content w-100″><i class=”fa fa-search-plus fa-3x”></i></div>

                            </div><img class=”img-fluid” src=”assets/img/portfolio/submarine.png”>

                        </a></div>

                </div>

            </div>

        </section>

        <section class=”text-white bg-primary mb-0″ id=”about”>

            <div class=”container”>

                <h2 class=”text-uppercase text-center text-white”>About</h2>

                <hr class=”star-light mb-5″>

                <div class=”row”>

                    <div class=”col-lg-4 ms-auto”>

                        <p class=”lead”>Freelancer is a free bootstrap theme. The download includes the complete source files including HTML, CSS, and JavaScript as well as optional LESS stylesheets for easy customization.</p>

                    </div>

                    <div class=”col-lg-4 me-auto”>

                        <p class=”lead”>Whether you’re a student looking to showcase your work, a professional looking to attract clients, or a graphic artist looking to share your projects, this template is the perfect starting point!</p>

                    </div>

                </div>

                <div class=”text-center mt-4″><a class=”btn btn-outline-light btn-xl” role=”button” href=”#”><i class=”fa fa-download me-2″></i><span>Download Now!</span></a></div>

            </div>

        </section>

        <section id=”contact”>

            <div class=”container”>

                <h2 class=”text-uppercase text-center text-secondary mb-0″>Contact Me</h2>

                <hr class=”star-dark mb-5″>

                <div class=”row”>

                    <div class=”col-lg-8 mx-auto”>

                        <form id=”contactForm” name=”sentMessage” novalidate=”novalidate”>

                            <div class=”control-group”>

                                <div class=”mb-0 form-floating controls pb-2″><input class=”form-control” type=”text” id=”name” required=”” placeholder=”Name”><label class=”form-label”>Name</label><small class=”form-text text-danger help-block”></small></div>

                            </div>

                            <div class=”control-group”>

                                <div class=”mb-0 form-floating controls pb-2″><input class=”form-control” type=”email” id=”email” required=”” placeholder=”Email Address”><label class=”form-label”>Email Address</label><small class=”form-text text-danger help-block”></small></div>

                            </div>

                            <div class=”control-group”>

                                <div class=”mb-0 form-floating controls pb-2″><input class=”form-control” type=”tel” id=”phone” required=”” placeholder=”Phone Number”><label class=”form-label”>Phone Number</label><small class=”form-text text-danger help-block”></small></div>

                            </div>

                            <div class=”control-group”>

                                <div class=”mb-5 form-floating controls pb-2″><textarea class=”form-control” id=”message” required=”” placeholder=”Message” style=”height: 150px;”></textarea><label class=”form-label”>Message</label><small class=”form-text text-danger help-block”></small></div>

                            </div>

                            <div id=”success”></div>

                            <div><button class=”btn btn-primary btn-xl” id=”sendMessageButton” type=”submit”>Send</button></div>

                        </form>

                    </div>

                </div>

            </div>

        </section>

        <footer class=”text-center footer”>

            <div class=”container”>

                <div class=”row”>

                    <div class=”col-md-4 mb-5 mb-lg-0″>

                        <h4 class=”text-uppercase mb-4″>Location</h4>

                        <p>2215 John Daniel Drive<br>Clark, MO 65243</p>

                    </div>

                    <div class=”col-md-4 mb-5 mb-lg-0″>

                        <h4 class=”text-uppercase”>Around the Web</h4>

                        <ul class=”list-inline”>

                            <li class=”list-inline-item”><a class=”btn btn-outline-light text-center btn-social rounded-circle” role=”button” href=”#”><i class=”fa fa-facebook fa-fw”></i></a></li>

                            <li class=”list-inline-item”><a class=”btn btn-outline-light text-center btn-social rounded-circle” role=”button” href=”#”><i class=”fa fa-google-plus fa-fw”></i></a></li>

                            <li class=”list-inline-item”><a class=”btn btn-outline-light text-center btn-social rounded-circle” role=”button” href=”#”><i class=”fa fa-twitter fa-fw”></i></a></li>

                            <li class=”list-inline-item”><a class=”btn btn-outline-light text-center btn-social rounded-circle” role=”button” href=”#”><i class=”fa fa-dribbble fa-fw”></i></a></li>

                        </ul>

                    </div>

                    <div class=”col-md-4″>

                        <h4 class=”text-uppercase mb-4″>About Freelancer</h4>

                        <p class=”lead mb-0″><span>Freelance is a free to use, open source Bootstrap theme.&nbsp;</span></p>

                    </div>

                </div>

            </div>

        </footer>

        <div class=”text-center text-white copyright py-4″>

            <div class=”container”><small>Copyright ©&nbsp;Pedro Dias Vicente 2021</small></div>

        </div>

        <div class=”d-lg-none scroll-to-top position-fixed rounded”><a class=”text-center d-block rounded text-white” href=”#page-top”><i class=”fa fa-chevron-up”></i></a></div>

        <div class=”modal text-center” role=”dialog” tabindex=”-1″ id=”portfolio-modal-1″>

            <div class=”modal-dialog modal-lg” role=”document”>

                <div class=”modal-content”>

                    <div class=”modal-header”><button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button></div>

                    <div class=”modal-body”>

                        <div class=”container text-center”>

                            <div class=”row”>

                                <div class=”col-lg-8 mx-auto”>

                                    <h2 class=”text-uppercase text-secondary mb-0″>Project Name</h2>

                                    <hr class=”star-dark mb-5″><img class=”img-fluid mb-5″ src=”assets/img/portfolio/cabin.png”>

                                    <p class=”mb-5″>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p>

                                </div>

                            </div>

                        </div>

                    </div>

                    <div class=”modal-footer pb-5″><a class=”btn btn-primary btn-lg mx-auto rounded-pill portfolio-modal-dismiss” role=”button” data-bs-dismiss=”modal”><i class=”fa fa-close”></i>&nbsp;Close Project</a></div>

                </div>

            </div>

        </div>

        <div class=”modal text-center” role=”dialog” tabindex=”-1″ id=”portfolio-modal-2″>

            <div class=”modal-dialog modal-lg” role=”document”>

                <div class=”modal-content”>

                    <div class=”modal-header”><button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button></div>

                    <div class=”modal-body”>

                        <div class=”container text-center”>

                            <div class=”row”>

                                <div class=”col-lg-8 mx-auto”>

                                    <h2 class=”text-uppercase text-secondary mb-0″>Project Name</h2>

                                    <hr class=”star-dark mb-5″><img class=”img-fluid mb-5″ src=”assets/img/portfolio/cake.png”>

                                    <p class=”mb-5″>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p>

                                </div>

                            </div>

                        </div>

                    </div>

                    <div class=”modal-footer pb-5″><a class=”btn btn-primary btn-lg mx-auto rounded-pill portfolio-modal-dismiss” role=”button” data-bs-dismiss=”modal”><i class=”fa fa-close”></i>&nbsp;Close Project</a></div>

                </div>

            </div>

        </div>

        <div class=”modal text-center” role=”dialog” tabindex=”-1″ id=”portfolio-modal-3″>

            <div class=”modal-dialog modal-lg” role=”document”>

                <div class=”modal-content”>

                    <div class=”modal-header”><button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button></div>

                    <div class=”modal-body”>

                        <div class=”container text-center”>

                            <div class=”row”>

                                <div class=”col-lg-8 mx-auto”>

                                    <h2 class=”text-uppercase text-secondary mb-0″>Project Name</h2>

                                    <hr class=”star-dark mb-5″><img class=”img-fluid mb-5″ src=”assets/img/portfolio/circus.png”>

                                    <p class=”mb-5″>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p>

                                </div>

                            </div>

                        </div>

                    </div>

                    <div class=”modal-footer pb-5″><a class=”btn btn-primary btn-lg mx-auto rounded-pill portfolio-modal-dismiss” role=”button” data-bs-dismiss=”modal”><i class=”fa fa-close”></i>&nbsp;Close Project</a></div>

                </div>

            </div>

        </div>

        <div class=”modal text-center” role=”dialog” tabindex=”-1″ id=”portfolio-modal-4″>

            <div class=”modal-dialog modal-lg” role=”document”>

                <div class=”modal-content”>

                    <div class=”modal-header”><button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button></div>

                    <div class=”modal-body”>

                        <div class=”container text-center”>

                            <div class=”row”>

                                <div class=”col-lg-8 mx-auto”>

                                    <h2 class=”text-uppercase text-secondary mb-0″>Project Name</h2>

                                    <hr class=”star-dark mb-5″><img class=”img-fluid mb-5″ src=”assets/img/portfolio/game.png”>

                                    <p class=”mb-5″>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p>

                                </div>

                            </div>

                        </div>

                    </div>

                    <div class=”modal-footer pb-5″><a class=”btn btn-primary btn-lg mx-auto rounded-pill portfolio-modal-dismiss” role=”button” data-bs-dismiss=”modal”><i class=”fa fa-close”></i>&nbsp;Close Project</a></div>

                </div>

            </div>

        </div>

        <div class=”modal text-center” role=”dialog” tabindex=”-1″ id=”portfolio-modal-5″>

            <div class=”modal-dialog modal-lg” role=”document”>

                <div class=”modal-content”>

                    <div class=”modal-header”><button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button></div>

                    <div class=”modal-body”>

                        <div class=”container text-center”>

                            <div class=”row”>

                                <div class=”col-lg-8 mx-auto”>

                                    <h2 class=”text-uppercase text-secondary mb-0″>Project Name</h2>

                                    <hr class=”star-dark mb-5″><img class=”img-fluid mb-5″ src=”assets/img/portfolio/safe.png”>

                                    <p class=”mb-5″>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p>

                                </div>

                            </div>

                        </div>

                    </div>

                    <div class=”modal-footer pb-5″><a class=”btn btn-primary btn-lg mx-auto rounded-pill portfolio-modal-dismiss” role=”button” data-bs-dismiss=”modal”><i class=”fa fa-close”></i>&nbsp;Close Project</a></div>

                </div>

            </div>

        </div>

        <div class=”modal text-center” role=”dialog” tabindex=”-1″ id=”portfolio-modal-6″>

            <div class=”modal-dialog modal-lg” role=”document”>

                <div class=”modal-content”>

                    <div class=”modal-header”><button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button></div>

                    <div class=”modal-body”>

                        <div class=”container text-center”>

                            <div class=”row”>

                                <div class=”col-lg-8 mx-auto”>

                                    <h2 class=”text-uppercase text-secondary mb-0″>Project Name</h2>

                                    <hr class=”star-dark mb-5″><img class=”img-fluid mb-5″ src=”assets/img/portfolio/submarine.png”>

                                    <p class=”mb-5″>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p>

                                </div>

                            </div>

                        </div>

                    </div>

                    <div class=”modal-footer pb-5″><a class=”btn btn-primary btn-lg mx-auto rounded-pill portfolio-modal-dismiss” role=”button” data-bs-dismiss=”modal”><i class=”fa fa-close”></i>&nbsp;Close Project</a></div>

                </div>

            </div>

        </div>

        <script src=”https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js”></script>

        <script src=”assets/js/script.min.js”></script>

    </body>

    </html>

    Now, you must type on the terminal:

    -> mvn package

    About the GitHub inside on the heroku is easy to use the cli. 

    Install heroku cli then:

    -> heroku login

    -> heroku git:clone -a name_of_the_project

    -> cd name_of_the_project

    Finally

    -> git add .

    -> git commit -am “frost commit”

    -> git push heroku master

    Next article about coldfusion will be about Netbeans and application.cfc structure.

  • Big Notation

    Almost the software works with big o notation.

    What means big o notation?

    Big O Notation is used in computer science also computation. It’s used to tell us the performance and or complexity solution we should approach.

    To know how to use it we should study algorithmics and logarithmic.

    O(1)

    This tells us the algorithm will run one time or in one space-time.

    Bool l IsFirstElementNull(IList<String> elements)

    {

        return elements[0] == null;

    }

    O(N)

    O(N) describes an algorithm whose performance will grow linearly. And by itself have proportion.

    bool ContainsValue(IEnumerable<string> elements, string value)

    {

        foreach (var element in elements)

        {

            if (element == value) return true; 

        }     

        return false; 

    }

    O(N²)

    This algorithm is directionally proportional to the square of the input data size.

    This works well with nested loops. 

    bool ContainsDuplicates(IList<string> elements)

    {

        for (var outer = 0; outer < elements.Count; outer++) 

        {

            for (var inner = 0; inner < elements.Count; inner++) 

            { 

                // Don’t compare with self 

                if (outer == inner) continue;             

                if (elements[outer] == elements[inner]) return true; 

            }

        }    

        return false;

    }

    O(2^N)

    One of the sets we can see is the Fibonacci function. 

    int Fibonacci(int number)

    {

        if (number <= 1) return number;

        return Fibonacci(number – 2) + Fibonacci(number – 1); 

    }

  • Github reboot

    Today is sad news for everyone. Vic3t3chn0 GitHub, my private GitHub will be autumn repo now. I decided to reboot it. So all the core are there will be autumn code. Every time I have past code I will add it there. The GitHub page will be two versions now. The code won’t be on archive mode yet. It will be the public but with a new way to see the code.

    The page will be renewed.  Stay tuned for more news.

    https://github.com/vic3t3chn0

  • NetBeans

    Lazarus

    Lazarus is a UI/UX design for Linux, Mac and smart devices. Written in javascript and css. It’s an open source tool. Released in Apache License. But for now on testing.

    What is Lazarus?

    Besides open source and UI/UX, it can be added easily on your react apps or vuejs. This tools offers an easy dom way with vanilla js. Lazarus is not the same as lazarus ide for pascal. Lazarus tool is based on Saint Lazarus. We can see lazarus on my websites also on my private code.

    Lazarus is built on the top-notch of javascript. Every website has a different UI/UX to fit in on the customer agreement.

    We deliver the lazarus as a one package live preview.

    Why we don’t share the code yet?

    The code is not ready to publish yet because the websites are made by design and built by design. So the code is released only for the customer. It’s not suit for customer ending.

    We built already 6 websites with lazarus, lazarus came to dev production in 2016. Lazarus was our old Polaris codebase. Our portfolio is built by lazarus. We have open source codebase but the end customer will have a lazarus custom layout. So the UI/UX is always different. This code is always on changing.  

    I can show 4 different websites with 4 different lazarus style. These layouts are written on Netbeans and on the operating systems Mac and Linux. You cannot work with them on Windows 7+. Even with Windows 11.

    This application was built on a Mac with Catalina operating system, I tested on a Ubuntu machine too, even with free Nodejs hosting. 

    I manage the source code tree, all of them with git bare. I made  a git init on my Dropbox coder folder and I run from there the updated code. Besides to have another instance of the app on another folder.

    Now, I can update all my code base one my git local. This UX/UI can be adapt to magento, wordpress or even a bootstrap application, web application.

    My coder by Gleentech is one of my Lazarus modified UI/UX user design. A new design pattern.

    Usually on these matters I code from top to bottom. Not from bottom to top. These virtue situations are decided and always decided by the coder itself.

    Top to bottom is dividing to conquer. Bottom to top is much harder. In this situation you will encounter serious issues. Like to add the solutions back to a higher option.

    Basically Lazarus is a name. You can give a name for your work when you code for others. I chose this because Saint Lazarus. My products coded or not coded have a secret id or a secret app name. These websites and UI/UX have this codename. This magazine works basically and mostly with open source applications.

    Why coder by Gleentech chose Lazarus?

    The coder by Gleentech chose lazarus because it’s our own tool for design. It’s open source based. It was a fork from a several javascript ideas. We can use this with vanillajs for dom. This vanillajs can be useful.

    Why coder by Gleentech chose Netbeans?

    It’s a very good ide and open source tool.  We all can code php,c++, Nodejs and Java. Nowadays, coder chose Netbeans for their versatility way to fix code. It’s a very and powerful tool.

    I learnt how to use netbeans when I was learning java by myself before had in college. I always loved this tool, is clean and had a lot of features ready to boost.

     Over 15 years of Java I am still active with NetBeans. So this tool was decided to code our logic matters and patterns too. 

    Why we chose OOP design pattern?

    We chose OOP design pattern because is one of itself as design pattern. You can find other ways to see design patterns but OOP is one of the oldest and reliable way to see and interact with design.

    You can see another way of design pattern. Which is mvc way model. The MVC way model is a model view controller. These type of patterns are good for websites.

    Why we use a lot of frameworks?

    We use a lot of frameworks but we can use our own. If you know how to code you can code one.

    Are so many ways to code and reuse code as code base line. Coding by yourself it will enrich your knowledge. We don’t do the wheel , we use it again. 

    Lazarus codename is my way of coding my web apps or websites. It’s not a framework it’s an easy way to code UI/UX base code.

    There are so many ways to code. That’s why are so many frameworks. You can type one for you.

    Imagine what you want to do!? MVC? OOP? Or  even a mix??

    I usually code MVC with OOP measures. Lazarus is my style of coding. With a bunch of debugging,

     I am used to code on adobe cold fusion on my NetBeans IDE besides php and nodejs. 

  • Why I chose Netbeans

    Welcome back! Coder by Gleentech is back. Today, I decided to get a view testing on Netbeans for nodejs and php coding.

    I installed again on my MacOS 10.15, for a new chance. I imported my php project for my WordPress 5.8 theme and design.

     We heard about netbeans as a good ide. Today is an awesome tool.

    I used atom, vs code before for coding php and Nodejs but I came always back to Netbeans. It was always my preferred ide. I coded Java there too. Nothing more than Java.

    Why I chose NetBeans?

    I chose back again the ide because is a wonderful ide, can be Java RAD, Nodejs and php very good ide.

    Nowadays, the ide can do almost everything the other ides can do. Even can do more with Java. I am talking about how the php and Nodejs is simpler  here.

    You can find intellisense. Have a smart way to detect the code functions we type.

    Yes, I am aware of being a heavy ide, but I won’t talk it about it here.

    When we import or create a new project for php and Nodejs we can mix them. Yes, we can. We can type I/O blocking apis for Nodejs and behave them on the php front-end.

    We can do everything with NeatBeans. It’s a very smart code ide, with a strong typed idea tags.

    This can be a solution for your projects, open source or not.

    I use this for both nowadays. Mostly the time was for open source, now I use for both.

    I think for the first time running it takes time because the ide is not ready for your os running. So, the indenting and indexing files take time.

    Even when I import my WordPress folders, the NeatBeans take time to index or refresh the folders itself.

    By the way you can code and type applications with Cordova, apache multi devices code basis.

    I am not used to code Cordova but I mention it.

    You can install Wakatime too for NetBeans already. This tool can manage your time uptime, coding on your laptop or desktop. Wakatime have already a lot ides compatible. To install wakatime you should install from their website, then install as add plugin, after itself will read your wakatime id key.

    I am writing this article to give my opinion about NetBeans and the best tool you can find today.

    Happy Coding!

  • Devlogs of Today – Win32

    The devlogs of today are back. Back again. Today we will talk about stdafx and windows API. These two options can be useful for windows development besides reactos.

    With these two options, we can code and have control over our application for windows 7+ and ReactOS. ReactOS is also types everything with windows API. The win32 API. What is Win32? This core came from windows 95 and beyond. This demystification source can be used with VS SourceSafe. Even this software is offline now but it’s good for our needs.

    The stdafx is a Windows native library. With this option, the software will be fully compliant with the windows versions out there even compliant with reactos.

    Stdafx.cpp:

    // stdafx.cpp : source file that includes just the standard includes

    // Demo.pch will be the pre-compiled header

    // stdafx.obj will contain the pre-compiled type information

    #include “stdafx.h”

    // TODO: reference any additional headers you need in STDAFX.H

    // and not in this file

    stdafx.h:

    // stdafx.h : include file for standard system include files,

    // or project specific include files that are used frequently, but

    // are changed infrequently

    //

    #pragma once

    // Modify the following defines if you have to target a platform prior to the ones specified below.

    // Refer to MSDN for the latest info on corresponding values for different platforms.

    #ifndef WINVER // Allow use of features specific to Windows XP or later.

    #define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.

    #endif

    #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.

    #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.

    #endif

    #ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.

    #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.

    #endif

    #ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later.

    #define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE.

    #endif

    #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers

    // Windows Header Files:

    #include <windows.h>

    #include <shellapi.h>

    // C RunTime Header Files

    #include <stdlib.h>

    #include <malloc.h>

    #include <memory.h>

    #include <tchar.h>

    // TODO: reference additional headers your program requires here

    With these two files, the source code will be more compliant. These two compliant codes will save you more time to code for windows 7+ to reactos.

    Main.cpp

    #include <windows.h>

    /* This is where all the input to the window goes to */

    LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {

    switch(Message) {

    /* Upon destruction, tell the main thread to stop */

    case WM_DESTROY: {

    PostQuitMessage(0);

    break;

    }

    /* All other messages (a lot of them) are processed using default procedures */

    default:

    return DefWindowProc(hwnd, Message, wParam, lParam);

    }

    return 0;

    }

    /* The ‘main’ function of Win32 GUI programs: this is where execution starts */

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

    WNDCLASSEX wc; /* A properties struct of our window */

    HWND hwnd; /* A ‘HANDLE’, hence the H, or a pointer to our window */

    MSG msg; /* A temporary location for all messages */

    /* zero out the struct and set the stuff we want to modify */

    memset(&wc,0,sizeof(wc));

    wc.cbSize = sizeof(WNDCLASSEX);

    wc.lpfnWndProc = WndProc; /* This is where we will send messages to */

    wc.hInstance = hInstance;

    wc.hCursor = LoadCursor(NULL, IDC_ARROW);

    /* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */

    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

    wc.lpszClassName = “WindowClass”;

    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */

    wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); /* use the name “A” to use the project icon */

    if(!RegisterClassEx(&wc)) {

    MessageBox(NULL, “Window Registration Failed!”,”Error!”,MB_ICONEXCLAMATION|MB_OK);

    return 0;

    }

    hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,”WindowClass”,”Caption”,WS_VISIBLE|WS_OVERLAPPEDWINDOW,

    CW_USEDEFAULT, /* x */

    CW_USEDEFAULT, /* y */

    640, /* width */

    480, /* height */

    NULL,NULL,hInstance,NULL);

    if(hwnd == NULL) {

    MessageBox(NULL, “Window Creation Failed!”,”Error!”,MB_ICONEXCLAMATION|MB_OK);

    return 0;

    }

    /*

    This is the heart of our program where all input is processed and sent to WndProc. Note that GetMessage blocks code flow until it receives something, so

    this loop will not produce unreasonably high CPU usage

    */

    while(GetMessage(&msg, NULL, 0, 0) > 0) { /* If no error is received… */

    TranslateMessage(&msg); /* Translate key codes to chars if present */

    DispatchMessage(&msg); /* Send it to WndProc */

    }

    return; msg.wParam;

    }

    This file main.cpp presents a core main window. For the next time, we code the demo application, the time spent will be less.

    The include windows.h will help us to code natively the applications.

    We declare a window to draw everything. With LRESULT CALLBACK WndProc;

    We create our window or windows before the int WinMain.

    The WinMain is our main function.

    The VS Sourcesafe 6.0 we must run as Administrator to run the application. Then create a folder project repository and create our own projects sync.

    We used Embarcadero c++ for the compliant source code.

    They use the system already for makefile structure. The system is already to boost on our systems built on our company, these systems are windows 7 and windows 10 besides reactos.

  • Tizen part 2 ( Devlogs)

    Devlog days

    This day I am trying to teach how to code c++ for efl tizen os, an operating system from Linux Foundation and Samsung partnerships.

    Why I chose c++?
    I chose c++ because is too much versatile, very good for operating systems, widely use on embedded systems. The c and c++ I am used to it since high school. I learn to code it when I was on a technical school course, since then I never stopped to code it.

    Why is too hard code?

    We need to think like binary code, and we must a passionate person to code, remember coding is to give a human solution. Is there too many who couldn’t or can code. It’s an imaginary world of too many options to learn.

    The following example code you see:

    layout = elm_layout_add(parent);
    elm_layout_theme_set(layout, "layout", "drawer", "panel");

    Shows how the layout can be modified as instantiated. Creating an instance.

    typedef struct appdata
    {
       // Save the window
       Evas_Object *win;
    }
    appdata_s;
    int
    main(int argc, char *argv[])
    {
       appdata_s *ad = {0,};
       app_event_callback_s event_callback = {0,};
       int ret = 0;
    
       event_callback.create = app_create;
       event_callback.terminate = app_terminate;
       event_callback.pause = app_pause;
       event_callback.resume = app_resume;
       event_callback.app_control = app_control;
    
       ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, ui_app_low_battery, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, ui_app_low_memory, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, ui_app_orient_changed, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, ui_app_lang_changed, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, ui_app_region_changed, &ad);
       ui_app_remove_event_handler(handlers[APP_EVENT_LOW_MEMORY]);
    
       ret = ui_app_main(argc, argv, &event_callback, &ad);
       if (ret != APP_ERROR_NONE)
       {
          dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_main() is failed. err = %d", ret);
       }
    
       return ret;
    }
    
    static bool
    app_create(void *data)
    {
       appdata_s *ad = data;
       create_base_gui(ad);
    
       return true;
    }
    ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE);
    elm_win_autodel_set(ad->win, EINA_TRUE);
    
    // Conformant
    conform = elm_conformant_add(ad->win);
    elm_win_conformant_set(ad->win, EINA_TRUE);
    evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_win_resize_object_add(ad->win, conform);
    evas_object_show(conform);
    
    // Naviframe
    nf = elm_naviframe_add(conform);
    elm_object_content_set(conform, nf);
    evas_object_show(nf);
    // Add the box
    box = elm_box_add(nf);
    // Create a label
    label1 = elm_label_add(box);
    // Set text to the label with a tag
    elm_object_text_set(label1, "<font_size=110><color=#000000>07:26</color></font_size>");
    // Add the label to the box
    elm_box_pack_end(box, label1);
    // Change label visibility
    evas_object_show(label1);
    
    // Repeat with other labels
    
    evas_object_show(box);
    elm_naviframe_item_push(nf, _("World Clock"), NULL, NULL, box, "basic");

    This will tell how the instances can be used to create several apps. Those apps can be a clock, timer or an email GUI form. The following days I will teach c++ with the ui of tizen os. These things to learn are hard to achieve. We need to learn with our own mistakes. We are the learners of the thriving life we do. Mine is to be a teacher, a coder trying to teach others. As my experience as teacher is and was very productive. I rather teach c++, javascript for Linux and Mac. Today I am here to teach embedded systems relied on Linux. On a very good system.

    Next steps, we must take to follow our knowledge on the application design and code them are to code a working clock.

    The working clock system is a new example that I will show. It’s a very good starting point.

    typedef struct appdata
    {
       // Save the window
       Evas_Object *win;
    }
    appdata_s;
    int
    main(int argc, char *argv[])
    {
       appdata_s *ad = {0,};
       app_event_callback_s event_callback = {0,};
       int ret = 0;
    
       event_callback.create = app_create;
       event_callback.terminate = app_terminate;
       event_callback.pause = app_pause;
       event_callback.resume = app_resume;
       event_callback.app_control = app_control;
    
       ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, ui_app_low_battery, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, ui_app_low_memory, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, ui_app_orient_changed, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, ui_app_lang_changed, &ad);
       ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, ui_app_region_changed, &ad);
       ui_app_remove_event_handler(handlers[APP_EVENT_LOW_MEMORY]);
    
       ret = ui_app_main(argc, argv, &event_callback, &ad);
       if (ret != APP_ERROR_NONE)
       {
          dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_main() is failed. err = %d", ret);
       }
    
       return ret;
    }
    static bool
    app_create(void *data)
    {
       appdata_s *ad = data;
       create_base_gui(ad);
    
       return true;
    }
    static Evas_Object *
    create_clock(Evas_Object *nf)
    {
       Evas_Object *box, *label1, *label2, *label3;
    
       // Box
       box = elm_box_add(nf);
    
       label1 = elm_label_add(box);
       elm_object_text_set(label1, "<font_size=110><color=#000000>07:26</color></font_size>");
       elm_box_pack_end(box, label1);
       evas_object_show(label1);
    
       evas_object_show(box);
    
       return box;
    }
    static Evas_Object *
    create_list(Evas_Object *nf)
    {
       Evas_Object* list;
       Elm_Genlist_Item_Class *itc = NULL;
       int i, num_of_item;
       Elm_Object_Item *it;
       
       list = elm_genlist_add(nf);
    itc = elm_genlist_item_class_new();
       itc->item_style = "2line.top.4";
       itc->func.text_get = gl_text_get_cb;
       itc->func.content_get = NULL;
       itc->func.del = NULL;
    static char*
    gl_text_get_cb(void *data, Evas_Object *obj, const char *part)
    {
       item_data_s *id = data;
       char buf[1024];
    
       if (id->index == 0)
       {
          if (!strcmp(part, "elm.text.main.left.top"))
          {
             snprintf(buf, 1023, "%s", "07:26");
    
             return strdup(buf);
          }
          else if (!strcmp(part, "elm.text.sub.right.top"))
          {
             snprintf(buf, 1023, "%s", "Cardiff");
    
             return strdup(buf);
          }
          else if (!strcmp(part, "elm.text.sub.left.bottom"))
          {
             snprintf(buf, 1023, "%s", "Wen, Jan 1");
    
             return strdup(buf);
          }
          else if (!strcmp(part, "elm.text.sub.right.bottom"))
          {
             snprintf(buf, 1023, "%s", "wales");
    
             return strdup(buf);
          }
       }
    
       return NULL;
    }
    num_of_item = 3;
    
       for (i = 0; i < num_of_item; i++)
       {
          item_data_s *id = calloc(sizeof(item_data_s), 1);
          id->index = i;
          it = elm_genlist_item_append(list,
                                       itc,
                                       id,
                                       NULL,
                                       ELM_GENLIST_ITEM_NONE,
                                       NULL,
                                       id);
          id->item = it;
       }
    static void
    create_base_gui(appdata_s *ad)
    {
       Evas_Object *conform, *nf, *box, *clock, *layout, *rect, *button;
       // Window
       ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE);
       elm_win_autodel_set(ad->win, EINA_TRUE);
    
       // Conformant
       conform = elm_conformant_add(ad->win);
       elm_win_conformant_set(ad->win, EINA_TRUE);
       evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
       elm_win_resize_object_add(ad->win, conform);
       evas_object_show(conform);
    
       // Naviframe
       nf = elm_naviframe_add(conform);
       elm_object_content_set(conform, nf);
       evas_object_show(nf);
    }
     // Box
       box = elm_box_add(nf);
       evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
       evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);

    This is a box component.

    static void
    win_back_cb(void *data , int type , void *event)
    {
       appdata_s *ad = data;
       elm_win_lower(ad->win);
    }

    You can see how the application behaves.

  • Tizen – Part 1

    Editor:

    Hello my name is Pedro Dias Vicente, I am coder. I like to code c, c++, pascal, or objective-c. I learnt how to code when I was 12 years old. Today I work for and with open source. Today, I am working with tizen os. An operating system which have a lot to give as a whole operating system. It can be capable to work with mobile, iot, wearable or even TV.

    Introduction

    This issue is being worked over these years. It shows how to achieve the finest words. The words have been working since I decided to have a magazine for Linux, Unix and MacOS.

    I came with the magazine in 2009, now today, 2021 is alive. Today we see a lot of Windows Magazines none about Mac or even Linux on development, operating systems tips or even coding.

    Today, we need to change, shake the waters to another market sharing subjects or devices.

    I am today the Co-Founder of Gleentech Solutions, the man behind of this magazine.

    A bridge of today, I hope you enjoy the magazine.

    Daylog #1

    Changelog:

    Day 1:

    Hello everyone. I am back to the Linux Foundation tizen os development. I was in the early days into it around 2011 and 2012. Over the years I was coding open source my own code for tizen os.

    I built my own code based on c++ and web technologies. Over the following tizen posts that I will really post it, it will be a beginner guidance.

    I have installed tizen ide and an ubuntu for coding. I am using a MacBook Pro. So, the code will be shared with virtualbox os and main core os.

    After the instalment I could boot it up. Make a warm bootup qemu image and its ide. I built a calculator to see how it works an app functioning system. Over 8 years to 9 years being part of tizen organization. I came to write about web apps and code kernel for samsung devices. I was almost a ghost, now I am ready to talk about tizen. This operating system is openness and from Linux Foundation and Samsung. Is there a way to be success on our markets or even can be successful. Today our market have three top major os’es. Their are them, iOS, android and tizen. Inside these all os’es, are too many android, any manufacture have one os. Is there a need to have a wide open source operating system. And I found it around 9 years ago in 2012. There is a lot of flaws on android, which was adopted by Microsoft fans and not unices people. There were so many oses there was a flaw too or could be huge. But the time is other. I already downloaded the kernels for samsung wave s8500, nexus 5 and nexus 5x even for nexus 6p. I installed too the git build system(gbs) and mic command tools on my machine. In the next day I will try to compile the kernels, then debug it on my machine.

    brew install virtualbox
    brew cask install vagrant
    brew cask install vagrant-manager

    → touch Vagrantfile

    → nano Vagrantfile

    Vagrant.configure("2") do |config|
    config.vm.box = "debian/jessie64"
    config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y git bc bison flex libssl-dev make libc6-dev libncurses5-dev crossbuild-essential-armhf crossbuild-essential-arm64
    SHELL
    end

    → vagrant up

    → vagrant ssh

    To halt the machine type:

    → vagrant halt

    git clone --depth=1 https://github.com/raspberrypi/linux

    → git clone https://github.com/android-linux-stable/angler.git

    → git clone https://github.com/franciscofranco/hammerhead.git

    → git clone https://github.com/Badadroid/android_kernel_samsung_wave.git

    → git clone https://github.com/Qiangong2/tizen_kernel_samsung_z2.git

    Day 2:

    Today I will start debugging and compiling the kernels I already downloaded. For vagrant and virtualbox, every time you wish to get in on the VM, type always vagrant ssh and exit to quit off the system.

    Day 3:

    I am building a mic version kickstart. What is a kickstart file? Is a configuration script for tizen os. These kickstart files for instance are there on rpm linux distros such as fedora or red hat enterprise.

    I installed on my debian machine the following commands:

    → nano /etc/apt/sources.list

    deb

    [trusted=yes]

    http://download.tizen.org/tools/latest-release/Ubuntu_16.04/ /

    apt-get update

    apt-get install gbs mic

    Then you must use always connected to vagrant the command inside the folder of Vagrantfile, vagrant ssh. Every move or change move it always with vagrant halt to save the state of the machine itself.

    Remove all boxes on macos

    vagrant box list | cut -f 1 -d ' ' | xargs -L 1 vagrant box remove -f

    It must be done every time the image is broken. Be careful that can be erased all data itself.

    wget http://download.tizen.org/releases/daily/tizen/5.5-unified/latest/builddata/images/standard/image-configurations/mobile-wayland-armv7l-tm2.ks

    gbs cr –-ks-file=mobile-wayland-armv7l-tm2.ks

    Day 4:

    After build successful the mobile rootfs and iot the rpi version. I am reading the docs to see how it works the kernel 3.10.x for the operating system.

    This devlog is trying to be a tutorial or an ebook to teach the persons to code or build an devOP system for tizen os.

    I will teach or try to teach how to code web, c++. We can build too with tizen.NET, this version is for c#.

    http://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/armeb-linux-gnueabi/gcc-linaro-4.9.4-2017.01-x86_64_armeb-linux-gnueabi.tar.xz
    http://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabi/gcc-linaro-4.9-2017.01.tar.xz
    https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabi/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi.tar.xz
    https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

    → tar xvf gcc-linaro-4.9.4-2017.01-x86_64_armeb-linux-gnueabi.tar.xz

    →sudo mkdir -p /opt/linaro

    → sudo mv linaro-4.9 /opt/linaro/

    cd kernel && make CROSS_COMPILE=folder_compile ARCH=arm tizen_tm1_defconfig

    I chose the linaro gcc for arm. It is one of the most used, or widely spread. I have been using linaro since 2012, when I started to code for tizen os. The wide and the facilities are abroad for tizen and humongous. So huge to dig.

    I forgot to tell the chosen wise for vagrant. I chose vagrant with connectivity for virtualbox because it’s easier. We can’t found wayland gui. Only a terminal, a cli to code everything.

    Day 5:

    Today I have being coding the linaro setup for kernel buildings. I have now 5 devices kernel sources downloaded and ready to be studied to boot on devices.

    Nowadays is easy to get an approach with cli, mostly or basically for me linux is terminal way out. I am used to type commands and scripting with bash or perl.

    sudo apt-get install abootimg

    I type this too, to get to know how the partition works on an android device.

    → adb shell – with device connected

    → cat /proc/partititons

    dd if=/dev/block/mmcblk0p6 of=/data/kernel_ramfs.img

    adb pull /data/kernel_ramfs.img

    Now I am stalled. I have been working around on gcc compilers to be successful on building kernels. I am trying to build a new kernel mainline to offer the 32 bit float and even 64 bit compliance. Every two weeks I will make my devlog updated. I am almost on my 6th day of working and working arounds. I couldn’t found any solution for now for the compliance. The only thing I got for now was a VM, a building image obs success. Although or being despite on struggles I have my Tizen emulator working too well on the version hd 5.5 and 6.0. The wearables strain are not finished yet. It’s hard to build something in small days. I have been working around on these matters because I knew how to achieve some because the over the years of experience on gnu. I have been around downloading almost 6 devices to get work done. I desired to work on 6 devices that I own. These devices are nexus 5, Nokia n900, Sony z Ultra, Samsung i9300, Samsung S1, 8500 wave and ZTE Kies 3. I want to port the kernel to these devices. One is I want with the community helping. Other is to trying alone and spend a lot of hours against the knowledge behind these matters.

    For now, I am teaching how to make a dev machine to all of these. The other way is to help community by consuming time for tizen on the open source eco system. I want to help community. So I am here with my devlogs to show how I want and wish for. I will teach over my devlogs how to code c++ for UI, apps, I will teach how to build web widgets or even web apps.

    Day 6:

    Today I am still stalled with kernels building and its mainline source code. The code for all my devices I own. I decided to write now to tell I am keeping search for a solution. Instead of I will write my devlogs about c++ and javascript apps for the tizen store.

    Today day 6 I will teach how to struct and make a structure for javascript applications or even widgets.

    When the client builds a new project javascript will found a structure inside a project folder. These files and structure are

    css folder, an img folder, javascript necessary files, a js folder, and 3 files on the root. These files are config.xml, index.html, icon.png. The config.xml is a project file where the metadata can be added and formatted. Is where we can found the icon, the name, the id structure.

    D ay 7:

    Today I was reading how to do emulator compilation. I downloaded the qemu source code for macos. But the compilation I got working was for my ubuntu VM.

    <code>

    html,

    body {

    width: 100%;

    height: 100%;

    margin: 0 auto;

    padding: 0;

    background-color: #222222;

    color: #ffffff;

    }

    .page {

    width: 100%;

    height: 100%;

    display: table;

    }

    .contents {

    display: table-cell;

    vertical-align: middle;

    text-align: center;

    -webkit-tap-highlight-color: transparent;

    }

    #content-text {

    font-weight: bold;

    font-size: 5em;

    }

    .dark-mode {

    background-color: black;

    color: white;

    }

    </code>

    <code>

    function myFunction() {
      var element = document.body;
      element.classList.toggle(“dark-mode”);
    }

    </code>

    Day 8 and 9:

    I was trying to read debugging tools. I think I will can talk about debugging.

    I will talk about the software debugging. I will use the tizen emulator to guide us all.

    Debugging:

    Every time we debug or code an application we can debug with gdb.

    Day 9:

    Building a repo on dropBox

    –make an empty repo on dropbox

    cd ~/Dropbox/demo/Git

    mkdir -p newname.git

    cd newname.git

    git –-bare init

    –Updating system

    cd ~/Projects/newrepo

    git remote add dropbox file://$HOME/demo/Git/newname.git

    git push dropbox main

    I am building a SaaS system at home for my work. I have already built a Ubuntu and a gentoo system for my own code git system. I have now a FreeDOS too on working on virtualbox. I will have my Tizen building folders on a private repository too.

    Why I chose Mac and Linux over these years?

    I am an aficionado of BSD and Minix. I was over these years gathering and walking more on Apple waters, an openstep fan. I had a ps2 Linux too, when it came out. But I still use it on VMs. Is there always light. I won’t go nowhere, I will stay here to make these devlogs.

    Thank you and see you next time.

    Devlog #2

    Day 10:

    This day is almost over. I will try to have Tizen always updated. Today I will talk about IRC.

    It came out around at 1988 with an apple server that time. Today the servers are in Unix or Linux. Is a text-based software very old. It was too successful and still have. Today have new ways to transfer over DCC, XDCC, TDCC. These norms over chat and over user or bot it’s p2p.

    What is p2p? It’s a way to communicate two users. Peer to peer is a way as it says, a communication protocol. Imagine a grid, where you are and a friend, you want to send a file. You ask permission to your friend to send a file. That file is on a queue, then it goes to John.

    IRC is always working with queues, like the soulseekQT or even DC++. For me DC++ is almost an IRC norm RFC but with dht table. Is there too a proxy detection flooding or even a TLS detection.

    I remember my times, my days over Ptnet, or even on Quakenet, today I am into rizon and libera chat. With my nickname plvicente.

    Day 11:

    Why I chose Apple? I chose Apple because I have Macs since 2005 and before that I was used to be on a G4 user virtualization stream. I rather be on Apple is there so many to see or to learn. Mostly the Linux is coded on Mac users laptops or even iMac.

    Day 12:

    Typescript for Tizen projects

    → sudo emerge @world

    → sudo emerge vim dosbox

    Day 1-2-3:

    This day is and will be the day for a turning page way. I will keep the devlogs but now we will dig it up on more coding right now.

    We dig it on kernel matters, UI matters and Web App coding stamp examples. I want to make stamp examples to everyone.

    What is a stamp example or stamp bit?

    A stamp example or stamp bit is a way that I called for microcode or gist code inside a structure folder code project. The stamp is always the classes or even functions divided or split up into several files, instead of, real huge files. Remember the files are always like the post-it or stamp for a letter.

    The day 1-2-3 is the launch project startup. We will see the structure of the project as a whole. I will split the project in several stamp projects folders. I think the projects, even bigger should have stamp bit. I think we can avoid bugs with small microcode. I learnt this way when I was young to prevent bugs.

    For now, I will test the kernels before any kind of writing. Even if I am with no devlog at posts.

    Day 2-1-3:

    I will teach html, css and javascript for our projects in tizen web applications.

    Devlog #3

    Day Break:

    I have downloaded the zte open c/ kies 3 model kernel Linux, I will show how we code kernel for tizen too with this version of kernel.

    → git clone https://github.com/HacKurx/android_kernel-unofficial-grsec_zte_msm8610.git kernels/zte/msm8610

    → vim ~/.vimrc

    → filetype plugin ident on

    → syntax on

    → set title

    → set tabstop=8

    → set softtabstop=8
    → set shiftwidth=8
    → set noexpandtab

    or:

    → :set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab

    → sudo update-alternatives –config editor

    These lines are to be or must be typed to help us on coding the system. The kernel must static libs to prevent the shared linking issues. All the kernel structure must optimized and with the modules necessary. Or even to be mandatory.

    Tips:

    → config.vm.synced_folder “myblog/”, “/home/vagrant/myblog/”

    Add this to prevent the stall on the purge of the system on Vagrant.

    On ~/.profile:

    → export ARCH=arm

    → export CROSS_COMPILE=/opt/linaro-4.9/bin/arm-linux-gnueabihf-

    → source ~/.profile

    Yesterday I could build a kernel for zte kies/open c. A normal kernel with gperf. I won’t talk about inclosure gperf, for now. Gperf is a good assessment for linux kerrnel. In a future post I will write it about that.

    For now, before going in advance with qemu debugging on qemu. I will build a qemu vm for testings.

coder by Gleentech
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.