Sunday, December 15, 2013

Computational Science

As technology becomes more and more advanced, and concepts become more complex and abstract, the need to visualize all of these concepts and how they interact with certain parameters becomes harder as well. More variables come into play as the scope of researching or studying things like molecules widen to include not just overall structure but maybe even each individual structure as nucleus and electrons. Computational Science's goal is to use mathematical models and quantitative analysis to expand that scope and simulate on computers such interactions (Source). 

There are many branches of Computational Science, such as Biological Computation which as the name suggests focuses on biology systems. Defining what biological systems compute and the even bigger question -- how it is computed, are the fundamental principles to uncover from such research. As such, things like DNA and cells will need to be programmed, expanding our visual scope the two of the smallest units we know of in the body. Being the smallest unit also means there are going to be millions, maybe billions, of objects in the simulation, which is why, supposedly, computational science projects often require supercomputers according to wikipedia; and it wouldn't be surprising with so many complex objects. 

If such projects depend on supercomputers, it would seem they are bound to have hardware problems eventually. Or at the very least they will become limited by it until hardware issues like RAM processing speed can catch up with other hardware.

References:

Sunday, December 8, 2013

Computer Graphics

Personally, I have no idea what kind of algorithms are used to make graphics look clean, neat, organized, you know -- realistic, which have by all means improved drastically in the last decade. But, I have dabbled in using some software to get textures to appear on meshes in games like Skyrim and Oblivion. 

Texture
The textures themselves in this game uses a .dds format (Direct Draw Surface) that some versions of Adobe Photoshop support or the freeware Paint.NET
Mesh
whereas the meshes .nif (Notation Interchange File) which contains the shape of the object using many, many triangles and probably a lot more information that I'm not aware of. These are somewhat editable with another freeware NifSkope.


Anyways, how some algorithms help obtain that realism is simply making it easier to create or make edits to images that later get wrapped around the mesh, or in whatever way an algorithm gets the image to appear on the mesh and look neat. Clipping Algorithms help in making things look neat and in doing so realistic, clipping being "Any procedure which identifies that portion of a picture which is either inside or outside a region" (Source)




References
http://en.wikipedia.org/wiki/Clipping_(computer_graphics)
http://www.fotocraft.org.uk/images/screamer4x4/Screamer4x4_03.jpg

Sunday, December 1, 2013

Communication and Security: Network structures

How do our devices connect to a router? And then how does that router connect to the rest of the world? Questions that have come as side thoughts for split seconds and vanish, never focused on to be explored and understood -- part of the many things taken for granted. 

Conceptually there are typical layouts of network setup in homes, but in the end the result is that they're in communication with each other or have the ability to reach each other (source). 


Ethernet connections use the 'Bus' layout whereas Wireless LAN connections would be generally conceptualized with the 'Star' layout. in which the central node is the Wireless Access Point (WAP). WAPs may be integrated into the router itself, but are not necessarily. Regardless the access point's responsibility to is to connect to the router. 
These layouts may also apply to the router whose responsibility is to determine where to forward data packets to other nodes or sub-networks -- as the internet can be seen as 1 enormous network. For network security, firewalls can be seen as the filter properties of each node. 
The vastness of the internet.

Yes, this is all quite summarized and general concepts, otherwise Network Security wouldn't be such a 'hot' job at the moment. At the very least I hope this is a starting point to asking more questions about how computer networks communicate and process data to one another. 

Saturday, November 30, 2013

Artificial Intelligence: The difference of seconds


Artificial intelligence, a solidified product in sci-fi; a growing fascination of reality, two points that need a bridge connecting them. At one end, it's like a complete man-made being capable of thought and learning -- growing. At the other end, we have things like chess solvers where even put on the most basic level beginners may have trouble beating the computer a.i. 
What is significant about someone who does not play chess getting beat by an a.i.? If we look more at how a.i.'s are built with a tree, then we can see how many possibilities the a.i. must consider even at the first level and how many a beginner will see, let alone consider. As the increase the difficulty of the computer a.i. it considers even more possibilities by going through more levels of the tree in the span of seconds, the difference between it being a beginner and masters. To simulate just how this would look on the chessboard itself, Thinking Machines 4 has a playable chess game while showing the a.i. considering its possibilities: here

