Noutați

Creating the future of version control: A call for beta users

While this functionality does already exist via the desktop client, the goal of this release is to get teams up and running directly in the web dashboard. This eliminates the need to install a separate client for routine management tasks. Additionally, Saver Studios can implement a network (IP) allowed list to prevent malicious users from accessing the organization. If a user tries to connect to the cloud server from an IP that is not on the allowed list, the connection will be rejected. For ease of management, Saver Studios can simply specify the allowed IPs, or name particular users who can connect from certain IPs. To help new team members get started, Saver Studios maintains a well-documented readme file. The readme is often the first file that a new team member is going to read, as it contains key information about the software, project, code, game, and setup instructions. As Saver Studios onboards new contractors to use the Plastic web dashboard, they are equipped with all the tools at their disposal to make the most of their onboarding process.

Read More

10 Compelling Reasons Why You Need The Best Low Code App Builder

Ada Lovelace published the first computer program in 1843. Since then, programmers have been trying to simplify the art of programming. Although the low code movement is gaining in popularity and increasing adoption as a methodology, its essence is not new. If we define “low code” to mean “easy code reuse”, then it is a polished word for an age-old struggle. From inventing Assembly language to RAD tools and everything in between is an effort to simplify programming. In today’s competitive world, choosing and using the best low code app builder allows us to develop professional, elegant solutions quickly, easily and with the absolute minimum of effort. Although people sometimes conflate the terms “Low Code” and “No Code”, they are not equal. The target audience of low code is developers with technical knowledge. In contrast, no code is helpful to business users and, often, those with little or no technical skills. Thus, no code tools are frequently primarily visual drag and drop setups with limited scope. Here we will discuss low code only. Notably, the Low Code/No Code industry is growing even faster than the rest of the software application development market. Forrester has predicted the growth of this industry to be $21.2 billion by 2022. It was $3.8 billion in 2017, an astonishing increase of about 600%. This demand and rapid growth make it vital for businesses and developers to study and adapt accordingly. So let us discuss the top ten compelling reasons to choose the best low code platform. 1. Do you care about your IP and business secrets? Many low code app development platforms are not safe enough for your intellectual property and data. Hackers steal banks’ data these days, proving how challenging it is to take care of sensitive data. If your trade secrets, clients’ details, and other essential data reside on an online server with thousands of different clients, how secure can it be? Thus outsourcing might not be a good option for everyone. 2.Is the start-up speed of your apps essential to you? If your App takes more than a few seconds to load, your customer is gone. The startup speed is critical and, in fact, crucial for customer satisfaction. Unfortunately, many low code apps builder software generate generalized apps that are neither up to speed nor up to the look and feel of the target platform. Customers quickly rate them low or don’t find them helpful. It is not right to conclude that your business idea has failed. The idea is only doomed because you used poor infrastructure for its implementation. 3. Is having a unique brand image important for you? No one wants to look like their competitors. Because if customers perceive a business as a copycat, it will ruin the brand image. As a low code application platform‘s look, feel, and functionality mimics one another, the customer might perceive it as a copycat. On the other hand, the easier it is to copy your business, the sooner copycats will come to snatch your customers. Thus, building and keeping your unique brand image through Low Code app generators isn’t easy. Open source low code platforms are more prone to this problem. 4. Do you need real-life apps or just prototypes? Real-life Apps are big, complex, and changing. That is why they are […]

Read More

How To Create A Simple Database C++ App

We’ve already come across several videos and webinars that highlight the quick and easy process of creating database applications in Delphi. There is also a great number of windows app development tools and libraries that you can effectively use to create a database C++ app. Interestingly, despite the apparent simplicity of the program source code, Delphi is a modern, extremely capable, and high-level programming language that works well for both beginners and professional developers. In this short video, Jim McKeeth will demonstrate how to create a simple database application using C++ Builder. Building a multi-device FireMonkey application with FireDAC and InterBase Creating a Database application in Delphi C++ Builder and connecting it to a database management system is surprisingly easy and quick. McKeeth utilizes the so-called CRUD functionality which simply stands as Create, Read, Update and Delete, the major operations which are implemented by databases. In this video, Jim McKeeth will demonstrate the creation of the database application from scratch. It started by dragging all the important components into the form. This includes FireDAC, a unique set of Universal Data Access Components for developing multi-device database applications for Delphi, and C++Builder. In the video, McKeeth uses a sample Employee database provided by FireDAC. It also requires Custom Table and a Grid to display the data. You can also add Field Editor to create variables for each individual field but this is only optional. The video will also show us how to use the LiveBindings framework to bind all objects together, as well as the convenient use of Navigator bars when working with database applications. To know more about how to easily create a database application using FireDAC and InterBase, feel free to watch the video below.

