●═══ The Realm - AR ═══●

2017 | Augmented Reality Real Time RPG Multiplayer

Dev. Skills: C#, Unity, Augmented Reality, Inertial Systems, 3D, Client/Server (2 Teammates Team Project, Academic Academic Project)
SHOW MORE
HIDE

The Realm is an augmented reality multiplayer, which is unique by the fact that everyone is an active player - both the 3D characters and the real life persons can interact with each other.
The project was built under the Unity3D engine, and was basically made of:

  • Main Game Server (UDP)
  • Unity Game + Client
  • Monster Forgery
The concept was introduced in "The Shwang" - but was lacking the 3D character interaction and the ability to determine the position accurately (we now have less than 1 meter error).
Let's see the magic!

The Team: Michael Pekel | Me!


●═══ Koogle - Twitter Search ═══●

2017 | Graph Based Search Engine For Twitter

Dev. Skills: Scala, Page Ranking, Parallelism, Functional Concepts (2 Teammates Team Project, Academic Academic Project)
SHOW MORE
HIDE

Search engine backend for getting the most "interesting" results based on known roots and keywords.
Our search engine includes the following parts:

  • Crawler
  • Graph Builder
  • Graph Based Ranking System
The general concept is to emphasize loops within the links graph - as in twitter they generally represents a closer relationship and more "grouped" conversations.
The rules are simple - give us keywords, roots and search depth - and we will give you the results you want!
Koogle on github
Let's say we want to search for "Virtual Reality" - with only 3 general roots (NASA, Google, BBC) and depth search of 3.
We will start by crawling the roots:
Koogle
Then we will analyze and create results for tweets:
Koogle
And profiles:
Koogle
An example for the results of both tweets and profiles:
Koogle
Koogle

The Team: Lior Volin | Me!


●═══ Mambo / Dumbo ═══●

2016 | Alerts Platform For The Special Needs Community (Hearing Impaired)

Dev. Skills: Android, Java, Real Time Audio Processing, IOT (3 Teammates Team Project, Academic Academic Project)
SHOW MORE
HIDE

Android application for hearing impaired people.
The application classifies environment alerts (ambulance siren, fire alarm, etc.) in real time and can notify the user based on his location.
The app contains three main background services - Sound Analyzer/Classifier, State Classifier (driving, walking, at home) and smart band connectivity & user notifications.
Mambo
The Team: R. Shmelkin, Y. Zusman | Me!


●═══ Game Of Drones ═══●

2016 | CRI - University of Haifa Hackathon 2016 - Augmented Reality Game

Dev. Skills: Unity 3D, C#, Python, Arduino, TCP\UDP (4 Teammates Team Project, 1st place Hackathon)
SHOW MORE
HIDE

An interactive game where you control a drone and your actions in real life take place in the virtual world.
You can fight augmented enemies while exploring the room, shoot or escape from their attack in your way for the win.
The technical aspect includes: building the 3D game (while reading the video from the server), assemble a controller & stream a video in the path drone->server->game while transfering back the commands from the controller. Easy like a cake :)
The Team: Eli Hundia, Michael Pekel, Yuval Brave | Me!
Game Of Drones Game Of Drones Game Of Drones Game Of Drones Game Of Drones Game Of Drones Game Of Drones Game Of Drones


●═══ Google Street Game ═══●

2015 | Google Hackon 2015 - Pseudo Augmented Reality Game

Dev. Skills: Html, Javascript, Google Street API (2 Teammates Team Project, Second place Hackathon)
SHOW MORE
HIDE

A treasure hunt game based on google street platform.
The game was made in html & javascript with Parse as server side for the characters & map data.

The Team: Assaf Benharosh | Me!
Google Street Google Street Google Street Google Street Google Street Google Street


●═══ The Shwang ═══●

2015 | Augmented Reality - Real Time Multiplayer & Arduino

Dev. Skills: C# (client\server), Azure, Arduino & Bluetooth transmition (3 Teammates Team Project, Academic Academic Project)
SHOW MORE
HIDE

