I follow the three step to develop any feature or solution of application. First you have to sit together with the user to understand your world. It important to think how his mind work to understand and fell the problem with the application. After understand the feeling, you have to think how can you create the best solution for his problem. This solution need be wornderful for the user, even if it so complicated to implement. The user don't want changes specification only because it soo difficult to implement what he want. He want an application to solve your problem, as he and you thought when you understood the problem. You have to do your best with your time and tecnology avaliable to implement the feature even if it necessary to create some short helper library to help your implementation. This helper library made for the implementation is, some time, necessary to make the code readable. The final soluction should be simple and perfect for the user. If the problem is soo complicated, help if you reduce the scope of the application or the generalization to implement only the user use nowaday, not changing the specification of the application. The important is, the solution must attend to the spectative of the user and be simple to understand and to use.
My best background for backend is Java, but i study a lot Apple tecnology to frontend too. These two environment is perfect when the solution work together, because Java is wonderful to create backend server and Apple tecnology is perfect with your philosophy to create the best experience for the user. I believe that the best solution is when each problem solved in your appropriated part. I want to say that, you can not solve a problem of the server in the client application and you can not solve a client application problem in the server. When you not study these tecnology together, it easy to make that mistake. All the time that i am developing, i thought that this problem is from each part of the project?
I like to create project that i saw a oportunity to make a new think. We have many products avaliable that not attend the real demand of the user. When it happened and when i have time to see and think about the problem, i study and make a prototype of the project with my best solution. How know and work together with me, know that i love to solve problem for project with a prototype and solution, because i believe that it is important to implement a prototype to discovery news knowledge about the problem.
Normally, in my personal and work project, i develop component-oriented and test each step of your construction, step by step. I use TDD to implement the component, because i know that when i finished the component, all the tests that i plan was writed. When i need to create a user interface, in all type of tecnology or language, i have preference to use the Passive View. [100] [111] [112]
This curriculum is so long because i use to organize all my projects in my professional life. For me, all this project represent a timeline of my works. Sorry if it is too long.
My main personal project called StmtNode [13] and this project is a development platform with an IDE and Programming Language owner and unique for the application. The big proposal of this IDE and Programming Language is the code generator from this Programming Language to others Programming Language, as if it were coded by a developer manually. For example, a project developed in this IDE and Programming Language can be converted to a Java project, NodeJs client/server, Apple application and others technology as if it were a project written manually, depending on the code generators implemented.
I am the only developer of the project and i spend my free time to implement it, because i believe that it is a wonderful project and i will use for my others personal projects.
The left image show a screenshot of the application executed at macOS environment building the owner website. You can visit the website stmtnode.com to get more information about the project or send me email bernardoberder@gmail.com asking.
New generation of Architectures GPUs allow concurrent execution kernels on the same hardware. This feature can increases the power of these devices, since it makes possible the concurrent execution of different tasks on the same hardware. However, the hardware decisions about the order execution depends heavily the order at which the kernels are submitted, causing the utilization of the hardware is not optimized.
This work propose a novel optimization approach to reorder the kernels submittion focusing on maximizing the resources utilization, improving the average turnaround time. The model the simulation of the kernels with the hardware resources modeling as a knapsack problems and use algorithm greedy and dynamic programming approach to solve them. The results are measure using kernels with different sizes and resource requirements, resulting a significant gains in the average turnaround time and system throughput compared with a standard execution of concurrent kernels.
Projects with specific requirements require specific programming languages. These programming languages should provide tools for a better implementation. Some projects aim at improving the modularity of its architecture, focusing on high level development while others require a better runtime performance, using low level programming features.
Breder Programming Language was designed to meet the requirements of projects that require high level and low level development by optimizing the interconnections between those levels. This work describes the characteristics of the Breder programming language and how to use it.
[1] Graduation Defense Documentation
The increasing amount of resources available on current GPUs sparked new interest in the problem of sharing its resources by different kernels. While new generations of GPUs support concurrent kernel execution, their scheduling decisions are taken by the hardware at runtime. The hardware decisions, however, heavily depends on the order at which the kernels are submitted to execution. In this work, we propose a novel optimization approach to reorder the kernels invocation focusing on maximizing the resources utilization, improving the average turnaround time. We model the kernels assignments to the hardware resources as a series of knapsack problems and use dynamic programming approach to solve them. We evaluate our method using kernels with different sizes and resource requirements. Our results show significant gains in the average turnaround time and system throughput compared to the kernels submission implemented in modern GPUs.
Sharing GPUs is an important trend in high-performance computing, especially true in virtual GPU environments that seek to meet the demands of customers in a cloud environment. In this scenario, GPUs need to be able to efficiently handle a variety of application loads and provide compatible throughput. In this work, we discuss the scheduling of kernels for execution on the GPU. More specifically, we present strategies to define the order in which the kernels are scheduled for execution. As this is an optimization problem, it can be modeled as a 0-1 knapsack problem. In this work, we propose the use of a greedy heuristic to solve the knapsack problem. We evaluated the gains and costs of the greedy method compared to the dynamic programming method. Our results show that the greedy method obtained good performance results with a lower execution overhead, which can be a viable solution in large scale environments.
The increasing amount of resources available on current GPUs sparked new interest in the problem of sharing its resources by different kernels. While new generation of GPUs support concurrent kernel execution, their scheduling decisions are taken by the hardware at runtime. The hardware decisions, however, heavily depend on the order at which the kernels are submitted to execution.
In this work, we propose a novel optimization approach to reorder the kernels invocation focusing on maximizing the resources utilization, improving the average turnaround time. We model the kernels assignments to the hardware resources as a series of knapsack problems and use dynamic programming approach to solve them. We evaluate our method using kernels with different sizes and resource requirements. Our results show significant gains in the average turnaround time and system throughput compared to the standard kernels submission implemented in modern GPUs.
This paper, propose a new framework definition for programming to iPhone with simplicity and productively. With this way, the developer can create a application, thinking only the logic of the game, forgeting the difficulties of framework and native Language for programming to iPhone.
This framework has simple and objective features to ensure the practicality of programming for iPhone. For this, we implemented a specification based on typical game framework architectures, which meets these requirements by using a Programming Language.
The Objetive-C Language used for programming to iPhone is a low level Language[STEPHEN G. KOCHAN]. With this, the developer need to implement and manager many thinks in the environment that should not worry. Because of that, it will be good if the devel- oper can use a high level Language in which will only worry about the logic of the application.
In this paper, will be used the Breder Programming Language for implement this framework. It because, the Breder Language is a high level Language that has many features to ensure the further structuring of code and productivity [BREDER, B]. Moreover, this Language was developed to assist projects that require high effi- ciency in native method call deployed in some external library, that will be use for comunication with iPhone framework [BREDER, B].
This paper proposes a new framework definition that makes programming for iPhone simple and productive. In this paper the Breder Programming Language will be used to implement this framework. That is because the Breder Language is a high level Language that has many features which ensure further productivity and structuring of code.
SmartHSE is a proprietary software technology developed by Displace, with the objective of creating alerts and inference reports generated from customer demand. In this session, learn how the software uses deep learning installed on NVIDIA® Jetson™ and submits the collected information to the Displace cloud server. They'll reveal how they use a visual computater to mitigate risks in factories.
Developer with Project for client with AI solution since 2019.
Developer with Java and Oracle for Petrobras. The software is a Desktop Application and a RMI Server. I work at this company since 2007.
Computer Graphic in 2012/01 with 80 hours
Algorithm and Programming in 2012/01 with 80 hours
Computer Graphic in 2012/02 with 80 hours
Construction of Algorithm in 2012/02 with 80 hours
Java and Javascript Developer of the Vitrinii.com
Software Engineer of the Vitrinii.com
Developer with Java the Xkeeping.com
Software Engineer of the Xkeeping.com
Developer with Java for Internal System
Web system built with Java Server
Developer with Java and Oracle for Programming Language
Developer and Creator of the Software Compiler
This software compile a generic source code and generate a Report of the Company based with your Database
The project proposal is to create a web site development environment that integrates a new and unique programming language into the project to a remote host coming from a remote server service.
The main goal of the project is to "marry" between a unique programming language and a remote host, so that together they can interact and gain development resources not available in many environments. In addition, this "marriage" can have a greater approximation between the client's project and the resources that the machines need for their execution.
With the semantic and semantic analysis information and execution context captured by the new programming language used by the client, the remote machine will be able to better manage its resources for execution, and may also shift the project execution context of a machine to another at run time when more or less hardware resource is requested. In this way, a running web project can be moved from one machine to another without interference in the execution line, totally transparent to the client, providing management more adequate to the machine resources.
With this project execution context-shifting feature, remote machines can self-manage in a way that maximizes the capabilities of the machines in the face of running projects.
This project is a proposal of a new operating system with integrates knowledge of database, structure data e many other library and framework. This study is more detailed at the link above.
I am working to Tecgraf since 2007 for many years with Java and Oracle, programming to desktop application for Petrobras.
Java is the Language that i have more experience in my professional life. With this language, i could implement and participate with many big and short project. The list below, show projects of Java that i participated ordered by the importance.
BandeiraBR
Gpu Scheduler [84]
Agent Breder [23]
XKeeping
On Off Marketing
Breder Language
Report Compiler
Doctor Neuro
Vitrinii
Java Certification
The list of project below, show personal and short project to study proposal to new project ordered by the importance.
Http Websocket Server [78] [113]
Remote Service Access [79]
Database Storage [98]
Database in Memory [99]
Workstation Desktop [85]
Simple WebServer [86]
Simple WebServer [86]
Editor [97]
The list of modules below, show personal and short modules of concept that can be used in others projects.
EL Parser [96]
Html Builder [95]
Markdown Panel [94]
WebSocket [93]
JavaXml [92]
Java2Js [91]
Json [90]
PLSql Parser [89]
Swing Test [88]
Time [87]
I have many experience with iPhone and MacOS development with some projects by company listed below ordered by the importance. Same project is continue and other was finished because what was made is enough.
Statement Node [13]
BlueX
BandeiraBR
BeMyMap
Database Crypto
Agent Breder [23]
The Agent Breder was builded, when i was doing my master degree, which target is to create a node of server at the iPhone that can help to responde same requests from a main real server, like it is helping the server. With this, the agents can help to process the request information of the servers, and delegate to agent respond. This collaboration with agents of the computational effort that has a Web server, it will be better comment in the work.
Encrypt
SSH [24]
Day Cost
I have many experience with iPhone and MacOS development with some personal short projects separated by module listed below ordered by the name. This short projects was created by me to reuse the modules into others personal projects.
Aes [14]
Array [15]
Atomic [16]
BigInt [17]
BigSet [18]
BigSet Codec [19]
Compress Data Codec [20]
Data Codec [21]
Data Store [22]
Data Stream [25]
Database FileSystem [26]
DataBuffer [27]
Date [28]
Dictionary [29]
FileSystem [30]
Heap Queue [31]
Http Client [32]
Http Server [33]
Index Literal [34]
Json [35]
Json File Change [36]
Json File Revision [37]
Json File Revision Base [38]
Json File Revision Client [39]
Json File Revision Server [40]
Json Track [41]
Lambda [42]
Language [43]
Lexer [44]
Literal [45]
Log [46]
Markdown [47]
Memory FileSystem [48]
Optional [49]
Path [50]
Path Literal [51]
Property [52]
Random [53]
Regex [54]
Server [55]
Sha3 [56]
Shell [57]
SSL Server [58]
SSL Socket [59]
Standard FileSystem [60]
Standard Server [61]
Standard Socket [62]
Stream [63]
String Buffer [64]
Swift Parser [65]
Swift Shell [66]
Task Flow [67]
Unix Shell [68]
This session is under constructor.
Gpu Scheduler [84]
Hardware Simulator [77]
VHDL [80]
LabView Certification [81]
[1] Graduation Defense Documentation
[2] Graduation Defense Presentation
[3] Master Defense Documentation
[4] Master Defense Presentation
[7] Breder Programming Language for iPhone Game Programming
[8] UFF - Universidade Federal Fluminense
[9] Breder Programming Language for iPhone Game Programming
[10] GitHub.com of Bernardo Breder
[11] LinkedIn of Bernardo Breder
[19] Apple Module BitSet Codec
[20] Apple Module Compress Data Codec
[26] Apple Module Database FileSystem
[34] Apple Module Index Literal
[36] Apple Module Json File Change
[37] Apple Module Json File Revision
[38] Apple Module Json File Revision Base
[39] Apple Module Json File Revision Client
[40] Apple Module Json File Revision Server
[48] Apple Module Memory FileSystem
[51] Apple Module Path Literal
[60] Apple Module Standard FileSystem
[61] Apple Module Standard Server
[62] Apple Module Standard Socket
[64] Apple Module String Buffer
[65] Apple Module Swift Parser
[69] Certification of Top Articles from WSCAD
[70] Certification of Java Associate
[71] SWAS Project for Host Server
[73] Seminary about iOS Security
[76] Seminary of Breder Programming Language at Tecgraf
[77] Hardware Circuit Simulator
[79] Focus the student Bernardo Breder (end of page 4)
[81] LabView Certification Doing
[85] Workstation Desktop Java Application
[86] Simple WebServer for Java
[91] Java to Javascript for Java
[98] Database Storage for Java
[112] Swing, Passive Model-View-Presenter In 5 Minutes
[113] Http Websocket Server Presentation