On The Fly – January 18, 2021

Volume 1. Issue 1. January 18, 2021 Happy New Year! We at Swan Software are glad to put 2020 behind us and bet that you are as well. The world has endured immense challenges this past year. COVID-19 has taken a significant toll on the health and well-being of our society and the economy. However, there was […]

Category

On The Fly

Posted

Shannon Krueger

Jan 18, 2021

Volume 1. Issue 1. January 18, 2021

Happy New Year!

We at Swan Software are glad to put 2020 behind us and bet that you are as well. The world has endured immense challenges this past year. COVID-19 has taken a significant toll on the health and well-being of our society and the economy. However, there was a lot of good that came out of the year as well. We have all exercised our perseverance and ability to manage remote work well.

Of course, 2021 will have its own set of challenges. We cannot control everything that happens to us, but we always have a choice how to respond. Let’s respond well, continue to take care of those around us, and choose to thrive this year.

With in-person events being suspended for the foreseeable future we are finding other ways to stay in touch. This monthly newsletter is one way for us to keep connected with you. We will be sharing ideas, and articles we find interesting, uplifting, and relevant. If you have any questions, thoughts, or just funny memes, feel free to share them and we may (with your permission) feature them here in our monthly newsletter. 

Wishing you all the best heading into 2021! 

The Swan Software Team

Here are some interesting articles we found on the web. Let us know what you think!


TECH


Facial Recognition Identifies People Wearing Masks

Japanese company NEC, which develops facial-recognition systems, has launched one that it claims can identify people wearing masks.

It hones in on parts of the face that are not covered up, such as the eyes, to verify their identity.

Verification takes less than one second, with an accuracy rate of more than 99.9%, NEC says.

The Met Police uses NEC’s NeoFace Live Facial Recognition to compare faces in a crowd with those on a watchlist.

Other clients include Lufthansa and Swiss International Airlines.

And NEC is trialling the system for automated payments at a shop in its Tokyo headquarters.

  • Co-op facial recognition trial sparks alarm
  • ‘Let police fight crime with facial recognition’

Shinya Takashima, assistant manager of NEC’s digital platform division, told the Reuters news agency the technology could help people avoid contact with surfaces in a range of situations.

It had been introduced as “needs grew even more due to the coronavirus situation”, he added.

Before the coronavirus pandemic, facial-recognition algorithms failed to identify 20-50% of images of people wearing face masks, according to a report from the National Institute of Standards and Technology.

But by the end of 2020, it reported a vast improvement in accuracy.

Ruled unlawful

Facial recognition has proved controversial.

There have been questions over how well systems recognise darker shades of skin, alongside ethical concerns about invasion of privacy.

In August, the use of such systems by Welsh police forces was ruled unlawful in a case brought by a civil-rights campaigner.

And in the US big technology companies, including Amazon and IBM, have suspended the use of facial-recognition software by police officers, to allow lawmakers time to consider legislation on how it should be deployed.


DEVELOPMENT


10 Powerful Software Development Tools (2020 Rankings)

The best software development tools are in high demand, among the largest and fastest-growing industries in the software industry.

The entire IT industry is worth 5.2 trillion dollars (2020), so it is not surprising that more and more individuals want to be part of the industry.

More than 21 million software developers are out there, yet there is still a shortage in the world.

We will talk about some of the best and most useful software development tools in 2020 and beyond in this article, while also highlighting what they do and how they can assist you.

Let’s get started.

1) monday.com

Monday.com provides an agile development platform for software. It helps agile teams to construct and iterate products faster and quickly.

It will allow you to integrate your existing tools for software development, and you can automatically bring your data from multiple tools to monday.com. With monday.com, you can automate the workflows and save time. It is possible to try the platform without any cost as well.

Top features:

  • Monday.com comes with features to customize your workflows to plan your requirements for iteration.
  • You will be able to monitor the advancement of your team through real-time progress reporting.
  • Exact tracking features for effort will allow you to easily track the actual story points spent on various projects and assignments.
  • You can respond to bugs and problems quickly and efficiently by using forms.

2) Embold