Read More

Updated for 2021 LTS: The definitive guide to lighting in the High Definition Render Pipeline

The definitive guide to lighting in the High Definition Render Pipeline (HDRP) is now updated with tips for taking on the latest capabilities in Unity 2021 LTS. Learn how to create high-end lighting with production-ready HDRP features – from Light Anchors to Lens Flares, and beyond. This e-book was initially created and published late last year to demonstrate the power of physically based lighting in HDRP for generating high-end lighting effects across PC and console games. We’ve received positive feedback from our users, and have since updated the guide to include key features in Unity 2021 LTS. This way, it can remain a foundational, advanced-level resource for technical artists, lighting artists, and developers working in Unity.

Read More

Creating games for everyone: Introducing Unity Learn’s new accessibility course

Practical Game Accessibility is a new, free online course for intermediate creators. It’s an introduction to creating games that more players can enjoy. As you work through the course, you’ll learn about prioritizing accessibility while building a game guided by an inclusive design approach. To support this learning journey, we created Out of Circulation – a small, vertical slice of a point-and-click narrative adventure game. You’ll use Out of Circulation as an example case study to explore and expand upon throughout the course. “You’ll work it out, Sureswim,” Old Smalt reassures you as she passes you the apanthometer and sends you on your way. Surely the benevolent tech-witch and her gadgets will help you solve the mystery surrounding the local library. While your sidekick Wink is an expert in eavesdropping, you’re going to need all the support you can get!  Not working on a game? No problem! Although Practical Game Accessibility uses games and game development as its core example, you can also apply much of what you’ll learn to other non-game projects, such as simulations, visualizations, and other real-time applications.

Read More

A Step-By-Step Guide To Cross-Platform App Development

In a world where people are constantly glued to their gadgets, it’s no surprise that businesses are starting to invest more in mobile app development. But with so many different types of devices out there, how can you make sure your app will work on all of them? The answer is cross-platform app development! What is cross-platform app development?  Cross-platform app development is creating software that can be used on multiple platforms. This can be done either by creating separate software versions for each platform or by using a cross-platform development tool that allows the software to be written once and then compiled for each platform.   There are many benefits to developing cross-platform apps, including reaching a wider audience and saving time and resources by only having to create and maintain one codebase. However, some challenges need to be considered, such as ensuring that the software works correctly on all platforms and dealing with any differences in how each platform handles certain features. If you’re thinking about developing a cross-platform app, then check out our step-by-step guide below. We’ll take you through everything you need to know, from choosing the right development tool to testing your app on all devices. RAD Studio – Native and Cross-Platform Development Ecosystem Why develop a cross-platform app? Cross-platform app development has become increasingly popular as more and more businesses look to reach their customers across various devices and platforms. There are several reasons why you might choose to develop a cross-platform app: Reach a wider audience: Developing your app for multiple platforms means that you can reach a more significant number of potential customers. Create Cross-Platform Native Applications with Delphi FireMonkey – Also deploy to Linux system using FMXLinux Cost-effective: Developing a cross-platform app can be more cost-effective than developing separate apps for each platform, as you only need to create one codebase. Build Cross-Platform Native Apps with Delphi FireMonkey Time-saving: Developing a cross-platform app can save you time, as you only need to create one set of code, which can then be used across all platforms. Use Delphi’s award-winning VCL framework for Windows and the FireMonkey (FMX) visual framework for cross-platform responsive UIs and utilize FireMonkey design-time guidelines for Prototype faster with visual lines and enhanced margin and padding support. Moreover, with FireUI’s revolutionary technology you can see what your application’s UI looks like on any device without installing it. Increased flexibility: Cross-platform apps offer increased flexibility, as they can be easily adapted to work on new platforms or devices as they are released. Delphi with FireMonkey framework is the best combination of a programming language and a framework for building cross-platform apps within no time. FireMonkey’s underlying visual control architecture enables multiple presentation implementations per control called ControlTypes in particular, native OS control presentations can be utilised. Furthermore, the underlying architecture is MVC based and provides backwards compatibility to choose at design time between Styled and Platform (OS) specific control types with their native features. By this, you can have smooth scrolling and performance and maintains complete cross-platform fidelity across Windows, macOS, Android, iOS and Linux. If you’re considering developing a cross-platform app, then this guide will give you all the information you need to get started.  What are the different types of cross-platform apps? There are two main types of cross-platform apps: native and […]

