Thursday, October 24, 2013

Hacking: Prevention or a Theft?

Do you lock your home before going to sleep? Do you lock your car when you are going for shopping? I am sure your answer to both questions is yes. But, why do we protect our property? Well, the answer to that is very simple and obvious. We do not want anyone to steal our property nor do we want strangers to use our property. Now, let us consider our digital property. Do you use online banking? Do you check your emails regularly? Do you use social networking websites? In the 21st century, I assume the answers to these questions are yes. Now, what if I tell you that someone can steal all of your personal information from your digital world? Yes, you heard it right. If you are not protecting your digital property, some hackers can steal your digital information. So, in this blog post I would like to talk about what is hacking and how hacking is related to us. 


What is hacking?

Hacking has many different interpretations. Many professionals use “hacking” to mean clever programming. For instance, one my professor uses “hacking” to simply mean computer programming. However, there is another interpretation of hacking that is often used by our media and our society. According to that interpretation, hacking is an act of breaking or stealing. In this context, hacking means “gain unauthorized access to computer data: to use a computer or other technological device or system in order to gain unauthorized access to data held by another person or organization” (1).  


Relationship between users and hackers

Now, you might be wondering what hacking has to do with you. Let me explain that by giving you a realistic example. Imagine that you are browsing on the internet. You might be checking emails, and you happen to get an email with an attached file. If the attached file is corrupted (meaning it contains Trojan horse), then malicious users can get access to your personal data. Perhaps, malicious users can control your device and possibly ruin your device by deleting important files. This is just a one simple scenario, hacking is usually more harmful than the situation mentioned above. Hackers can have power of controlling our our credit cards, to controlling our car breaks. In other words, anything that uses software can be hacked and controlled by malicious users. Read further to know more about what hackers can possibly do. 

Who are hackers?

There are various kinds of hackers in our society. Some of them hack for good causes whereas others hack for unethical reasons. First, I will like to talk about unethical hackers. Unethical hackers are those who hack to steal or gain access to unauthorized software or networks. Their main purpose of hacking is to gain benefits for themselves. On the other hand, there are other kinds of hackers who hack for good causes. For example, big corporations and governments hire hackers for security reasons. Corporations would like to check their cyber security, and ask hackers to break into their system or find a loophole into the software. Lastly, there are hackers who hack for fun or to challenge their skills. Hackers of this type take hacking as a challenge.

I hope you enjoyed my blog post about hacking, and learned something new. I will be looking forward to your replies in the comments.

References:








Saturday, October 12, 2013

Open Source

Most of you may already know about open source software. Your understanding about open source software might be limited to the fact that open source software is “free software”. However, there are lot more interesting things about open source software that makes them unique. What makes open source software unique is the fact that they come with source codes. I know what most of you might be thinking, you might be thinking that “I am not a programmer, so how source codes are benefiting me or my business?” Well, let me explain how open source codes will help everyone. Since source codes of open source software are available to the general public for use or modification, if some developer finds a bug in the current version of the software and he or she decides to fix that bug and redistributes the software, everyone will get a fixed version of software. This innovative ideology of open source software makes them very convenient and successful. 


Why choose Open Source Software over Commercial Software?

As a user, you might be wondering which software (Open source software or commercial software) would be better to use for either your personal use or business use. Let us investigate which development methodology is better. 

Security: When it comes to installing or using software, we have to consider security of the software. Security of the open source software is better than commercial software because in open source software development, source codes are available to the general public, and as soon as someone finds a bug, they will either fix the bug or notify developers to fix bugs. On the other hand, commercial software has closed or hidden source codes, so when someone finds a bug, they have no access to the source code to fix the problem. (Well, what you have to do in that case? Wait for their new bug free updates!) The developer team of the commercial software is limited whereas open source software has a wide range of developers. 



Customizing Software: Open source software gives us a freedom of customizing software based on our taste. So, if you would like to add something to the current software, or if you would like to change something about the software, you have freedom of achieving that task. (I am assuming you know some programming in this case.) On the other hand, commercial software does not give us freedom of customizing software. In commercial software, we have to use what they gave us in that package. What is the solution if you would like to change something about the commercial software? According to commercial software approach, we have to buy new software or some other software to achieve that task. 

Cost: No matter who you are, you would like to save money and get better product. One of the primary advantages of open source software is the cost. Most of the open source software comes at little or no cost. Yes, you heard it right, they come for free! Now, let's consider commercial software. Commercial software is expensive and you have to keep on updating them once their license expires. 

