Apple’s Objective C has got rather old now, after a run that spanned roughly 3 decades. The tech giant, a few years back, decided to change things for the better with a new programming language. The language got a major upgrade at WWDC 2015, and its version 2.2 was, surprisingly, made open source under the Apache License 2.0. Going by the name Swift, the language didn’t gain much momentum…till now.

Though it didn’t create much of a big impression at first, Swift did prove useful for macOS X and iOS application development. Its compatibility with existing Objective-C libraries is an added benefit, making it a great option for developers who already know their way around Objective-C.

That said, Swift is expected to make a major comeback soon with its clever features, design elements, and further upgrades. It could be the most wanted skill in software development soon, if Apple continues to improve it at a rapid pace.

Here’s why it’s time for iOS developers to start picking up Swift.
 

It’s easy to learn

 
Swift’s syntax is simple enough to rival Python, and the language was designed to be easy to use. Even while learning, developers would be able to build apps faster than they would be able to when learning a different platform. The short learning curve also seems to have got many developers interested in the language over the years.
 

It’s quite fast

 
There are claims that codes built with Swift is as fast as compiled C codes. The language facilitates a more responsive development environment with Apple claiming that Swift’s search algorithms is up to 2.6 times faster than Objective-C, and 8.4 times faster than Python 2.7. The language also provides real-time feedback and enables developers to seamlessly integrate it with existing Objective-C code.
 

Devs can tinker with it

 
In order to make the language approachable and more appealing to developers, Apple made available a lot of learning resources and a cool app called Swift Playgrounds. The developers can experiment with Swift and learn the concepts behind it quickly with the Playgrounds app.
 

It’s safe

 
Apple made no compromises when it comes to Swift’s security. When working with the language, unsafe code is less likely to present itself. The developers can ensure tight security in apps developed with Swift by using modern programming conventions.
 

It could be the go-to language of the near future for Apple development

 
Apple is successful, and one of the biggest companies in the world. The company has reportedly handed over more than $15 billion to developers in the US alone since the App Store was launched. For developers, this makes sense to support the platforms the company prefers, which include iOS, tvOS, macOS etc.

Swift would eventually be an important factor when it comes to application development for all these platforms, considering the effort Apple takes to improve and refine the language. Because of its open source nature, it’s also expected to contribute to the growth of open source development services sector.
 

Conclusion

 
It’s Apple’s commitment to Swift which makes it appealing. It’s reached version 4.1, and v.5 is already under development. Apple seems to be refining the language to make it even more impressive, despite its humble beginning. Swift has certainly become one of the most popular open source technologies today since its release in 2014. It could potentially change the face of iOS/macOS development, which is why developers shouldn’t turn a blind eye to Swift.

Written by: Ajeesh Azhakesan

A good majority of modern day enterprise IT and widely used technologies rely on open source software. Open source has made its presence very well known across networking, virtualization, and more. Open source development services still enjoy great demand, and the community keeps on growing bigger. However, enterprise security systems are still dominated by proprietary and vendor-locked technologies. Fortunately, change in times has brought change in trends as well.

There are a growing number of free open source security tools that are fully capable of both addressing security needs and protecting network, hosts, and data of the enterprises just as good as any proprietary security software. Some of these projects are backed by renowned organizations including major cloud operators and leading security firms.

That said, here are 4 open source security tools you should know about.
 

Commit Watcher

 
Accidental credential disclosures can end up causing a lot of damage for an organization. There have been reports of people accidentally exposing confidential information. One example is when private Amazon Web Services keys, passwords etc. were exposed after having them uploaded to GitHub or other repositories. Even developers may unintentionally do this.

The Commit Watcher open source tool from SourceClear can be a good solution for such mishaps, particular applicable during software development and testing cycles. The tool scans for potentially hazardous commits in both public and private Git repositories. This allows developers and project managers to monitor their projects for accidental credential disclosures. It periodically scans new commits and searches for matches against phrases or keywords defined in the project’s rules. Commit Watcher can be useful in testing enterprise software development projects that handle confidential data.
 

Jak

 
Keeping secrets out of the code is a key responsibility of developers. Even if they keep the ‘secrets’ in a configuration file, they should still ensure that the file isn’t committed to the code repository. They can add the config file to the .gitignore list to avoid it being committed to the repository. The secrets could be anything including keys that connect to aspects like payment systems, virtual machines, emailers etc. They are to be manually placed on application servers and managed separately from the source code which in turn can present a lot of challenges.

