Lots of things going on, not enough time to tell about them. I am still running the Beast Rom v2.2.1 on my Notion Ink Adam, and not having any issues to complain about, I have used UnrEvoked on my HTC Evo to root it, removed the [...]
Lots of things going on, not enough time to tell about them. I am still running the Beast Rom v2.2.1 on my Notion Ink Adam, and not having any issues to complain about, I have used UnrEvoked on my HTC Evo to root it, removed the Sprint apps I didn’t want and started backing up with Clockwork Mod and Titanium Backup. Still running Ubuntu 10.10 x64 exclusively on my desktop, I’ve been working on learning Java and think I’m picking it up pretty quick, although there are nuances I still do not have down. Maybe after 4-6 months I’ll take an intermediate level course on Java and see if they can tell me the small things I am missing from not having an instructor. Some time around January I’ll start learning Android specifics, by then I should be getting up to speed on java graphics and UI interfaces, right now I am just doing console coding.
I lost a large quantity of data from my drives last week, there appears to be an issue with my external drive caddy, when I bootup sometimes one of the drives is not recognized, normally a reboot operation clears it right up. Last week I shut my systems down for a bad storm, in case we lost power for an extended time as the storm was about 2am. Well during startup it had no issue finding the drive that normally didn’t startup, but it did do a disk consistency check, which happens every now and then and no big deal I thought. A few hours after that I went to startup my virtual machine so I could work on my java code and VMware told me some VM drives were missing, I didn’t think much of it, as I had been rearranging and deleting some old VMs recently and started up my Android-SDK VM, launched Eclipse (I move to using Eclipse instead of Appcellerator’s Titanium Mobile Developer, because It has a code editor and Appcellerator decided not to include one…) Well it couldn’t find my files, so I started looking and my data store drive was there, had files in it, but all of my directories were missing!
First things first, I rebooted, thinking there was an issue mounting during startup, well it was the same when it came back up. I checked the trash, in case I accidentally deleted them, nothing was there. I moved to a terminal session and checked the drive space on my mounts and saw there was 173GB of data on my 1TB drive, but no files to show for it (previously there was over 750GB of data on the drive). Well I found a large portion of them in a .trash-1000 folder, not sure about most of you, but I copy every CD I’ve ever gotten since 1997 on to my hard drive as a backup, well that was the end of my backups for a large bit of it. Two days later I found another 140GB on my old Windows 7 boot drive that I apparently copied off of, but never removed the original. So I’m out about 55-65% of my backup data, most of which the CD’s are either missing or damaged beyond use. Probably 60-80% of my backups are either things I have never actually used, or only installed to see what it did, then uninstalled it. So I am not really out too much, just makes me feel empty inside… Most of what I lost that I actually use were my Microsoft disks, having been a Microsoft partner for about 4 years and working a lot with Virtual Machines I had everything stored in .iso format, and about 2 years ago Microsoft moved to .iso format and I was keeping up with all available software via the download site. So I basically lost everything that was released by MS in the last 2 years and since I am no longer a MS partner I no longer have access to those downloads. (this includes Win7 and Office 2010) I guess it is a good idea that I don’t run windows as my OS anymore!
Having an issue since I tried to flash from Beast v2.2 to Beast 2.2.1, I don’t think it is Caused by Beast, but I did not have any issue previously and I have been through a couple of roms now… as a note I am using Ubuntu [...]
Having an issue since I tried to flash from Beast v2.2 to Beast 2.2.1, I don’t think it is Caused by Beast, but I did not have any issue previously and I have been through a couple of roms now… as a note I am using Ubuntu 10.10 x64 on my desktop and also have a laptop with U10.10 32-bit dual-booting into win7 x64, although I try to never boot into windows. I have a microSD to SD converter that I plug into a SD to USB converter to copy files to the card.
- I copied the file to my 32GB MicroSD
- restarted into recovery mode
- wiped the cache and data
- restarted again (had to boot into v2.2 and renamed it to update.zip, as I have not reinstalled Clockwork since I left EdenX)
- restarted into recovery mode again
- wiped the cache and data
- selected update from external SD
- after the update it hung on the new Android logo (I let it sit for 73 minutes before giving up)
- restarted into recovery mode again
- wiped the cache and data again
- restarted the Adam again
- same result
I tried redownloading the .zip file and trying again
- renamed the file first this time
- copied it to my 32GB Micro SD
- this time I added some .apk files to the apps folder to try and save some time reinstalling things
- restarted into recovery mode again
- wiped the cache and data again
- selected update from external SD
- update failed update.zip (BAD)
- took the Micros SD out again
- and put it in my desktop
- I tried to open the .zip file and it failed to open, “Error: /media/disk/update.zip: Can not open file as archive”
rinse and repeat four times, same issue every time. Always the same issue if I try to reboot too, with it hanging on the Android logo.
Just to test if it was my Ubuntu install corrupting the file transfer I tried it from the laptop in Windows, same results, exactly.
I’ve tested the .zip both before and after putting it in the Adam, every time the same, doesn’t matter if I put the card in my desktop, laptop with either OS. It is always good before I put it in the Adam (yes I tested by copying it on one computer and opening it on the other before putting it in the Adam), and Always bad after I take it out of my Adam.
Now, I still have the Beast v2.2 update.zip on the internal SD; however when I flash to it, the Adam reboots and then gets stuck on the Android logo (from the new v2.2.1 rom) as such is obviously still Beast v2.2.1 even after what appeared to be a successful flash.
**** update ****
two other notes,
- I do have and have tried, a 2GB microSD card. same results.
- I called the file update.zip.zip (by accident on the Win7 machine, hidden known file types) one time and the Adam said it could not find the file, then when I put it in my laptop again (in Win7) and tried to open the file to make sure it was still good, Windows prompted me to “insert the last disk of the Multi-Volume set” Again, this was on a zip file that was working when I took it out of the laptop, was not named update.zip and it still had the issue when I took it out of my Adam.
Because of #2 here in the update section, I tested this by placing other .zip files in the root of the micro SD, and all .zip files are corrupted after I put the card in my Adam.
****update 2****
I downloaded the Beastv2.2.1 Rom from my own mirror location, saved it to my 2GB MicroSD and put it in the Adam. Flashed perfectly and then said “BYE” and restarted, I ran out to return a red box movie right as it flashed “BYE” and when I came back it was still sitting on the “ANDROID” logo, so no go there. The Good news is that the update.zip file was not corrupted when I stuck it back in the Win7 machine. not sure what changed, but it was the first time the zip file came back ok. So I just tried powering the Adam back on normal. Sat on the ANDROID screen for 10 minutes before I gave up. Went back in and wiped the Data and Cache and rebooted again, my reward for diligence was 10 more minutes on the ANDROID logo. I do want to note at this time that all times it sat on the Android logo, from the first flashing, the logo WAS animated, it was not hung, more like the Adam was waiting on something. Also I want to note I have tried flashing clockwork on to try and see if it would help, but get the same results. I also tried rebooting without the MicroSD card inserted, no difference.
I’m going to try a different Rom and see if it makes any difference.
Well, I failed with Vegan Rom also…
I guess I need to setup ADB and do an unbrick…
strange enough it always flashes the copied Beastv2.2 from the internal card with no issues, other than it still boots with the Gingerbread Android Logo and gets stuck on it forever…
**** Update 3 ****
Stranger things have happened, I plugged my Adam into the Laptop while Win7 was booted and the Adam was trying to boot into something, and it recognized it, added 4 devices to my computer, including one called “Harmony” which I had to use the unbricking USB Driver to recognize, it turned into Android Debug Device after that… It did mount the storage device; however, I was not able to open it, it just told me to insert a disk. I will start the unbricking process in the morning, as I am tired now and don’t want to make any stupid mistakes.
Ok, so it is a new day, and I have successfully restored my Adam to the way it was when they shipped it to me.
As an fyi, my Adam normally boots with a white background, black text “Notion Ink” additionally in the recovery options it says:
- reboot system now
- apply internal sdcard:update.zip
- apply external sdcard:update.zip
- wipe data/cache
- wipe cache partition
- calibrate touch screen
I flashed with the unbricking file windows_PQ, it took about 2 minutes to complete, and my adam now has a white text, black background notion ink logo, and #4 in the recovery window says “wipe data/factory reset” and is stuck on the adam boot screen loop.
I am right now doing both wipe steps and rebooting again…
And my adam started up without issue.
**** update ****
I have (just for fun) checked for updates on my adam, while it was in stock mode and there was one available. I downloaded it, and it is a 81.48 MB file, I have copied it to a usb stick, just in case, and will put the results here after it runs. (not sure what to expect, as I am currently on NIP20040211.
**** after update ****
I got my black Notion ink logo on a white background back, and am now on build NIP20140211, kernel 2.6.32, Android v2.2, it remembered my wifi security key… and now reports my adam is up to date and the update file has disappeared from my internal memory and my external SD…
Now for fun, I am going to try and install clockwork and then the exact same Beastv2.2.1 file that I tried the first time that got me in this mess…
hmmm… every time I copy (or rename) the clockwork.zip file to update.zip using sniffer, if turns into an empty folder named update, which disappears if I switch to another filesystem (ie go to USB or SD2, then back to the internal SD), but if I try to copy it again, it tells me the file already exists…
I am having the same issue if I try to rename and save the file from my desktop or laptop as I was having originally. So at this point I have a Notion Ink Adam that looks, runs and functions exactly like it did when I received it. Which in my mind is not at all. Now I am stuck, I cannot get my Adam to switch to another Rom, I cannot install anything via the update.zip method.
******************* UPDATE ******************
This issue has been resolved and within about 5 minutes I have found the problem and fixed it and I am preparing now to reflash my Adam to my modified Beast v2.2.1
The problem was caused by Beast v2.2.1 dropping LauncherPro as an installed home launcher, and only including VTL.Launcher (which I cannot stand, personally I think the weird floating shortcuts on the sides are abominable!) So, I’ve installed Launcher Pro from the market, and backed it up with Titanium Backup and copied the backups to my MicroSD, that I’ll transfer into my modified Beast Rom and attempt to install again.
******************* FINAL UPDATE!!! **********************
This issue was caused by a counterfeit Kingston 32GB micro SDHC class 6 – according to the Kingston website, the 32GB micro SDHC is not manufactured in class 6
So, I’ve been having a really hard time getting the Kitchen Sink app to load in an emulator using Appcelerator’s Kitchen Sink, I have been hacking away for 4 days now thinking I screwed up my installation guide I just spent 3 weeks working on, when I finally figured out some solutions! Now I cannot take complete credit for this, as I did get a lot of my information from developer.appcelerator.com/questions/created and appcelerator.lighthouseapp.com/projects/32238/tickets I have combined the results of 9 or 10 different posts along with some other tweaks I have made (and updated in my installation guide), and finally an astute observation on my part, to get this to work. So, if you have followed my guide then there is not too much more to do, if you are having this problem and did not follow my guide, then go ahead and give these fixes a try, then check out posts 1-4 with Ubuntu 10.10 32-bit and see if you missed anything.
Here is what I was receiving when I tried launching the kitchen sink before.
[INFO] Launching Android emulator...one moment
[INFO] Creating new Android Virtual Device (2 WVGA800)
[ERROR] Exception occured while building android project:
[ERROR] Traceback (most recent call last):
[ERROR] File "/opt/titanium/mobilesdk/linux/1.6.0/android/builder.py", line 1622, in
[ERROR] s.run_emulator(avd_id, avd_skin)
[ERROR] File /opt/titanium/mobilesdk/linux/1.6.0/android/builder.py", line 348, in run_emulator
[ERROR] avd_name = self.create_avd(avd_id,avd_skin)
[ERROR] File /opt/titanium/mobilesdk/linux/1.6.0/android/builder.py", line 318, in create_avd
[ERROR] inifilec = open(inifile,'r').read()
[ERROR] IOError: (Errno 2] No such file or directory: '/home/sdk/.titanium/avd/titanium_2_WVGA800.avd/config.ini
[INFO] Building KitchenSink for Android ... one moment
[ERROR] JDK version detected, but 1.6 is required
Very confusing output, I have been concentrating on the file line as my main issue, and the ADV errors I was hoping would resolve themselves afterwards. I made a few changes to my guide while trying to resolve this, nothing made it worse! hopefully some of it helped though!
***update on this (really only 45 minutes later), I have resolved most of this issue! I created several AVDs with the name and specifications that the emulator was looking for and the AVD launched the KitchenSink! here are the steps to resolve this issue! This requires some pre-configuration on your part to work, I’ll add notes for steps I remember this on.
- android – launches /opt/[android-sdk folder]/tools/android
- click new
- name=titanium_2_WVGA800 – change the number “2″ to what ever number is there in your DEBUG log [DEBUG] AVD ID: #
- give it an SD card of some size (I used 25MB)
- target set to whatever Google API you want to use (just make sure it is greater than or equal to 1.6)
- click “create AVD”
- go back to Titanium
- select kitchen sink under the projects column on the left
- click the edit tab
- change the Titanium SDK to 1.2 (not 1.6!!)
- now go to test & package
- set the SDK to any Android SDK
- change the filter to trace
- click launch
now try and launch the KitchenSink (my AVD loaded in less than 3 minutes, was not locked and my VM went up to 430MB of RAM and peaked at 45% and 100% on the two CPU cores). It seems the Titanium SDK 1.6 is causing all the issues. I figured this out when it struck me the version is 1.0 (Titanium default starting version)and the date is 2009, Titanium SDK 1.6 was just released, so it has to be the incorrect version!
So the next issue is the last line of the code output above: JDK version detected, but 1.6 is required
I’m still working on this one, so I’ll post it in another post a little bit later after I get it figured out, but right now the Emu is running, the apps in it run, and I think this will allow me and you to start coding!
*** update – I found the prereq.py script located in three locations (might be why when some users replaced it with the modified one in the forum it still didn’t work, as they put it in the wrong place!
- /opt/titanium/mobilesdk/linux/[ver]/[platform]
- 1.6.0/android
- 1.6.0/iphone
- 1.2.0/android
first thing I did after finding nothing online when searching was to backup the file
sudo cp /opt/titanium/mobilesdk/linux/1.6.0/android/prereq.py /opt/titanium/mobilesdk/linux/1.6.0/android/prereq.py.bak && sudo cp /opt/titanium/mobilesdk/linux/1.6.0/android/prereq.pyc /opt/titanium/mobilesdk/linux/1.6.0/android/prereq.pyc.bak
and then I edited the file to try and fix it! I tried putting my $JAVA_HOME variable before the command “javac” but that returned no JDK installed instead of wrong version, so I tried putting the path to the jdk link in there (/opt/java/jdk-linked/bin/javac) and that returned this line:
JDK version 1.6.0_21 detected, but 1.6 is required
this told me right away that prereq.py is no longer valid and needs to be updated, again, slack programming by a “professional” development company, maybe they need to stop using their Unix wannabe Mac systems and actually use Linux… so I made another change to the file so that it was looking for exactly what it found (this could be dangerous, as it invalidates the check; however I have manually verified that everything is good, and my AVD runs fine at this point, so the only issue is that this python script is bogus. Someone who actually knows python can step in and tell me what I need to put if they would like).
- sudo vi /opt/titanium/mobilesdk/linux/1.6.0/android/prereq.py – you may need to make changes if you are using windows or OS X to that location, and edit it with a different editor (do a find on the prereq.py file, that is what I did to find it)
- 17G – using VI as your editor, this will jump you to line 17, the one we need to edit, it is the one that has javac on it and does not have cmd.exe (that would be the windows users line)
- 9ww – that should skip you up to the “j” in javac
- i – leaves command mode and begins edit mode inserting the cursor before the “j” in javac
- /opt/java/jdk-linked/bin/ – the location to javac, if you did not follow my guide to set this up you will need to edit that line based off of where you installed the JDK, when in doubt do a find for javac
- [esc] – that will take us out of edit mode and back into command mode (also moves the cursor back one space, never figured that out myself…)
- 4j – that will move us down four lines to the “if not version.startswith…” line
- use the “h” and “l” keys to move left and right until the cursor is on top of the 6 and type the following a.0_21[esc] – that should have changed the 1.6 to 1.6.0_21 (you should change this to what ever is displayed when you type “javac -version” from the command line!), for example my install is showing 1.6.0_21, therefore my entire line looks like this:
- if not version.startswith(“1.6.0_21″):
- :wq! – this will save the change and quit
- sudo /opt/titanium/mobilesdk/linux/1.6.0/android/prereq.py – should not give that error anymore; it did however display the path to my android sdk home directory (/opt/android-sdk)
the prereq.pyc file is the compiled version of prereq.py, hopefully it will be updated automatically, but we made a backup earlier just in case.
This next issue appears to have been resolved by one of the solutions I found above. I am posting it here anyway, in case someone else has run into issues with this and does a search, hopefully they will find this post as a resolution.
[TRACE] wait_for_device returned: List of devices attached
[TRACE]
[TRACE]
[DEBUG] /opt/android-sdk/tools/adb -e devices
This just keeps repeating in the window over and over, I have let it sit for 30 minutes and it just keeps going about one repetition per second. If I re-click the “launch” button it does it maybe 4 times before building the kitchen sink, then it does some other things, builder.py line 803 –
For what it’s worth, I get the exact same issue (with the same resolutions) if I create a new project and try to run it with Titanium’s SDK 1.6.0. Now one of the forum posts on developer.appcelerator.com stated that 1GB of RAM was not enough to use Titanium and that they have a 4GB win XP machine that normally uses ~2.6GB when they have Titanium running. so with out checking first, I shutdown my VM and bumped the RAM up to 2GB (from 1GB) and then started it up again and launched System Monitor, then tried building the KitchenSink and a blank new app called testapp1. My Linux Ubuntu 10.10 32-bit Virtual Machine with 2 CPU cores assigned, was using a whopping 201MB of RAM and the two cores were at 12.4% and 16.2% utilization. From this we can infer that either absolutely nothing is happening, or somebody is full of it. (I’m thinking the system is just sitting idle and not doing anything myself…).
Now, I know that VM’s work better with less resources assigned to them, and only increasing those levels if the system is pushing it’s limits. So, I decided to cut it back to 512MB of RAM and 1 CPU core to see what happens (I also shut down the 3 other VMs I had running on my machine).
*** solution – I believe that creating the AVD with the name that Titanium was looking for resolved this 3rd problem for me, as it is no longer occurring. Additionally, (and I have updated my installation guide to match) I have found that my Ubuntu VM runs about 450MB of RAM and 1 CPU core at 100% with another at >25% when the AVD is running. So, I have adjusted my VM to 768MB of RAM total (originally I was using 1GB, then I upped it to 2GB) and 2 CPU cores (no change there). I have not had any issues with maxing out those resources and so far the VM has used 0KB of swap.
I have been having some other issues, and they will be coming in a follow-up post to this one (as a hint, I have resolved the libenchant error messages already, but detected another one in the meantime that I am still working on).
Part Three – Configuring Ubuntu to use your newly installed Java JRE and SDK
There are a lot of technical steps in this part, and I figured them out mostly through heavy internet searching, piecing together information from other blogs, and trial and error. The main issues were caused by every site expecting you to already have some key components installed before trying to get this working. So when I tried to follow their guides they never worked. That is why we are here now, using a fresh and clean Ubuntu installation.
updated for Java 7 on February 8th 2012
- cd /opt/java && sudo ln -s /opt/java/jdk1.7.0_02 /opt/java/jdk-linked && sudo ln -s /opt/java/jdk1.7.0_02/jre /opt/java/jre-linked – this moves back to the /opt/java directory and creates a link to the jdk folder that we can use to reference to later, that way if we ever install a newer version of java all you have to do is remove the links and create new ones, not have to go through this whole process again! you can test by typing cd jdk-linked && ls – and you will see the contents of /opt/java/jdk1.7.0_02 (don’t forget you can use [tab])
- sudo update-alternatives –install “/usr/bin/java” java “/opt/java/jre-linked/bin/java” 10 && sudo update-alternatives –set java /opt/java/jre-linked/bin/java – this updates Ubuntu so it can find your new jre and makes it the default jre to be used by the system (again future proofed because we used the linked location)
- if you want to, we can setup java for Firefox too
- mkdir ~/.mozilla/plugins/ && ln -s /opt/java/jre-linked/lib/i386/libnpjp2.so ~/.mozilla/plugins
- cd && vi .profile
- [ctrl+f]
- [o]
- EXPORT JAVA_HOME=/opt/java/jdk-linked
- [enter]
- EXPORT PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin
- [esc]
- :wq!
- now we need to repeat the next set of instruction with the following items placed in [java] (everytime you see [java] put one of the following until you have done these steps for each of the following), I have noted after each one if you need a jre or jdk, or both lines for it, if both, replace the 10 with a 5 on the jdk (this will add both the jre and the jdk alternatives to the list making the jre ones the default). Or, just use this script. (remember to look at the script first to make sure it does what I said, and to set it as executable! cat java-update|more && chmod +x java-update then execute it with sudo ./java-update)
- java – jre/jdk
- jar – jdk
- jarsigner – jdk javac – jdk
- javadoc – jdk
- javah – jdk
- native2ascii – jdk
- rmic – jdk
- rmid – jre/jdk
- rmiregistry – jre/jdk
- serialver – jdk
- sudo update-alternatives –install “/usr/bin/[java]” [java] “/opt/java/jre-linked/bin/[java]” 10
- sudo update-alternatives –set [java] /opt/java/jre-linked/bin/[java]
- mkdir ~/source-build && cd ~/source-build && sudo apt-get install debhelper gcj-4.4-base gcj-jdk m4 debiandoc-sgml python-docutils cdbs – moving on, we need to install some things before the adding Titanium to the system, this group (plus their dependencies, you don’t want to know what I went through to get this list exactly correct, it took a couple of months the first time I worked on getting this installed) takes up 823MB and took me 16 minutes to download and 2.5 minutes to install. as an fyi, I figured these out by not having them installed the first time around and spent weeks trying to figure each part out, because these files are not what causes the failed instal, linux will pull the dependencies for you when you install something, but there are dependencies of dependencies of dependencies… and somewhere down that line linux fails to grab the final set! So you need to install them in this order, I then spent another week or 2 finding out that those in particular have to be installed before the next set or the next set fails to install!
- sudo rm /var/lib/apt/lists/* && sudo apt-get update – this will resolve an issue with the sources of the next step
- sudo apt-get install llvm-gcc-4.5 && sudo apt-get build-dep llvm-gcc-4.5 && sudo apt-get -b source python-defaults ruby-defaults && sudo apt-get update && sudo apt-get dselect-upgrade && sudo apt-get autoremove – this set downloads the source files for each of these and builds them specifically for your system and then cleans itself up, this did prompt me for 62.5MB of additional storage space and the build process took about 20 to 45 seconds on my machine.
- sudo apt-get install ispell – I have found a few other things that are necessary for titanium to work
- restart your development VM
- mount your shared drives and take a new snapshot after the system comes back up, called pre Android SDK, and comments “OS, java jre&jdk, and compilers installed”
maybe you don’t really need all of this, but I don’t want to find out while I am writing my Android app that I missed a step, as then you won’t be able to re-use the snapshots in case of an emergency (also called a mistake!). One other note, if you noticed I made a new directory and used it for the source builds, this is because at least the python source build requires several chown commands to run and if you try to execute them on a VM share mount it will fail and you cannot complete the build. Congratulations! I know this was a tough part to do, and I’ll have to check it over sometime in the future to recreate the entire process step by step and make sure it all works again (never know where there might be a typo!). Next time we meet it will be to install the Android SDK and Titanium. After that we will build a short crappy Android app to test everything and then make an .iso Live CD of the whole VM! The final file was pretty big, I’m not sure if a Live DVD would cover it all! I’ll test this idea and add it to the final post if it works. I will be heading out of town for a couple of days so don’t expect anything before monday!
again, after I finish this series up, I’ll add in resource links
Twitter: finndo77
- New blog post... Diablo III closed Beta http://t.co/dKC2ChWm 01:36:32 PM December 07, 2011 from joelperryproductions.com ReplyRetweetFavorite
- New blog post... resolving video problems with K-L-Ubuntu and XFX Radeon 6850 http://t.co/H6bXuMqi 06:59:18 AM October 22, 2011 from joelperryproductions.com ReplyRetweetFavorite
- New blog post... Computer upgrades http://t.co/6PWVNy4m 01:39:35 PM October 20, 2011 from joelperryproductions.com ReplyRetweetFavorite
- $7 for $15 Worth of Hand-Tossed Pizza, Calzones, and Drinks at Andolini's Pizza Charleston, SC http://t.co/QnKwPwB 11:49:26 AM August 29, 2011 from Tweet Button ReplyRetweetFavorite
- New blog post... is zdnet.com/news down http://t.co/DThuI4r 07:57:28 AM August 17, 2011 from joelperryproductions.com ReplyRetweetFavorite
- New blog post... Netflix Down? http://bit.ly/q74Svu 07:39:30 PM August 08, 2011 from joelperryproductions.com ReplyRetweetFavorite
Blogroll
programming
Tech Websites
- a good coder I found on CodeProject
- Barebones HTML coding chart
- Code Project
- Extreme Overclocking
- FreeBSD blog
- Legit Reviews – Tech Hardware Review
- Linuxtopia
- Notion Ink – homepage
- Plug Computing web site and forums
- Tablet Roms – used to be – Notion Ink Hacks
- Ubuntu Forums post on the mount command and fstab file
- VMWare ESX blogger
- Wikipedia.org main page
- ZDNet's blog pages

