Knowledge7

The Linux and Mobile Solution Provider

  • About
  • Training
  • Services
  • Clients
  • In the news
  • Blog
  • Contact Us
You are here: Home / Archives for News

Noupei.com, a social network for people who love Mauritius

Knowledge7 is proud to announce the launching of Noupei.com, the first Mauritian social network for sharing ideas and opinions.

As we are celebrating our 44th anniversary of independence and 20th anniversary as a republic, we believe we need a platform to discuss on the various problems we have in the country as well as the possible solutions.

People can contribute ideas and comment on ideas posted by others. People can also vote for the most valuable contributions.

Noupei.com is open to all people who love Mauritius.

Our forthcoming training courses

  • No training courses are scheduled.

My presentation on Android during Mobile Apps 2012

What is Android? How to develop apps?

View more presentations from KnowledgeSeven

Thank you for your presence during my presentation this morning at Mobile Apps 2012. I had a lot of pleasure talking about Android and how we can get the best apps for it: either using existing ones from the Android Market, subcontracting the development (to Knowledge7 for example) or by setting up an Android development team (by following our Java and Android training starting soon and getting 20% discount in the process).

I loved the questions & answers session at the end. We had great exchanges about the value of open-source software as well as competing mobile platforms.

Once again, thanks for having listened to me. I hope you learnt 1-2 interesting things.

Our forthcoming training courses

  • No training courses are scheduled.

UNIX/Linux Security Best Practices

You can take steps to protect yourself from intruders who attempt to break into your UNIX or Linux system. Among many of the different security services here are some things to do to make intrusion more difficult.

Turn off unused services

Services which you don’t enable can’t be attacked from the outside. If you don’t provide access to a service, it doesn’t matter if there is any vulnerability in the daemon which would provide that service. So disable anything you don’t need to use.

Where available, install IP filter or firewall rules

Restricting network access helps, it is no security that you won’t be attacked. But restricting access to a smaller group of systems will reduce the number of attempts you see made against you.

Install ssh and tcpd

SSH (Secure SHell) is a protocol which supports logging into a remote system or executing commands on a remote system, using an encrypted communication between the two systems. Both ssh and the tcp wrapper tcpd use a pair of configuration files to define what hosts are allowed to make connections to specific TCP services on your machine. Use these to limit access to those services and prevent unwanted intrusion attempts.

Keep your system up-to-date with the latest patches from your vendor

UNIX and Linux exploits are discovered from time to time, and if you don’t keep your configuration updated, you’ll potentially leave yourself exposed to attacks that try newly discovered vulnerabilities. Get the latest patches for your version of the OS.

UNIX File Sharing

You may want to give others access to your directory or files in one of your directories. As an individual user, you can control who has access to the files which you own, by setting UNIX file permissions. Network File System (NFS) is the most frequently used method of sharing access to a filesystem (or a directory in a filesystem) between UNIX systems.

At this point, if your system does not meet at least the above or if you need to make your Linux production systems compliant with various audit requirements, then our training should offer a good baseline and starting point, see our Linux page for more info in training and consulting services.

Our forthcoming training courses

  • No training courses are scheduled.

Picks of the Week #8

You want to receive our Picks of the Week every Monday morning?

Merry Christmas! Thank you for reading the eight edition of Knowledge7’s Picks of the Week on this special day!

Every two weeks, Avinash Meetoo and his team of collaborators will make you discover interesting articles and websites to help you broaden your understanding of the world of open source software and information technology in general.


Recess Framework
Want to build a highly scalable RESTFul archirecture in PHP ? Choose Recess! By Chris Jordan, CEO of New Media Creations. Recess aims at developer joy, whether you are a beginner or a professional, Recess! puts you on the right track to bring life to your server. Running on PHP 5.3, Recess! gives you proper tools to quickly and efficiently build a REST API. Based on the MVC structure, Recess! puts at your fingertips cool developer tools ranging from tools for model,controller and view creating, code introspection and an application route summary that run as a bundled browser app. If ever after using Hibernate in Java, you have been crazy looking a similar one in PHP, then Recess! has a really nice looking ORM that automate a very important aspect, Lazy Loading. Besides being well documented and having a large community, there are many upcomming developments which include plugin system, model validation and an improved templating system for the views. Also, setting it on your server is free from crazy configurations, just download it, place it on your server, set up your database and start creating great apps in Recess!

