Questions I Have
This is a list of personal boundaries. That is, as I learn or work in a particular area, I reach a limit and some question remains. This is also a list of things I want to grok.
"The fool can ask more questions than the wise man can answer."
Ruby and Rails
- Does Rails3 have anything that would help me code faster?
- How to integrate the rapid dev into my daily Java based job.
- How to orchestrate capistrano, EC2, github, SVN and my own servers.
- Understand and use migrations.
- Learn how to go from Omnigraffle mock up to working prototype.
- Learn how to build a daemon process, a MVC and possibly multiple nodes/mesh architecture and make it all work seemlessly using the minimum number of quality libraries as possible.
- How to integrate JQuery widgets.
- Write a gem.
- Put a project on github.
- Write a textile README file for doc instead of .txt.
- Use bundler to freeze gems.
- Grok freezing rails.
- Write or use an ORM type layer for LDAP (activeldap?).
- Play with memcache.
- WTF are all these .collect .map .lambda splat things?!
- Write a rake task.
- Write a module.
GameDev
- How to animate a box. That is, how to nicely animate a box. AnimationManager.doFlyOut(boxObject) and then easily have the animation stop and do AnimationManager.doMoveUpAndFadeOut(boxObject) or some such arbitrary "decorators".
- My game objects are nice but how about logic with LUA?
- Creating a really great event-based music soundtrack that reacts to game moods without breaking the flow of music.
- What is a transformation mesh?
- Building a scene graph.
- Using vertices from a obj model. Or making a custom model format just to learn.
- Creating a heightmap out of a black & white image. Then modifying the heightmap to do cool things like realistic cliffs.
- How to use Unity after all of these above tests are done.
C++
- How to have multiple binaries built with a Makefile and call them between each other.
- What the double asterisk in int pointer** means.
- Does not using a pointer mean that I've cloned memory? Is that the use of it when not doing an initial assignment (x=0)?
- Build a simple OOP test like a Car.
- Understanding pointers in regards to my scene graph.
Obj-C
- How to build classes as quick as I build them in Java or C++ I get it.
- The "everything is a message" metaphor?
- All the file layout and syntax stuff. What should go in implementation.m? What should go in interface.h? I get it now. Go CS193P.
- How much use is it beyond Apple?
- How to use the data views on the iPhone. Specifically, create a data driven app and check out the methods and events.
Flash - abandoned
- Find out how Actionscript 3.0 helps take the "kiddiness" out of AS2.
- What dy, dx on movie clips do. Does it really do rise over run?
- How to avoid doing softreferences. Ew.
Software Design
- How to do object composition.
- How to notify an ArrayList of objects in the Observer pattern. Well, how to do it without a book.
- What the advice "program to an interface" really means.
Java
- How to use a JMS queue.
- How to read a sparsely documented Java API. For example OSWorkflow. Or maybe this is just hard in and of itself.
- How to not do J2EE projects for the rest of my life.
- How to create and monitor a C process from Java (JNI).
Unix
- Authenticating Linux against OpenLDAP. I had this working for a while but never grok'd it.
- How to write a device driver.
- Understanding "man vga.h". I think I understand it more now than I did before.
- Sharing with without a SAN. GFS2 + DRBD? Or sharing spare local disk in a cluster cheaply.
- How to sudo ALL except /bin/bash? Improactical? Impossible?
- Distributed filesystems, can you reclaim free space? Does this work as something that would consolidate commodity hardware easily?
- How virtual memory works vs real mode OS. IE: what would happen if you wrote zeros to every device?
- Hadoop cluster setup.
- How would I admin one million hosts?
- Is there any chance that ethernet can be a fast interconnect?
- Why do commodity southbridges suck? Why are ASICs better? Are ASICs better or maybe the custom concept has gone to FPGAs?
Music Production
- Learning how to mix on headphones versus external monitors.
- Creating a good sampled sound from an analog source, ie: recording an analog drum loop that would work in electronica.
- What side-chaining means with regards to how I do my sends/inserts.
- What mastering means besides the definition of mastering.
- What producer would be willing to listen to my serious work for 30 minutes and how painful the feedback would be.
- Learn how to use a preamp.
- OSC from iPad to Ableton
- Doing a live show with Ableton and a laptop, including optimization and stability (bouncing intense plugins tracks to straight WAVs) to avoid crashes.
- Writing an Ableton script to control a song's energy, for example a slider that mixes in more and more layers.
Computer Science
- More gang of four experience.
- How to create AI or fuzzy logic.
- Use a neural network API.
- How do people reverse engineer something like the NES? Or something like the iPhone bootloader?
- Write a recursive permutation algorithm of all combinations of "WORD".
Electronics Hacking
- How to use an Xbee and Arduino.
- How to power an Arduino using solar power and Xbee for a completely wireless sensor thing.
- How to create a mesh or robot swarm.
- Reading input from an old notebook keyboard into an arduino.
- Creating a servo powered cat faucet. How to make a simple robot arm?
- Wire up arduino to ruby and do some heavy lifting like parsing IRC traffic, logs or create an online bot that can flip a light switch or something.
Security
- How to publish a CA into LDAP for a poor man's PKI.
- How to publish a user certificate into LDAP.
- Find someone who monitors SANS for 0-day exploits and ask them how they think or work. How do these people have jobs like that? What are they called? Grok it, not just get it answered.
- How does a buffer overflow work? And not just an overview. Grok it. Do it. Audit existing code.
- Write a certificate storage device for the iPhone. Or a secure document reader with strong auth (I don't know which strong auth you could use ... maybe a face chooser).