I hope you enjoyed my blog post and learned something new about open source software. I will be looking forward to your replies in comments.


Reference: 

http://blog.hathix.com/wp-content/uploads/2013/09/may-the-source-be-with-you_Open-source.jpg

http://opensource.com/resources/what-open-source

http://milindpadalkar.files.wordpress.com/2011/05/open_source_part_ii.jpg

Friday, October 4, 2013

Agile Methodology: a successful way to develop software


Have you ever had an experience of ordering something and waiting for a long to find out the deliverable is completely opposite of what you expected? Well, this is a very common problem in most of the businesses. The traditional software development procedure is very similar to the scenario mentioned above. In a traditional software development, interaction between clients and developers are very minimal such that both of them do not interact with each other until the final product is ready. Now, can you imagine what this would be like? Yes, you guessed correctly, it would be a complete chaos if developers did not meet a client’s request properly. So, you might be wondering what we can do to improve this methodology. The answer is very simple, use new and effective methodology called Agile. 
Comparison of traditional development vs. agile development

What is Agile?
Agile is a plan driven software development methodology where active participation of client is very essential. Agile approach makes software development iterative by breaking huge project into small phases. During each phase, certain requirements are planned, implemented, and tested. After each phase, a development team delivers something to their clients. This approach really helps both software developers and clients.  Developers benefit from agile methodology because the work is divided into separate phases and that helps developers focus on smaller aspects of the project instead of tackling whole project at once. Agile approach benefits clients as well because at the end of each phase they get deliverable which gives client a clear understanding about the development. After the deliverable, clients can ask developers to make some changes to their development. 


Benefits of using agile methodology
·         Customers are happy with the final product because they are constantly involved during the development process.
·          Development time decreases because dividing work in each phase keeps the development process on time.
·         Easy to make changes in current development.
·         Improves clients’ business because agile methodology allows clients to pick and choose what they want in their software.
·         Improves software quality. 

Since agile methodology seems to work very effectively, many software companies are now using agile methodology to develop their software. An interesting thing about agile methodology is that agile is easy to learn. One can understand agile in less than nine minutes by watching this video

I hope you enjoyed reading about agile methodologies, and hope you use this approach when you develop software for your clients. I will be looking forward to your replies and views on agile methodologies.

References:



Friday, September 20, 2013

LinkedIn and Branding: An Effective way of Branding Yourself


Today, we all try to sell our skills to get the job that we all dream about every day. Okay, may be not every day, but the point is we tend to look for opportunities to expand our career to get that dream job. Before we discuss effective ways of branding our skills, let us consider what exactly are we selling? If you are in the Computer Science field, you are not only selling your programming skills, or software development skills, but you are also selling countless hours you have spent on successfully honing those skills. We have developed our skills over a period of time, and as we head out in the “real world”, we have to effectively sell our skills to tell the employers who we actually are, and to achieve what we really deserve.



How to Brand Yourself?

Now that we understand the importance of our skills and what we are selling, let us look at some of the effective ways to brand ourselves. When it comes to branding ourselves, networking is the most essential tool. It is important to maintain our network because there are great amounts of chances that you will get your dream job via networking. In most of the cases, how it works is if some member from your network has a job opening, you will be the first one to be informed, or you will be recommended by that member (And that recommendation usually does the magic!). So, how do you get yourself into a network? There are many possible networking sites that enable you to join the network. Personally, I like LinkedIn because it is the most “professional networking” site available.


What is LinkedIn?

LinkedIn is a professional networking site that has nearly 238 million users, and 3million business pages (1). Ever since LinkedIn’s launch in 2003, LinkedIn is helping their users to network professionally with others. LinkedIn allows its users to find their classmates, colleagues, alumni, and clients who are connected with each other professionally. LinkedIn also has very similar feature as Facebook of liking posts, joining groups, and sharing interesting posts.


LinkedIn for Networking