Google Web Toolkit
GWT, released by Google, is an open source software intented for the creation of Rich Internet Applications. You program in Java and through GWT Compiler, everything is converted to JavaScript. What’s really nice with this software is that while programming in Java, Web Programmers have a wide subset of the Java Libraries with which lots of magic can be done. Moreoever, even if GWT uses Java, its also allows support to wrap JavaScript within Java through JSNI (JavaScript Native Interface). Many other frameworks on the market force a pattern but GWT gives you the freedom to structure your app with any pattern, whether with MVP or MVC or any other. Also, in many cases, Web Programmers have to be browser gurus in the sense they have to understand browsers’ tradeoffs and incompatibilities and implement workarounds. However, with GWT, the compiler handles heterogenous browser platforms by generating several versions of the JavaScript intended for numerous browser engines such as gecko, safari and many others. Well, Web Programmers, what are you waiting for, rush to GWT and start building powerful Rich Internet Applications that gonna surprise web surfers.

HTML Purifier
You want to save HTML from your clients, then bear in mind, not all client are ‘good’, some are really ‘bad’. ‘Bad’ Clients can insert malicious code within the HTML and then perform things that surely you wouldn’t be happy to know. However, to prevent these problems, HTML Purifier is here to parse your HTML from malicious content such as xss. Attackers can place series of xss within HTML. What HTML Purifier really does is that it tokenises the whole HTML content and defeats xss by removing all non-whitelisted elements. Morever, it cleans the HTML through ensuring that HTML contents are well-formed by validating all attributes according to their RFCS. Thus, aftet using HTML Purifier, your document is both safe from malicious code and also W3C compliant. In case , you are using some frameworks, then you are lucky enough because HTML Purifier Plugins are available for some major frameworks such as Drupal, WordPress, Joomla, Symphony and others.

Jahshaka
Formely CineFX, Jahshaka is a video editing software written in QT and uses OpenGL and OpenML. It provides solution for film compositing, editing and special fx system that uses OpenGL and OpenML hardware rendering to give operators real time interactivity. Edit your videos in an easy and flexible way, create effects in real time, animate, paint, add texts, support for many video formats, etc. – these are just a few of key features of this advanced video editor.The program is available for multiple platforms including Linux, Mac OS X and Microsoft Windows. Currently, the official page of Jahshaka shows a countdown to the release of Jahshaka 3.0. But if you are pretty impatient about it like me, you can try out Jashaka 2.0 from here.

JQuery UI
Want to build highly interactive web applications, try JQuery UI. Jquery UI is a widget and interaction library built on top of JQuery JavaScript Library. Jquery UI provides a comprehensive set of core intareaction plugins, UI widgets and visual effects that use a jQuery-style, event-driven architecture and a focus on web standards, accessiblity, flexible styling, and user-friendly design. On top of that, Jquery UI has its own powerful theme framework with a wide theme gallery that also allows you to create your custom theme. With interactions such as Draggable, Droppable and widgets like Accordion and Tabs and amazing Utilities and awsome effects, you can know build great Web Applications that are compliants with major browers such as IE, Firefox, Safari, Opera and Chrome.

The picks for this week have been selected by Noor Bakerally, Research & Development Specialist at Knowledge7.

Our forthcoming training courses

  • No training courses are scheduled.

Announcing AndroidMauritius and Knowledge7 forum

Knowledge7 is proud to announce the launching of a new Android portal at androidmauritius.com. During the past 18 months, Android use has exploded around the world and in Mauritius to become the world’s most widely-used operating system for smartphones and tablets. Google has just announced that people have downloaded Android applications more than 10 billion times hence showing how dynamic the Android ecosystem is.

