It’s been well over a year since my last update. I apologize for that but in between school, life, and some really fun projects, I have some really promising progress to share.
On my last update for the Kinect, I left off with some LabView code that allows anyone to interface with the Kinect. In the time since it was released I have received lots of positive feedback from everyone, so I must first start out by thanking everyone and I hope it will continue to be of good use.
Since that time I worked furiously to develop an image processing algorithm to detect open doors/pathways enabling artificial intelligence pathway planning.
The only issue is in order to actually run the software on the iRobot create I bought to test it on, i had to either tether or set my entire laptop on the iRobot create. That isn’t an optimal solution especially for debugging purposes. Hence, the next step would be to design my own circuitry to resolve the problem.
Now, approximately 6 months ago, my good friend Gytis Baranauskas and myself bought ourselves a DIY CNC machine. While we have had many ideas and goals for the CNC machine, our primary goal was to create printed circuit boards. This would enable us to offload the USB host controller, the iRobot communication and the image processing into separate microprocessors and achieve a much smaller, lighter, cheaper solution then using a full-blown computer and all the complexities that come with dealing with supporting 10 different operating systems.
Our first experiments are consisting of creating PCB breakout boards for the USB host controller and a microprocessor in order to connect them to a breadboard and begin testing them and the functionality to use them.
We are making progress rapidly, and I will keep this site informed as our progress continues. If you would like to see more of our work, the gallery below features many of the things we have been able to do in the past year.
Second, the code is now much cleaner and the interface is much better. The LabView libraries now interface with the IMAQ vision library for easy processing and machine vision intelligence.
The next challenge is to figure out what cool thing I can do with this now! I’m hoping to write an efficient algorithm for detecting the best path for a robot to take, from point A to point B, using the Kinect.
Stay tuned for the 3rd installment of the Kinect trilogy.
P.S. Thank you everyone who reads this blog and especially those whom have left feedback or commented. Your interest and encouragement is what keeps me going with projects like these.
So I resigned from MyBB and I disappear from the internet for 3 weeks… What have I been up to?
Well, I’ve been up to this:
What is this you ask? This is a piece of software that is actually a programming language. It’s called LabVIEW and this programming language was built for “real time data acquisition.” Essentially, LabVIEW is a programming language that is built for things that need to happen in “real time” and also allows for analysis and debugging in “real time” which is much different then any other programming language out there.
So what is the Kinect and why did you write it for LabVIEW? Well, I am a technology enthusiast by trade; One of my favorite things to do is mess with robots and think of new ways I can put everyday technology to use with these robots and LabVIEW is the language that I can do it in. The Kinect itself is a product created by Microsoft that essentially creates a 3D camera and this allows Microsoft to use it for controller-free gaming on the Xbox. Now, this is only one application out of tens of thousands that can be realized with the Kinect and it’s 3D Camera. My mission is to use the Kinect to help open up the possibility of a wide array of applications and do something cool myself while I’m at it, but there’s a lot to do before we can get there.
The first step was to reverse engineer the Kinect and figure out how it works and how we can make it work for us. This became a huge task over the past few months currently being accomplished by an initiative and community called OpenKinect. These brilliant minds are behind what will soon become a entirely new Minority Report level of technology that will interact with you naturally and intuitively to accomplish everyday consumer tasks. My part to this puzzle is only a very small part to the much larger picture that is coming together very quickly with this amazing new technology.
Now down to business. So far we have a three stage process to open up 3D imaging technology to the world.
First, 3D Camera technology must be widely available and at a price point worthy of investing in for most consumers. The Kinect accomplishes this step.
Second, the technology must be widely available on many programming languages, allowing developers to program code on top of the data it provides. The OpenKinect community is making great strides towards this goal very quickly.
And third, code must be written to analyze the data that the Kinect provides and then do something intuitive or cool with it. This step is where I come in and this area of technology is still very widely unexplored and untested.
So what does this mean for me? This means that there is a long way still to go until we can see this technology doing something really intuitive or cool that hasn’t been seen before. I’ve been able to make a lot of headway so far by getting the LabView drivers to work but it’s going to take a lot more work to make it do something really cool.
As a few have noticed, Ryan Gordon, the lead developer of MyBB has parted ways with us. A message from Ryan is below.
All of us here at the MyBB Group wish Ryan well in his future endeavours, and I personally am extremely grateful for the role that Ryan has been able to step up and fulfil over the past few years whilst I’ve not been able to dedicate much personal time toward the project. Ryan’s dedication and passion for everything he did, as well as bringing us some of the greatest MyBB releases to date, will be missed.
What does this mean for MyBB?
The most important thing to keep in mind is whilst this is a big change for us, you can still look forward to exceptional releases of your favourite forum software. Work is underway planning out MyBB 2.0, and from our top-secret prototypes, it’s already looking great.
We’ll have more to announce shortly, but again thank you for your continued support.
A message from Ryan to all…
It is with time that with every profession, interest and passion fade and something new comes along to take over it’s place. It is with this in mind, among other things, that I have decided to enlist my resignation from the MyBB Team.
Over the past 5 years I’ve had the unique experience of journying with this team and working on this product that has taught me so much. Together we have built hundreds of thousands of communities and I know that this will continue for a long time into the future.
I wish the MyBB team and the community best of luck in the future, as I open up this new chapter in my life.
Preface: Firstly I want to note that I will not be revealing any information that isn’t already public. Secondly, what I have to say here is merely a summary of the “main” events. There are countless smaller details that I could spend hours and hours writing on, but distract from the point. Finally, I want to say that MyBB is and always will be a great piece of software and it will continue to get better. The effort put behind the scenes for MyBB was and always has been amazing. To do all of this, to pour time, sweat, blood, and energy into this project for not one cent from thousands of people across the globe unofficially and officially, has always been an amazing concept to be. In fact some might say that those of us who do this for free are part crazy and they are probably right.
The first part of this story begins 5 years 2 months ago when I first joined the MyBB community. Over the next 7 months I went on to create a couple very prominent plugins and also add some content to the wiki, when it first opened. 7 months later I was asked to join the team as Wiki Maintainers along with Justin S. Now I didn’t particularly care for maintaining the wiki forever, but I was new to this game and I wanted to participate in the development of MyBB, so if this was my way in then there was no way I would turn this down.
The next 6 months consisted of aiding MyBB 1.2 Testing and bug fixing in which during this time I was offered development access. On the 7th month, I was promoted to the Project Manager of the new MyBB Merge System. At this point I had submersed myself in learning PHP (at the time) to it’s maximum capabilities and 4 months later the first version of the MyBB Merge System was opened up for beta testing. Following this the next year and a half I started helping out by fixing MyBB 1.2′s bugs and preparing their releases as well as continuing work on the MyBB Merge System and MyBB 1.4. This was probably the most intensive period of my time at MyBB not only because of the large amount of work but because Chris Boulton’s time was now much more limited due to his full time job. At some point during that time I was promoted to Lead Developer of MyBB as a whole and a few months later, Chris officially announced stepping down from day-to-day manager and Dennis took over these day-to-day operations.
From here I lead development on MyBB 1.6 and the planning phase for MyBB 2.0 begun, for the next year and a half. Over the next year my interest in MyBB’s development began to lessen over time as the necessity for time to be dedicated to school and other activities increased. I talked about this several times over various conversations between management staff members and thus began the activity of a recruiting campaign to bring on the next wave of developers and staff members to fully take over all the necessary operations of MyBB and it’s development that I would be leaving behind. This eventually lead to, over a few months, Dennis stepping down as product manager with Tim B. stepping up. A couple months later we had successfully brought on several new staff members to help. Now I had the MyBB staff and more specifically, the development team, in a stable position. The last thing that needed to happen was my resignation, but that wouldn’t happen for a little while longer.
A couple days ago I was having a discussion with Chris Boulton on MyBB 2.0 and this is when I truly realized the different paths we were both now on. The decision to resign was simple at this point and that’s where I am today. I have come out with a new chapter in my life opening and I am excited to put my talents to use on new projects and to see where this different path takes me.
Thanks to everyone who has read this – I wanted to make sure that the right story was out there and to clarify that the terms for resignation weren’t because of, or left on, any bad notes.
It’s been 7 months since I’ve last updated this blog and so much in my life has happened since then. Currently I am writing this blog post at my laptop computer as my roommate slurps some soup and outside rain steadily pours. Even with the somewhat gloomy weather, the environment feels ecstatic as the university event center prepares to host some major political figures in a few hours time.
I am now attending San Jose State University, aiming for a Computer Engineering degree in 5 years and a masters in another semester. Moving out and away has been one of the best things that I ever could have done for my life. It’s really allowed me to become my own person and give me the freedom I’ve ever so needed. Course work and all of the side activities such as clubs and sports has been keeping me very busy but I still enjoy my schedule and the socializing that I get to have in my free time.
I participated on the Evergreen Valley High School Robotics team for the previous two years and I am now mentoring the new EVHS Robotics team, helping them stand on their feet again as a completely new team. I hope they will be able to have the same amazing experiences and build the same life-long relationships that I was able to once forge with teammates during my years on the robotics team. These new group of kids are very motivated and I wish them the best of luck over the next few years as they learn how to take over the world.
It’s been hard keeping up with development with everything going on, especially while I worked regular hours during my internship at ActiveVideo Networks, over the summer. Even with this impediment, the team was still able to successfully release the MyBB 1.6 series, which I would argue to be the most successful release in all of MyBB history. A lot of staffing restructuring, community changes, and development shifts have happened behind the scenes over the past several months. It’s been a surprising roller coaster ride to see how much the MyBB Group and the community that sounds us has fundamentally changed. We are continuing to roll out new ideas and changes to continue to ensure that MyBB is heading in the right direction. This has been a slow process, but as we all know, good happens when we consider patience as a virtue.
MyBB 2.0 is also still baking slowly in development. The new MyBB 2.0 theme has been coming together very nicely and we continue to refine it and reconsider our design as we realize when and how we can make it better. The MyBB 2.0 framework itself is coming together as a result of almost a year of research and conceptualizing and prototyping. We have taken a look at dozens of frameworks and designs and our result will be – hopefully – a straight-forward yet intuitive framework system.
Apart from what I have listed above there’s much more that’s been going on, some of which I am not able to talk about. Almost all of my previous friends have moved out and away to fulfill their own paths on this road of life. It’s sad to see them move away but I certainly wish them all the best. To friends those that are still around, I find to be slowly moving on their own paths as well. Personally, I have now a clear vision of my future and I am certainly looking forward to the future and to how I will be able to exercise my strengths for the better.
This is the robot we’ve been working on strenuously (think 16 hour work days out of one of NASA’s machine shops) for the FIRST(For Inspiration and Recognition of Science and Technology) Silicon Valley Regional held at San Jose State University. This year’s competition is to, in it’s simplest form, play soccer. Our robot contains a ball magnet for good for ball control and a pneumatic powered kicker to launch the ball.
We placed 11th overall ending up as a quarter-finalist among 60 other competitive teams. The robot is built entirely by students and the team is entirely run by students. The experience of designing and building a robot from scratch is tremendously interesting and jam-packed with more education and life lessons then anything else could teach. It’s been a enormous uphill battle with funding, managing, designing, prototyping, building, testing, training, and preparing over the past several months.
What a past 6 months it has been. Who would have ever known senior life was going to be this crazy? It seems just yesterday I was seemingly making my way through the passing crowds in between classes junior year and yet here we are again, senior year, except it has been a roller coaster ride from the start.
Between classes, homework, studying, college apps, personal statements, SATs, robotics club, MyBB, NCAAbbs and client’s websites, this blog was pushed to the back burner. Tonight I find myself, for what seems like the first time in a lifetime, with time to simply reflect on the past 6 months.
Ending Junior year, I started my summer job at ActiveVideo Networks again as the SQA Intern which was definately a really good experience. I also managed to visit Washington D.C., for my first time ever, twice. The first time being with my robotics team, attending the Global Conference on Educational Robotics (GCER) and the second time with my family for a short vacation and then a wedding down in North Carolina (a very beautiful state, btw!).
As always, I continued my development work with MyBB and IT functions for NCAAbbs. In fact, we made some significant changes, including opening up our development servers and source code to the public. As always we kept up with security and maintenance releases, and I even have some tidbits to share further down in this post. But back to the story first:
Senior year opened with a bumpy start. The AP Computer Science class I was going to take was canceled because they couldn’t find a replacement teacher (the old one had to take a leave of absence for the year). It practically ruined my chance for attending one of the UC’s (University of California), as I wouldn’t have an AP class under my belt, and in turn neither the extra GPA points nor the AP test. That dampened my mood quite a bit. Second off, my counselors (whom are hard enough to work with in the first place) changed my schedule 3 times consecutively, making me run around at lunches and breaks to find a teacher whom I could TA for and wasn’t already taken. I ended up as the Drama department’s TA, ironically enough, which was the last place I was expecting my academic life to turn towards. Surprisingly it has ended up being, thus far, a very intriguing experience; there are definately very interesting things to learn from a drama class.
Just as I was settling into my senior classes and classmates, SATs, college apps, and robotics club hit me like a 2 ton Honda Pilot. The next 4 months consisted of 19 hour days, frantic studying, club co-managing, eye-tearing 4 hour test taking and answer bubbling. Fortunately, I was able to get through most of it early. As for my friends, well, they are all freaking out right about now, realizing all the work they need to finish quickly. Fortunately I am able to help them out with answering their application submission questions, editing their personal statements, etc. I still have one last single SAT 2 test in December, but once that is done I am never touching an SAT test again in my entire life.
More significantly, in between all this, my robotics team participated at a competition called CalGames where we placed 1st in the end. Doubled with one of our team member’s birthdays it ended on an awesome note. (We are the teal shirts below)
(A closeup of our team during a competition game. Go! Go! Go!)
(I’m unfortunately hidden behind another team member)
The robot in action:
Now that you’ve seen all that, let me momentarily show off some of my work. As I became the lead programmer of the robotics team, I was given the opportunity to learn a completely new coding language, one which is called LabView. It’s an industry standard program that is primarily used in the programming of robotics or being able to control mechanical or electrical parts.
There is too much code to show and explain all, so I won’t even try. However, let me give you a general overview. This is the Robot Main.vi code which is the highest level of the robot and the central interface to all of the robots functions and executions. Following the flow of the code hierarchy, will be lower level functions. Each “Block” you see in the code is basically a “function” in programmer layman terms. The difference between this language and most others is this is by default a highly multi-threaded language.
So as you can see, the robot may only do a few things, but a lot of work goes into making it do those few things extremely well.
All in all I have had a terrific time on the robotics team, but in these dwindling economic teams we have had trouble sustaining the club. This year we are faced again with the challenge of keeping our club open and running. Our robotics club is by nature very expensive in comparison to many of the other clubs, but in contrast it provides an extremely rich experience that prepares the students much more for the real world experience in their various relating industries than any book or test can do. Our expenses for the club are around $19,000 annually (http://evhsrobotics.com/files/2009-2010/Sponsor%20Packet%2009-10.pdf – page 6). Most of the costs are for materials or registration fees to compete in competitions. If you can provide assistance or know of a company or someone else who can, please feel free to leave a comment below or visit our club’s website at http://evhsrobotics.com/ and we will get in contact with you! We also accept in-kind donations and negotiate with companies for competitive prices for various materials. We could definitely use every bit of help we can possibly get.
On a different subject, we are nearing feature-completion of MyBB 1.6. This means that within the next month we should see MyBB 1.6 in public beta and out soon after that. First though, we are going to make a maintenance release for the MyBB 1.4 series within the next couple of weeks. MyBB 1.4.10 will be the last release of the MyBB series, excluding any security vulnerability releases.
As I have reiterated over the past year, MyBB 1.6 won’t be as drastic of a change as MyBB 1.4 was. As MyBB 2.0 will be a complete rewrite, we are aiming MyBB 1.6 to have much less “behind-the-scene” changes than MyBB 1.4 had. This means that most of your plugins will still work with very little change (most simply the version compatibility indicator), and themes should be easily upgradable too. This will allow us to aim the of end the MyBB 1.x series on a great note and put it to rest in an honorable way.
Thanks for reading. Feel free to post any comments, questions, suggestions or concerns.
Well, it’s been a while since I’ve posted here. I have been preoccupied with school and other activities so I haven’t had as much time here. However, I’ve found a few moments to show off the new UI changes to the MyBB Merge System that have been in development for the past several months.
The main greeting page:
This page is largely the same in previous releases, but the version number is now shown always in the header so users can more easily provide the version number and make sure they are running an updated version.
The requirements check page:
This page is brand new. It allows us to make sure the user is running the latest version and that the /convert/logs/ directory is writable so that if there are issues later on, they can be resolved more easily by providing debug logs. The Merge System won’t allow you to continue until you are running the latest version and the logs directory is writable.
The testing information page:
This page is also brand new. It is there to describe to the user how they should report problems.
The board selection page:
This page is largely the same, except you’ll notice that support for a couple more versions are available for some supported forums.
The module selection page:
Again, you will notice it is largely the same. However a few modules are missing. We have removed support for Avatars a few other ones which weren’t standardized among the board’s. Why did we remove them? They were simply too high-maintenance, didn’t work very well for many people, and didn’t seem extremely essential to converting a forum over.
The database configuration page:
It is essentially the same as last time, though it has been tweaked a bit and a couple of annoying bugs were fixed with it.
The database configuration page (2):
This page is run right after you enter in the database configuration details. This is a completely new page. Before, you would just be sitting and waiting for a long time wondering what was going on behind the scenes. Now it informs you with this new page. It checks the database details, and shows a progress bar describing what is going on at that moment. As you can see it was adding an import_uid field to my trunk_posts table.
The options configuration page:
This page has been completely redesigned from the old boring plain version that you’ve seen in old versions of the Merge System. It sports a count of how many it will import, and provide you with a nice clean interface for how many it should import per page and whether or not it should auto-redirect. The new default for “import per page” is 1000, except for attachments which is 20 since those take considerably longer to import.
The actual in-process import page:
This page has again been completely redesigned. Old versions sported a long list of
Now it is a simple progress bar with what exactly it is importing below it.
Once the posts page is run, a counters rebuild page is run.
The rebuilding counters page:
This page rebuilds the counters because data such as the amount of posts, threads, users, etc are notorious for falling out of sync through various bugs in any forum software. So as such, the Merge System simply does a clean fresh recount of all of the counters. This will make sure that the counters are correct and in-sync.
The cleanup page:
This page is completely new. In previous versions when you pressed the “Cleanup” button or if the Merge System had completed importing all the data in all of the modules, you would be left hanging with a blank page for a while as the Merge System ran some commands to “cleanup”. This now sports a new page with a nice progress bar and an indicator telling you exactly what is going on. In this screenshot the import_pmid column is being removed from the trunk_privatemessages table.
The completion page:
This page is the same as all the other previous versions, however, the reports generated are improved.
The reports generated page:
This is a sample HTML report. You will notice that the “Total Query Time” is much better formatted and there is a new “Errors” part to the report. The “Errors” section is mainly used for any errors that pop-up during attachment conversion that are unexpected and couldn’t be handled properly. This gives you a chance to correct those errors manually.
You will notice that the Merge System now uses nicer formatted numbers (comma separated) as a visual nicety and many other tweaks and improvements such as much better attachment handling. The Merge System will now check that it will be able to import attachments properly and if not, it will tell you as such and give you a chance to correct the issues so the Merge System can properly continue.
This blog post only showcases the new UI of the Merge System. What you don’t see is the completely rewritten framework and back-end to the Merge System. It now sports a much more uniform, OOP architecture that minimizes code repetition, improves consistency, improves performance, debugging capabilities, simplifies previously complex code, introduces unit testing abilities for even greater stability, and cleans up old, outdated code overall.
I hope you have enjoyed this preview to the new MyBB Merge System. It is still up in the air whether this will be a beta release, RC release or a final release and there is currently no exact release date planned. We are currently in the testing phases of the new Merge System and we hope we can box it up and send it out soon.
MyBB 1.4.5 was released a little over a week ago, and I have been monitoring the release and so far we’ve only had a few regressions pop-up. This release was a very successful release to say the least. It’s gone through:
A Private, 2-week, beta test
SQA Testing has proven to be a very successful team, spotting errors in fixes and code the developers have written. The private beta identified 19 new issues that were fixed for MyBB 1.4.5 and also confirmed 39 fixes (the fixes that weren’t already confirmed by SQA) were working and if not were fixed to work.
Not being under the pressure of having to make a release because of a security bulletin has made this a great release as well as it wasn’t “rushed,” unlike past released. We’ve also had a fairly decent staff restructure and things are running more smoothly now. A blog post on the exacts of the staff restructure will be made in the following weeks, on the Official MyBB Blog.
MyBB Team Positions
We’re always looking out for new potential. If you want to be on the MyBB Team, you just have to show:
You are dedicated and active to the project
You speak English very well and have good communication skills
You have good knowledge of how MyBB works and in the position you want to take up
If you don’t feel like we’re noticing you it’s probably just because we’re too busy making the next version of MyBB! So just shoot a Team Leader a Private Message to get their attention. Remember though, your chances are considerably increased if you stand out with the three suggestions listed above.
I come to school Monday and walking towards 1st period a bunch of trees were cut in half and left hanging upside down.
The next day, get to school and during 3rd period the D building, administrative building, was locked down with local cops, the fire department, medics, FBI, and Haz-Mat. Someone sent 10 snail mail messages all containing a white powder which at the time they thought was anthrax. Turned out to be a harmless powder though (talcum powder). In one of the last snail mail messages apparently they had a list of “demands” and some gripes about school policies (something about the hat policy from what I heard) and mentioned that this “wasn’t their first time”.
Today, I get to school and there is a swastika etched into the schools main lawn and earlier that morning thieves broke into a gun store in the city and stole more than 100 guns, two being shotguns.
There is rumors going around that there will be a code red tomorrow (drill, I believe) and some sort of safety talk – Not sure though.
All in all, this kinda sucks. Life couldn’t be busier for me and for all of this to happen on top of that just really feels like a jab to the stomach. Most of the students up until now have been pretty mellow about the whole thing, but who knows how things will go tomorrow. Hopefully things will just continue normally and the whole incident just blows over. None of us need more drama in this world.
The worst part is, this community is a generally friendly community, so it’s surprising/sad to see it happening.