Jak can tackles this issue by allowing developers to commit encrypted ‘secret’ files into Git rather than use .gitignore. The files are included in a jakfile, and Jak ensures that only the encrypted file versions end up committed to the repository. The tool also handles encryption and decryption. Though the tool can be still challenging to use in production, it’s nevertheless useful for developers.
 

ProcFilter

 
An open source project from GoDaddy, ProcFilter can address the challenge of defending against known threats in Windows environments. It runs as a Windows service and integrates with Microsoft’s ETW (Event Tracing for Windows) thereby logging activities directly into Windows Event Log. The tool can also be configured to scan memory and files whenever processes are created or terminated.

ProcFilter is not a replacement to an antimalware tool, but is more useful as a tool to focus on specific known threats that can potentially compromise the project. For instance, if a peer organization has been hit by a particular threat, you can use ProcFilter to defend against it should it target your organization.
 

Yara

 
Yara is mainly used to identify and group malicious files. However, it can do more than that. The open source tool from VirusTotal’s Víctor Manuel Álvarez can be very useful for forensic investigations. The user will be able to create rules and Yara performs scans looking for matches. In addition, Yara can also use the virus signature files of popular open source antivirus tool ClamAV. Many more rule sets are also available from the YaraRules repository maintained by the community. However, as there are still some limitations to signature-based threat detection, it would not be wise to rely on Yara to defend from malicious attacks. That’s where ProcFilter can be of use.
 

Conclusion

 
Open source technologies are obviously competent in the security department as well, and the tools mentioned above are just a few of the more popular ones. The community behind most open source tools comprises of several big brains including security experts and analysts. Open source security tools are anticipated to bring better changes in the coming times. For developers, familiarizing with the aforementioned tools would be a great way to prepare for an open source-influenced future.

Written by: Ajeesh Azhakesan

Open source project management tools are abundant. However, identifying the right one can be challenging. Still, they are very important for companies that have adopted Agile to provide open source development services. Today, a great majority of organizations use Agile methodologies resulting in more successful projects compared to those that still go with traditional methodologies.

That said, this blog lists (in no particular order) 4 great open source project management tools that will prove beneficial to organizations that have adopted or are planning to adopt Agile this year. These tools are designed to support Agile-related methodology and practices including Scrum, Kanban etc.
 

OpenProject

 
A powerful open source project management tool popular for its ease of use, OpenProject is particularly useful in Agile software development environments. It facilitates effective team collaboration and makes project management much easier with modules that support project planning, scheduling, release planning, time tracking, bug tracking, budgeting, and Scrum as well. Its main features like prioritizing and tracking tasks are integrated with its other modules.

OpenProject is licensed under GPLv3.
 

Taiga

 
Taiga is an efficient management tool for Scrum projects and features a Kanban board, tasks, sprints, issues, a backlog, ticket management, wiki-pages, third-party integration support etc. Another awesome fact about Taiga is that it offers a free mobile app for iOS, Android, and Windows platforms. It’s also possible to migrate from other popular project management applications.

Taiga is also available for free to use for public projects. There is no catch. The number of public projects or the number of users do not have any restrictions. However, for private projects, Taiga can be really useful only if its paid plans are availed. These ‘paid plans’ are available under a ‘freemium’ model and have reasonable price tags for all kinds of organizations. What’s notable is the fact that the features of the application remains the same for both free and paid use.

Taiga is licensed under GNU Affero GPLv3. It requires a stack comprised of Nginx, Python, and PostgreSQL.
 

MyCollab

 
MyCollab is unique compared to the tools mentioned above, due to the fact that it’s actually a suite of 3 collaboration modules. It’s intended for SMBs (small-medium sized businesses). The modules include:

  • Project management
  • Customer relationship management (CRM)
  • Document creation and editing software

Like many other open source software out there, MyCollab comes in two licensing options – a commercial ‘MyCollab Ultimate Edition’ and the open source ‘MyCollab Community Edition’.

