https://www.cabrillo.edu/~dbrown/tracker/
https://www.youtube.com/watch?v=La3H7JywgX0
Steve Yegge: It's easy to come up with new product ideas if you start with the understanding that everything sucks. Everything can stand improvement. Just think about what you'd change if you were doing it for yourself, and everything should start falling into place.
Monday, March 2, 2015
Friday, February 13, 2015
Using Freelance
To get an idea about how useful a freelancer might be, do the following:
* The initial stage should be a prototype that can be finished in two weeks. It will be used to update requirements/design and decide on GO/NOGO
* You can specify the job as cloning an existing app. It should be doable in two weeks. Example: The puzzle game in Android. You could use the code produced to learn new things. Or you could ask them to clone Save My Cheese. It might give you fresh ideas about how to solve the problem.
Thursday, February 12, 2015
ISS Globe
http://sciencehackday.org/project/iss-globe/:
"...the ISS Globe continuously shows you where the ISS is overhead. The team of sciencehackers used a translucent globe, two hobby servos, a MakerBot for 3D printing a few gears, a Teensy microcontroller and a laser that was mounted inside of the globe. Firmware controlled interaction between a laptop and the servos and a Python client controlled interaction between the microcontroller and the servos. The end product was a globe with a glowing red dot that would show you where the ISS currently was throughout the day."
Monday, January 26, 2015
Game: Save My Cheese
GitHub repository
Concept document
Class diagram
Sequence diagram
Royalty free mouse clipart
Description: Mice try to reach cheese. User prevents mice from reaching cheese by blocking their path with puzzle pieces. End condition: A mouse reaches the cheese (FAIL) OR all pieces are in place (SUCCESS).
Welcome screen:
* Start game button --> Game screen
** Exit button --> Quits game
** Pause button (after mice are added)
** 3-2-1 counter (after mice are added)
* Help button --> Help screen
** Help text and image
** Back button
* Settings button (after mice are added)
** Back button
** Mouse number
** Mouse speed
** Map size
* About button --> About screen
** About text: Şamil Korkmaz, copyright 2015, link to blog
** Back button
* Advert banner on top
** Third party library
** Bank account --> PayPal account?
* Puzzle:
** Piece = Filled polygon
** Construct pieces
** Breakdown of pieces into cells.
*** The smaller the cells, the closer the mice can get to the piece but the slower the pathfinding.
*** For each cell on grid check if piece contains the center of that cell. If it contains, mark the cell as belonging to that piece.
** Move pieces with mouse:
*** On mouse left click, detect piece that contains mouse cursor location.
*** On mouse drag: Update detected piece location with mouse location.
*** On mouse release, calculate distance between piece and its snap location.
**** If distance is smaller than tolerance AND there is no mice inside that snap area
***** Set piece location = snap location
***** Set cells that belong to this piece as blocking
* Pathfinding:
** Use A* algorithm
** Do we need two separate threads (one for GUI, one for calculations)
** Must be able to find path within one game loop cycle.
** Draw mouse and cheese. Mouse orientation = movement direction. Make orientation changes smooth using linear interpolation.
** Create game loop:
*** Mice are moving at preset time intervals along their path with preset distance intervals (speed).
*** End condition: A mouse reaches the cheese OR all pieces are in place.
** The screen is a two dimensional grid with each cell being a node.
** Mice cannot pass through blocking cells.
** Mice update their path to cheese each time the user adds a new piece.
* Android & Google Play Store
** Download development environment, code puzzle with Nexus 10 screen size in mind. Mapping of mouser press/drag/release to touch controls. End condition: All pieces are in place.
** How do you claim copyright and handle disputes?
** Subscribe (25?)
** Upload puzzle with one level (v1) to Play Store, verify that you can find it and install it on tablet and phone.
** Update (v2-)
Test Cases:
* Puzzle: Three pieces
* Pathfinding:
** One mouse, no blocking cells.
** One mouse, simple wall.
** One mouse, dead end case (path has to U turn after initial trial).
** Two mice start from
*** top/bottom.
*** left/right.
* Is advert banner working? Does it deposit money to my account?
"Save my cheese" version plan:
v0.1: Puzzle level1 with Java on Windows8
v0.2: Mice with pathfinding on win8 attacking cheese + Level2
v0.3: sound effects (Argun'un sesleri - "buudan gidiyoo") music (midi of classical pieces, VogelHochzeit)
v0.4: Flash bomb causes mice to go in random directions for a couple of seconds.
v1: Nexus 10, Samsung Galaxy S4 screen size
v2: Advertorial integration (small banner on top of welcome screen)
v3: New levels + blog dedicated to game (update link in About screen)
v6: dificulty settings:
* mice number
* mice speed
* mice intelligence: Stupid mice will mimic the path algorithm exactly, smart mice use the final path.
* map size
v7: blinding flash (causes mice to move on last direction) & stun bomb (causes mice to stay in place for dt)
v8: new levels
v9: better graphics/soundFX/music (mice move their tails, squeeking increases as they get closer to cheese)
v10: Mice wander randomly until they detect cheese smell and home in on smell. Pieces prevent smell from escaping
v11: Support other screen sizes/resolutions
v12: Cats that hunt mice. Proportional control.
v13: Mice avoid cat.
UML Diagrams: Initial design must be easily extensible to cover the capabilities outlined in version plan. Discuss how that will be done with examples.
Wednesday, November 26, 2014
Efficient video saving for stationary cameras
Our stationary IP camera's image has most of time no action (I did not activate motion detection trigger). Even when there is movement it covers about 5% of the image:
To conserve space, develop an algorithm that only saves the changing portions of the video frames and plays them back smoothly. Write a web application that at prespecified time periods (e.g. every 0.25 seconds) grabs frames from camera's ip address and saves filtered data to a cloud storage.
To conserve space, develop an algorithm that only saves the changing portions of the video frames and plays them back smoothly. Write a web application that at prespecified time periods (e.g. every 0.25 seconds) grabs frames from camera's ip address and saves filtered data to a cloud storage.
Tuesday, November 18, 2014
Active noise cancellation project
Just phase shift original noise or characterize signal and invert it. FFT?
Update 13th Dec 2016:
Use smartphone mic and processing power to send noise cancelling signal to headphone. See reddit on why there are no noise cancelling apps:
Update 13th Dec 2016:
Use smartphone mic and processing power to send noise cancelling signal to headphone. See reddit on why there are no noise cancelling apps:
...biggest one is that your cell phone microphone is monaural while noise cancelling headphone have to have two independent pickup channels to effectively cancel out the outside noiseApp on Google Play: Noise Canceller
Tuesday, November 11, 2014
Subscribe to:
Posts (Atom)