Read More

TMS FNC Chart: Visualize your Grid Data

With the release of the new TMS FNC Chart version 2.0, it is now possible to show beautiful graphs based on the cell data in a TMS FNC Grid. This requires the installation of the TMS FNC UI Pack next to TMS FNC Chart. TTMSFNCChartGridAdapter The files for the TTMSFNCChartGridAdapter are available in the directory, but due to the dependencies to the TMS FNC UI Pack, they are not added to the packages by default. If you want to use the component in design-time it will be necessary to add the four different TTMSFNCChartGridAdapter units (and the Reg, DE and RegDE) with the prefix to the respective framework packages. Setup You can quickly set up the environment necessary to start. You need a TTMSFNCChart, a TTMSFNCGrid and the TTMSFNCChartGridAdapter.Link the Adapter property of the TMSFNCChart to the TMSFNCChartGridAdapter.And set the source of the TMSFNCChartGridAdapter to the TMSFNCGrid. You can now already start making your graph. As the default behavior of the TMSFNCChartGridAdapter will try to create a new series for each column that has a value in the first line. If it finds a text value in the first row it will use the first column it encounters as the x-value text. TTMSFNCChartGridAdapterSeries If you are using a more uncommon positioning of your data or you want to use multi-point data, you can use the TMSFNCChartGridAdapterSeries. This collection contains items for the different series that should be drawn in the chart.For this you’ll need to set the AutoCreateSeries property of the TMSFNCChartAdapter to False and add a new series item.There you can set the columns to use from your TMSFNCGrid. Now we set some the data in the cells. And set the format type of the X-axis to vftDateTime so it tries to parse the cell to a TDateTime format. Because the adapter only triggers when a cell has been edited, we need to call the Synchronize procedure when changing cells in run-time. procedure TForm.FormCreate(Sender: TObject); begin TMSFNCGrid.Cells[1,0] := ‘Date’; TMSFNCGrid.Cells[2,0] := ‘Low’; TMSFNCGrid.Cells[3,0] := ‘High’; TMSFNCGrid.Cells[4,0] := ‘Open’; TMSFNCGrid.Cells[5,0] := ‘Close’; TMSFNCGrid.Cells[1,1] := ‘7/06/2022’; TMSFNCGrid.Cells[1,2] := ‘8/06/2022’; TMSFNCGrid.Cells[1,3] := ‘9/06/2022′; TMSFNCGrid.Cells[1,4] := ’10/06/2022′; TMSFNCGrid.Cells[1,5] := ’11/06/2022’; TMSFNCGrid.Cells[2,1] := ‘24.8’; TMSFNCGrid.Cells[2,2] := ‘23.8’; TMSFNCGrid.Cells[2,3] := ‘22.8’; TMSFNCGrid.Cells[2,4] := ‘21.8’; TMSFNCGrid.Cells[2,5] := ‘20.8’; TMSFNCGrid1.Cells[3,1] := ‘32.5’; TMSFNCGrid1.Cells[3,2] := ‘30.2’; TMSFNCGrid1.Cells[3,3] := ‘34.6’; TMSFNCGrid1.Cells[3,4] := ‘30.2’; TMSFNCGrid1.Cells[3,5] := ‘33.7’; TMSFNCGrid.Cells[4,1] := ‘27.3’; TMSFNCGrid.Cells[4,2] := ‘25.3’; TMSFNCGrid.Cells[4,3] := ‘28.0’; TMSFNCGrid.Cells[4,4] := ‘30.1’; TMSFNCGrid.Cells[4,5] := ‘30.0’; TMSFNCGrid.Cells[5,1] := ‘25.3’; TMSFNCGrid.Cells[5,2] := ‘28.1’; TMSFNCGrid.Cells[5,3] := ‘30.2’; TMSFNCGrid.Cells[5,4] := ‘30.2’; TMSFNCGrid.Cells[5,5] := ‘24.6’; TMSFNCChart.DefaultLoadOptions.XValuesFormatType := vftDateTime; TMSFNCChartGridAdapter.Synchronize; end; procedure TForm.TMSFNCChartGridAdapterSynchronized(Sender: TObject); begin TMSFNCChart.Series[0].ChartType := ctCandleStick; TMSFNCChart.Series[0].MinXOffsetPercentage := 10; TMSFNCChart.Series[0].MaxXOffsetPercentage := 10; end; Events to customize the data To make it possible to manipulate the grid data some more, we’ve added a couple of events so you can set the chart to your liking.I’ve changed the TTMSFNCChart to a TTMSFNCBarChart, but it’s also possible to set the chart type of the series in the Synchronized event. // Example data procedure TForm.FormCreate(Sender: TObject); begin TMSFNCGrid.Cells[1,0] := ‘Prod-Num’; TMSFNCGrid.Cells[2,0] := ‘Product’; TMSFNCGrid.Cells[3,0] := ‘Price’; TMSFNCGrid.Cells[4,0] := ‘Volume’; TMSFNCGrid.Cells[5,0] := ‘Color’; TMSFNCGrid.Cells[1,1] := ‘CA-J-123.45’; TMSFNCGrid.Cells[1,2] := ‘CA-S-155.78’; TMSFNCGrid.Cells[1,3] := ‘CA-S-267.36’; TMSFNCGrid.Cells[1,4] := ‘CA-D-102.10’; TMSFNCGrid.Cells[1,5] := ‘CA-S-403.48’; TMSFNCGrid.Cells[2,1] := ‘Jeans’; TMSFNCGrid.Cells[2,2] := ‘Shirts’; TMSFNCGrid.Cells[2,3] := ‘Sweaters’; TMSFNCGrid.Cells[2,4] := ‘Dresses’; TMSFNCGrid.Cells[2,5] := ‘Shoes’; TMSFNCGrid.Cells[3,1] := ‘48.99’; TMSFNCGrid.Cells[3,2] := ‘26.99’; TMSFNCGrid.Cells[3,3] := ‘34.99’; TMSFNCGrid.Cells[3,4] […]

