As a User Experience Designer, I always try to figure out how to be creative? What is creativity? Is it science or something else? From my perspective, creativity is not just a talent, degree or an art limited to artists. It’s a kind of a skill to solve any kind of problem with design. It’s also not a science.
It’s a tool to solve problems in different styles. So what do you need to solve this problem? In my opinion, it needs only your passion and a little bit inspiration, that’s it. Since it’s a skill that helps to solve a problem, that means that you don’t have to be a creative genius or a designer to solve those problems.
Colors are most important factor of a website or product. This will ensure that there is maximum readability and clearity of text and branding of your website. Use the right color to get the attention audience to select the elements.
Avoid mixing of more colors on your website. Using 2-3 colors on a website is easier to remember than a website that uses many colors. It doesn’t mean that you should always limit yourself to one color, try to use two or four colors for best user experience and for branding as well. Like, if you see the facebook website, they have used a single color blue, which is easy to remember.
These days, everyone wants to see information or content with as little ‘clicks’ as possible. So, we should design websites in a way so that users can scroll down to see the content without having to click too often.
The use of pagination has many limitations -
It takes more time to download content
It introduces navigation because user moves from one page to another.
The biggest disadvantage is that user is not be able to see the previous content without clicking back. So they don’t have a single snapshot of their content.
Related to this is that the user is actually penalized in terms of data download as going back to a page they had already viewed is a new request.
By loading more content on the same page, we are able to solve the above problems and give great user experience with minimum clicks.
This post is about a less known alternative of loops in SQL, the TALLY TABLE.
Loops : At some point in our work we use them because they are a basic programming structure. But in SQL queries loops and cursors are not always the best option, these could slow our process. In scenarios where there is few data everything runs smoothly, but when have to deal with high volumes of data these can seriously affect the performance.
The TALLY TABLE are tables that have a single column. In this column numbers are entered in an orderly manner from 0 or 1, to a number that is useful to us. Example: If you work with a routine need to go all the count of a column values and the max value of the column is 500 than you should fill 1 to 500, which is the maximum number of values in that column.
Sample data table
Name VARCHAR(50) ,
Data in example #TallyExampleData
Now lets create the tally table and and cross join with #TallyExampleData table which will give us the multiple rows for the number of hits. We could have also use a function like
SELECT * FROM #TallyExampleData CROSS APPLY dbo.fnMultiRows(Hits) X
But this function again required a while loop which i wanted to avoid.
SELECT TOP ( @count )
N =IDENTITY( INT, 1, 1)
FROM master.dbo.syscolumns a
CROSSJOIN master.dbo.syscolumns b;
WHERE tl.N <= TA.Hits
In terms of performance prospective tally tables are blazing fast, with another query which i used for some data migration it took just 2 m 3 sec to process and insert more than 11 million records where the hits count was near about 500 hits .
Do you have any application for a TALLY TABLE? Put it in the comments and share with others.
I hope you remember the big campaign of Tourism Australia’s ‘Best Job in The World’, it went viral. I am sure each of us wanted to participate but there was a selection process. It would have been ‘best’ if we could choose the job rather than job choosing us, alas!
On that thought, I would like to share a moment about a new growth outsourced product design and engineering services company, who just had their 4th birthday – Quovantis Technologies: the company I call home these days and the job that I chose.
(I feel a shameless plug is about to be let free in this world…)
Within a month of joining the company, the talent management team(fondly called as HR erstwhile – we are not resources, you see! ahem…) calls the entire office in the common area and announces “we are the Bronze winner in Best Place to Work category in Best in Biz Awards 2014 International”.
During the open house session in the common area the talent management team’s introduction on “what, when and why” and ended with “we congratulate you”. Well, yes, they are right, ‘you’, ‘you’ – the employee who is the structural and functional unit of this organization.
Some of the ‘you’ are skilled and geniuses from UX/UI designing, technology architecture, full-stack software mavericks and of course, better of the lot coders and hackers, who has spent at least 2 years or more of their professional life building this best place to work called Quovantis.
This is what I deduced from their views – a place is best place to work if it gives “you” a chance to grow (learning and unlearning – from your mistakes, from a colleague or the universe); clear communication (between the employer and employee – transparency); flatter organisation (negligible hierarchy); rewards, acknowledgements and accolades (motivation); sharing (knowledge and wisdom); and finally challenging (yes, if you’re not challenged to set your own benchmark, to gather interest and innovate like they say ‘rolling stone gathers no moss’).
And, precisely, it is like that – I am a happy employee, so are they! Ahem! I meant my fellow colleagues. So best job in the world is where ‘I’ or ‘you’ is ‘happy’.
Congrats Quovantis Technologies and ‘you’. The ‘you’ who made this organization so that we could get felicitated with such an honor.
Hey, ‘you’ – Yes, ‘you’ – are you getting the champagne now?
It is said that change is the only constant. Every organization has to go through certain pre-defined life-cycle stages – Starting a new venture, growing the venture into a sustainable business, and preparing for decline and eventual revitalization. Where this process has scope for immense thrill – in nurturing something that didn’t even exist into a flourishing enterprise, only some entrepreneurs are able to deal with the conjoined challenges that come with this thrill. The ability of an organization – its leadership, its talent base, and its stakeholders – to deal with the peculiarity of these challenges is what decides the probability of success or failure.
This post will help you to Compare Results of Performance Testing across multiple trials. Its useful when we want to verify if the performance of a new version of our software has upgraded or degraded as compared to the previous version. To verify this we need a way or a tool to compare/analyze performance results between two releases.
To solve the above problem we can use JMeter with Blazemeter Plugin which would help us generate performance graphs across different software versions.
To get started we would need to first register on http://blazemeter.com/ with a username and password. Don’t worry, it is free for 10 trial runs every month. To run the comparison we would need to download the blazemeter plugin from here. You can learn more about this plugin here.
It is always good to write LESS code the shorter the better, nobody wants their code equivalent to an epic. Writing less code means you are writing less bugs.
Most of the common problems are already solved it is good practice to use Libraries. Libraries are constantly improved and they are tested my millions of people.
Lambda expressions were introduced in C # 3 (. NET 3.5). These expressions are now used everywhere in the code, to make LINQ queries to filter on lists for delegates and events.
Lambda expression can be confusing if you are new to it , but once you understand what lambda expression is , which is simply and anonymous function which we can use in our advantage to create our very compact and elegant code .
What motivates us to work? Money, to an extent, yes. Some people might say (and this has already been stated in zillion researches done over the years on ‘what motivates people at work’) that money is the most important motivator for people to get up in the morning every day, come to work, spend eight to nine hours doing what they are good at, and doing this over and over again for the rest of their life. Possibility, but does not stand true for all.
Ever faced a situation in ASP.NET MVC where you need to dynamically create multiple instances of derived class objects ( where collection of base class is used as a property in another class), and save the main class in just a single click ?? (This could do wonders for you and save lot of time !!).
One solution could be that each time you make an ajax call and save each instance individually !! Could work !! But you need to have the instance already in hand !! (Time consuming).
Better solution could be that you create instances of the derived classes using JQuery templates and get the derived class type while templating and post the whole form in just a single click !! No ajax call required !!
Developing in Rails can be a piece of cake for a lot of young developers as not only it is easy in comparison to the other languages but also very flexible. To make the most of this flexibility, its good to learn the best practices early on. Dipping into the wisdom from www.railscasts.com, www.rails-bestpractices.com and www.codeschool.com and after experimenting with these myself, I’ve put together a short list of some of the good practices to make your code legen– wait for it–dary!!.Legendary!
Caching with Instance Variable
Lets take a common scenario of Company, Projects and Project creators. The models would look like
class Project < ActiveRecord::Base
belongs_to :creator, :class_name => “User”
class User < ActiveRecord::Base
class Company < ActiveRecord::Base
To find the company of the project creator you would need to write a method in the company. This can be done in two ways:
Sometimes we want to display an image in an email or on a web page without using a label (tag) of <img>. Or in a style sheet (CSS) we just want to specify the content of the image instead of referring to it in a path.
Using Data URI Schemes, we can specify the “string” of Base64 equivalent to a graphic image. That is, we are specifying “in-line” image, data format, instead of using an img tag that involves the location of the image as an external resource.
“When you mix people and power, you get politics.” – Winston Churchill
Is this true?
Well, let’s come back to this in some time.
One of the most baffling realizations I have had through my work experience till now is that no two organizations can be identical. What does an organization, whether big or small, product or service oriented, corporate or non-profit, comprise of? – people, resources, processes, and the resultant interplay of all these three components – the culture. Where the skill set of people, kind of resources available, and processes can be replicated from one scenario to another, no two organizations can have the exact same culture. It’s this interplay that makes one organization stand out more than the other and if not maneuvered carefully, at times, also becomes the breeding ground for many unethical business practices.
I think there would hardly be any disagreements when I say that there has been a paradigm shift in the traction of the business ethics that was followed till a decade ago. One of the major components of such a shift is the ingress of act of politicizing in organizations. From what it seems, in the current global state of affairs, this is not specific to any one particular industry. Whether it is a rustic school, an MNC with a global reach or a teaching institute or a hospital, one will find it to have seeped in everywhere. To survive in today’s fast paced, competitive environment, employees must learn not only to deal with but effectively manage the inevitable consequences of political practices within organizations.
I would be a team player and would always put the success of my team first. I would take responsibility of the code that I write and would always unit test before releasing it. I would clean up any sub-optimal code that I find in my project. I would never cut corners while implementing or blindly copy someone else’s code or take credit for something I didn’t do. I would build world class products that I could be proud of. I would constructively question/challenge my seniors and team members for the decisions they take. I would challenge myself everyday to be the best software engineering professional. I would learn something new everyday and would try to put it to use. I would also share the new learning with my colleagues and would push them to share theirs. I would always honor my professional commitments. I would always communicate daily progress/impediments to my team and client so that they take corrective action quickly. I would always strive to realize my, the client’s and the company’s highest potential.
This is part of our offer letter and is must for every software engineer to accept it along with their compensation benefits. Unlike other companies, it ain’t just a plaque on the wall for us. We do our best to enforce this creed via our culture, values and our product engineering processes. Do we sometimes fail? Unfortunately, yes. But, we let this serve us as our set of guiding principles to undo our mistakes.