Before deployment, fixing bugs saves a lot of time and energy in the long run. Embold is a platform for software analytics that analyses source code and uncovers issues affecting stability, robustness, security, and maintenance.

Advantages:

  • You can pick up code perks and vulnerabilities with the Embold plugins as you code, before making commitments.
  • The unique detection of anti-patterns prevents unmaintainable code from compounding.
  • Integrate seamlessly with the Eclipse and IntelliJ IDEA plugins available for Github, Bitbucket, Azure, and Git.
  • Get deeper and faster checks, for over ten languages, than standard code editors.

3) Linx

To develop and automate backend applications and web services, Linx is a low-code tool. The tool speeds up custom business process design, implementation, and automation, including simple integration of applications, systems, and databases.

Advantages:

  • Easy-to-use, IDE, and Server drag-and-drop.
  • More than 100 pre-built programming features and services for rapid development plugins.
  • Deployment with one click to any local or cloud server.
  • Almost any SQL & NoSQL database, numerous file formats (text and binary), or REST and SOAP Web services are included in the input and outputs.
  • Live debugging with the logic of step-through.
  • Automate processes through a timer, directory events or message queue, web services exposure, and HTTP requests to call APIs.

4) Quixy

Quixy is a visual, easy-to-use, and no-code framework for developing custom enterprise software that is complex. Organizations use it to automate tasks & processes and create applications without writing any code in more than ten industry vertices.

It is ranked as a leader in the Asia Pacific on the G2 scale. It has many pre-built solutions for different use cases, such as crisis management, cost management, CRM, project management, etc.

Main Functionalities:

  • Quixy is a platform for Zero-Code and can therefore be used by anyone.
  • By dragging and dropping over 40 field controls, you will be able to create a User Interface.
  • Visual Builder can help you model and develop workflows for processes.
  • It offers models and components that are ready for use.
  • Quixy Simulator can assist you in checking what has been created.
  • Quixy is a platform prepared for business and provides features such as an audit trail, private cloud hosting option, IP filtering, single sign-on, custom password policies, multi-step authentication, etc.

5) Atom

Atom is up-to-date, friendly, and hackable to the heart, open-source and free desktop editor cum source code editor.

Main perks:

  • Atom smoothly supports cross-platform editing and works for various Windows, Linux, and OS X operating systems.
  • Atom is a customizable tool for modifying the user interface’s look and feel efficient, adding a few essential features, etc. without changing the configuration file.
  • Atom’s essential features that make it a remarkable tool are its integrated package manager, smart autocomplete, multiple panes, explorer of the file system, search & replace feature, etc.
  • Atom is used to develop cross-platform applications using a system called ‘Electron’ for web technologies.

6) Cloud 9

Cloud 9 was initially an open-source, cloud-based IDE (Integrated Development Environment) in 2010, which supports different programming languages such as C, Perl, Python, JavaScript, PHP, etc. AWS (Amazon Web Service) bought it later in 2016 for further development and made it chargeable according to usage.

Main features and functions:

  • The Cloud 9 IDE is a web-based platform used in the cloud to script, run, and debug code.
  • Using Cloud 9, users can use serverless applications to switch between remote and local testing and debugging operations.
  • Cloud 9 is a versatile tool with code completion feedback, debugging, file dragging, etc.
  • Cloud 9 is an IDE that allows web and mobile developers to work together.
  • Developers using AWS Cloud 9 will share the environment for projects with their workmates.
  • Cloud 9 IDE lets the entire development environment be replicated.

7) GitHub

For code review and code management, GitHub is a robust collaboration tool and development platform. Users can develop applications and software with this GitHub, manage projects, host the code, review the code, etc.

Main features:

  • Developers can easily record their code with GitHub and can host the same code from the repositories.
  • The project management tools of GitHub allow its users to remain aligned, quickly plan, and get their job done accordingly.
  • GitHub’s few features that make it a useful tool are its protection of code, control of access between team members, integration with other tools, etc.
  • In their private ventures, few developers use GitHub to play with new programming languages.
  • On servers and a cloud network, GitHub can be hosted. It runs on Mac OS and Windows.
  • For open-source projects and public use, GitHub is free. It costs @ $7 / month for developers, @ $9 / month for teams and $21 / month for organisations.

