Sunday, December 15, 2013

AI: Real or Hollywood Hooey?

What is Artificial intelligence, or AI? It is the ability for machines to be programmed to learn. Instead of trying to code or program something for every single scenario the machine itself would code as it goes. As in, as it was exposed to more scenarios and environments the machine would use this as input and learn what would be the appropriate response or output. Funnily enough Artificial intelligence is portrayed in media such as movies as something that would cause mankind harm. Current technology would not be able to create AI that would harm on movie levels.

Another interesting topic that usually paired with AI is robots. We currently do have robots that we can program to do certain tasks and that we can control remotely but true AI is yet to significant levels. The future of AI is promising as having a machine that not only can have limited functionality with regular programming can be changed to a robot with the ability to learn how to solve the problems itself. Such a concept is popular as it would be a new technology that would bake live easier. Such a cause is the reason we develop technology. Perhaps AI and robots would be able to exist in the future.

Sunday, November 17, 2013

The History of Computer Science: The Old to the New

Where did computer science start? When did we start programing? One of the earliest machines that was designed was the Charles Babbage. This machine used mechanical energy to perform calculations. The input was designed to handle punch cards. Regardless of what machine it was there were several components that were necessary to compute. The input was needed or else there would be nothing to compute, the processing units that would make the calculations, the memory that holds values and the control unit which directs all information, and lastly the output, without which there would be no point in making the calculations without seeing the results. Later on more and more advances in technology allowed for more, faster, and more efficiently. Mechanical energy changed into electrical energy. Buttons replaced punch cards, followed by later innovations such as the key board and mouse and touch screens. The devices became smaller and faster with the invention of the microchip. Calculations that were once done by using punch card machines that could take up a room can now be done in a device which can fit in one's hand.
File:Babbage Difference Engine.jpg
Babbage's Difference Engine
 http://en.wikipedia.org/wiki/Charles_Babbage

File Sharing: Useful, Controvertial, and Possibly Unsafe.

File sharing is the ability to make data which was on your computer, tablet, or cellphone available to others. File sharing is a very useful tool that would allow one to share information online for easy access without requiring direct physical transfer device such as a flash drive or a transfer cable. This is a highly convenient and efficient way of giving and getting data. File sharing however, does have its controversies and risks. The sharing of files has drawn the attention of copyright holders. File sharing allows people to attain data which is supposed to be paid for, for free. The term for this is called internet piracy, as they are taking intellectual property without paying for it. One example of an action taken was when megauploads.com, a popular file sharing site was taken off the net. However the impact of such action may have been minimal, as this did stop piracy in other file sharing sites. As for risks there is no certain way to determine whether or not a file on the internet has malicious software. Preventative measures for this could include having an anti-virus software installed that has internet screening capability or making sure the source that the file is safe.

Data Structures: Arrays and Arraylists


Data Structures are a way of organizing information in a certain form so that it can be stored and accessed. Each type has its own strengths and weaknesses. For example the array is a data structure that is initiated with a certain amount of holding spots for data or with certain elements already placed into the amount of slots. This data structure makes it easy to access and fill its slots buy using loops. Each slot is both filled and accessed by indexes. It should be noted that the indexes start at zero instead of one. The downside to arrays is that they are if additional slots were needed it would not be able to expand. A new array would need to be made in order to add new slots. Luckily enough there is a different data structure that is similar but allows the addition of new slot. How it avoids the problem of having limited slots is that it expands its maximum capacity as you add data into the slots. Choosing which data structure to use depends on several factors. One of them is the time it takes to do a certain action. For instance, this one makes it easy to add and access information while making it take more time to delete items while another would have easy insertion and removal but, take more time when accessing data and so on and so forth. 
Arrays

Monday, November 11, 2013

Hacking: destructive or creative?

Hacking is the altering of a program that changes its functionality to something different than what the developer intended it to be. As one could imagine this could both be used as a tool that is beneficial and harmful, both creative and destructive. Most of today's media portray its in a negative light and for good reason. People's private information are on the line and crucial information of their lives are subject to exposure to those who have agendas that are less than admirable. Information such as names, addresses, phone numbers, emails, and credit card numbers. Such information in the hand of the right,(or in this case wrong) hands can cause outstanding financial harm or damage someones reputation. However, that is not the only use of hacking. Hacking can be used to alter programs in a creative way to enhance the user experience. For instance, in the video game market there is a very popular type of hacking called a mod. Just like hacking a mod can used for maleficent purposes such as cheating or it could be used as a way to show the program in a new sort of light or allow users to have more fun than they would without the mod. Regardless hacking is a controversial topic that deserves to be a crucial consideration in this age of digital information.




Gary's mod

Tuesday, October 15, 2013

Open Source Software: Its Free!


 Large Orange VLC media player Traffic Cone Logo

Open source software is most likely the result of the programming community reacting to the greed of businesses and corporations. Instead of paying, in some cases in ridiculous prices, for software such as Microsoft Office consumers would be able to download Open Office by Apache for free. VLC player is another open source software for playing videos of many different kinds as opposed to paying for a media player that can use those types of files.

