User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Hi there. Been long. For as long as I can remember, this is how I think of starting conversations with people. I however end up to use the phrases less then often. So, hi there.

For the last, almost a month, I've been good. Not to everyone though. I've been setting more time for God...clap for me and smile. That's good. I advice you to do this. Reasons for sparing time, more time I mean, is just because it's cool. It doesn't hurt in any way to set time to just go to church and pray.

So many factors say no to this. Let's start with the thought of seats are dusty, and there's no much hype of midweek services, like most 'church big-wigs' are still working, stuck in traffic, hot and sweaty....the list is endless. Going to church on a wednesday is just hectic, many will say. Many still say.

First time I attended a service, my pastor had called. Didn't say much. I agreed. He was giving a sermon on 'good culture'. Creating your own culture. Made lotsa sense. He gave examples that made sense. He also doesn't shout on the mic. I dislike verbally violent religious people. I always tell people to raise their arguements and not their voices when they start getting rude. It beats logic to shout when teaching. You might be instilling fear instead on knowledge.

So, I learnt about new stuff to do. Stuff like exercising  my free will better, sharing word with people, sacrificing more for people and above all, love. With this, you're good. I target this in all I do. I'm not good in memorizing verses but I know there's a verse somewhere that speaks about Love covering a multitude of sins. I want mine covered if not eliminated.
Another verse also says you should have Faith, Love and Hope. The Good Book expounds and says that the biggest of all those is Love.

I knew all this before I started going for these services. The main aim of going to church is to pray. Thank God for the week, thank Him for everything, pray for the rest of it to be more dope..pray for debtors to get money faster, clients to come faster...the list is endless. Ohh..about God answering prayers, He does. Some instantly. God answers them in funny ways. I pray to God like a son does to his father. Nice convos. I list some stuff, good and bad, nasty and sweet, ammending wherever I forget and so on. I advice you to do this. It gives me a calm effect.

Sometimes everything goes south and all that's left is music. That's when I turn it up and hear no evil as I let it sink in.

See you next wednesday.