Read More

Display and edit math formulae using the new math editor component

With the latest update of TMS FNC WX Pack, we released the new TTMSFNCWXMathEditor component. This component let’s you easily display and edit math formulae. No code is required to get started. Simply drop it on the form and you’re ready to go.  Virtual Keyboards Not only can you directly type in the math formula you want, you can also use virtual keyboards which are available in the component. There are multiple keyboards available to use like one for functions or one to type symbols with. These keyboards are customizable. You can set a theme, which keyboards to display and even when to show the virtual keyboard (i.e. on focus, manual, off, auto). LaTeX You can also type LaTeX commands to render your formula. Currently, there are over 800 LaTeX commands supported. The editor even gives you a visual aid when starting to type some of the commands. You can use LaTeX directly in the editor or use the Math property to set a default value to be shown. You can also export the typed in formula in LaTeX or in several other formats like spoken or ASCIImath.  Video Watch this video to get you started with the TTMSFNCWXMathEditor.

Read More

Learn Python with Pj! Part 5 – Build a hashtag tracker with the Twitter API

This is the fifth and final installment in the Learn Python with Pj! series. Make sure to read: Putting it all together I’ve completed my Python course on Codecademy, and am excited to put the skills I learned into building something practical. I’ve worked with the Twitter API before; I wrote a few bots in Node.js to make them tweet and respond to tweets they’re tagged in. I thought it’d be fun to work with the API again, but this time do it in Python. I didn’t just want to make another bot, so I had to figure out something else. In this case, I made a bot that can track hashtags being used in real time on Twitter. Here’s my repo containing a few different files, but live_tweets.py is what we’ll focus on for this blog. Let’s talk about how I built it and what it does. import tweepy import config auth = tweepy.OAuth1UserHandler(config.consumer_key, config.consumer_secret, config.access_token, config.access_token_secret ) api = tweepy.API(auth) #prints the text of the tweet using hashtag designated in stream.filter(track=[]) class LogTweets(tweepy.Stream): def on_status(self, status): date = status.created_at username = status.user.screen_name try: tweet = status.extended_tweet[“full_text”] except AttributeError: tweet = status.text print(“**Tweet info**”) print(f”Date: {date}”) print(f”Username: {username}”) print(f”Tweet: {tweet}”) print(“*********”) print(“********* n”) if __name__ == “__main__”: #creates instance of LogTweets with authentication stream = LogTweets(config.consumer_key, config.consumer_secret, config.access_token, config.access_token_secret) #hashtags as str in list will be watched live on twitter. hashtags = [] print(“Looking for Hashtags…”) stream.filter(track=hashtags) Here’s how this all works. First, we import two modules: Tweepy and config. Tweepy is a wrapper that makes using the Twitter API very easy. Config allows us to use config files and keep our secrets safe. This is important since using the Twitter API involves four keys that are specific to your Twitter developer account. Getting these keys is covered in this Twitter documentation. We’ll talk about what’s in the config file and how it works later. The next line defines the variable auth using tweepy’s built in authorization handler. Normally, you’d put in the keys directly here, but since we’re trying to keep secrets safe, we handle those through the config file. In order to call those variables hosted in the config file, we type config.variable_name. Finally, in order to access the tweepy api, we create the variable api with the auth variable from the line above passed into tweepy.API(). Now, the variable api will give us access to all the features in Tweepy’s Twitter API library. You’re invited! Join us on June 23rd for the GitLab 15 launch event with DevOps guru Gene Kim and several GitLab leaders. They’ll show you what they see for the future of DevOps and The One DevOps Platform. For our purposes, we want to find a hashtag being used, then collect the tweet that used it and print some information about the tweet to the console. To make this happen, we’ve created a class called LogTweets that takes an input tweepy.Stream. Stream is a Twitter API term that refers to all of the tweets being posted on Twitter at any given moment. Think of it as opening a window looking out onto every single tweet as it’s posted. We have to make this open connection in order to be able to find tweets that are using our hashtag. Inside LogTweets, we define a […]