This leads to a battle of sorts against the Open source and Closed source software companies. On one side, one can infer that the paid businesses can buy up the most talented programmers to make their software while the open source software developers have a larger mass of programmers to check for bug and mistakes in the software.

Often it is the case that open source software is an acceptable replacement to paid software. However, it is not without its faults. Out of personal experience there are still many places, such as schools and offices, that still use paid software. Open Office did allow one to save its file as a word document but ,there were some issues in formatting in the sense that the word doc. file was altered. While open source software may be a better option than paying it still has a ways to go in the current world.

Agile and Scrum

According to Ken Schwaber and Jeff Sutherland of Scrum.org, Scrum is a way to make and maintain complex products. Agile and scrum are both . The scrum/agile framework consists of a team that has clear and identical goals and objectives. In order to maintain order of what features are being worked on group communication is crucial. As one could imagine, this level of communication can be daunting to maintain with all group members.

A time measurement of Scrum is called a sprint where the goals and scope of the sprint are determined in a group meeting as to ensure that all members have clarity of what the group is trying to do. Sprints are no more than a month in length and a new sprint starts as the previous one ends as to keep the flow of the project going. The project is finish only when the group has reached what they consider to be done which is determined at the beginning of the project.

Once to product is finished the development does not stop there. Scrum is more of a cycle because product can always be improved in some way or another. Features can be added, removed or even modified to improve the product for customer needs.


Friday, September 20, 2013

LinkedIn: What Is It and How Can It Help?

LinkedIn is an networking site that has, according to their website, over two hundred twenty-five million members. Unlike other social networking sites such as Facebook, Linked in is mean for a more professional representation of oneself. This is because LinkedIn is a site meant for both possible employees to advertise themselves to businesses the member wishes to get hired from as well as a site that businesses can search for possible employees.

How the users can do this is by setting up a LinkedIn profile detailing several aspects of themselves to show what the user are capable of to employers. The profile should include the user's name, a picture, educational background, previous occupations, and skills that the user possesses. The skills section is highly important as one can put all that they have learned into that section of their profile even if they lack work experience. Personalizing the URL of the user's Linked in profile is recommended so that the URL can be placed documents so that employers can easily access the page. As this job searching site may be an employer's first look at a user making a professional first impression is important as it may make or break the the employer's willingness to hire the user.

Friday, September 13, 2013

QR Codes Benefits and Risk

A QR code, or Quick response code, is, according to Denso (the inventor of the QR code), is a machine readable 2 dimensional code. One way to look at a QR code is a more advanced version of the standard bar code. While a bar code can be read in a linear fashion to identify an item that the bar code is tied to it can only be read across; thus, being a 1-Dimension code. Adding another Dimension with the QR code gives several benefits above the bar code. One major benefit is ability for QR codes to be able to have data correction. For instance, let us say that the QR code has stains or is damaged in some way, one would still be able to read the code if below 30 percent of it is damaged. A list of other benefits includes higher capacity of data holding, ability to hold a greater variety of data such as different languages, being able to have the same amount of data in a bar code but in a smaller form, and being able to be scanned from any angle as well as on distorted surfaces.

A QR code is used in several ways to make track or categorize different item. But one important way to use a QR code is one that can link you to websites. SANS Securing the Human advises being careful when using QR codes as they may link to a malicious site and may give mal-ware to the device you are using. So, as with anything linking to the internet be sure that the link or QR code is legitimate and safe.

Tuesday, September 10, 2013

Social Networking and Security When Promoting a Brand Name and Business

Social networking is now an efficient way to connect to other people via the internet. It allows them to broadcast the events of their lives to their peers. Businesses can also do this, and broadcast events that are happening to them and their customers or potential customers being their peers. This would allow a business to advertise, connect with customers, and promote themselves on social networks. This could be a huge boon for any brand as this would be a free method of giving information on their goods or services.

Although there are several benefits for a brand to have a social networking account, there is the possibility that it it could damage the business as well. Business can be treated as a person as well on social networking sites in the sense that when they make an announcement or share information the put their reputation on the line and are open to scrutiny. Any sort of information leak that would be damaging to their reputation would have great negative effects. This is especially true for social networking sites as the information that one is putting on there may not have the greatest security as hackers may be seeking information that would be valuable for them to use against the business. Thus, caution must be used when using social networking sites to promote yourself regardless of who you are.

Friday, September 6, 2013

Welcome!

Welcome to my blog!
This blog is dedicated to my journey in becoming a computer scientist. Currently I am a student of San Jose State University Majoring in Computer Science. I program in Java but, intend to learn how to program in the other languages as well.

I became interested in this field  due to my affinity to video games. However, I came to find that computer science covers a vast selection of other career choices. I was also told  that computer science is a promising degree to have in the job market. With how fast technology has grown in the past few decades, I am sure that becoming a programmer assist me not only in the job market but as a person living in the 21st century as well.

The challenges in my future are numerous. Such as learning all the other languages and learning the logic behind programing as well as applying it to real life situations.