8) NetBeans

NetBeans: an open-source and free software development platform written in Java that easily and quickly creates a world-class online, smartphone, and desktop apps. C / C++, PHP , JavaScript, Java etc. are included.

Main Functionalities:

  • NetBeans is cross-platform supported and operates on any operating system, such as Linux, Mac OS, Solaris, Windows, etc.
  • NetBeans offers Smart Code Editing, bug-free code writing, easy process management, and the user interface’s fast development.
  • Using the code analyzers, editors, and converters provided by the NetBeans 8 IDE, Java applications can easily be updated to their newer editions.
  • NetBeans IDE features that have made it the best tool are debugging, profiling, community support, powerful GUI builder, out-of-box work, support for Java platforms, etc.
  • In NetBeans, the well-organized code helps its new developers to comprehend the application structure.

9) Bootstrap

For creating responsive websites and mobile-first projects using CSS, HTML, and Javascript, Bootstrap is an open-source and free platform. To build faster and easier websites, Bootstrap is commonly used.

Main features:

  • Since Bootstrap is an open-source toolkit, you can customize it according to the requirements of your project.
  • Bootstrap offers built-in components that a smart drag and drop facility uses to accumulate sensitive websites.
  • Bootstrap’s powerful features, such as a responsive grid framework, plugins, pre-built modules, sass variables & mixins, allow its users to create their apps.
  • Bootstrap is a front-end web platform used to model ideas and build web applications quickly.
  • This tool ensures continuity between all the developers or users who are working on the project.

10) Node.js

Node.js is a run-time environment for open-source, cross-platform, and JavaScript designed to develop various web applications and build web servers and networking tools.

Main Functionalities:

  • Node.js apps run on Windows, Linux, Mac OS, Unix, etc.
  • It uses non-blocking and event-driven I / O models, Node.js is robust and lightweight.
  • Node.js is used in JavaScript for developers to write server-side applications.
  • Node.js modules are used to develop backend structures and integration with front-end platforms to provide fast and well-organized solutions.
  • The Node.js bundle offers the largest ecosystem of open source libraries.
  • Different IT businesses, software developers, small and large business organizations use node.js to build web and network server applications.

Conclusion

In this article, along with their features, supported platforms, and pricing details, we have researched and listed popular, modern, and recent Software Development Tools.

This is a comprehensive list of programming tools for any modern project used for development. Using these new easy to use and learn dev tools, you can improve your productivity.


QUALITY ASSURANCE


16 Quality-Assurance Steps To Take Before Rolling Out New Tech

It’s finally the end of a long-term development project, and you and your tech team have put in grueling hours to make sure it’s the best it can be. But even though the project is nearing deployment, a crucial step remains—making sure the new product or system is really ready for the final users. 

The ultimate success of new tech can be strongly dependent on users’ experiences “right out of the box,” so getting things right before launching your product into the world is key. To help, 16 experts from Forbes Technology Council share crucial steps that businesses should take to ensure that a new tech project is genuinely ready to hit the market.

1. Use the product internally first.

Make sure that the product solves the problem you originally thought of without adding too much overhead. The next step will be to share this product with your first cycle—partners, friends, and family—to get their feedback. This audience will be more forgiving compared to the crowd. – Assaf Cohen, Anqlave

2. Compare the final product to the original scope.

One of the most important elements outside of the obvious technical quality assurance is to test the product or feature in comparison to the original scope. True readiness is making sure your go-to-market team has a clear understanding of the value that the tool provides. This consciousness will surface so many more bugs and weaknesses and will keep your engineers closely connected with customers. – Shlomo Dalezman, Intello

3. Define what failure looks like.

Make sure you have an ironclad answer to the question, “How will we know if this fails?” Most teams spend a great deal of time figuring out the minute details of the new feature and testing to make sure it works and has no regression errors, but they give short shrift to how they’ll find out if it breaks in production. Quick hint: An irate customer call is not a good answer. – Shaun Dawson, Robiquity

4. Eat your own dog food.