AndroidMauritius provides the latest news concerning Android, reviews Android smartphones and tablets available in Mauritius, and gives tips and tricks.

[img_assist|nid=411|title=|desc=|link=url|url=http://www.androidmauritius.com/|align=center|width=454|height=342]

Remaining faithful to Knowledge7’s motto ‘Sharing Expertise’, we are also glad to announce the launching of our new forum at knowledge7.com/forum. Open-source enthusiasts and IT professionnals will be able to discuss and share their knowledge on the various open-source software and technologies they use on a daily basis such as Linux, PHP/MySQL, Java. Android, etc.

[img_assist|nid=412|title=|desc=|link=url|url=https://www.knowledge7.com/forum/|align=center|width=454|height=277]

We hope that you will find both AndroidMauritius and the Knowledge7 forum useful. Feel free to share with your friends and colleagues.

Our forthcoming training courses

  • No training courses are scheduled.

Knowledge7 sponsors Terre de Paix

For our first Corporate Social Responsibility contribution, we have decided to sponsor Fondation Pour L’Enfance – Terre de Paix. This NGO aims at combating poverty in general and has among its objectives to carry out child care activities in a secular and non-discriminatory way.

On June 30, the chairman of Knowledge7, Mr Jaynarain Meetoo, presented a cheque to Mr Alain Muneean, the secretary of Terre de Paix and Mrs Patricia Yue to encourage them in their efforts to make a better world for children.

Why did we choose this NGO? Simply because Knowledge7 strongly believes that education is the key to the success of our future generations.

Our forthcoming training courses

  • No training courses are scheduled.

Picks of the Week #7

You want to receive our Picks of the Week every Monday morning?

Thank you for reading the seventh edition of Knowledge7’s Picks of the Week which exceptionally focuses entirely on the MySQL database server and associated software.

We are happy to offer you a 10% discount off the normal price of our coming PHP/MySQL training courses.

Every week, Avinash Meetoo will make you discover interesting articles and websites to help you broaden your understanding of the world of open source software and information technology in general.


Nuts & Bolts: Database Servers
37signals is the company of David Heinemeier Hansson, creator of Ruby on Rails. 37signals make the incredibly popular Basecamp, Highrise, Backpack and Campfire web applications which, because of their large number of users, do have very stringent MySQL performance requirements. As they write on their blog, “All of our applications, with the exception of Basecamp, follow a pretty similar model: We take a pair of Dell R710 servers, load them up with memory and disks, and setup a master/slave pair of MySQL servers. We use the excellent Percona Server for all of our MySQL instances and couldn’t be happier with it.”. For Basecamp, the decision was to purchase a pair of MySQL appliances with solid state drives and optimised for I/O performance.”

MariaDB
First, in 1994, there was MySQL AB where Michael “Monty” Widenius created MySQL, arguably the world’s most popular database. Then, in 2008, Sun Microsystems acquired MySQL AB and Monty was happy. When Oracle acquired Sun Microsystems in 2010, Monty became less happy and he decided to create MariaDB, “a community developed, stable, and always free fork of MySQL that is compatible with the main version Oracle MySQL.” In other words, if, one day, Oracle decides to charge for MySQL (or kill it), it won’t be a big issue as MariaDB is a drop-in replacement. I can easily imagine some people preemptively moving from MySQL to MariaDB just as a precaution. Or not. Depends on you.

Drizzle
[I mentioned Drizzle in a previous Picks of the Week]. Another fork of MySQL is Drizzle: “a community-driven open source project that is forked from the popular MySQL database. The Drizzle team has removed non-essential code, re-factored the remaining code and modernized the code base moving to C++.” Drizzle has a number of innovative features that makes it very powerful: it is “optimized for Cloud infrastructure and Web applications”, is “designed for massive concurrency on modern multi-cpu architecture” and it “optimizes memory [usage] for increased performance and parallelism”. In other words, when performance is key, then you need to spend some time evaluating Drizzle even though it is a relatively young product.

Percona Server
Instead of using MySQL, 37signals uses Percona Server, yet another fork of MySQL. Percona Server, “an enhanced drop-in replacement for MySQL”, allows “queries to run faster and more consistently”. The people behind Percona Server put a lot of emphasis on performance, completely eliminating the lockups that MySQL sometimes suffers from. They also have put a lot of emphasis on scalability: Percona Server has been designed to use up to 48 cores and to issue hundreds of thousands of I/O operations per second on high-end solid-state hardware (SSD). Percona Server also allows the database administrator to measure all performance characteristics through a very complete instrumentation dashboard. Percona Server is open source software and, therefore, free to use.

Percona XtraBackup
To conclude this MySQL special, we need to talk about backups. All database administrators know that backups are essential and need to be done on a regular basis… preferably without having to stop the database server and, therefore, interrupting business activities. “Percona XtraBackup makes hot backups for all versions of Percona Server, MySQL, MariaDB, and Drizzle.” Being hot, the backups are made while the database is in use. XtraBackup naturally supports incremental backups which means that “backups complete quickly and reliably” and there are substantial “savings on disk space and network bandwidth”. Like Percona Server, Percona XtraBackup is also an open source software, free to use!

We thank you if you have already responded to our Survey on Training Needs in Mauritius. If you have not yet answered, please do so. It will only take two minutes.

Our forthcoming training courses

  • No training courses are scheduled.

Picks of the Week #6

You want to receive our Picks of the Week every Monday morning?

Thank you for reading the sixth edition of the Knowledge7’s Picks of the Week.

Every week, Avinash Meetoo will make you discover interesting articles and websites to help you broaden your understanding of the world of open source software and information technology in general.


The Metasploit Framework
There is currently an ongoing battle between pirates and system administrators. And, of course, given the prevalence of Linux on the Internet, this is true for Linux system administrators too. “The Metasploit Framework is both a penetration testing system and a development platform for creating security tools and exploits. The framework is used by network security professionals to perform penetration tests, system administrators to verify patch installations, product vendors to perform regression testing, and security researchers world-wide. The framework is written in the Ruby programming language!”

The Mirah Programming Language
“Mirah (nee Duby) is a new experimental language born out of the JRuby project. In order to make implementing Ruby on the JVM easier and more approachable for Java and Ruby developers alike. Charles Oliver Nutter wanted to create a language that essentially looked like Ruby, but was statically typed and compiled to fast JVM bytecode. Mirah is the result.” What is sure is that the Java programming language is starting to show its age: its syntax is based on an ancient language called C++ (remember that?) and its programming model is too complex (is an integer an object?). Does Mirah has a chance to succeed? Only time will tell. But it’s going to be tough with Scala, Clojure as well as JRuby (mentioned above) innovating on all fronts…

The Facebook Blog: The Spirit of Openness
“Here’s a secret: Mark Zuckerberg didn’t write all of Facebook in his dorm room at Harvard. (Sorry, Mark, your secret is out.) He had a lot of help. No, I’m not talking about all the wonderful folks who work on the site every day. I’m talking about the unsung hero of many a young Web site: open-source and free software. Without it, there’d be no Facebook.” “Almost all our servers are running open-source software. Our Web servers use Linux and Apache and PHP. Our database servers run MySQL. […] The list goes on—like many Web sites, we use it from top to bottom.” “But we also make it a point to give back.” To all those who want to build the next Facebook in Mauritius: follow a decent PHP/MySQL training. Why not something like ours? 🙂

Drizzle: A Database for the Cloud
“Drizzle is a community-driven open source project that is forked from the popular MySQL database.” Here are its main features: “optimized for Cloud infrastructure and Web applications”, “designed for massive concurrency on modern multi-cpu architecture”, “optimized memory [utilisation] for increased performance and parallelism” and (of course) “Open source, open community, open design”. Why fork MySQL you may ask? The Drizzle developers say that they wanted to “remove non-essential code, refactore the rest and move towards C++”. What they get is a database which is reliable, which supports transactions and which is ACID compliant (atomicity, consistency, isolation, durability). Phew. I initially thought that they forked MySQL because of Oracle…

How to Pick a Co-Founder
When I founded Knowledge7 at the end of 2008, I didn’t pick a co-founder. Sure, I was not alone, we were seven shareholders (hence the name!). But, in hindsight, I should have asked one of them to join me at Knowledge7 as a co-founder. I would have chosen the one who has “a complementary temperament” with mine, with skills sufficiently different from mine, someone who “shares my expectations” of life, someone who has the “same overall vision” for the company, someone with whom I’ve worked with in the past and someone I like. In other words, I should have asked my wife, Christina, to join me 🙂

Our forthcoming training courses

  • No training courses are scheduled.

Picks of the Week #5

You want to receive our Picks of the Week every Monday morning?

Thank you for reading the fifth edition of the Knowledge7’s Picks of the Week.

Every week, Avinash Meetoo will make you discover interesting articles and websites to help you broaden your understanding of the world of open source software and information technology in general.


Jolicloud
Jolicloud is a new Linux distribution derived from Ubuntu which is itself derived from the oh so powerful Debian. Jolicloud is designed for netbooks having relatively small screens and amount of memory. Its philosophy is based upon blurring the distinction between native applications and web applications. For example, in Jolicloud, Skype and Flickr are accessed in the same way even though Skype is an application and Flickr is a website. This makes Jolicloud an easy operating system to use by beginners. Jolicloud is still young (version 1.1 has just been released) but it certainly has a lot of potential. I advise all Linux fans who have a spare netbook to give Jolicloud a try. Who knows? Some Windows fan might fall in love with Linux!

An In-Depth Exploration of the Art of Shell Scripting
I have been teaching Linux for ten years now and the one thing which always amaze most people is the shell (i.e. the command line). There are many reasons for that: (1) Linux and all the other Unixes as a matter of fact have many commands (about 2000…), (2) a lot of those commands are filters which transform data and are used in combination (in pipes) and (3) a set of commands (including conditionals and loops) can be saved in a shell script which then becomes indistinguishable from pre-existing commands (i.e. the set of commands is infinitely extensible). Of course, mastering everything takes a lot of dedication and a lot of time. This tutorial is an essential reading for anyone willing to, one day, become a Linux guru.

Yii Framework
PHP is a powerful programming language and major web applications like Wikipedia and Facebook are built using it. When developing a new application, one can write everything from scratch or use a framework. Most of the time, people tend to use a framework because of the added productivity this provides. Yii is a new PHP framework based on the Model View Controller (MVC) architecture and which supports AJAX and jQuery, interacts with relational databases (like MySQL) and provides multi-language support, performance optimisation through caching and security through role-based access control. Yii implements many of the good ideas of Ruby on Rails like minimal need for configuration, scaffolding (automatic PHP code generation based on a database table, for example) and full testability. All PHP programmers should give Yii a try.

Node.js
In the past, web applications were mostly server-based with only a few bits of verification and validation being done on the client. In 2011, this is not true anymore: any decent web application needs to have a complex Javascript portion to deal with AJAX as well as to provide a modern user interface. In other words, having Javascript in the client and, say, PHP on the server (using something like Yii for example). Node.js challenges this. With Node.js, it is possible to run Javascript on the server. In fact, Node.js adds to Javascript the capability to work as a web server with full support for all kids of databases through add-on modules. The advantage is, naturally, that the programmer only has to master one programming language instead of two. jQuery has revolutionized client-side programming. Can Node.js be as innovative on the server front? Only time will tell.

Clojure
Clojure is yet another programming language for the Java virtual machine. I talked about Scala previously but Clojure has had a lot of buzz since it was launched in 2007. Clojure is a LISP and, therefore, will look incompressible at first to those of you not versed into LISPdom. But it is also a very powerful general purpose language with extensive support for functional programming, it has a very powerful macro system inspired by the one in LISP and provides immutable data structures which allows for helps in writing efficient concurrent programs. Given that the programming environment in 2011 is essentially multi-core, it is important for all of us to start looking at alternative programming languages built with parallel processing in mind. Clojure is such a language. And, remember, parentheses are cool.

Our forthcoming training courses

  • No training courses are scheduled.

Picks of the Week #4

You want to receive our Picks of the Week every Monday morning?

Thank you for reading the fourth edition of the Knowledge7’s Picks of the Week.

Every week, Avinash Meetoo will make you discover interesting articles and websites to help you broaden your understanding of the world of open source software and information technology in general.


How to Install a Wireless Card in Linux Using Windows Drivers
Some years ago, life was tough for Linux fans who wanted to enjoy Wifi on their laptops as drivers were only available for a few chipsets. In 2011, things have greatly changed. People have written open source drivers for quite a lot of wireless chipsets from companies such as Atheros, Broadcom, Cisco, Intel, Lucent, Marvell, Ralink, Realtek and ZyDAS and, naturally, this means that Linux now supports Wifi out of the box. But, to be fair, there remains some more obscure chipsets which do not have corresponding open source drivers where the only solution is to use existing Windows drivers using a technology known as NDISwrapper. Yes, Linux can use Windows drivers! This article explains how to do that using the latest Ubuntu Linux.

The Java Tutorials: Concurrency
When Java 5.0 was released a few years ago, most people didn’t pay attention to a new standard library called Java Concurrency Utilities. This library allows a programmer to write concurrent programs easily by providing classes such as executors, futures and concurrent data structures. Here is a simple explanation for concurrency: a concurrent program is a program with parts which execute in parallel when run on a parallel computer. Running a non concurrent program on a parallel computer is stupid. But running a concurrent program on the latest multi-core processor is nice. When a programmer writes a Java program using classes from the Concurrency Utilities, she is being explicit about which parts are concurrent. Given that all computers now are parallel, this is a good thing to do.

Why You’re a Bad PHP Programmer
PHP is an excellent programming language. It wouldn’t be used by Facebook and Wikipedia if that wasn’t the case. But, to be fair, a lot of PHP programs are written by people who do not give a lot of importance to maintenance and, consequently, their PHP programs, while running well, exhibit a lot of “smells” (a term coined by Martin Fowler). Those smells are, for example, having no comments, writing brief code instead of being clear, not following standards, etc. In other words, trying to be too clever. The thing is that we are all guilty of that. We start with a quick and dirty solution and, as soon as it runs, release it to the wild without realising the maintenance nightmare that might result. This article explains how to be a good PHP programmer.

Managing Hierarchical Data in MySQL
The relational model as used in most relational databases including MySQL is not really intended to represent hierarchies. In fact, the relational model was a replacement for the hierarchical data model as used, for example, in the venerable IMS database developed in the 60’s by IBM. Unfortunately, the real world is full of hierarchies e.g. network of people, components in a machine, our solar system, blogging and forum software, etc. and, consequently, it’s tough to model such objects using MySQL. Tough but not impossible. The idea is to use adjacency lists and/or nested sets and then write special SQL queries. This article, by Mike Hillyer, explains in detail how one can use MySQL intelligently to represent such hierarchies.

Taking the Mystery out of Scaling a Company
It’s fun to run a startup. I know. I am. But, sometimes, some startups become large and then care must be taken to scale them properly. For instance, one must be ready to “give ground grudgingly”. Things that were easy to do when there were only two people in the company become hard when there are twenty employees. Specialists are frequently needed (e.g. accountants, HR people, etc). We must make sure that people communicate properly and that people do not misunderstand each other. In fact, the decision making process also becomes more complex as head count increases. Naturally, this implies that the company needs to change some of its processes. The thing is that we don’t want to address those concerns too early or else the startup will seem sluggish. On the other hand, waiting too long is bound to cause a lot of problems in the long run. This article shows what works, when and why.

Our forthcoming training courses

  • No training courses are scheduled.
« Previous Page
Next Page »

Looking for something?

Want to know more?

Get our newsletter

Discover the latest news, tips and tricks on Linux, the Web and Mobile technologies every week for FREE

This work is licensed by Knowledge7 under an Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.