Naoya Makino's Documents


  • App For Greenest City

    Project Ideas For Web Development Course (CMPT 470) at Simon Fraser University. Vancouver has published a huge collection of their planning/GIS data for general use and is generally interested to see what people can do with it. This is a proposal for project ideas. In summary: use the open data to do something cool.

    Category:HomeworkReads:286Uploaded:06 / 17 / 2011Add to collection
  • ANTIX Final Report

    Antix is a foraging simulator which runs puck-gathering robots. The robots forage for resources, represented by pucks, and bring these resources back to their home bases. In this project we will implement a system that can simulate a significant number of these robots in real time. This project aims to expand the original Antix program implemented by Dr. Vaughan and run the simulation distributively on the CSIL Linux machines (Computer Science Instructional Laboratory machines at SFU); it is implemented in C++ and utilizes OpenGL and GLUT which are graphics libraries and utility kits. In addition to these technologies, our Antix system uses the open source technologies Google Protocol Buffers and the ZeroMQ messaging library. The goal of the project was to create a version of Antix which could support up to 1 million robots. Further requirements of the system are as follows: there must be 1000 homes or teams, each with at least one independent controller; controllers must be separate OS processes and may run on separate hosts to the simulation back-end; the simulation back-end may be implemented as multiple threads, processes or hosts; a visualization or GUI system must be available to display the whole world view. The target platform for the system is the CSIL laboratory where we are given access to the CMPT Linux machine cluster. In order to implement this distributed system, we began by designing a system architecture and a development plan. As a team we presented a plan for system design, development, and testing, with consideration for balancing the workload of our team members. Since we had a fairly large project team consisting of eight members, we initially structured the group into back-end team and client-side team, with each team responsible for its respective aspect of the system.

    Category:Essays & ThesesReads:363Uploaded:04 / 24 / 2011Add to collection
  • Extreme Programming

    Increasingly getting complex and rapidly changing markets, there is a growing demand for a rapid software development methodology and capability of adopting customer requirement changes as soon as possible. We investigate one of the most popular methodologies: Extreme Programming. Its approaches and practices are very different from a traditional Waterfall development process, and we look into each of these practices to see how it is addressing today’s needs and what could be problems. These abilities to response to changing customer requirements and improving software quality are well recognized in the software industry and known as the most practical methodologies out there. As the speed of releasing products escalates and needs of software and web services grow continuously, the value of Extreme Programming methodology will appreciate more.

    Category:(not categorized)Reads:343Uploaded:02 / 09 / 2011Add to collection
  • Pacman Proposal

    http://cmpt470.csil.sfu.ca:8009/pacman/

    Category:HomeworkReads:388Uploaded:08 / 06 / 2010Add to collection
  • Pacman Poster Design

    http://cmpt470.csil.sfu.ca:8009/pacman/

    Category:HomeworkReads:479Uploaded:08 / 06 / 2010Add to collection
  • Soap

    Group 9 - SOAP Bernard Cheng Juhan Houang Brandon Jew Naoya Makino Stephen Tiu Agenda ‡ What is SOAP? ‡ Structure of a SOAP message ‡ Advantages of Using SOAP? ‡ Disadvantages of SOAP? ‡ Demonstration & Q&A What is SOAP? ‡ Simple Object Access Protocol ‡ Highly flexible RPC communication protocol ‡ Bridges technologies in a standardized way ‡ Interoperability Structure of a SOAP Message The Structure of a SOAP Message ‡ The SOAP envelope o Identifies the XML doc as a SOAP msg ‡ The

    Category:School WorkReads:293Uploaded:08 / 06 / 2010Add to collection
  • Database Project: Evaluation

    All the source files can be downloaded at www.sfu.ca/~nmakino/cmpt354/project.zip

    Category:HomeworkReads:715Uploaded:04 / 27 / 2010Add to collection
  • Routing Algorithm Processes: Distance Vector Algorithms and Count to Infinity Problem

    When you send messages from your computer to another, have you ever wondered how these messages are transmitted? Routers decide how and where to send packets in the least cost way. Routers need to know some information about the networks in order to decide which route they should take the packets. They need to have some way to collect information about the networks. Routing algorithms are about how routers choose a path for each packet. There are two ways of routing algorithms: global and decentralized. When it is global, all routers have complete information about networks. That is, each router knows all link costs; each router is connected by a link, and each link has a cost or weight associated with it. In a global case, it uses link state algorithms; given that link costs are known to all nodes, it computes the least cost paths from one node to all other nodes. The most common algorithm used in link state algorithms is Dijkstras algorithm which computes the least cost path from a source to a destination given that all link costs are known to all nodes. In contrast to global, a decentralized network, no routers have complete topology; each router knows physically connected neighbors with its link cost information, but no one has a complete image of the networks. It exchanges information with its neighbors; distance vector algorithms are used in this case. Another consideration regarding routing algorithms is whether a network is static or dynamic; static means that weights of a link change slowly over time. Dynamic networks, on the other hand, change more quickly; it therefore updates its routing information periodically in response to a link cost changes.

    Category:Essays & ThesesReads:5,281Uploaded:04 / 23 / 2010Add to collection
  • Recommending a Technology for C++ Multicore Programming: TBB

    Have adapted to Amazon’s Elastic Computing Cloud (EC2), we have reduced our service cost drastically and managed our resources much more effectively. However, as clients are demanding to place more data and compute in less time, we need to adjust our systems to handle larger files in a faster way. Currently, we have not used the full strengths of EC2’s multicore systems, as our implementation is entirely serial. In order to achieve a better performance, we should consider converting the code to a parallel approach; our management has decided to adapt to either OpenMP (Open Multi- Processing) or Intel Threading Building Blocks (TBB). Using these, we are now able to take advantages of multi-core processors, improving our performance to meet the needs. Moreover, as a current hardware technology is reaching its limit of a speed performance, the world is moving toward concurrent, a hyper threading implementation to meet better performances. Investing in a parallel approach will benefit to our company, and training our programmers to be capable of parallel programming would turn into a great asset. Considering a number of approaches in parallel programming, OpenMP and TBB are most widely used and thus worth investigating. Although both approaches would meet our basic needs, I would recommend TBB because it is well suited to C++ and more control over threads.

    Category:Essays & ThesesReads:1,425Uploaded:04 / 14 / 2010Add to collection
  • The Internet Network: Circuit Switching, Packet Switching, and the Protocols

    Sending emails, searching on the web, and chatting with friends, these are only few examples of the services available on the Internet. In our society, the Internet is in our daily life, and we do not even think of how it works. You may think as the Internet is a “magic world” or “cloud” that connects people to people; it is a sky that sends and receives messages between people back and forth. However, like anything else, the Internet is nothing magical; it is a human made architecture that can be understood. It is a network of networks. It is a worldwide network that connects millions of computers all over the world and exchanges billions of data chunks over the network. Data chunks, called packets, are transmitted over the networks in a number of ways. In most well- known and commonly used telecommunication networks are packets switching and circuit switching. These telecommunication networks ensure reliable data transmissions by following Transmission Control Protocol (TCP): the protocol, a set of rules used by computers to transmit messages, applied in data transmissions over the Internet.

    Category:Essays & ThesesReads:2,638Uploaded:04 / 14 / 2010Add to collection