The main concept of the project is to create a real time, multiplayer, first person shooter game in the real world - including a dynamic gameplay & low budget equipment.
There are many VR devices out there - we propose (and I'm pretty sure we are not the first ones to do so) to throw away the cables and get out from your warm room straight into the battlefield.

In this proof-of-concept project we introduce 3 types of weapons (collateral-damage type) and multiple operation types - including throwable, guided & step-triggered weapons.


The Team: Itamar Hazor | Liad Matas | Me!


●═══ PolePoll ═══●

2015 | Android Application - Pole polls managing system

Dev. Skills: Java, Android, Google Maps API, PHP & MySQL (2 Teammates Team Project)
SHOW MORE
HIDE

Android application for street poles polls, including server side for data management and GPS locations.
The application is able to get the pole data from the user, including pictures of the pole and transmit it to the server, for later use or update.
The project made use of Gooogle Maps API, and was ordered by an external company.
The team: Legendary Nadav Peled | Me!
The app on Google storeThe GPS point screen



●═══ The BodyGuard ═══●

2015 | Android Application - Project in computer networking & wearable devices

Dev. Skills: Java, Android, PHP & MySQL (3 Teammates Team Project, Academic Academic Project)
SHOW MORE
HIDE

Android application for a research about the sleep habits of medical staff.
The goal is to be able to gather the data reliably from a "smart" bracelet, get the sleeping periods & store it on our server.
The way that the data was presented was also important - so we've added a feature of plotting a graph based on user input & extraction to CSV format.
The team: Y. Zusman, Assaf Akiva | Me!
The BodyGuard The BodyGuard The BodyGuard The BodyGuard The BodyGuard



●═══ Dancing Bracelets ═══●

2015 | HackPro Technion Project - won the 3rd place

Dev. Skills: C# - winforms, Arduino, Serial Input (3 Teammates Team Project, Third place Hackathon)
SHOW MORE
HIDE

In this project we've built 4 dancing bracelets, each includes accelerometer, bluetooth device & arduino nano and a winforms application - in 24 hours.
The flow of the system is simple. The player wears the bracelets and choosing a song, then a movie clip is shown and he needs to repeat the movements he sees.

The bluetooth sends the values from the accelerometer to a bluetooth device connected to computer, then we read the values from the COM port and analysing them, finally, the magical compare algorithm comes into place and giving the player messages according to his score.

The team: Marina Minkin | Ola Vish | Me!
Leg braceletHand bracelet



●═══ Spartanization ═══●

2014 | Automated code modification according to spartan coding standard

Dev. Skills: Java, Eclipse Plugin, JUnit & a bit of F# (2 Teammates Team Project, Academic Academic Project)
SHOW MORE
HIDE

In this project we've continued & improved an eclipse plugin which suggests automatic code manipulation to the programmer, driven by the spartanization methodology by manipulating the code syntax tree.

The spartanization methodology is about keeping your code simple, clear and easy to modify in the future.
There are some rule of thumbs which we tried to automate:
Declaring variables close to their usage, making shorter operands near the beginning of an expression, minimizing logical expressions and a lot more.

Here is a small example for the plugin workflow - the Ternerize funcion:
Function to change

We can either choose to Ternerize it without further inspection - or use a compare window, like:
Compare window

By clicking OK the changes will take place in the code.

It's good to mention that the code behind the plugin was also written by the spartan code standards, and in my opinion - it's beautiful :)
Beautiful Code
We used JUnit as a test infrastructure for our project.

The project was originally (and up to this day) made by Joseph Gil and continued to be developed by Artium Nihamkin, Boris van Sosin, Tomer Zeltzer & me.


●═══ Tanks War ═══●

2014 | Offline 3D Tank Game for Android & PC + basic server infrastructure

Dev. Skills: Java, Node.js, LibGDX, 3Ds Max
SHOW MORE
HIDE