LinkedIn allows you to “connect” with your friends, colleagues, and clients who share similar skills or know you professionally. What is interesting about LinkedIn is their “Second-degree connections” and “Third-degree connection”. These two features are one of the most important things about LinkedIn networking. Additional connections work as if you have a friend in your “connection”, then you can have an access to their connections (known as “second-degree” connection), and you also have an access to connection of “second-degree’s” connection (known as “third-degree” connection). For example, if you have around “800 direct connections (then it) will give you an overall network up to approximately 10 million individuals” (2). This means that connecting to just 800 individuals will give an access to countless individuals; thus giving you a great opportunity to enhance your career. Another important feature of LinkedIn includes "following" specific companies that users like. For example, if I like Google, I can follow Google, and I will be able to see every updates they make on their official page. Following companies you like is important because they might update “job openings” via their LinkedIn page. Third important tool to consider when expanding your network via LinkedIn is joining groups. For instance, I am associated with Computer Science group of San Jose State University, where group members’ posts about upcoming events that are related to Computer Science, or job opportunities. Lastly, LinkedIn will automatically posts some interesting job opportunities on your home page based on your interests, skills, and other information that you have provided on your profile.



Overall, LinkedIn is an effective way of networking with millions of members. LinkedIn is an endless network which enables you to expand your professional career. I hope you enjoyed reading about LinkedIn and branding. I will be looking forward to your replies, and suggestions to improve my blog posts. Thank you for your time!


Reference:



Thursday, September 12, 2013

QR Codes: Importance and Security of QR Codes
This QR code is for my Blog
Have you ever seen a box-looking barcode and wonder what it is? They are QR codes, or Quick Response codes. QR codes were developed by a Japanese company to keep track of their inventories. Today, QR codes are becoming very popular in the United States, Europe, and many other countries. QR codes can be found everywhere around us. Newspapers, magazines, fliers, business cards, and T-shirts (Yes! On T-shirts) often contain QR codes. But, what are we supposed to do with these QR codes? We are supposed to scan them with our smart phones, or tablets to gain more information about the product, receive instant coupons, know more about upcoming events, or get contact information of someone. So, how do we get a QR code scanner? Anyone can simply download free apps available on the App store or Google Play to scan QR codes. (Yes, it’s that simple!)

Why QR codes over 1-D barcodes?



It is important to differentiate between QR codes and 1-D barcodes to understand the importance and advantages of QR codes. First, QR codes can be scanned from a 360° angle, whereas 1-D barcodes can only be scanned from horizontal sides. Second important difference is the amount of data each barcode can hold. As Sankara Narayanan, an information security researcher, points out in his article, “Bar codes are linear one-dimensional codes and can only hold up to 20 numerical digits, whereas QR codes are two-dimensional (2D) matrix barcodes that can hold 7,089 numeric characters and 4, 296 alphanumeric characters, and 1, 817 kanji characters of information.” The ability of QR codes to hold more data is what makes them very useful, and with this advantage business owners can put more information about their products, or include URL of their websites to inform consumers about the current sales. Lastly, QR codes take less space compare to 1-D barcodes. So, QR codes can be helpful in saving printing costs for small businesses and large corporations.

QR codes for promoting Company’s Brand


QR codes can be very useful for business owners to promote their brands. Since they are very easy to generate, business owners should generate a code for their business use. For businesses, QR codes can provide contact information, current sales information, give customers Wi-Fi access (great for cafe, and restaurants), options of getting instant coupons, and provide more information about products. Businesses should consider using QR codes because a recent study shows there are more customers who are keen to use QR codes and shop through QR codes because it saves them a hassle of waiting in long lines. The numbers of users who are shopping through QR codes are steadily increasing and it would be very smart tactics for business owners to advertise their brand via QR codes.


 Security of QR codes  
                  
Although QR codes have significant advantages, we should always consider security of QR codes. It is essential for users to understand security of QR codes because often QR codes are connected with shortened URL. It is very hard to decide whether shortened URL will take one to safe site, or unsecure site. If the site is not legitimate, then it can download malware in to your device, or the URL will lead you to the website which is controlled by hackers. In these cases, users might lose their personal information stored on their smart phones, such as bank account information, personal photos, and much more. More information on QR code security is discussed in this article. A solution to this problem can be solved by choosing a correct QR code scanner app. Some of the free available QR code scanner apps let you preview the webpage that the QR code will take you on. This is very useful because it enables users to reject the request if they find out that QR code they are using is broken.


I will be looking forward to hear back from you. Please leave your comments below to give me feedback, and inform me about my blog post. 

Friday, September 6, 2013

Social Networking and Security or Lack of When Promoting Your Brand

