Sun-El Musician – Into Ingawe ft. Ami Faku Lyrics

[Verse 1]
Ndingaboni nalomnyango
Kwabalek’ iinsuku
Ndikhangela indlela yophuma

Kwenzek’ ismanga amaphupho afezeka
Kwavela kwalunga yonk’ into
Ndancedwa yinkolo nentsebenzo
Noguqa ngedolo kuBawo

Hhayi into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho
Into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho
Into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho
Into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho

Into ingawe, ndiwelela ilizwe lenkuthazo
Isthembiso kungaphel’ amandla
Ndiwelela ilizwe lenkuthazo
Isthembiso kungaphel’ amandla

[Verse 2]
Iminqweno yethu ivakele
Intando anayo ingango lwandle
Ingomso lethu liyathembisa
Kumele sikwazi ukubekezela

Kwenzek’ ismanga amaphupho afezeka
Kwavela kwalunga yonk’ into
Ndancedwa yinkolo nentsebenzo
Noguqa ngedolo kuBawo

Hhayi into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho
Into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho
Into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho
Into ingawe yabona bayaphanda
Abalal’ intsebenzo ikhona nentlonipho

Ndiwelela ilizwe lenkuthazo
Isthembiso kungaphel’ amandla
Ndiwelela ilizwe lenkuthazo
Isthembiso kungaphel’ amandla

Blaklez – DMX Prayer ft Reason

I’m just checking my moves
I switch ’em like a ball player
We ain’t had no money
Never used to ball, player
Living through hope and luck
My homey it was all prayer
All prayer and we hoping that the lord save us
You gotta get up, get on up
Just tell them get up, get on up
Y’all need to get up, get on up
You gotta get up, get on up
(Singing hallelujah amen)

verse 1 – Reason
I do not sleep, I wake up and I go
I do not peak, I go up and I go
Pray for my kids and my mom and my bro
Also my sister, my papa and magogo
Never forgetting my bitch
‘Cause she gave me some bread
When a nigga ain’t had any dough
Now we got kids and a crib full of shit we don’t need
I don’t have any place for no hoes
Only got space for the truth
Come see my place, I got views
Only see greens and the blues
Don’t give a fuck about you
‘Cause my daughter playing my music
And I’m doing business with Jews
Them niggas pay for my views
Y’all niggas pay for the views
I was just talking to Slikour the other day
That nigga told me to choose
Are you going for the moment and not for tomorrow
‘Cause then you will lose
He said it’s the little you do
That shit is good for your future
I had a reply and withdrew
I’m learning there’s more I could do
Now I’m a saucy nigga with some awesome figures
‘Cause ? hit us, then I’m sure we’re getting
God forgive us, we’re just balling different to them sucker niggas
‘Cause we’re always winning
Pushing ?
Been the reallest since a little youngin
If you’re corny then I get it popping
DMXing, out.


verse 2 – Blaklez
Right in the middle of the motherland
We got the upper hand
You understand, we’re tryna move up the stands
But your moves are underhanded
I wanna move but I can’t afford a spaceship to another planet
Another plan is, build a family
Not run around, do a lot of damage
Come on come on, chase the riches
Yeah we go for gold
They say hang in there
You’re backed in a corner, pull a roper though
Here’s the truth that strips you to your bare minimum
Leave my foes exposed
Got rid of the jewelry
I’m a pyramid, yeah I’m over gold
We’re ’bout to break down the devil’s defense
I broke away from a lot of weak friends
Chase the dream with my eyes open
Not when I’m sleeping
Still strong, came out wavy
Well life threw us in the deep end
I check coast like I make money in Cape Town
You know when you getting cheques in the coast
Money flows, we’re getting paid now
Hey now, negative energy get away now
Gotta get up, gotta stay blessed
DMX, gotta pray now


5 reasons why you should consider still filing your SARS tax return.

  • SARS announced this week that those who earn less than R500,000 a year don’t have to file a tax return this year.
  • There are a number of conditions, including that you only had one employer and earned no other income.
  • Even if you comply with all the conditions, a tax expert says there are reasons you should reconsider skipping this filing season.
  • This includes that maintaining an unbroken tax record with SARS could stand you in good stead.