A small 3D game developed with the goal of studying 3D game programming concepts.
The models & environemt objects were created in 3Ds Max, and the framework used was libGDX.
There was also a basic Node.js server which made certain objects follow the tanks, a dedicated class was written to avoid "jumps" by movement prediction & averaging.
Tanks game
The game had 3 viewing angles - 2 for first person & 1 for top view, it also had music and sound effects - and of course, the ability to shoot each other. There was no real AI - just a simple chasing after the player's tank.

There are 3 angles to choose between


●═══ Protector X ═══●

2013 | Movement detection project & laptop keeper

Dev. Skills: C# - winforms, Image processing, AForge
SHOW MORE
HIDE

The goal of this project was to be able to aquire information about my laptop in case of theft.
The program is running in the background, paused by a secret keystrokes and continiuesly checking for movement.
When a movement is detected, the program saves pictures from the camera & desktop screenshots on a cloud folder (google drive, dropbox, one drive)
After entering a password the user could get access to the program features, and watching all connected cameras.
ProtectorX Example
There is also a picture viewer which loads the pictures dynamically from the chosen folder.
In the beginning I've used windows dll to connect the webcam, then moved to openCV and in the end chose AForge - for less paging & intuaitive multi-cam support.
ProtectorX Picture Browser


●═══ LE Chess ═══●

2013 | Online\Offline extended chess game

Dev. Skills: C# - winforms, Azure, 3Ds Max
SHOW MORE
HIDE

An online & offline chess game with some extended (and secret :) ) abilities.
With some interesting generalizations of the game functions in the code.
The objects were made in 3Ds Max & the server was built under azure mobile services.
Chess Game


●═══ TechToolBar ═══●

2013 | Interactive desktop menus - Also known as "Menbit"

Dev. Skills: VB6, VB.Net, C#
SHOW MORE
HIDE

A project which was originally made in VB6, then was converted to VB.Net and finally to C# - in order to make the code more accessible to other developers. The idea was to create a simple shortcut manager to all academic materials in one place - without dependency of a web browser or specific system configuration.
VB6 version
The other requirement was to make the program versatile as much as possible - it was done with great success. The program works even with multiple displays, and the menus are created dynamically from menu files & icons defined by the user, with the ability to change the destination, icon and arguments in case of execute files.
.net version

I've also made some kind of file format which is parsed when the application is loaded.
The raw menu pictures are also loaded dynamically and the transparency is kept by the background color.
Raw manuFile format


●═══ Delayed Startup ═══●

2013 | Startup process loader - delaying the non critical

Dev. Skills: VB.NET, Processes & Threads
SHOW MORE
HIDE
Sometimes I've powered up my computer for very small task - such as googling for something or checking my email.
The problem was the long time until my old PC recovered from the cpu-killing boot.
The solution was - Delayed Startup!
Delay processes for different time - thus making the startup longer - but frees the cpu by giving the less important processes lower priority (and after couple of seconds - retrieving its original priority)
Delayed startup


●═══ Gamepad2Mouse ═══●

2013 | A tool for controlling your PC with a gamepad

Dev. Skills: C#, Processes & Threads, soft RT timers, key-strokes simulation
SHOW MORE
HIDE
Simple as that - I have a gamepad - I don't have a mouse. Why not controlling the computer with the gamepad?
The project was written in C#, and used multiple classes for simulating everything a person needs when he is lying on the cauch: Mouse, Virtual keyboard, Magnifier, browser zoom, volume control and the ability to activate/deactivate the original gamepad functionality.
Here is a paint made with the gamepad - picaso would be proud:
Picaso


●═══ Ping Jobs ═══●

2012 | Job search website

Dev. Skills: ASP.Net & VB.Net, Html
SHOW MORE
HIDE
An interactive website for finding jobs.
The main concept was to let people upload their CV & choosing their home coordinates - and let the employers find them with a dedicated search engine.
The search engine had about 5 levels of freedom to "play" with the keywords, letting the employer a large span of results.
Here are some exaples:
PingJobsPingJobsPingJobsPingJobsPingJobsPingJobsPingJobsPingJobsPingJobsPingJobsPingJobs