In the 21st century, social networking sites have become very popular. They also became very important part of our daily lives. We utilize many social networking sites to stay connected, convey our regards, wish each other for their birthdays, and to associate ourselves with certain groups. But, why social networking sites are very important tool for businesses? Many companies see this new innovation as a great way to expand their businesses. For instance, companies like Microsoft, Cisco, Star Bucks, Target, and many others use their Facebook pages to inform their audience about their new innovations, current sales, and offer discounts. These companies use social networking sites as a tool to get immediate feedback from their customers, and improve their products based on their customers’ feedback. Social networking sites have helped many businesses to expand their businesses via connecting to their customers directly. 
This image of Windows's Facebook Page illustrates their current sales, and links to directly shop from their Facebook page.  Source
Things to consider when promoting a company's Brand  Source

Important things to consider when promoting a company’s Brand: 
Since social networking is important for expanding businesses, there are few vital things to take into consideration when promoting brands on social networking sites. First, business owners should target specific audience. They should choose their audience based on age groups, demographics and locations. For example, if someone is selling video games, their best audience would be kids and adults, but not senior citizens. To get better understanding of the importance of audience profile, this will be a very useful source. Second, it is important for business owners to know what consumers are talking about their brand because their vital feedback can help in improving products. Consumers’ feedback determines fate of product because consumers are more likely to market products to their friends and relatives by spreading the words. So, it is essential to figure out what consumers are talking about owners brand on the web. This source will enable individual to find out what consumers are talking about them. Another important thing to consider is to active participation of consumers in conversations. Simply actively updating the company’s Facebook page and encouraging consumers to comment on recent statuses can achieve this task.  
Security of Social Networking sites: 
It is crucial to manage security of owner’s social networking sites because some hackers would be able to hack into owner’s account and get access to all-important documents, users’ data, and private information of business. This would damage owner’s reputation, it would break consumer’s trust in owner’s business, and owners and users both will have to jeopardize their personal information. Since many companies are using direct buy options from their Facebook page, many consumers will have to risk their bank account information in case if someone is able to get access to the owner’s social networking sites. But what can business owners do to protect themselves from web threats? There are many careful steps that business owners’ can take to save themselves from becoming victim of hackers. First, owners should strengthen their administrative account. One simple way of doing this is by assigning at least two administrators (admin) for a business page. Additionally, admins should regularly review admins’ activity, and delete things that seem to be threat. For instance, some users might put their advertisements which have a risk of containing malware. They should use one-time password feature to receive temporary password every time to strengthen their business account. More information on one-time password can be found here. Another important feature to utilize on social networking sites is, deleting unnecessary comments. In Facebook, owner has an option of keeping posted comments on their page or deleting them, if comments seem to damage the owners’ reputation. This feature is important to use because there will be certain occasions where someone will try to spam business page or write inappropriate comments. 

Friday, August 30, 2013

Welcome to My Blog

Hello all, Jay Patel here! I’m an Undergraduate student in the Computer Science department (CoSci) at San Jose State University. Welcome to my new blog. My blog will focus on various technical topics and it will also incorporate useful technical information that will help all of us to improve our understanding about current computer technological news. My intent will be to cover essential topics on tools and new technology. I am looking forward to receive your feedback and comments.





About Me

I am a programmer: someone who gives instructions to computer or technological devices to accomplish certain tasks. As a programmer, I have acquired a few technical skills. My technical expertise includes programming languages, programming tools, and knowledge of different operating systems. To be specific, I have knowledge of programming languages such as Java, C, also knowledge of UML. Some of the programming tools that I know include GCC, GDB, and Mercurial. Lastly, I have utilized Windows Vista, Windows 7, Windows 8, and Unix operating systems.  

Why Computer Science?

I find Computer Science to be very fascinating because this is the field which enables humans to give commands to one of the fastest machines on earth. This field gives us a power to work with the computer to accomplish tremendous amount of work within nanoseconds. It also provides a pathway to enormous information, and makes our lives easier. Additionally, this field of technology gives life to many electronic devices, which is very impressive to me. Another reason I believe that Computer Science is very powerful field to be in, is because in our daily profession and personal lives, we all use technologies almost every minute. One of the examples, that I always think about is, even though Computer Science and Medical fields have no direct connections with each other, it is nearly impossible for the Medical field to survive without technologies that computer scientists give birth to.


Although we have made tremendous progress in the field of Computer Science, there are still a few unanswered questions that still need to be answered. One of the problems that still require solution is protecting the privacy of users. I am interested in tackling this particular issue in the future because protecting privacy of users would mean saving their identity from becoming public.