On Tuesday, SARS announced that if you earn less than R500,000 in a year you don’t have to file a tax return this year. Previously this was only for those who earned less than R350,000 a year.

But beware, says Marc Seivitz, director of the online tax assistance service TaxTim, the following need to apply:

  • You have worked for a full 12 months for one employer only and received an IRP5;
  • You have no additional allowances or deductions to claim such as medical, retirement or donations;
  • You have no travel allowance nor do you make use of a company car;
  • Most importantly, you earned absolutely no other income during the tax year;
  • You did not make any capital gains greater then R40,000 for the tax year.

If you do earn less than R500,000 and all the conditions apply, you should still consider filing a return, Seivitz says. “You (should) take great care here, and understand your duties properly, because if you don’t, you may suffer for it later on.”

Seivitz highlights these reasons why you should consider still filing a tax return:

1. You may miss out on a refund

Why let SARS keep your money if you are due a refund? A refund is money you overpaid on your taxes and it belongs to you.

You can only get a refund if you file a return. Something as simple as claiming Medical expenses or working for less than 12 months of the tax year can trigger a tax refund, depending on your situation. (You can calculate a refund here.)

2. You may not be able to borrow money

If you wish to borrow money in the form of a mortgage for a home, or a long term loan of any kind in future, you may need a Tax Clearance Certificate. This can only be obtained if all your returns are up to date and filed appropriately.

3. SARS might change its mind

If you normally submit, but this year you don’t, SARS could administer administrative penalties later on down the line for not being compliant.

4. ‎You can’t access your retirement fund payout

Filing a tax return each and every year means that should you receive a payout from a fund at any stage, then you will not have any hassle in getting the money. If you retire or are retrenched, or just need to take money out of your fund early, you need to be tax compliant.

5. A complete record stands in your favour

Having an unbroken filing record leaves SARS officials with no reason to suspect that you are hiding information from them. “Filing a tax return means you are being a good citizen and contributing towards society,” says Seivitz.

“It is important to remember that this (R500,000) filing threshold, provided you meet all these conditions, is not the same as the threshold to actually pay tax or have PAYE deducted,” says Seivitz. This remains at R79,000 per year for those under 65 years for the 2020 tax year.

Error 2502 and 2503 Fix

Fix Error 2502 and 2503 while installing or uninstalling: Well, if you are getting error 2502/2503 internal error when trying to install a new program or uninstalling an existing program then you are at the right place as today we are going to discuss how to resolve this error. The error 2502 and 2503 while installing or uninstalling a program seems to be caused because of permissions issue with the Temp folder of Windows which can be usually found in C:\Windows\Temp.

Fix Error 2502 and 2503 while installing or uninstalling a program

These are the error you may encounter while installing or uninstalling a program:

  • The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2503.
  • The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2502.
  • Called RunScript when not marked in progress
  • Called InstallFinalize when no install in progress.

Internal Error 2503

While the issue is not limited to this cause as sometimes virus or malware, incorrect registry, corrupt Windows Installer, incompatible 3rd party programs etc can also cause the error 2502/2503. So without wasting any time let’s see how to actually Fix Error 2502 and 2503 while installing or uninstalling a program in Windows 10 with the help of below-listed troubleshooting guide.

Table of Contents

Fix Error 2502 and 2503 while installing or uninstalling

Make sure to create a restore point just in case something goes wrong.

Pro Tip: Try to run the application by right-clicking and then select Run as Administrator.

Method 1: Re-register Windows Installer

1.Press Windows Key + R then type the following and hit Enter: msiexec / unreg

Unregister Windows Installer

2.Now again open the run dialog box and type msiexec / regserver and hit Enter.

Reregister Windows Installer Service

3.This would re-register the Windows Installer. Reboot your PC to save changes.

Method 2: Run CCleaner and Malwarebytes

Perform a Full antivirus scan to make sure your computer is secure. In addition to this run CCleaner and Malwarebytes Anti-malware.

1.Download and install CCleaner & Malwarebytes.

2.Run Malwarebytes and let it scan your system for harmful files.

