Abram Wiebe's Portfolio

"Inspirational quote goes here"


Ah.. well this is awkward, it seems you're using a screen reader. So um, full disclosure, I haven't set up the accessibility for this page, but rest assured it is very pretty.

Whoooo... I am the ghost of print documents, every time you print off this page I grow stronger. Soon I shall be able to manifest on the physical plane and all shall suffer. BUAHAHAHAHAH

Welcome to my portfolio page, this is where I display interesting projects I'm working on, code snippets, examples of my work and other goodies. This web page for example is hand crafted (using only artisanal bits found in the Himalayas) as a demonstration of a web page that resizes nicely to many devices. This is just kind of a meta example of me doing web development; for other skills see below.

The colourful business to the right is a demo of the HTML5 canvas, I put it together to learn about the canvas element. If you like it there are more below in the "Web Development" section. For truly visually impressive demos, I recommend the "Unity 3D" section.

If your browser supported the HTML5 canvas tag there would be a neat demo here.
Figure 1 : Pretty, but not very useful

Attention

This page is under construction come back at a later time for even more interesting stuff.


Summary

Don't need to look deep today? Here are some highlights

Title Image Description

Unity 3D Demos

Shoot some zombies, they will chase you if you enter their lines of sight, they take extra damage from headshots. Fly a space ship, or take short walk through a hallway of an old mannor.

EER and Schema Diagram

Northfields practice EER diagram for a database course. This diagram represents the relationships between multiple actors and entities of a university accommodation office.

Java Chess

A chess program built for a java OOP course. Checks whether moves are valid, and has a chess clock.
2 Players required(unless you're very forgetful)

C/C++

Need a program that's lean and fast? Sounds like you could use some C. Whether you need a C programmer, a C++ programmer or other just other languages like C, I've got you covered. Of course without a platform full of interesting libraries, C doesn't really shine, unlike say "Java" which ships with some really interesting things.

If you're developping for an embedded device, need to leverage C's expansive collection of libraries or just need to speed up part of your data pipeline, it's a good idea to have a programmer with a firm grasp of C.

C and its variants could take a whole separate page to cover. I'll mention the highlights here, but if you want more examples then got to

Databases

With modern database software such as phpmyadmin, database design is often done ad hoc, then refactored later when the project grows. When designing large databases for organizations such as banks it is important to be meticulous, to properly normalize while not losing too much performance. To this end a database can be design in several steps.

  1. Entity Relationship Diagram: Represents related objects for conversion to relational database. Used to clarify requirements of stakeholders.
  2. Schema Diagram: Used to describe the scheme of the database to developers involved in its construction and maintenance.
  3. Schema Implementation: Proposal of scheme to a database engine
  4. Query Design: Development of queries and views on the database
  5. Integrity Constraints: Design of constraints in order to prevent faults in the database state.
  6. ORM Implementation: Mapping of database interaction to objects for manipulation by developers of web services.

Digital Electronics

Lorem ipsum.

Intelligent Systems / Logical Programming

Intelligent systems are. QNF generator for sudoku IDP Propositions constraints conclusions and satisfiability

Java

As part of a Java/OOP class I produced this a GUI chess program, you can read more about it on this page.

Figure 2 : Graphics Chess

MATLAB

Lorem ipsum.

Mobile Development

Scripting Pipelines

Unity 3D

I dabble in Unity though 3D project consume a lot of time, so life tends to get in the way. Despite this I've thrown together some neat if incomplete demos of my work using the Unity Engine. Unity web-player required, or download standalone(TBD) Best viewed In Firefox Or Safari, extensions may cause issues with display


Virtual Reality

At Burningthumb Software we're experimenting with using the Google VR toolkit for Unity 3D. Below is a video that is part of a youtube series we wrote explaining how to add a VR character controller to the classic Unity3D apartment demo scene.


Web Development

Oh, good you scrolled down here, I was starting to think the page design itself might have been lost on you. If you're reading this on a desktop machine right now, you can resize the window to simulate how this page would look on various displays. Most elements resize to be nicely visible, though of course some images don't display nicely on a tiny little screen. Even that nifty canvas demo at the beginning will scale up and down.

Web development can be considered in 2 major parts, the client and server sides. Each of these parts can further be divided into 2 subparts.

  • Client: Layout(HTML,CSS), Scripting(JS,Ajax,JQuery)
  • Server: Front End(Web Endpoints,APIs,PHP,ASP), Back End(Database, Daemons, WebServer, Interwork)

Below is the general layout of a restful web application.

Angular JS

Here are some example angular programs.

  • Buzzwords: A word frequency analyzer that uses angular and runs entirely on the client.
This is the mobile site, this message is intentional