We know that the a.i. for chess is not complete like that of checkers, so the extreme amount of possibilities shown in that simulation is not even finished shows just how powerful it is now and it's not even at the level writers have portrayed in the novels -- the bridge isn't complete yet.


Sunday, November 17, 2013

My CS History, Part 1: Creative Appeal

My first impression of Computer Science really had nothing to do with solving problems or what coding actually looks like. Really, it had nothing to do with logic, but the appeal of simply being capable of creation. I mean, other forms of art are capable of it too; however, something about computers was just more appealing or simply that everything that other forms of art can create can be translated into something digital. At the time I had thought it was a one way thing, but even when not so that fact makes the computer a sort of central hub. I suppose the seemingly endless possibilities it offered was most enticing.

But since I've been talking about art, the computer's biggest tool for that: Adobe Photoshop, right? And of course there are offshoots of it, but the point is that in one central place the computer can simulate the same effects as physically drawing or painting, etc. Also, even if it cannot do a certain thing that physically crafting can now, eventually it will. Whereas the reverse seems less likely, it is not particularly practical to find a way to recreate a custom effect on the computer in 'real' life.

Thursday, November 14, 2013

My CS History, Part 2: Reality Check

As I actually began to touch the surface of what Computer Science is having taken a few classes at San Jose State University, I realized that at the very least what they teach us in school is completely different how I imagined it to be. Programming wasn't the super mysterious and purely magical result giver, a lot of theory goes into it and design: data structures, hardware architectures, evolving coding languages. The languages I find to be most interesting as representations of how to essentially 'see' code in different ways. Since SJSU has a focus on Java, we 'see' pieces of code as interactions between objects or things. This, in some sense, affects data structures too. How code is represented and recognized often leads to how it can be organized. 
Essentially, school has filled in some of the mysteries of the 'black box' that computers were, along with it's 'black magic.' So while my history of Computer Science hasn't really been about Computer Science's history (like knowledge on what changed between generations of computer languages and why), this is a small snippet of what it has been for me. At the same time, I'd don't really mind; working with what is current and honing those skills mean more to me than potentially useful principles history may teach -- and I know myself well enough that studying history isn't an effective use of my own time as I don't approach it willingly.

Sunday, November 10, 2013

File Sharing: The Power Struggle.



File sharing, the simple act of downloading data (source). As a tool, simply revolutionary.


It gives people power and businesses are fighting to limit that power.
It makes sense too, in how our current society works; the economy and market puts value on products that people have put in work to create. I think the general idea of digital piracy would be taking the products that do require payment and distributing it freely for no payment. But, these products have fine prints as to what may be done with them and products are sometimes given away for free anyways -- what is the difference between that and piracy?

And why limit the ability to give?
The entertainment industry has been arguing that file sharing has put a huge wedge in their profits.
But, they wouldn't continue to huge these tools if they were not profiting from them. A study has shown that their profits remain healthy, which, really, should be expected (source) -- and people like their entertainment.
I think this goes beyond just money and legal rights. More of raw Power potential, and, yeah, sure money is power, but power is not just money. As we continue into this digital age, do we really expect people to use file sharing systems less? It'll be essential, a core to how society will run. Control over that is infinitely more powerful than have money.

Sunday, November 3, 2013

Data Structures: differentiation.