3.If malware is found it will automatically remove them.

4.Now run CCleaner and in the “Cleaner” section, under the Windows tab, we suggest checking the following selections to be cleaned:

ccleaner cleaner settings

5.Once you’ve made certain the proper points are checked, simply click Run Cleaner, and let CCleaner run its course.

6.To clean your system further select the Registry tab and ensure the following are checked:

registry cleaner

7.Select Scan for Issue and allow CCleaner to scan, then click Fix Selected Issues.

8.When CCleaner asks “Do you want backup changes to the registry?” select Yes.

9.Once your backup has completed, select Fix All Selected Issues.

10.Restart your PC to save changes and this should Fix Error 2502 and 2503 while installing or uninstalling a program.

Method 3: Run Installer with Admin rights using Command Prompt

1.Open File Explorer then click View > Options and make sure to check “Show hidden files, folders, and drivers.” Again in the same window uncheck “Hide protected operating system files (Recommended).

show hidden files and operating system files

2.Click Apply followed by OK.

3.Press Windows Key + R then type the following and press Enter:


4.Right click in an empty area and select View > Details.

Right click then select View and click on Details

5.Now right click on the column bar where Name, Type, Size etc is written and select More.

Right-click on the column and select More

6.From the list check mark subject and click OK.

From the list select Subject and click OK

7.Now find the correct program which you want to install from the list.

find the correct program which you want to install from the list

8.Press Windows Key + X then select Command Prompt (Admin).

9.Now type the following and hit Enter:


This would run the installer with administrative rights and you would not face the Error 2502

Note: Instead of the program.msi type the name of the .msi file causing the problem and if the file is located in Temp folder then you would type it’s path and press Enter.

10.This would run the installer with administrative rights and you would not face the Error 2502/2503.

11.Reboot your PC to save changes and this should Fix Error 2502 and 2503 while installing or uninstalling a program.

Method 4: Run Explorer.exe with administrative privileges

1.Press Ctrl + Shift + Esc keys together to open Task Manager.

2.Find Explorer.exe then right-click on it and select End Task.

right click on Windows Explorer and select End Task

3.Now click on File > Run new task and type Explorer.exe.

click File then Run new task in Task Manager

4.Check mark Create this task with administrative privileges and click OK.

Type exlorer.exe then Check mark Create this task with administrative privileges

5.Again try to install/uninstall the program which was earlier giving the error 2502 and 2503.

Method 5: Set correct permissions for Windows Installer Folder

1.Open File Explorer then click View > Options and make sure to check “Show hidden files, folders, and drivers.” Again in the same window uncheck “Hide protected operating system files (Recommended).

show hidden files and operating system files

2.Click Apply followed by OK.

3.Now navigate to the following path: C:\Windows

4.Look for Installer folder then right-click on it and select Properties.

5.Switch to Security tab and click Edit under Permissions.

Switch to Security tab and click Edit under Permissions

6.Next, make sure Full Control is checked for System and Administrators.

Make sure Full Control is checked for both System and Administrators

7.If not then select them one by one under group or user names then under permissions check mark Full Control.

8.Click Apply followed by OK.

9.Reboot your PC to save changes.

This should Fix Error 2502 and 2503 while installing or uninstalling a program but if you’re still stuck then follow the steps listed under method 6 for Windows Installer folder also.

Method 6: Set Correct Permissions for Temp Folder

1.Navigate to the following folder in File Explorer: C:\Windows\Temp

2.Right-click on Temp folder and select Properties.

3.Switch to Security tab and then click Advanced.

click Advanced options in security tab

4.Click Add button and the Permission Entry window will appear.

5.Now click “Select a principal” and type in your user account.

click select a principal in advanced security settings of packages

6.If you don’t know your user account name then click Advanced.

select user or a group advanced

7.In the new window that opens click Find now.

Click Find Now on the right-hand side and select the username then click OK

8.Select your user account from the list and then click OK.

9.Optionally, to change the owner of all sub folders and files inside the folder, select the check box “Replace owner on subcontainers and objects” in the Advanced Security Settings window. Click OK to change the ownership.

Replace owner on subcontainers and objects