The Ultimate edition can be run in the cloud or on premises while the Community edition doesn’t come with a cloud option and is slower as it doesn’t use query cache. Nevertheless, the Community edition does provide great project management features from task management to a Kanban board for Agile teams. It works on mobile devices and computers running on popular operating systems like Windows, Unix, Mac OS, and Linux.

MyCollab is licensed under AGPLv3 and requires MySQL and Java runtime to function.
 

Odoo

 
Just like MyCollab, Odoo can also be classified as a suite. As a matter of fact, Odoo is a full, integrated business application suite. Odoo includes human resources, accounting, website, eCommerce, inventory, manufacturing, and various other tools.

The free version of Odoo termed as the Community Edition obviously has limited features unlike the paid version of the suite. However, it can still be of great benefit for organizations providing Agile development services. The latest release, Odoo 11.0, came with a great update with the suite now featuring a Kanban-style task tracking view useful for Agile teams. Odoo also includes Gantt charts, tasks, graphs etc.

Odoo is licensed under GPLv3 and requires Python and PostgreSQL.
 

Conclusion

 
This roundup covers only 4 open source project management tools. There are more Agile-friendly tools that can be added to this list. But despite being open source, not all free versions of the said tools can be completely effective. It does require an organization to spend something to get something in return. But the good thing about these tools is that the spend would be a worthy investment.

Written by: Ajeesh Azhakesan

One of open source’s biggest contributions, Python, now powers countless technologies from robust websites to enterprise applications and even desktop utilities. With popular projects like OpenStack, OpenShot, and even the original BitTorrent using Python, it’s no wonder why the technology is ranked high up when it comes to open source development services.

Python is also one of the few languages that’s both easy to get started for software development beginners and a powerful tool for experts working on real-world projects. Most developers who work on large-scale projects with sophisticated code bases often use a combination of Python and its many useful IDEs.

That said, here are a few popular cross-platform Python IDEs that developers would find very useful.
 

Eclipse with PyDev

 
Possibly one of the most popular open source IDEs out there, Eclipse is backed by a large developer community and a plethora of customizable plugins. However, it still has some demerits according to many. Its performance in systems with low hardware specs is often criticized, and many others claim Eclipse is quite bloated.

Nevertheless, Eclipse is still the go-to IDE for developers who shifted from a different language, like Java. Eclipse can be augmented using PyDev, which adds a lot more features to the already useful IDE. PyDev can handle code completion, and can effectively integrate Python debugging.

PyDev is particularly useful for those involved with Django Python web framework, as it facilitates creation of new Django projects, and execute Django actions via hotkeys. It even enables the use of a separate run config for Django. Both PyDev and Eclipse are made available under the Eclipse Public License.
 

PyCharm

 
PyCharm is a popular commercial Python editor. Its makers also offer a free edition of PyCharm which is open source under the Apache 2.0 license. What makes it popular is the fact that it features everything expected from an IDE – code inspection, integrated code testing and version control, code refactoring, project navigational aspects, and even automated completion.

But not everything is good about this IDE as well. Its open core model is considered by many to be one of its flaws. The fact that many of its advanced features are not available under open source license can be a deal-breaker for many devs. Even without the advanced features, PyCharm is still considered as a great, lightweight Python editor.
 

Eric

 
A great alternative to PyCharm, Eric itself is written in Python using the Qt framework and is made available under the GPL version 3. The source code editing component of Eric is Scintilla which is also used in various other IDEs and editors.

The IDE packs many features similar to its counterparts including code completion, integrated testing, brace matching etc. Devs involved in Qt GUI development for applications will find Eric quite useful as it features a Qt form preview function. Eric’s massive documentation can be quite annoying, as most devs prefer not to go through the entire PDF. However, learning Eric inside out would give them a totally different perspective on the IDE. It’s still one of the best lightweight, full-featured programming environments available.
 

Conclusion

 
The list doesn’t include every best Python IDE there is. These are just our top picks that contribute to leveraging open source technologies effectively. There are still many more useful IDEs that could’ve made it to the list including BlueFish and Spyder. However, these IDEs and Editors can certainly be an asset to people using Python.

Written by: Ajeesh Azhakesan

This infographics presents a general comparison between custom open source software and proprietary software, and why the former still retains its demand.
 
Custom Open Source Vs Proprietary Software

Written by: Ajeesh Azhakesan
Page 3 of 6« First...2345...Last »