Data Structures are part of the core that we as computer scientists are to know.
But to what extent?
When dealing with simple logic and small problems any structure will essentially suffice, an array, arraylist, tree. So when we get to bigger and more complex problems, it's not so clear anymore; or rather realizing the better choices actually matters now. I wouldn't say for optimizing purpose exactly, in the sense that it's not about memorizing the costs of operations while it may be useful after overall functionality has been established, but that for organizational purposes it provides as a whole better efficiency. Optimizing is more like fixing up pieces of the code so that individual piece will run faster, but compared to the entire product it's negligible. Apparently, it by itself could mean the difference to setting yourself apart from others (source).

Hacking: Misconception

"1. To chop or cut something by hacking.
 2. Informal
           a. To write or refine computer programs skillfully 
           b. To use one's skll in computer programming to gain illegal or unauthorized access to
               a file or network."  (source)

From what we can see, hacking has some various meanings; however, through the years media has distorted it be used only as 2b. Its use as definition 1 is honestly improbable as there are numerous synonyms for it whereas there are none I can think of for 2, a or b. Originally used as 2a (source) by MIT and turned to 2b by what they call sloppy use of the word and journalistic inaccuracy. The word they were conveying was 'cracker.' 

Yet why should this even matter? So what; so long as the meaning is understood. But is it really? It's easy to chunk words like hack because it's repeatedly used to mean one thing. Let's take an example, on an episode of Impractical Jokers (sorry, I don't remember which one), they repeatedly used a makeup word to indicate a bound bookmark. The repeated usage got someone to start using the unofficial word to mean a bound bookmark. So this is an example of assumption of understanding leading to misunderstanding, granted that it is an intentional effect. So why it should matter is that people who are not crackers are lumped together with those who are due to a misunderstanding of the inaccurate use of the word 'hack'. 
And really from there it could influence how these people could be stereotyped or treated based on media coverage of crackers.


Sunday, October 6, 2013

Agile: overhyped?

Agile, a group of software development ideology and methods.

People tell me it's great, and that they love using it. Some who I don't even know to be software developers, though that is rare. Nonetheless, regardless of who is talking about it, they never seem to talk about using Agile methods and how it actually benefited them or their project. While I don't disagree with the values of Agile, that is "Individuals and their interaction, delivering working software, customer collaboration, responding to change"(source), a group of inexperienced developers who are just being introduced to Agile may, for one, not be able to tell what these benefits are compared to not using Agile methods. This lack of compelling motivation cause against what Agile is about; it requires self-motivated members to really see the biggest impact, in my opinion. However, as a framework it is still a good learning environment where tasks are broken down and focus can be established.

Sunday, September 29, 2013

Wiki: fficiency

The use of wikis are beneficially in many areas, big and small, when working on any project or just as a public storage of information. That aspect does not change, wikis provide a centralized location to store and display related information in a potentially organized way.

Not using a wiki means communication must be made elsewhere, email, Facebook, etc. Things that are used for more than said project alone. That means distractions as well as inbox clutter. These are things that a wiki can help remove in the sense that in the wiki the focus will be solely on the project. Downtime in looking for information is reduced as team members should be on the same page as to where things are stored; for example, names to files or names to other information under a label will be universal. No one person will have something different.


Interestingly enough, in this article, a summary of other benefits can be found. But, an interesting quote can be found there as well, saying that the wiki is like fifth member of a 4 person group. An extra member means a distribution of less work.

Essentially, it's a tool about saving time with a bonus of being free to use. So why not use it?


Friday, September 20, 2013

LinkedIn and Branding: Why Not?



LinkedIn should be a very important asset to employees, employers, and anyone looking for a job. It has been a growing company for the past few years and now ranks within the top 20 websites in terms of unique users and traffic (Source).

Partly because they have very little competition in what they are trying to do, that is allow people to look for jobs by skill and employers can hire people based on what they see in your profile. The thing is that's not all that's important about it, that's how it functions yes; however, the greatest thing it can help someone do in this digital age is act as a easy stepping stone to make a digital footprint, one that doesn't involve the casualty and craze of Facebook. That is when getting Googled you exist and appear to be doing things professionally. It lets potential employers see your work without you having to do anything other by than update your profile. And it's free.


