Works in Progress...

Media Server?

Subscribe to RSS feed

Future Outline

, ,

If anyone cares, I've made the decision to just stick with this Opera blog instead of using the Blogger one that I mentioned earlier. Viva Opera! This Opera blog is pretty simple and, although it misses some of the useful features of the other one, it is good enough.

In the last few weeks my programming adventures have slowly dwindled down to nothing because of all the work I've had. Starting tomorrow (or I guess that's today since it's pretty late), I'm going to make another push to get more work done on my projects. I've taken on a couple new projects that more or less tie into the current things I'm doing.

The first is called SARP (an acronym for "seek and retrieve program"). This will function like wget but with a built-in web crawler search engine and a scraper. The final product will take a file name, file type, and (maybe) url domains to search in. Then, the program will search through everything with the search engine's crawler and display possible matches in a menu window (using a scraper to get the info). The user then can click one of the returned titles (may display URL, file name, file type, etc.) and the selected file would be downloaded instantly. SARP will, hopefully, be like an automated form of wget. Instead of needing to find all of the files you want to download manually and then passing the URLs to wget in a text file, you'll be able to just type in a file and (maybe) give it some starting point for where to search from. There's a lot of work left to do but it sounds pretty cool and worth it (I hope this whole project is possible)! I'm building the search engine right now (and getting a grasp for python too).

The second project that I've begun is cluster computing through MOSIX. Cluster computing seems like a pretty big jump from what I've been doing up until now but I think I'll be able to incorporate it into my Android project nicely. My plan is to install Debain Linux in parallel with the default Android OS. MOSIX can be installed in this Linux phone and in the big LEGO computer I have at home to allow my phone to harness the power of the LEGO computer. This will allow me to run normal Linux programs on my phone that normally would take up too much processing power. I'm really not sure what the limits are for phone's processing but things like blender or PTAMM (3D scanning and mapping) would definitely work better on a system like this. MOSIX is particularly nice because it allows for cloud clusters which are just cluster computers that are connected overt the Internet but otherwise geographically dispersed. My phone will therefore be able to cluster with the LEGO computer at home while I'm on-the-go. Since I don't want to leave the LEGO computer on 24/7 I can also use a little wake on WAN python script that I have to remotely turn the LEGO computer on and off as needed. This whole project isn't too much work and I'm using it as more of a way to learn how to build the MOSIX cluster and wake on WAN for a future project (getting overloaded right?).

Way down the pipeline, I think I should rebuild the Morai Web Builder from scratch in Python! This will be hugely helpful (I hope) to everyone that is using XBMC because it will work with all systems (Linux, BSD, OS X, Windows, etc.) natively. No more OS X only restriction. This won't be super helpful to me since I have a cloud computer to access any file I own but it may be good for others (the cloud computer is better in every respect though). People will probably want to host their sites on an external, proprietary server (ie GoDaddy) so they don't have to leave a computer on 24/7. Then again, people could just buy a raspberry pi (or some low power computer) and turn it into a personal cloud but whatever.

Oh yeah, I made a quick instructable for building the cloud computer too: http://www.instructables.com/id/Personal-ARM-Cloud-Server/

I've tried to explain how easy and useful it is to have a personal cloud but people do not seem to understand (even other programmers) so I've given up trying to help anyone understand it. So far everything has worked perfectly, I can even run remote applications out of the cloud or install virtual machines and run them from the cloud. The file syncing is lightning fast too. Transferring a bunch of files over LAN or very quick WAN goes at about the speed of plugging an iPod into a computer through USB. Very useful for syncing lots of files.

The flash drive project I've talked about needs to get done too. I guess I've been procrastinating because it doesn't seem too hard. I'll need to get the source files for TinyCore Linux, recompile them with UEFI boot enabled (to allow booting on OS X computers), and tweak the GRUB2 bootloader. That doesn't seem too hard I've just been dreading the TinyCore compiling for some reason. I'll get over that tomorrow and make that the first thing I try to finish! That will allow the system to work on OS X and utilize the full resources of the computer because the computer will boot into TC instead of using it as a virtual machine (like it will in Windows). Fingers crossed that everything works OK and it isn't impossible to figure out!

All of these projects will teach me quite a bit about networking but as my grand project (that may be attainable in a year or two or more) I'd like to build a new branch of the National Data Buoy Center to focus on monitoring the progress of Ocean Acidification through a new buoy network. I think I may have the ability to build a buoy with sensors for measuring everything, solar cells and a Lithium Ion battery (these already exist on buoys, so I can cheat here), an Iridium satellite receiver/router (to connect the buoys to a centralized server), and a central, cloud server that can take all the measurements. Hopefully, this would allow scientists to rapidly attain an understanding for the chemical makeup and character of different regions so they can gain an understanding for what is happening in those environments. I would need to make each buoy really cheap so the project could scale rapidly! Any aquatic environment that a scientist is interested in could be probed by these buoys automatically (just set them in the field and let them do the work). This already exists in some sense but my system would use small, cheap buoys that would link to a particular lab instead of the international network (although they would definitely be the best private lab to use it). The entire project would be copy-left to allow anyone interested to set their own buoy network right away (the whole project is to conserve the environment and improve our general scientific understanding) while still giving me a little credit for thinking of the idea, p

