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.
- cd /opt/java && sudo ln -s /opt/java/jdk1.6.0_21 /opt/java/jdk-linked && sudo ln -s /opt/java/jre1.6.0_24 /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.6.0_21 (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 ~/sourcebuild && 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 not prompt me for the additional storage space until it got to the apt-get dselect upgrade step (some 48kb) but 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
ok so to start, Appcelerator Titanium is still not working on either x64 or 32-bit Kubuntu 10.04. I even found a video on YouTube on setting it up [...]
ok so to start, Appcelerator Titanium is still not working on either x64 or 32-bit Kubuntu 10.04. I even found a video on YouTube on setting it up for Ubuntu 9.10 that had about 4 or 6 steps and took almost zero time, in fact he did it in an edited 10 minute video and did not install and dependencies or compilers… (gcc, gcc++, python, or ruby) on a clean OS install. I am still not able to get it running. I have a new weird error I have not been able to find helpful info on at this point. will update this post early next week, I have a busy weekend ahead of me)
Final Fantasy XIII – still playing, found some things I am happy about, still not attached to my characters, although I care enough about my accessories that I want to complain that you don’t get them back when your party gets changed (which happens a lot). I spent all my gil upgrading 1 weapon for each and 3 accessories, and I don’t always get a chance to un-equip the accessories before there is a party swap. Also found a new thing that pisses me off!! THEY MADE UP WORDS TO THE CHOCOBO SONG!!! I can’t believe they stooped so low! (yes I know there was a pun in that statement)
Good news though, no 999hp limit (I know not the first FF to do so), damage is not capped at 9999 nor 99,999 (I believe, as the only not secret achievement in the game is do more than 100k damage in a single attack). I am now in chapter 8 and have noticed a significant ramping up of CP rewards, and CP cost for new abilities. I spent 4 hours at the level 7 sweet spot, Hope’s house, just run around inside and the soldiers respawn when you get halfway to the opposite side. I made 125k gil from celling incentive chips (2.5k each) and got 60 phoenix downs and 25k CP. not too bad a stash, but it was not enough… I could not buy any of the better upgrade components yet, so could only upgrade 1 item and 1 weapon (got Lightning’s starter sword to level 12, or maybe it was 11) and when I got to chapter 8 I was not able to max out anyone’s new CP skills. better yet! after I finished a relatively short and easy section wit h Sazh and Vanille (whom I always call vanilla) I had 33k CP available to upgrade the other team!! which means that easy part at Nautillus which took about 45 minutes +/- gave me almost as much CP as 4 hours in Hope’s house… if I had known that, I would have stuck around Nautillus a bit more.
Right, on to my PC state of affairs… again, I have been using KUbuntu 10.04 for a week or two now, and have an installation post to make still, have it written on little scraps of paper that I need to type up, all seems good, Fedora 13 should be out tuesday, I have prepared my system for a clean install of that on a separate HDD. Should get that done Wed, so there should be a post about that coming Saturday (maybe friday, I am going to try and post everything in the order it has been happening, so nothing gets left behind. Also look out for a post on Sprint’s HTV Evo 4G sooner or later (might wait till I pick mine up on June 4th!!! although I will be out of town that weekend to watch a dance recital, 4 yr old and a 9yr old). hopefully I will be posting my 32-bit Appcelerator install guide tonight if I can figure out this new error. I want to get started on a couple system apps/widgets for my Evo before I get it.
wow, so many issues, you’d not believe how many draft blog posts I have going while I try to resolve everything… In fact I have so many I can’t even tell which ones are related right now.
So, Today’s newest issue has actually been around for at least 3 weeks, I have noticed when I run portupgrade -ra that a very large number of errors fly by on my screen, all extremely similar and I think all during dependency builds for a single port that I have not captured the name of, but do I do know some of the culprits…
Now currently I cannot get a pretty scroll bar to limit the size of the “code” block so I’ll just leave it at the very bottom.
It all seems to revolve around boost, python, and gcc 4.2.2. I’ve been to /usr/ports/lang/gcc42 & /usr/ports/lang/gcc44 & /usr/ports/lang/gcc45 and ran a sudo make config in each location, all reported back nothing to configure. I also went to /usr/ports/lang/python and did the same thing and got the same result and one more time for /usr/ports/devel/boost_build with the same results. so I cannot figure out where the multi-thread checkbox was in the configure screen that I know I checked and I know showed up during a portupgrade I did some time ago and of course was before I started doing system backups.
I did the only thing else I could think of… I went to the gcc42 directory and ran sudo make config-recursive install clean and you know what? it did it, it did not tell me it was already installed, in fact it had to DL the gcc-core-4.2-20090325.tar.bz2 file to do the installation, so maybe the issue is that gcc was missing to begin with?
Now I did see some pretty wierd things go by my screen, like “craphunt” and “chamber” (pot?) and of course you can’t have unix without “dump” also saw what is definitely my favorite one “gimplify” tons of java stuff flew off my screen as well.
Well at the end it failed because a couple of dependencies failed to install, including gstreamer. I tried to install gstreamer and it failed, I tried to force the install and it still failed.
from ./boost/python/tuple.hpp:8,
from libs/python/src/tuple.cpp:5:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
libs/python/src/tuple.cpp: In static member function 'static boost::python::detail::new_reference_t* boost::python::detail::tuple_base::call(const boost::python::api::object&)':
libs/python/src/tuple.cpp:12: warning: dereferencing type-punned pointer will break strict-aliasing rules"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/tuple.o" "libs/python/src/tuple.cpp"...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/tuple.o.....failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/object/pickle_support.o...
gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/errors.o
In file included from ./boost/python/detail/wrap_python.hpp:142,
from ./boost/python/detail/prefix.hpp:13,
from ./boost/python/errors.hpp:12,
from libs/python/src/errors.cpp:10:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/errors.o" "libs/python/src/errors.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/errors.o...
from libs/python/src/wrapper.cpp:5:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/wrapper.o" "libs/python/src/wrapper.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/wrapper.o...
gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/import.o
In file included from ./boost/python/detail/wrap_python.hpp:142,
from ./boost/python/detail/prefix.hpp:13,
from ./boost/python/ssize_t.hpp:9,
from ./boost/python/object.hpp:8,
from ./boost/python/import.hpp:8,
from libs/python/src/import.cpp:6:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/import.o" "libs/python/src/import.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/import.o...
t-aliasing rules
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/tuple.o" "libs/python/src/tuple.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/tuple.o...
gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/str.o
In file included from ./boost/python/detail/wrap_python.hpp:142,
from ./boost/python/detail/prefix.hpp:13,
from ./boost/python/str.hpp:8,
from libs/python/src/str.cpp:4:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
libs/python/src/str.cpp: In static member function 'static boost::python::detail::new_reference_t* boost::python::detail::str_base::call(const boost::python::api::object&)':
libs/python/src/str.cpp:16: warning: dereferencing type-punned pointer will break strict-aliasing rules
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/str.o" "libs/python/src/str.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/str.o...
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/object/inheritance.o" "libs/python/src/object/inheritance.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/object/inheritance.o...
gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/object/life_support.o
In file included from ./boost/python/detail/wrap_python.hpp:142,
from ./boost/python/detail/prefix.hpp:13,
from ./boost/python/object/life_support.hpp:7,
from libs/python/src/object/life_support.cpp:5:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
libs/python/src/object/life_support.cpp: In function 'PyObject* boost::python::objects::make_nurse_and_patient(PyObject*, PyObject*)':
libs/python/src/object/life_support.cpp:94: warning: dereferencing type-punned pointer will break strict-aliasing rules
libs/python/src/object/life_support.cpp:96: warning: dereferencing type-punned pointer will break strict-aliasing rules
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/object/life_support.o" "libs/python/src/object/life_support.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/object/life_support.o...
from ./boost/python/detail/wrapper_base.hpp:7,
from ./boost/python/wrapper.hpp:7,
from libs/python/src/wrapper.cpp:5:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/wrapper.o" "libs/python/src/wrapper.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/wrapper.o...
gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/import.o
In file included from ./boost/python/detail/wrap_python.hpp:142,
from ./boost/python/detail/prefix.hpp:13,
from ./boost/python/ssize_t.hpp:9,
from ./boost/python/object.hpp:8,
from ./boost/python/import.hpp:8,
from libs/python/src/import.cpp:6:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
"c++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/local/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/import.o" "libs/python/src/import.cpp"
...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/import.o...
gnome@FreeBSD.org, and attach (a)
"/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.7/config.log",
(b) the output of the failed make command, and (c) the gnomelogalyzer output.
Also, it might be a good idea to provide an overview of all packages installed
on your system (i.e. an `ls /var/db/pkg`). Put your attachment up on any
website, copy-and-paste into http://freebsd-gnome.pastebin.com, or use
send-pr(1) with the attachment. Try to avoid sending any attachments to the
mailing list (gnome@FreeBSD.org), because attachments sent to FreeBSD mailing
lists are usually discarded by the mailing list software.
*** Error code 1
Stop in /usr/ports/devel/gobject-introspection.
*** Error code 1
Stop in /usr/ports/sysutils/polkit.
*** Error code 1
Stop in /usr/ports/devel/gconf2.
*** Error code 1
Stop in /usr/ports/devel/gconf2.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20100331-81619-37oww9-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=gconf2-2.26.2_1 UPGRADE_PORT_VER=2.26.2_1 make
** Fix the problem and try again.
---> Skipping 'devel/libgsf' (libgsf-1.14.15_1) because a requisite package 'gconf2-2.26.2_1' (devel/gconf2) failed (specify -k to force)
---> Upgrading 'gstreamer-0.10.24' to 'gstreamer-0.10.28' (multimedia/gstreamer)
---> Building '/usr/ports/multimedia/gstreamer'
===> Cleaning for gobject-introspection-0.6.7
Please run the gnomelogalyzer, available from
"http://www.freebsd.org/gnome/gnomelogalyzer.sh", which will diagnose the
problem and suggest a solution. If - and only if - the gnomelogalyzer cannot
solve the problem, report the build failure to the FreeBSD GNOME team at
gnome@FreeBSD.org, and attach (a)
"/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.7/config.log",
(b) the output of the failed make command, and (c) the gnomelogalyzer output.
Also, it might be a good idea to provide an overview of all packages installed
on your system (i.e. an `ls /var/db/pkg`). Put your attachment up on any
website, copy-and-paste into http://freebsd-gnome.pastebin.com, or use
send-pr(1) with the attachment. Try to avoid sending any attachments to the
mailing list (gnome@FreeBSD.org), because attachments sent to FreeBSD mailing
lists are usually discarded by the mailing list software.
*** Error code 1
Stop in /usr/ports/devel/gobject-introspection.
*** Error code 1
Stop in /usr/ports/multimedia/gstreamer.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20100331-81619-kpb867-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=gstreamer-0.10.24 UPGRADE_PORT_VER=0.10.24 make
** Fix the problem and try again.
---> Skipping 'x11/libxklavier' (libxklavier-3.9,1) because a requisite package 'iso-codes-3.10.3' (misc/iso-codes) failed (specify -k to force)
---> Skipping 'multimedia/gstreamer-plugins' (gstreamer-plugins-0.10.24,3) because a requisite package 'gstreamer-0.10.24' (multimedia/gstreamer) failed (specify -k to force)
---> Upgrading 'py26-libxml2-2.7.5' to 'py26-libxml2-2.7.6' (textproc/py-libxml2)
---> Building '/usr/ports/textproc/py-libxml2'
===> Cleaning for py26-libxml2-2.7.6
otypes -Wnested-externs -Winline -Wredundant-decls -MT types.lo -MD -MP -MF .deps/types.Tpo -c types.c -fPIC -DPIC -o .libs/types.o
./generator.py:27: DeprecationWarning: The xmllib module is obsolete. Use xml.sax instead.
import xmllib
In file included from /usr/local/include/python2.6/Python.h:86,
from libxml_wrap.h:1,
from types.c:9:
/usr/local/include/python2.6/intobject.h:45: warning: ISO C90 does not support 'long long'
In file included from /usr/local/include/python2.6/Python.h:88,
from libxml_wrap.h:1,
from types.c:9:
/usr/local/include/python2.6/longobject.h:47: warning: ISO C90 does not support 'long long'
/usr/local/include/python2.6/longobject.h:48: warning: ISO C90 does not support 'long long'
/usr/local/include/python2.6/longobject.h:49: warning: ISO C90 does not support 'long long'
/usr/local/include/python2.6/longobject.h:50: warning: ISO C90 does not support 'long long'
/usr/local/include/python2.6/longobject.h:51: warning: ISO C90 does not support 'long long'
In file included from libxml_wrap.h:1,
from types.c:9:
/usr/local/include/python2.6/Python.h:168:17: error: pth.h: No such file or directory
gmake[1]: *** [types.lo] Error 1
gmake[1]: *** Waiting for unfinished jobs....
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

