Fantastic audio and video mashup of the song ‘Stand by Me,’ which started off as a basic recording of of a street artist, and as the authors collected more samples using just a laptop, camcorder and microphone from different groups around the world, it just became this masterpiece. The world may be smaller today with modern technology, but sometimes it is for the greater good.
I’m posting a few notes of projects that I’m working on, and design decisions that have come to mind in the past couple weeks. First off, exam season is finally over, meaning I’m back open to free thought! Well, I was before, but assignments and studying tend to encourage a one-track mind. Anyways, I have started developping a couple neat applications, both of them mostly for personal use but who knows. The source will come up this week, though not in its completed iteration.
Project One: The RegEx String Generator
I’ve been toying with this for a while, mostly for content organization, testing and such. As a result I’ve started to develop a DLL that allows its users to give a regex string as an input and either ask for iterated values (such as iterating through all possible strings) or to generate random values. I think that something like this would allow for much easier application testing as you would only need to include the library in your project and run test patterns on it. So far it has literals support, integer (both range and digit iteratation), and soon will support character ranges (and traditional arguments such as ‘w’ in regex). Overall this is still a young project, but with promising results.
Project Two: Surface PC
Now that it’s summer and I will start earning some money again I can start to develop my surface pc. I have sourced some suppliers for the components, and aside from working out the projection setup (have to amplify the projection distance somehow) I have figured out most details. I’ve decided to forgo FTIR for my first table iteration, and will try using corner mounted linearly planed lasers. This apparently has a much brighter result for the camera and will also allow a narrow band filter to be applied to the lens, allowing for daytime operation (a limitation of most general design FTIR tables). Also, I will start to write some multi-touch applications in the near future, though the issue remains that I will not be able to test them until I am sure that the table is fully functional. The project budget is looking near $850, which isn’t too bad, considering that includes a projector and basically every component (aside from the PC itself, though I am looking at a high def silent PC with a budget of around $300, so this might be a silent, nearly instant-on touch PC when I’m done with it). More posts and details and a detailed walkthrough to come as I design and build the table!
All in all, this summer looks promising for side projects, and given that I have my weekends free this year (unlike previous years) I will finally be able to once again make some progress on development. Look back here mid June time for the start of the Surface PC saga.
For many do-it-yourselfer’s out there, multi-touch displays may have been something you thought was out of your league. In reality, Maximum PC’s research guys have shown us that we can make a Frustrated Total Internal Reflection (FTIR for short) table for around $350. That is fantastic news because you can be the proud owner of your own touch-capable PC without having to spend $12,000 on the equivalent Microsoft Hardware product. In short, this makes it easier for developers such as myself to build our own touch PC’s and start working on the interfaces of tomorrow.
Many of the methods they used cut considerable corners, and with a bit more thought and research it would be easy to see that a few tweaks here and there would not only make it stronger and easier to make but also cheaper. In their implementation they used IR LED’s all around the table and a variation onf vellum and silicon to form an impression system for the surface. And while these solutions were quick, cheap and easy, there is another solution which is a bit more efficient in my opinion, and I will detail it below.
In my combined solution, there would be a thicker sheet of acrylic with one edge cut at a 45 degree angle. then using mounting hardware along that edge, we would mount a medium density amount of LED’s (one every 3/4 of an inch) that work at 850nm wavelength. Then we would obtain a sheet of vellum (or white tissue paper possibly is better) and press it against the bottom of the LED mounted sheet of acrylic, and sandwich it with a thinner piece of acrylic (not necessarily as polished of edges). By sandwhiching the vellum (tissue paper) we reduce the noise and provide a more even continuous surface of paper (making it seem more screen like) as well as enhance the touch capabilites of the screen. The single row of medium density LED count allows for fewer LED’s overall and allows for a cleaner hardware design, less interference and a clearer image when using a PS3 eye toy. In the eye toy, using a double or triple layer of colour film negative, it would filter out all light but the IR light cleanly. So we would have a noiseless, clean table surface and a clearer camera image. These improvements would overall reduce the cost of the project by significantly reducing the hardware cost for the LED’s and mounting them. I plan to put them to use when I get started on my surface HTPC (summer project). I will keep my blog posted as we move into the summer months!
For my Operating Systems theory class, we were required to write a term paper on a topic of our choice. I chose file systems, one to be a little different than the vast majority of people who were choosing the recommended topic, and two, because I see it as an area that will need a huge revamp in the coming years. The area of file systems has been a relatively quiet one as of late, the only newest advancement in public use being EXT4 for Linux operating systems. Many devices are going portable, and by effect are going flash based. I don’t blame them, in fact flash is a fantastic technology, it’s temperature tolerent, shock resistant and has lower power consumption. The problem with the technology is it wears out, and it wears out much faster than traditional media unless the issue of wear leveling is addressed in the design of the driver.
The paper details research that other individuals have done into the sustainability of file systems in various environments, and I relate them to their importance to flash memory. File systems are going to need to undergo a drastic redesign in the next few years if we are to provide faster technology that can handle higher bandwidth media either locally or through network storage. I also included a short section on DIY information for flash storage solutions out of simple USB enabled flash memory that would allow an individual to obtain speeds faster than traditional hard drives. The scope of the material is limited, but I will be posting a tutorial in the near future in relation to how to mount yourself a flash RAID out of your USB keys as well as recommended file systems for the fastest access times and wear leveling. For more information, I have posted the paper in my repository under ‘Papers’ and it is free for all to read, use and critique. If you have any comments, feel free to leave them below. Also, a follow up on my Web 2.0 concepts soon to come.