With the growing amount of users and growing worth of LinkedIn, it can be expected that more people will continue to join and use it (Source). With that more information about trends and activity within fields will arise and be collected. Being in LinkedIn gives access to that and can demonstrate your involvement in industries, or the very least centralize current information.

Friday, September 13, 2013

QR Codes: What?


QR codes have come a long way from its original purpose of
tracking parts for vehicles and expanded their usage from
conventional bar codes. Due to their ability to encode larger
amounts of data, the limit of potential use for coded information
is raised and the possibilities need to be experimented with to
reach the new limit that QR codes represent.

However, the delivery and placement of these QR codes appeared to be
using a "shotgun" method of simply printing it on anything possible;
from realistic things like magazines and newspapers to the impractical
like billboards where people have no time to bother scanning it and the
code sits there like abstract and out of place decoration (though being
        out of place may be an advantage ). The time it has taken to get results
        from QR codes is vastly being overtaken by the mobile apps market
        according to B.L. Ochtman (source). People know what they're looking
        at and where a QR code is dependent on an app to scan it an app does
        not need an app to use it, obviously, but the point being not everyone
        knows what a QR code is, still.

So then big question, assuming QR codes are still practical and not
outdated, is how to make them more effective. For example, using QR
        code to pay for an item and if necessary using multiple codes for price,
        the recipient of the pay, etc possibly eliminating the necessity for cashiers.



Friday, September 6, 2013

Social Media and Security

Social media today is ever growing at an alarming rate. We use it daily to express who we are,
connect with people: friends and strangers, and anything really. As we put more and more
of ourself onto these medias we hand them the potential to use that information. It has
been controversial for some time and for good reason, as Claire Grogen from Time Newsfeed
says, "metadata isn’t just about numbers and grids: it’s personal" (http://newsfeed.time.com/2013/07/05/this-mit-website-tracks-your-digital-footprint-through-gmail/). We still have our individuality now, but if our social media identity has no security people in general are in danger because one case of a private company successfully marketing specifically to an individual or individuals using information collected by these social medias sets precendent to continue doing so, they then control us; the domino effect of the internet so to speak. One variation of an end result of such a world is portrayed well by this video:





It may be a game but it captures the setting.
For large corporations, it's not about the product, just like how it isn't about numbers;
it's about the delivery, about how they can get you to remember their brand, one way or another.

Well, let's assume that won't happen. What are they doing now to get their brand to stick to people? It's still about delivery, only they do not have the entirety of the social media databases at their fingertips, but Facebook has a page of tips at https://www.facebook.com/help/131834970288134/. Essentially, it's still about knowing the target audience; however, we still have a say, a choice. They don't have the power that these social media databases present, to know for certain that we will be bought by their ads. But, at the very least there is a larger pool with social media than without, more feedback to maintain their digital identity with, granted a larger pool also means that they must take more care with what is said. This, however, is two way, just as representatives should take care of what they say, we as individuals should as well. Freely and perhaps spontaneously expressing nonconstructive comments are often negligible, like in Reddit where often times intelligent and concise are the best comments and overshadow statements of pure opinion, which may be used against you.

I hope to hear what you guys think about my take on social media.


Friday, August 30, 2013

Welcome, welcome!

Welcome! comrades of CS100W to Awesome Inc. the Theme, park, or in short, to my blog.

Yes, I, Eric Ong have to opportunity to tell you a few things about myself, absolutely wonderful I know, no worries.

Anyhow, I am a fourth year at San Jose State University in my third year of the Computer Science program going for my undergraduate degree. Having started in Computer Engineer I know I do not enjoy dealing with hardware, though I have built my own computer. On the other hand, software is the best. Done. It's just the best. I am currently an intern at IBM's Silicon Valley Lab and I really enjoy just coding all day and figuring out bugs because of how much can be learned from them.