Our customers trust our solutions to enable them to obtain critical insights from their massive data stores. Our goal is to make this process fast and scalable. So, before we launch, we stress-test complex queries on petabytes of our own internal data to ensure superior performance and results. We eat our own dog food because dogfooding is the best method to check quality before a product release. – Ami Gal, SQream

5. Bring in the ‘red team.’

In military wargaming, a red team is a group that provides opposition to a plan or operation by thinking like the enemy to identify risks. Before publishing or launching, I always seek to bring in a few outsiders to play the advocatus diaboli (devil’s advocate). This type of exercise can help challenge preconceived notions and get the team thinking about wildcard scenarios that may arise. – Sean Maday, Google

6. Run a well-executed staging/beta test.

A well-executed beta test provides valuable insights into user experience and quality. Define a strategy based on what you’re trying to learn from beta testing. Agile beta testing with feature toggles helps with continuous testing and provides a constant feedback loop. Managing a constant feedback loop and iterating quickly through some of them is equally critical for a successful product launch. – Beena Jacob, Donoma Software

7. Don’t forget security and governance testing.

Security and governance testing is one of the most important quality-assurance steps we take before we do a large-scale deployment of our products. We are in the business of providing digital receivables and payment solutions for large enterprises. Ensuring the security and governance of the data and transactions is paramount. We conduct detailed testing and internal QA certifications before deployments. – Veena Gundavelli, Emagia Corporation

8. Confirm rollback options.

The most important step of any project is stakeholder and user-base sign-off followed by the confirmation of rollback options and their viability. Without these two critical steps, the deployment and go-live will likely result in change impacts that aren’t expected and require a potential rollback that may not be viable, leading to downtime or user rejection. – Robert Chapman, 101 Solutions

9. Start with a partial rollout.

It should be common practice, but rolling out features to partial user sets is mandatory. In the beginning, you may enable a feature or product for, say, 1% of users/customers. As you test performance, continuously grow the reach of your rollout. A binary rollout—where everyone gets a feature or doesn’t, all at the same time—should almost never happen, and if it does it should be when it’s the only way to deploy. – Frank Speiser, Talla

10. Measure twice, cut once.

With any large-scale deployment, we always break into phases and start with a pilot group, which typically consists of whoever the super users will be. The other key component here is education. Any new product or system is useless if everyone in the sales or adoption cycle isn’t fully aware of why the product exists and the function it serves. – Josh Heller, Candor

11. Launch with a plan for agility.

Don’t just launch—launch with a plan for agility. In fraud prevention, we know fraudsters are always evolving, so any new product or system rollout has to be released with a game plan for responsiveness to new fraud tactics. AI, machine learning and custom modeling are helping companies make huge strides to outsmart fraud. Incorporate the advantages of these early on, and check in often. – Chris Thomas, Emailage

12. Check infrastructure, marketing and monitoring.

There are some important quality-assurance steps before a large scale deployment. First, check on the infrastructure, which is the deployment framework to ensure software component dependencies are addressed. Second is marketing and communications—ensure communication messages and graphics are in place. Third, set continuous monitoring tools to kick off as soon as deployment is completed. – Swathi Young, Integrity Management Systems Inc.

13. Remember user-acceptance testing.

Just because you have planned a lot and think you are done does not ensure that a product or system is ready. Be sure to always plan to do a trial with user-acceptance testing, in which users actually try using the system rather than just testing the system. – Peter Yared, InCountry

14. Validate your cybersecurity checklist.

Probably the most important QA step before a large-scale deployment is to validate your cybersecurity checklist. You can get away with a buggy user experience, missing features or compatibility issues, but you may not be able to recover from a loss of trust that comes with data disclosure or security lapses. – Ajit Gaddam, Visa Inc.

15. Use the MVP approach.

I like to compare a launch to building an ark: You shouldn’t start by building the entire ark—build a couple of rooms of the ark and get feedback on those first. The same strategy goes for launching a product. Using a minimum viable product approach, teams can use feedback from users to adjust features and to guide future developments before large-scale deployment. – Sean McDermott, Windward Consulting Group

16. Focus on flexibility and workability.