10.Now you need to provide full access to the file or folder for your account. Right-click the file or folder again, click Properties, click the Security tab and then click Advanced.

11.Click the Add button. The “Permission Entry” window will appear on the screen.

Add to change user control

12.Click “Select a principal” and select your account.

select a principle

13.Set permissions to “Full control” and Click OK.

Allow full control in permission for the selected principal

14.Repeat the above steps for the built-in Administrators group.

15.Reboot your PC to save changes.

That’s it you have successfully Fix Error 2502 and 2503 while installing or uninstalling a program in Windows 10 but if you still have any questions regarding this post then feel free to ask them in the comment’s section.

Learn to code (or do anything): top down, bottom up and other approaches

Learning to code is hard. Software engineering, the field we most commonly refer to when talking about ‘learning to code’, is based upon a foundation of computer science and applied mathematics. And while it is true that you don’t need to be a mathematician or a computer scientist in order to be a software engineer, the another truth is that learning even basic programming concepts is hard for most people. In this article we will explore a little bit of learning theory, and how we can apply it to those just getting started with learning how to code. I’ll lay out some of the advantages and disadvantages of concepts like the bottom up versus top down approaches to learning, as well as some alternatives that are worth considering. This content is aimed at newer programmers, but these concepts are applicable to anyone who is interested in learning more effectively, even if the topic isn’t programming.

I’ve been a professional programmer for over 7 years, and I started messing around with code way earlier. If there’s one thing that I can say confidently about this profession, it’s that the learning never stops, and it never gets any easier. Every time you master a difficult concept, you can be sure that another one is right around the corner. I spent a lot of my time early on reading obsessively about programming topics, mostly in the form of what shiny new framework was better than the old solution to the problem. I read about topics like whether or not I should use jQuery or MooTools for my next website project. Frequently felt way out of my depth, like there was no way I could possibly understand any significant part of the web development ecosystem (and this was before the explosion of front-end solutions). Thankfully for you, people like me exist, with just enough perspective to help you steer clear of pitfalls and time sinks that won’t help you effectively level up as a programmer.

So let’s dive right into it.

The concepts of top down and bottom up processing have been applied to a number of disciplines, but the one we’re most interested in is how top down and bottom up can be applied to learning. The general definition of top down learning is a process that immerses the learner in the full context of the subject matter. Put another way: if you were someone who was interested in learning how to swim, and I was someone interested in employing the top down method, I’d throw you in to the pool. Conversely, the bottom up approach involves a process that is much more granular and theoretical. A bottom up approach to learning involves exposing the learner to the fundamental concepts of a subject matter in isolation. A bottom up approach to learning to swim would involve learning about fluid dynamics, anatomy and physics, but would not involve a pool.

The bottom up process of learning/teaching involves exposure to only the component parts of a particular subject matter, and slowly builds upon those components towards the whole. Learners using this approach only move on to the next component once the previous, prerequisite components have been mastered. For the most part, traditional public education (at least in the US) employs this approach.

The bottom up approach enjoys a number of advantages. What I consider primary among them is that the learner is able to acquire a complete understanding of the subject, as long as they take the time to master each component part. Bottom up is also easy to structure: breaking a problem down into small, coherent fragments lends itself to organization. A teacher planning a bottom up approach to a curriculum already has to organize their material into small topics. In the world of programming, understanding a significant portion of any language, framework, or tooling is a long and difficult process. When learning a new language, a bottom up approach is useful for learners that need to understand a concept at a high level in order to feel confident about moving on to another concept. For example, learning the basics of JavaScript using a bottom up approach might involve learning about primitive values like Numbers, Strings, Booleans, Arrays, and null/undefined, then moving on to Objects and Functions, before finally moving on to scoping and control flow. Ideally each concept would build on top of the previous concepts to create a nice progression.

The most obvious disadvantage to the bottom up approach is that a learner employing this method will lack any sort of useful context about the concepts they are learning about. This isolation leads to an inability to apply the learned concepts in any kind of meaningful way. If we return to the swimming example for a moment, it seems like common sense that no matter how much you learn about fluid dynamics, anatomy, and physics, if you never actually try to swim, then it follows that you won’t ever really be a good swimmer. This is also why you’ll almost never see any type of (good) modern programming resource that doesn’t include at least some type of practical portion.