Read More

Ski first, work later – How to win the burnout battle

It’s 9:13 am and 20 degrees outside in Big Sky, Montana. I’m bundled up in my warm rainbow pride ski suit. Dangling 30 feet in the crisp air, perched on a ski lift, I’m on my way up to a double black diamond run 9,382 feet above sea level. There are few people out this early on a Wednesday morning. I ski off the top of the lift and enjoy a beautifully untracked run of champagne powder snow, fresh from last night’s snowstorm. This is a normal start to the workday for me. And I have a bit of a secret to admit, this is exactly why I joined GitLab. Something’s gotta give Rewind two years to January 2020, before I joined GitLab. Before I had materialized my daily skiing routine. Before I moved to Big Sky. Before the global Covid-19 pandemic. I had decided I needed to make a change in my life. I had spent the past decade of my life climbing the startup tech career ladder. Along the way I had sacrificed my health, happiness, and my mental and emotional well-being. I was burnt out. While I don’t think I’d change anything going back, I knew the next decade wouldn’t sustain that lack of work and life balance. I needed to get back to being the person my friends and family knew: a slim guy with a smile always on his face and a hopeful outlook for the future. You’re invited! Join us on June 23rd for the GitLab 15 launch event with DevOps guru Gene Kim and several GitLab leaders. They’ll show you what they see for the future of DevOps and The One DevOps Platform. A remote change GitLab had been on my radar for a number of years as many of my tech friends had become DevOps engineers, but I had not used it myself. What I did know was at the time they were one of the few truly remote companies with no offices and a global team embracing an async work style. While I hadn’t ever worked remotely before, I knew I liked the idea of not being stuck in a bland office of noisy and distracting open floor layout workspaces surrounded by silly ping pong tables and unlimited snacks. My previous employers thought these things made for a ‘supportive environment and ‘great work culture’. I couldn’t disagree more. It was a scary thought to have less structure, but my previous decade had shown me those offices weren’t conducive to my sanity, happiness, or productivity. So I decided, let’s go all in. I knew I wanted to make a big change, so I tested GitLab when I was interviewing. I gauged reactions from my interview panel as I described my desire to move to a ski mountain and balance working and skiing. I was caught by surprise. Every person I interviewed with loved this idea and encouraged me that GitLab’s remote and async working style would be supportive of this plan. Just about everyone had a story of how they themselves had adjusted their schedule to add flexibility to their lives. I was convinced. This was the future. A global pandemic Two months after joining GitLab in January 2020, the pandemic ruined my plans to relocate to a wintry wonderland. I delayed […]

Read More