Sorry if this post was dry and monotonous. I'll try to get back to fun and progress by the next post!

Temporary Move

,

If anyone is following this at all, I switched over to a Blogger site for a little bit. The new site is able to control some of the content a little better and allow me to style everything to make it look fun. I may switch back to Opera because of privacy and my love for Opera.

For now this is the new site:

http://greenyouse.blogspot.com/

This cloud is going mobile

It has been a while since my last post but I'm happy to say that everything is working wonderfully! Proxies work, VPN works, Samba works, virtual machines kinda work (OS X is being too good/secure), and now it's time to dump this into a mobile device to test it out!! Basically any device with wifi will work but using a smartphone may be best because it has on-the-go networking (3 or 4G stuff). I personally would never think of coughing up $100/month for some crappy, extremely limited internet connection from a cell phone company but many people seem to think it's a good idea so I'll try to stick with phone development (over something like a cheap MP3 player with wifi).

The iOS would be an interesting system to use, especially because it is the basis of all apple's mobile devices (iPhone, iPod, iPad). Unfortunately, I don't have gobs of money to spend on anything so I've picked up an Android phone off ebay for $30. The retail price for the phone is somewhere close to $200-300, so this was a serious steal! There seem to be many ways to going about doing this mod but basically all I'll need is access to SSH, Samba, a Terminal, and a good file browser. Debian could be installed after the phone is rooted but that may be excessive. I'm going to try keeping the default OS in the phone and just use apps to get this working. Compiling a custom Linux kernel and dumping that new OS into Android may be a pain and difficult for normal users, so this method may also be helpful in case others want to follow in my footsteps. To keep with the open-source theme of this project I will be self-imposing a rule to only use free apps for everything too.

To spice things up a bit anyone that doesn't have an ARM computer could try installing python and running a "Wake on WAN" py script to power up their server remotely. I don't know if this will actually work with the cubox + external HDD because both are plugged into power adapters lack any shutoff mode while physically plugged in. With a normal computer this could be a helpful way to seriously cut down on energy costs though.

To show some of what I have in mind, here's an example: I'm at walking through downtown and suddenly get a good idea for a project. I whip out my Android and run Wifi Finder to get a listing of all available wifi hubs around me. After walking up to a public hotspot, I enter a custom command into the Android screen and auto-connect back to my CuBox. From there, I would have free access to all of my files. That means I could edit text files to jot my ideas down and then save everything back to the server quickly without downloading and uploading files.

For running the virtual systems on pubic computers, I've had some issues with OS X app privileges. The QEMU emulator just cannot run on a managed user account. GRUB2 can be used however to boot into a custom operating system from a flash drive. This can give a nice, TinyCore workstation to write code or work on projects, while still keeping the utmost personal security for your server (nobody will ps your server's info or trace your server connection/info). Probably overkill and will not be used much but at least it will be available.

Overall, this seems like a really useful application but its too bad that it must be written in java (the dev language for Android apps). An old iPhone would be nice since I already know how to build programs and advanced scripts for that but oh well. I wish I could make some money by packaging a cloud app like this but idk, there seem to be too many restrictions (some geek knowledge to use the app, a file server, safe, non-hackable code for building app, etc.). This is a fun phase though. I can't wait for my phone to come next week!

Success!

, , ,

After tons and tons of time working on my project I finally got it running! I now have a personal cloud computer to do whatever I want over the Internet. It can run a web server no problem and use Moirai Web Builder with XBMC to auto-build an HTML5 video site for mobile devices and computers. The server has a sandboxed file system to mount on any computer at any time with the correct commands (even on an iPhone). There's an easy to use encrypted proxy for extra security features on public networks or to hide traffic. There's a VPN for connecting to other computers on the server's network or doing VPN-related stuff (Samba over ssh works really nicely though). Which brings me to the star feature: Samba over SSH. By doing SSH port forwarding users will be able to mount files over WAN through SSH tunnels! It only takes two commands to set up and this could easily be aliased in ~/.bashrc or ~/.profile to become "mount_home". The virtual machine will run on any public computer and transfer files from the public computers back to the server and visa versa (need more OS X testing though).

There are tons more things that this little bundle of awesomeness can do too! I'll have to package and distribute everything in a few days!
Edit: here's the site: http://code.google.com/p/cloud-computer-package/downloads/list

Frustration abounds

, , ,

complaining about my @$#~! vpn issues

Read more...

Getting closer to finishing!

, ,

Getting the CuBox server planned out!

Read more...

Slowing Down for the Summer

Wrapping up the project

Read more...

Project released!

Release of the project

Read more...

Full Steam Ahead

, ,

Recap of my last few days finishing the remote web builder application

Read more...

Remote web builder!

Update of the remote web builder

Read more...