We went to the supermarket to buy salami today. And the only thing I could think of was having the cured sausage, fermented, and air-dried meat watering in my mouth. But that didn’t happen; THEY RAN OUT OF SALAMI. Good grief, I was heartbroken!! YES, over salami. OR maybe, not salami but at the thought of expecting something and not having it in return.
Are you expecting too much?
We all expect too much whether we notice it or not. Before my grandpa died, his health has been deteriorating drastically. All the signs were there, people said he wasn’t looking good, family watched but did nothing or maybe was in denial, I was abroad unaware of how bad things were (partly to blame), things went from bad to worse in a few months. Since he was in his late sixties, I expected him to be around (for a very long time); we spoke about my wedding, kids, the future. He saw my graduation pictures teary eyed. My grandpa loved me and I loved him back a million times more. I expected too much from him and from everyone around him. I expected him to eat his meals on time, not miss taking medications, and to be happy. I can imagine, he must have expected me to call more often too. But me, being busy with my senior year, I didn’t call as much as I should have. After graduation, all I had left with him were five days. And then, he was gone…
I’m not saying you shouldn’t expect. You should, but not from others, only yourself. The most pathetic people in my eyes are those in a bad situation expecting others to help out, while they themselves aren’t willing to pick up the pieces. Are you one of those people? I know I am not. The one thing I love about myself is the fact that I work so hard in solving my own problems. Yes, I ask for help, but only when I have tried everything in my power to make something work. You should expect a whole a lot from yourself. That is the only way you will get somewhere in your life. You want something, go get it. You hate something, change it. You are in a shit situation, get out of it. You can do so much, if you have the right mindset. Continue reading
Nobody ever became a writer just by wanting to be one. If you have anything to say, anything you feel nobody has ever said before, you have got to feel it so desperately that you will find some way to say it that nobody has ever found before, so that the thing you have to say and the way of saying it blend as one matter — as indissolubly as if they were conceived together.
The quote above is an excerpt taken from a letter by F. Scott Fitzgerald to his daughter Scottina, dated October 20, 1936. Though, it clearly targets aspiring writers, the quote can still be taken as valuable advice to anyone wanting to start something new. Generally, even when intoxicated with a beginner’s enthusiasm and all, starting something from scratch or embarking on an unfamiliar journey is quite scary. And that is why a lot fail even before starting.
Fear & its siblings
Fear is the most fundamental emotion we experience; it has the ability to either make or break us too. I say this because, like others before me, I have been there. It is no shocker that I have been scared to do a lot of things in the past couple of months. But, I can’t tell whether that is fear or indecisiveness; all I know, it is an emotion that makes me feel sad - that emotion, lets call it Franky for now. I should be happy! Like really happy, because for a long time, nothing seemed to workout and now I got called for two interviews (like, seriously TWO). I should be jumping for joy and eating a banana. But I’m neither jumping nor eating, I’m just chilling with Franky. Continue reading
I break all the rules. I commit to many things at once. I literally die trying to get everything in order even when nothing seems to fall through. I can gladly say I am an expert at making something out of nothing. But what is it, that I do though?
When going through my daily emails the other day, a beautifully written piece fell from the sky into my inbox. Oh, how glad was I, when I read it. It made me realize my love for the written word; my love for all things of value and hidden meanings; my love for wanting nothing more than my desire not to want anything at all. Mainly because the thing with [wants], is that it never stops; you want one thing today, something else another day, and the cycle goes on.
Just like you, I am only a person trying to live like a person
My days are unplanned. Some are great, others, not so much. I spend half of my time studying Computer Science, the other half, working as a part-time webmaster and freelance journalist. Since I am new to self employment, I focus a great deal of energy and time on learning the trade and getting used to the perks and struggles associated with it. Continue reading
It’s close to 6am. I’m as sleepy as I’ll ever be and hungry as hunger gets. I’ll be having breakfast soon, so don’t worry. The thing that is keeping me up though, is the fact that, I haven’t written something good in a while. That [while] is a months time. I keep on having random thoughts like – I should take a [break] and observe how epic journalists develop their stories. OR, I should keep going, looking for good stories to tell and better ways to tell them because honestly, I miss the feeling I get after having something published. But then, it dawned on me, what if being a good writer or wanting to be a great one, didn’t have anything to do with writing or the writing process itself.
I need to clear my thoughts
When we say lets declutter something, we always assume it is a room that needs cleaning or a desk that needs clearing. But when I think of clutter, I think of all the many thoughts and many interests I have fighting for breathing space in my mind. Whenever, I study too hard, I feel guilty for not writing enough. And whenever, I write too much, I feel guilty for not studying CS stuff or for not looking for a chemical engineering related job. The truth is, I have three loves in my life: chemical engineering, computer science, and journalism. I can’t live with either one alone and at the same time, I can’t live with both without the other. It always has to be these three. Continue reading
Waterfall model, also referred to as a linear-sequential life cycle model, is very simple to understand and use. It is a Plan-driven model with separate and distinct phases of specification and development involving a lot of processes: Problem definition, feasibility study, requirement analysis, design, programming & module testing, integration & system testing, delivery, and maintenance. Waterfall model is just one of the four software process models that will be discussed this week. But before we get to that, here is a recap of what you learned last week.
Recap: last week‘s material
Last week, we covered the main zest of software engineering: what it is about and how we should utilize it to produce generic products and custom ones. Evolution of design techniques along with the core principles of software practice were covered as well.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
SDLC is a process followed for a software project that is made of a detailed plan describing how to develop, maintain, replace, and alter or enhance specific software. Simply put, it is a methodology for improving software quality and overall development process. It involves six stages: Continue reading
Asymptotic analysis is the backbone of algorithm analysis, it attempts to estimate the resource consumption of an algorithm by comparing the relative costs of two or more algorithms for solving the same problem. After reading this post, you should be familiar with three concepts: growth rate, upper and lowers bounds of a growth rate, and how to calculate the Running Time of an algorithm. But before we get to that, here is a recap of what you learned last week.
Recap: last week‘s material
Last week, we covered the main zest of data structures: what it is about and how we should utilize it to solve problems. Design patterns were briefly touched upon and good attributes any algorithm should have were covered as well.
Asymptotic Analysis is an estimation technique that measures the efficiency of an algorithm, or its implementation as the input size of a program increases. Generally, you will need to analyze the time required for an algorithm and the space required for a data structure. Here, is [The Big Five] which are a bunch of functions I will be elaborating on shortly: Continue reading
There are some days when you wake up on the wrong side of the bed. Today is one of those days for me. I have a lot of writing scheduled for tonight and I’m still lost for words, wondering how to find them. Unlike my previous blog posts, this post will serve as a personal reflection rather than a rant. A glimpse of my struggles rather than my minor successes. In all honesty, I’m scared, not because I’m clueless but because I know what I have to do and I don’t know if I’m ready.
It is all about choices
Ever since I was a chemical engineering student, I had this dream of becoming a process engineer, working onsite, solving exciting problems, living an eventful life, and being financially independent. But then, life as usual, never goes according to plan. I thought I would be able to land a job in the Middle East without a problem (I thought wrong). Some times, even when you are qualified, talented, and full of potential you end up with nothing. But surprisingly, those times aren’t the hardest. Hard times are like, deciding how to move forward after experiencing failure. Deciding when is the right time to leave. And leaving your home to a strangle land while being completely alone. To me that strange land – are my home countries: Egypt & The Philippines. Which country will I be leaving Saudi Arabia for? I haven’t decided yet. Continue reading
A legacy system is an old computer system that continues to be used because it still functions according to the users’ needs, even though newer technology or more efficient methods of performing a task are now available. Convenience is mostly why clients follow the “old is gold” trend. What does this have to do with software engineering tho? For starters, software engineering has everything to do with theories, methods, and tools for developing professional software. However, around 60% of software costs are development costs, while the rest are testing costs. Hence, that expenditure is mainly why the lifetime of software systems is expected to exceed 10 years (if not more), turning them into legacies.
Introduction to Software Engineering
Software costs dominate computer system costs, which is why [cost-effective] software development with good attributes like maintainability, dependability & security, efficiency, and acceptability is important. Hence, it is good to remember that reusing old software when appropriate is preferable than writing new software from scratch. Software products come in two forms: Generic products, which are stand-alone systems sold to the public with rights fully owned by the developer and customized products, which are software commissioned by a specific client, who will be granted sole rights to the software. Generally, software engineering involves 4 activities: Continue reading
For starters, data structures are essential building blocks in obtaining efficient algorithms. In other words, they are meant to be an organization or structuring for a collection of data items. Data Structures are meant to solve a problem and provide a solution that can be solved within the specified resource constraints: cost, time, technical capabilities, etc. It is important to remember that each data structure has an allocated amount of space for each data item it stores, a certain duration to perform a single basic operation, and a certain amount of programming knowledge. Hence, each problem is basically centered on two constraints: space and time.
Introduction to Data Structures
The fundamental role of most (if not all) computer programs is to store and retrieve information as quickly as possible. As beginner coders we usually focus on our programs performing calculations correctly, while neglecting speed and information retrieval or storage. In that regards, this unit will teach us how to structure information to support efficient processing. But before we get to that, we need to mentally prepare ourselves for three things (that we’ll get the hang of in the future): Continue reading