Add a comment
Previous Next

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
From google, Database design is the process of producing a detailed data model of database. This data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a data definition language, which can then be used to create a database.
Physical database design translates the logical data model into a set of SQL statements that define the database. For relational database systems, it is relatively easy to translate from a logical data model into a physical database. Rules for translation: Entities become tables in the physical database.

  1. Use well defined and consistent names for tables and columns (e.g. School, StudentCourse, CourseID ...).
  2. Use singular for table names (i.e. use StudentCourse instead of StudentCourses). Table represents a collection of entities, there is no need for plural names.
  3. Don’t use spaces for table names. Otherwise you will have to use ‘{‘, ‘[‘, ‘“’ etc. characters to define tables (i.e. for accesing table Student Course you'll write “Student Course”. StudentCourse is much better).
  4. Don’t use unnecessary prefixes or suffixes for table names (i.e. use School instead of TblSchool, SchoolTable etc.).
  5. Keep passwords as encrypted for security. Decrypt them in application when required.
  6. Use integer id fields for all tables. If id is not required for the time being, it may be required in the future (for association tables, indexing ...).
  7. Choose columns with the integer data type (or its variants) for indexing. varchar column indexing will cause performance problems.
  8. Use bit fields for boolean values. Using integer or varchar is unnecessarily storage consuming. Also start those column names with “Is”.
  9. Provide authentication for database access. Don’t give admin role to each user.
  10. Avoid “select *” queries until it is really needed. Use "select [required_columns_list]" for better performance.
  11. Use an ORM (object relational mapping) framework (i.e. hibernate, iBatis ...) if application code is big enough. Performance issues of ORM frameworks can be handled by detailed configuration parameters.
  12. Partition big and unused/rarely used tables/table parts to different physical storages for better query performance.
  13. For big, sensitive and mission critic database systems, use disaster recovery and security services like failover clustering, auto backups, replication etc.
  14. Use constraints (foreign key, check, not null ...) for data integrity. Don’t give whole control to application code.
  15. Lack of database documentation is evil. Document your database design with ER schemas and instructions. Also write comment lines for your triggers, stored procedures and other scripts.
  16. Use indexes for frequently used queries on big tables. Analyser tools can be used to determine where indexes will be defined. For queries retrieving a range of rows, clustered indexes are usually better. For point queries, non-clustered indexes are usually better.
  17. Database server and the web server must be placed in different machines. This will provide more security (attackers can’t access data directly) and server CPU and memory performance will be better because of reduced request number and process usage.
  18. Image and blob data columns must not be defined in frequently queried tables because of performance issues. These data must be placed in separate tables and their pointer can be used in queried tables.
  19. Normalization must be used as required, to optimize the performance. Under-normalization will cause excessive repetition of data, over-normalization will cause excessive joins across too many tables. Both of them will get worse performance.
  20. Spend time for database modeling and design as much as required. Otherwise saved(!) design time will cause (saved(!) design time) * 10/100/1000 maintenance and re-design time.




Add a comment

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
  • Hi there. Am not a prodigy in docker or tech, but I do like learning new stuff and exploring heights. I love PHP too. I'm a member in several places where among other stuff[ read languages] being discussed is php.

    This week we met and a good dev called Otieno introduced me to docker, the right way.
    I made some simple notes in note form.  Jibambe.

  • Open platform of software containers
  • Differences:


-   Demerits

  • Containers run as root

  • Services can be resource intensive


-    3 Concepts


- Docker images ( think of them as git repos )

- Docker Registries

- Docker Containers


see the presentation here.


see the gist here.


fork [ I also forked :) ] the repo here, with some examples.


Add a comment

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Linux Mint 18 is a long term support release which will be supported until 2021. It comes with updated software and brings refinements and many new features to make your desktop experience more comfortable to use.

Linux Mint 18 "Sarah" Cinnamon Edition

Cinnamon 3.0

Linux Mint 18 features the latest Cinnamon 3.0. Here's a video (see top) showing some of its new features:

Thanks to Linux Scoop for making this video.


A new project called "X-Apps" was started and its goal is to produce generic applications for traditional GTK desktop environments.

The idea behind this project is to replace applications which no longer integrate properly outside of a particular environment (this is the case for a growing number of GNOME applications) and to give our desktop environments the same set of core applications, so that each change, each new feature being developed, each little improvement made in one of them will benefit not just one environment, but all of them.

The core ideas for X-Apps are:

  • To use modern toolkits and technologies (GTK3 for HiDPI support, gsettings etc..)
  • To use traditional user interfaces (titlebars, menubars)
  • To work everywhere (to be generic, desktop-agnostic and distro-agnostic)
  • To provide the functionality users already enjoy (or enjoyed in the past for distributions which already lost some functionality)
  • To be backward-compatible (in order to work on as many distributions as possible)

Within Linux Mint, you won't need to adapt to X-Apps, because in many cases, they're very similar or exactly the same as the applications you were already using. For instance, Totem 3.18 (which is available in the Linux Mint 18 repositories) is radically different than Totem 3.10 which shipped with Linux Mint 17, but Xplayer 1.0 (which is the default media player in Linux Mint 18) is exactly the same. The goal of the X-Apps is not to reinvent the wheel. Quite the opposite in fact, it's to guarantee the maintenance of applications we already enjoyed and to steer their development in a direction that benefits multiple desktop environments.

Xed is based on Pluma and acts as the default text editor.

Starting a new text file in Xed

Xviewer is based on Eye of GNOME and acts as the default image viewer.

Viewing a picture in Xviewer

Xreader is based on Atril and acts as the default document and PDF reader.

Reading a magazine in Xreader

Xplayer is based on Totem and acts as the default media player for music and videos.

Watching a music video in Xplayer

Pix is based on gThumb, which is an application to organize your photos.

Organizing pictures in Pix

Note that the GNOME apps, MATE apps and Xfce apps these X-Apps replace are still available in the repositories. You can install them side-to-side to X-Apps and compare them to decide which ones you like best. X-Apps do integrate better however with your environment, not only in obvious ways (with traditional interface) but also in the way they support desktop environments.

Update Manager

The update manager received many improvements, both visual and under the hood.

The main screen and the preferences screen now use stack widgets and subtle animations, and better support was given for alternative themes (toolbar icons are now compatible with dark themes, application and status icons are now themeable and dimmed text is now rendered with dynamic colors).

Two new settings were added to let you see and select kernel updates. Even though these aren’t really updates, but the availability of packages for newer kernels, the manager is now able to detect them and to present them for installation to you as a traditional update. These are level 5 updates but the new settings let you configure them independently.

Kernel updates can be configured independently and appear as traditional updates

The kernel selection window was completely redesigned and is now preceded with an information screen which explains what kernels are, how to select them at boot time and what happens to DKMS modules when multiple kernels are installed.

Linux Mint no longer ships lists of fixes and lists of regressions specific to particular kernels. With so many kernel revisions, so many fixes and so many regressions happening sometimes on a daily basis, this information was quickly outdated. Instead, it was replaced with links to relevant sources of information. For instance, if you select a particular kernel you can now quickly access its changelog and see all the bug reports marked against it.

Kernel changelogs and bug reports are now quickly accessible

The update manager was already configurable but it wasn’t clear how to configure it, and why. In particular, the concepts of regressions, stability and security weren’t clearly explained. To raise awareness around these concepts and to show more information, a new screen is there to welcome you to the update manager and to ask you to select an update policy.

Choosing an update policy

This screen is complemented with a help section which explains what’s at play and what to consider when choosing a policy.

Although this screen is only showed once and its main purpose is to present information, it can also be used as a quick way to switch between sets of preferences and it can be launched from the Edit->Update Policy menu.


In 2010, Linux Mint 10 introduced a beautiful metallic theme called "Mint-X". 6 years later trends have changed significantly. Many interfaces and websites changed their style to look more modern. 3D elements and gradients were replaced with simpler shapes, cleaner lines and plain colors.

To respond to this new trend, Linux Mint 18 introduces "Mint-Y", a brand new theme based on the very popular Arc theme from horst3180 and Sam Hewitt's beautiful set of Moka icons.

Mint-Y looks modern, clean and professional. It embraces the new trends, but without looking too "flat" or minimalistic.

There are three variations of the theme. One is light:


Another one is dark:


And the third one is a mix of light and dark, using light widgets but with dark titlebars/toolbars/menubars:


Themeing is a very important aspect of the operating system, because for your experience to be comfortable, your computer doesn't just need to work well, it also needs to make you feel at home. With this in mind, Mint-Y will be given time to mature and it won't replace Mint-X, but complement it.

In Linux Mint 18, both Mint-X and Mint-Y are installed, and Mint-X is still the default theme.

Mint-Y is a work in progress and it will continue to change and to improve, with your feedback, after the Linux Mint 18 release.

System improvements

In 2007, Linux Mint 3.1 introduced the "apt" command, a handy shortcut to apt-get, aptitude, apt-cache and other commands related to package management, and since then this command was improved, slightly, release after release. In 2014, Debian came up with the same idea but implemented it differently. Although their "apt" command was missing some of the features we supported, it also introduced a few improvements. The Debian "apt" command made its way into Ubuntu and many tutorials now refer to it. In Linux Mint 18, "apt" continues to support all the features it previously had, but also now supports the syntax of the Debian "apt" and benefits from the improvements it introduced. Here is an overview of some of the changes:

  • "apt install" and "apt remove" now show progress output.
  • New commands were introduced to support Debian's syntax. "apt full-upgrade" does the same as "apt dist-upgrade", "apt edit-sources" the same as "apt sources" and "apt showhold" the same as "apt held".

The add-apt-repository command now supports the "--remove" argument, making it possible to remove PPAs from the command line.

Linux Mint 18 ships with Thermald, a daemon which monitors thermal sensors and prevent CPUs from overheating.

exFAT file systems are now supported out of the box.

Btrfs support is back and installed by default again.

Artwork improvements

The default theme used in the login screen received the following improvements:

  • To prevent passwords from being typed when no users are pre-selected (thus, when the login screen is waiting for a username to be typed or selected), no dialog is shown by default. Instead, the login screen suggests to select a user. Cases where usernames need to be typed (for instance for LDAP users) are still supported, but you need to press F1 before you can type on the keyboard.
  • Slight improvements were made in the way elements of the login screen appear on the screen, giving the theme extra polish and better quality.

Linux Mint 18 features a superb collection of backgrounds from Andy Fitzsimon, Helena Bartosova, David Cantrell, dking, Jeremy Hill, Jan Kaluza , Konstantin Leonov, Rene Reichenbach, and Sezgin Mendil.

An overview of some of the new backgrounds

Other improvements

HiDPI support is largely improved in Linux Mint 18. Firefox, all the XApps (Xed, Xviewer, Xreader, Xplayer, Pix) and most of the Mint apps (mintdesktop, mintsystem, mintwelcome, mintlocale, mintdrivers, mintnanny, mintstick, mint-common, mintupdate, mintbackup and mintupload) migrated to GTK3.

Popular applications such as Steam, Spotify, Dropbox or even Minecraft were added to the Software Manager and are now easier to install.

All editions now support OEM installations.

Gufw, the graphical firewall configuration tool, was added to the default software selection and is now installed by default.

Main components

Linux Mint 18 features Cinnamon 3.0, MDM 2.0, a Linux kernel 4.4 and an Ubuntu 16.04 package base.

LTS strategy

Linux Mint 18 will receive security updates until 2021.

Until 2018, future versions of Linux Mint will use the same package base as Linux Mint 18, making it trivial for people to upgrade.

Until 2018, the development team won't start working on a new base and will be fully focused on this one.



Add a comment

About Me

Oops...Almost forgot to say something about me. But anyway, I'm that guy, yule Msee, who'll sort out your techie issue and hails from the land of milk and honey. Not forgetting the bitter herbs too.

This is what am best at. Feel free to ask something. 

Latest News

Latest Tweets