●═══ Point & Shoot ═══●

2008 | Tracking device - won the audience prize at Tel-Aviv university

Dev. Skills: VB6, Image processing, Step Motors & electronics (High school High school Project, Audience prize TAU Project Competition)
SHOW MORE
HIDE
An high school project, within a special course called "DSP", managed by Dudi Grisaro & Naftali Even-Haim.
The project was a color tracking device, with the ability to point a gun or a laser directly to the target.
The physical device
The user could tell the device if it has the permission to shoot, and then it would activate a CD-ROM DC motor which pulls the trigger.
The GUI
The device actually blew up a blue baloon, distinguishing it from a red baloon - in the final test (the "bagrut" exam).
For further reading - the project document as PDF.
The electronics


●═══ IAF Website ═══●

2008 | Front & back end website

Dev. Skills: Asp, JS, Html, VB6 (High school High school Project)
SHOW MORE
HIDE

A regular client/admin website under asp.
The site contains an updatable news section, poll, galleries & guest book.
And for the client side - there is a registration form, a personal calendar, ability to vote for the poll, trivia, gallery search and some other features.

Personal Calendar
There was also a VB6 application written to create pages from text automatically.
Page Creator


●═══ Remote Control ═══●

2007 | A fully operational remote desktop control

Dev. Skills: VB6, TCP/IP
SHOW MORE
HIDE

Full access to a remote desktop, including a visual of its desktop and interactivly simulating the mouse clicks on the picture to the client PC.
There is also an option to transfer files, play sounds and some other features.
Remote Desktop


●═══ Online Remi ═══●

2007 | P2P cards game

Dev. Skills: VB6 (minor work with sockets - TCP/IP)
SHOW MORE
HIDE
A "Closed Remi" game, with dedicated server & chat.
Online Remi


●═══ Flight Simulator ═══●

2007 | Minimalistic flight simulator - controlled by joystick

Dev. Skills: VB6, joystick input
SHOW MORE
HIDE
Mini flight simulator - controlled both by keyboard & joystick.
The whole movement and world were created with no supporting engine - only by simple trigonometry.
Flight SimulatorFlight Simulator


●═══ Electro-Bicycle ═══●

2006 | Stationary bicycle + old keyboard = playful workout

Dev. Skills: VB6
SHOW MORE
HIDE
Connected a keyboard to the bicycle pedals & simulates the keys to pull the throttle in a combat flight simulator.
The equation is simple -> you pedal, the plane is in the air. you stop for too long - and the plane will eventually crash.
Simulation programThe flight simulator


●═══ Piposh Calendar ═══●

2004 | Task manager with sound recorder

Dev. Skills: VB6 (minor work with registry, files, DLLs & parsing)
SHOW MORE
HIDE
A small application for task management & program schedualer.
Piposh Calendar
With the option of play sound, open file or showing a message at the chosen time.
It also had a built in recorder and fully operated skin management - means all the sounds & pictures were loaded at runtime - not so cool today, but back then I was really proud :)
Here is an example of a profile inside the profile editor:
Piposh Calendar Editor
There was another tool - an editor for the skins, and the main service running in the background and a small icon in the taskbar to control the program status.
It could also control its startup status from within the program by writing to the registry.
Different skin:
Piposh Calendar - other skin


●═══ Paint + Online Collaboration ═══●

2004 | My own version of painter (AKA mspaint)

Dev. Skills: VB6 (minimal sockets & asynchronics)
SHOW MORE
HIDE
Two projects from the same year: the younger one is just an alternative version of mspaint, which included some cool features such as auto-gradient & random colors. The older project was a P2P chat & collaboration board (under TCP\IP - backed by winsock).
Paint
The first project presented gradient or timered color changing from 3 to 24 colors, enabled by dynamically loading instances of form controls.
Auto gradients
Online collaboration

Radish.

Persimmon.

And after all, I'm also just an educated fool