As we have seen this year, being able to handle the ebbs and flows of all climates has been the true test for organizations across the globe. Flexibility has become the watchword, and it will be up to executive leadership to ensure all new products and systems consider “workability” in various environments. Leaders must ask teams, “Does this function in a remote working environment?” – Tom Goodmanson, Calabrio, Inc.


SECURITY


Don’t Let Yourself Get Involved In A Cyber Attack: Tips & Tricks

The advancement of technology has provided a plethora of benefits spanning from healthcare and education to safety systems and this has also provided a breeding ground for hackers and potential cyber-attacks.

Computers, even those with virus and malware protection, are vulnerable to cyber attacks where personal or business information can be stolen. Hackers and cyber criminals are experts at finding anything of value on a computer.

Even if you do not think there is anything of value to find if hacked, think again. Hackers do not just steal personal information; a cyber attack can also damage the computer’s network and/or system. This would result in needing new equipment, which is costly.

Cyber attacks can target anyone. According to a study conducted by A Clark School at the University of Maryland, a cyber attack occurs every 39 seconds. If a computer is connected to the Internet, it is susceptible to attacks, even with anti-virus software.

Different Types Of Cyber Attacks

There are different types of cyber attacks that can affect a home computer. Understanding the different types can help with detecting issues and enabling the needed security measures to prevent that attacks.

Malware

Short for “malicious software,” malware is a general term for any software with an intent to damage or disable a computer and/or computer system. This can include viruses, spyware, trojan horses, and other malicious forms of cyber attacks.

Malware is commonly contracted through email links from unknown sources and sometimes pop-up ads. Malware allows hackers to take control of the computer, monitor every action done on the computer such as keystrokes, and send personal information to the hacker’s computer to exploit.

Phishing

Professional hackers know that most people will not open up a random email link from a source they do not know and trust. Therefore, many hackers will install malware into an email that is made to resemble a sender the computer user knows. This increases the likelihood of the user clicking on a link and unknowingly adding the malware to their computer.

Social Engineering

This type of attack is one that does not occur quickly. The hacker takes advantage of the victim overtime by psychologically manipulating them.

The hacker is able to get the victim to release their personal information or perform a certainaction that allows the hacker access to the computer. This can also be damaging in a workplace setting where the victim becomes liable for lost assets within the company.

Ransomware

Ransomware is one of the most advanced forms of cyber attack. A hacker can encrypt the data in a computer with the use of an infected banner ad, email attachment, or an infected website—rendering the computer unusable.

Personal information is taken, destroy data, and also use the computer to launch new attacks on other victims. The hacker(s) will then demand a sum of money to be paid in order to get control of the computer back with the encryption key.

Credential Reuse

There is a reason websites tell a user to create a unique password. Most people have multiple logins for a plethora of websites. It is tempting to reuse the same password, something most people do.

Hackers love it when people reuse a password for multiple websites. If just one website gets hacked and the hacker gains a list of usernames and passwords, they can use those passwords to successfully login to other sites where personal information is stored.

Understanding Different Types Malware

Malware is a broad term that covers an array of cyber attacks. According to a study conducted by Zogby Analytics for The Hartford Steam Boiler Inspection and Insurance Company, one in three Americans had been hacked in a span of 12 months (study conducted in 2016).

Understanding how each type works and how it presents itself is the best way to identifying a problem and fixing it. Some common malware types that are a specific threat to home computers include:

Viruses: This is the most well-known malware type that everyone has heard about. However, not everyone actually knows what a computer virus is. A computer virus will attach itself to a clean file which will attack other clean files. This will lead to the computer malfunctioning and files being deleted.

Spyware: Just like it sounds, spyware is malware that is created to spy on a computer. It will take notes on the user’s passwords, banking information, web surfing habits, and more.

Trojans: This is malware that is disguised as genuine software or has been attached to genuine software. It will develop backdoors in the computer that allows other types of malware to bypass security and affect the computer.

The New Latest Type Of Cyber Threat

Hackers have a new way of targeting victims and that is through smartphones. With the number of smartphones users in the billions worldwide, hackers can easily get a user to unknowingly install malware onto their smartphone with the use of the Internet.

Smartphones have limited security when compared to computers. Hackers use this to their advantage. If a smartphone is plugged into a computer for any reason that malware can then infect the computer.

