-
Notifications
You must be signed in to change notification settings - Fork 1
/
machete.html
117 lines (85 loc) · 5.79 KB
/
machete.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Matt Mallett</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="head-box">
<div class="container">
<div class="row">
<div class="col-xs-10 col-xs-offset-1">
<!-- <h1>Matt Mallett</h1> -->
<a href="/"><img src="img/title-font.png"></src></a>
</div>
</div>
<div class="row">
<div class="col-xs-4 col-xs-offset-1">
<button type="button">Info <span class="glyphicon glyphicon-chevron-down"></span>
</button>
</div>
<!-- <div class="col-xs-4">
</div> -->
<div id="social" class="col-xs-6">
<a href="http://twitter.com/_mattmallett"><img src="img/twitter.png"></img></a>
<a href="http://github.com/mmallett"><img src="img/github1.png"></img></a>
<a href="http://linkedin.com/in/mathewmallett"><img src="img/linkedin.png"></img></a>
<a href="http://javasaur.blogspot.com"><img src="img/blogger.png"></a>
</div>
</div>
<div class="row">
<div id="info" class="col-xs-10 col-xs-offset-1">
<p>I'm a Software Engineer at IBM Somers near New York City. My current focuses are on cloud native and massively scalable applications, but I have been experimenting in mobile and front-end development as well.</p>
<p>This site is custom built by me using only HTML, CSS, and Javascript. It is a timeline of some (not nearly all) of the events in my career. The entire logic of this timeline is viewable from the source on this page, or from <a href="https://www.github.com/mmallett/website">the github repo</a>.</p>
</div>
</div>
</div>
</div>
<div class="top-spacer">
</div>
<div class="container">
<div class="col-xs-10 col-xs-offset-1 project-box">
<h2>ComS 309 - Project Machete</h2>
<img src="img/machete.jpg"></img>
<p>ComS 309 is a software engineering class that stresses the importance of solid design and planning. You can't just sit down and code on a major project and expect it to work well. The course asks us to form teams and pick a significant programming project. We decided to build an application that would host a physics engine on a server. The server would send object data to clients that would then render them using OpenGL. The project was initially named WiiPhys, because we were planning on using WiiMotes as the primary client input. As the semester went on we realized that this, and other frill, such as fluid simulation, would just be too much for our short timescale. We ultimately decided to focus on the core functionality; a real-time multi-user physics simulation.</p>
<p>This class taught me a lot about the realistic limitations of software development. It's easy to dream big, but there are always issues that cause delays, and these delays have to be accounted for. I feel like we came out with a very solid product in the end. The final iteration is fully connected to the server, takes user input by mouse, allows the user to hit things with a stick, and adds cool things like random blasts of force and gravity inversion.</p>
<p>I had an amazing team for this project. Everyone seemed to be very skilled at one facet of the project: I had done a lot of GUI building, and was the only member with solid OpenGL experience, another team member works on large scale computing projects, and already knew a lot about how to get the physics working, the last member was an expert on networking. This type of setup really emphasized the importance of writing easy to use code, because I was the only one that really knew what was going on in the OpenGL code, and vice versa.</p>
<p>My Contribution</p>
<ul>
<li>Client Side GUI</li>
<li>OpenGL graphics engine</li>
<li>Easy to understand interface from OpenGL to server</li>
</ul>
<p>Relevant skills learned</p>
<ul>
<li>Building an OpenGL graphics engine designed to take remote input</li>
<li>Client/Server GUI interface</li>
<li>Designing a major project, from stepping through use cases, to drawing flowcharts, to figuring out what data needs to go back and forth across the network</li>
<li>Developing software in an industry setting: short time table with an absolute deadline, and the implications that come with it</li>
<li>Working on a professional style team, with experienced and specialized team members. Using all of our resources together</li>
</ul>
<a class="back" href="/"><span class="glyphicon glyphicon-chevron-left"></span> Back</a>
</div>
</div>
<div class="foot-box">
© Matt Mallett 2014
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="js/jquery-2.1.1.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<!-- <script src="js/handlebars-v1.3.0.js"></script> -->
<script src="js/style.js"></script>
</body>
</html>