Top down

A top down approach to learning embraces a macro-oriented, practical process that has the learner immersed in the subject matter. The priority for a top down approach is to provide a wider perspective of a problem or subject area, without necessarily going into detail about how specific components work together. A great example of top down learning applied to programming would be a situation where a new developer was given a project they needed to complete using an unfamiliar language or toolset. Instead of relying on a progression of mastery of isolated components, a top down approach instead lets the learner understand the individual parts by exploring and experimenting.

Advantages of top down

A top down approach to learning is particularly advantageous for some programming students because getting a chance to see how everything is working together is exciting. Personally, my interest in programming was sparked and maintained by resources that let me implement my own complete, (mostly) working projects. Initially this was messing around with making command line quizzes and adding functionality to games via scripts, but the common denominator here is that I probably wouldn’t have even bothered if the only way to learn was one step at a time. Besides providing an incentive to learn, a top down approach is practical. For many learners, the goal is to learn only what’s necessary to understand or implement a very specific concept. In this situation, a bottom up process would be overkill, and possibly even a waste of time.

Disadvantages of top down

Top down learning also comes with disadvantages. Generally, top down learning leaves the details to the student, which many times can result in a patchy understanding of a concept. Learners may grasp enough to just “get it to work”, with no motivation or clear path to understanding how the foundational components are working together. When I was writing my first command line quizzes, I had no understanding of the differences between primitive values like Strings and Numbers, so I was quite perplexed when statements like 1 + "1" resulted in 11.

Although both the top down and bottom up approaches have their own merits, I believe that like many things, a simple dichotomy doesn’t represent all of the viable options. It’s a little cliché to say, but I really do think the best approach lies somewhere in the middle.

In my experience, there are two types of situations that almost never work out when trying to learn a new programming concept:

Some of you have probably already been here. You get excited to learn about the latest and greatest in Single Page Apps/Machine Learning/Augmented Reality/Blockchain Game Development, so you dive right in to a 32-part YouTube series on how to build your own. By video 4, you’ve entered territory you didn’t even know existed, and convinced yourself you must be the worst developer ever. This is not a productive way to learn, and it showcases some of the nasty downsides of a top down process. Put another way, sometimes total immersion and full context can be overwhelming.

In my experience, ‘the lengthy tutorial’ almost always leads to the other of the two bad learning situations: the comprehensive resource. After you’ve convinced yourself that you don’t know enough to make your great new idea, the only feasible solution is to find the most comprehensive resource available on the subject, and try and slog through it in order to better understand the subject and ultimately build your Single Page App/Machine Learning Algorithm/Augmented Reality Thing/Blockchain Game. However, the comprehensive resource isn’t exciting, and so after the first few chapters you put it down and then never again revisit the subject. This is a great example of how bottom up learning can let you down. Simply put, sometimes the regimented, step-by-step process can be a boring way to learn things.

Build small things every day

I think the solution comes in two parts. First, learning a new programming concept should involve coming up with the smallest possible practical application of that concept. For a developer trying to learn a new language, this might be a command line ‘choose your own adventure’, or an implementation of a simple game in the browser. Once you have a small, achievable goal in mind, learn the bare minimum of what you need to in order to implement that application, but work to master those concepts. If I’m building a ‘choose your own adventure’, then I’ll probably really need to dig in to standard inputs, standard outputs, and simple control flow in the language I’m learning. Ideally, these types of small projects will be something you can complete in a day. That way, you never struggle for too long on a concept, and you continually will incentivize yourself to come up with new projects by the small successes you make on a shorter timeline.

Wrapping up

In this article, we explored the concepts of the top down and bottom up approaches to learning/teaching. We also touched on the idea of building small things frequently, in order to navigate around the pitfalls of high complexity and boredom to keep you excited about learning new things.

If you found this article helpful, please consider sharing it with others. If you didn’t, I’d love to know why, and maybe hear your thoughts on what other processes should be considered when learning on your own.

Austin Tindle