Due to the compact size and portability of smartphones, a more direct approach for hackers is to steal the smartphone from the user. Through this, the hacker can obtain personal information, corporate data, and financial information.

Smartphone users can also be the victim of phishing. A hacker can manipulate a user in downloading malicious content through email, text messages, and even phone calls.

How To Protect Your Computer And Phone

Protecting your computer from a cyber attack is a must in order to keep personal information secure. Along with secured information, no user wants to have to pay for new computer equipment if it was destroyed by a cyber attack.

Many computer users fear that updating security means paying for a costly program, but this is not true. Luckily, there are many simple tips and tricks available that help users understand the risks and how to protect themselves from attacks.

Unique Passwords

One of the most basic ways of protecting your computer from a cyber attack is by creating difficult passwords. Many websites have guidelines on the screen when creating a password. This is to deter users from using generic passwords that can be guessed by hackers.

Unknown USB Drives

USB drives can carry malware which will transfer over to a computer if plugged in. To reduce the risk, only allow USB drives to be plugged in if you know where it came from and what content is on the drive.

Accepting Requests

Hackers utilize social media to prey on potential victims. Accepting a request from an unknown person can have consequences. Spotting a potential hacker can be a bit easy with one look at the profile.

Do they have a lot of friends? Do the pictures look authentic? Is the information about themselves vague and generic? All of these factors can help you decide whether or not the person is legitimate. It is always better to be safe and avoid accepting requests from unknown people.

External Hard Drive

Losing data is something no one wants. Data can be lost by error and, more importantly, can be destroyed by a cyber attack. External hard drives backup data so that nothing is truly lost.

There is software available that will back up the data regularly so most, if not all, data will be backed up. This can also help save you money in case of a ransomware attack. Never pay the ransom! Rely on the backup.

Keep Updated

Pop-ups for updating the computer can be annoying. However, they are important. Hackers prey on the anolder version of software because it becomes vulnerable. Keeping the computer updated means having more security.

Text/Email Alerts

Social media platforms and emails typically have a form of cyber security where they text/email a user alerts about logins from new devices or suspicious activity on an account.

New logins from some sites also require a code to be entered that will be sent. This two-step authentication system is to keep the account from being hacked. Enabling this feature can help you keep on top of things.

HTTPs

Websites that begin with https encrypts the input and output data to keep hackers from tampering or spying on the site. A website that does not begin with https (may just say HTTP) should never be trusted with sensitive information such as credit card info addresses, and other personal information.

Smartphone Security

Keeping your smartphone safe is another form of cybersecurity. Make sure your phone is password protected in case it is stolen. Using encryption will protect sensitive information stored on the phone as well.

When installing apps, make sure the check the permissions and the maker of the app. Some apps are infected with malware. Also, turn off Bluetooth and Wi-Fi when it is not in use.

Anti-virus Programs

Although anti-virus software can miss some things, they are still the most important aspect of cybersecurity. It is worth paying for an anti-virus security program with two-factor authentication rather than downloading a free one. They help prevent, detect, and remove most malware threats and protect against cybercriminals.


SWAN NEWS


Check out some news from a couple of our clients!



Sources Cited:

“Facial Recognition Identifies People Wearing Masks.” BBC News, BBC, 7 Jan. 2021, www.bbc.com/news/technology-55573802.

Narayan, Vishnu. “10 Powerful Software Development Tools (2020 Rankings).” Medium, Meet A Developer, 13 Oct. 2020, meetadeveloper.com/10-powerful-software-development-tools-2020-rankings-49478ff8cd53.

Panel®, Expert. “Council Post: 16 Quality-Assurance Steps To Take Before Rolling Out New Tech.” Forbes, Forbes Magazine, 11 June 2020, www.forbes.com/sites/forbestechcouncil/2020/06/15/16-quality-assurance-steps-to-take-before-rolling-out-new-tech/?sh=bc76e3d511b3.

“Don’t Let Yourself Get Involved In A Cyber Attack: Tips & Tricks.” StaySafe.org, 9 Jan. 2018, staysafe.org/dont-let-yourself-get-involved-in-a-cyber-attack-tips-tricks/.