Blog Movied

This blog is now at https://mrgecko.org/


Making a Ubuntu LiveCD with SpinRite on it.

Below are my notes from when I was trying to make a Ubuntu LiveCD which has SpinRite built in... Only problem is... It doesn't work on the Mac. It should run fine on a Desktop PC, but that wasn't my goal. I will share my efforts though for people who are not on Mac.

I'm starting work on making another hack which will take the recovery drive of your Mac, make a new DMG, and add VirtualBox and SpinRite to it so that you can boot your Mac off a USB Stick or CD with SpinRite. I will also provide code and my notes for doing this.


Video of me making the LiveCD to help some people who do not understand my notes.

I first installed Ubuntu from http://www.ubuntu.com/download/desktop in a new virtual machine in parallels. Updated Ubuntu before installing Parallels Tools (which allows copy/paste between Mac and Ubuntu). Installed Parallels Tools and did the following.
NOTE: In Parallels, if you install Parallels Tools before updating... Ubuntu will break to where you have to re-install.

Open terminal.

Install dependencies.
sudo apt-get install gfxboot-dev subversion libfribidi-bin squashfs-tools

Checkout and start GUI
svn checkout svn://svn.code.sf.net/p/uck/code/trunk uck-code
cd uck-code/uck

Follow steps and when you get "Do you want to customize the CD manually during building." Choose yes.

When you are asked to run the console, choose yes and a new terminal window chrooted into the Live CD build directory. Remove unneeded things which eats space (optional).
apt-get purge account-plugin-aim account-plugin-facebook account-plugin-flickr account-plugin-google account-plugin-icons account-plugin-identica  account-plugin-jabber account-plugin-salut account-plugin-twitter account-plugin-windows-live account-plugin-yahoo brasero brasero-cdrkit brasero-common empathy empathy-common gwibber gwibber-service gwibber-service-facebook gwibber-service-identica gwibber-service-twitter libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-emailmerge libreoffice-gnome libreoffice-gtk libreoffice-help-en-us libreoffice-impress libreoffice-math libreoffice-ogltrans libreoffice-pdfimport libreoffice-presentation-minimizer libreoffice-presenter-console libreoffice-style-human libreoffice-style-tango libreoffice-writer popularity-contest rhythmbox rhythmbox-data rhythmbox-mozilla rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune rhythmbox-plugin-zeitgeist rhythmbox-plugins rhythmbox-ubuntuone telepathy-gabble telepathy-haze telepathy-idle telepathy-indicator telepathy-logger telepathy-mission-control-5 telepathy-salut thunderbird thunderbird-globalmenu thunderbird-gnome-support transmission-common transmission-gtk ubiquity ubiquity-casper ubiquity-frontend-gtk ubiquity-slideshow-ubuntu ubiquity-ubuntu-artwork ubuntuone-client ubuntuone-client ubuntuone-client-gnome ubuntuone-control-panel ubuntuone-control-panel-qt ubuntuone-couch uno-libs3 usb-creator-common usb-creator-gtk vino
rm /usr/share/applications/ubuntu-amazon-default.desktop /usr/share/applications/UbuntuOneMusiconeubuntucom.desktop

Remove games (optional).
apt-get purge aisleriot gnome-games-data gnome-mahjongg gnome-sudoku gnomine

Install Dependancies
apt-get install libqt4-opengl libsdl1.2debian linux-headers-$(uname -r)

Install VirtualBox. Go to https://www.virtualbox.org/wiki/Linux_Downloads and find one for your version of linux.
wget {URL}
dpkg -i virtualbox*.deb
rm virtualbox*.deb

Download my files for virtualbox that allows you to run SpinRite.
wget http://mrgeckosmedia.net/spinrite.tgz
tar -xzf spinrite.tgz
mkdir -p /home/ubuntu/
mv /spinrite/* /home/ubuntu/
chmod 755 /home/ubuntu/Desktop/SpinRite.sh
rm -R spinrite spinrite.tgz

Link desktop items for easy start of programs.
ln -s /usr/share/applications/firefox.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gedit.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gnome-terminal.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gparted.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gnome-system-monitor.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/baobab.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gnome-disks.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/virtualbox.desktop /home/ubuntu/Desktop/

If you kept the games (optional).
ln -s /usr/share/applications/freecell.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gnome-mahjongg.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gnome-sudoku.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/gnomine.desktop /home/ubuntu/Desktop/
ln -s /usr/share/applications/sol.desktop /home/ubuntu/Desktop/

Fix permissions
chmod +x /home/ubuntu/Desktop/*.desktop

In another terminal window from the customization console, run SpinRite.exe in wine to create a bootable iso and copy that iso to the remaster.
sudo cp SpinRite.iso $HOME/tmp/remaster-root/home/ubuntu/

Go back to the customization console and run exit. When asked, choose continue build.

When done, ether burn to disk or copy to USB Stick.


PHP Console

I have been troubled with finding a good calculator that does everything I need. I could not find one.

Apple's calculator works, but you can't do multiple windows and complex equations. So you'll have to copy the result to a text edit document, then do a lot of other things in order to get the result you want.

So the solution I've ended up with is a little PHP hack I've written to be my calculator. I am sharing it for anyone who ever had my urge to have a better calculator. Because it's PHP, you can use any functions such as pow(), tan(), and round(). You can do random numbers and much more.

Here is the steps to set this up. I will start by telling you how to setup a user binary folder so that you can write you own code and place it in a folder to where you can just type the command and have it run.

1. Open terminal, type in "sudo nano /etc/paths"
2. Once you are in the file, at the top row, type "/usr/ubin"
The end result should look similar to this:


If you do not have some of the lines, do not fret as I may have more things installed.

3. Exit and save the file by pushing ctr-x to exit and y when asked to save.
4. Make the user binary folder by typing this in terminal "sudo mkdir /usr/ubin; sudo chown $USER /usr/ubin"
5. Open your favorite text editor (mine TextMate), and place the following code in it.

php /usr/ubin/console.php

6. Save it as "phpconsole" in the user binary folder. To get to the user binary folder, push cmd-shift-g for "Go to Folder" and in the box, type "/usr/ubin".
7. Save it and then in terminal type "chmod +x /usr/ubin/phpconsole" to add execute permissions to the file.
8. Open a new text document with the code below in it.

while (1) {
    $command = readline("> ");
    try {
        if (preg_match("/^[0-9]+/i", $command) || !preg_match("/;/i", $command)) {
            $result = eval("return ".$command.";");
            echo $result."\n";
        } else {
    } catch (Exception $e) {
        echo "Error: ".$e->getMessage()."\n";

9. Save it as "console.php" in the user binary folder.
10. Test your work by typing "phpconsole" in terminal.

Examples of use:

$ phpconsole
> 1+1

$ phpconsole
> pow(15,2)*pi()

$ phpconsole
> $kb = 10;
> $mb = 200;
> $gb = 4;
> $total = (($kb/1024)/1024)+($mb/1024)+$gb;
> echo "Total Size: ".round($total, 2)." GB\n";
Total Size: 4.2 GB

$ phpconsole
> rand(1,5)
> rand(1,5)

Hope you enjoy this little hack, I know I am as I don't have to worry about bad calculators!


Gecko Backup

I am going to explain a few things about my Gecko Backup service I have started back in 2009. I just moved everything over to Gina Trapani's ThinkUp as I had no time to fix up my code and ThinkUp seems like it's getting better by the day. In the move, I tried my best to keep all data from my old system but because my old system didn't store everything there are some things that won't be carried over in the old posts, such as my bug with the posts being turned into scientific notation within PHP and re-tweet counts. I have done my best in the transition and everything appears to be fine.

Here are a few things to take note in my transition.
1. I will still allow people to join my crazy idea of backing up people's twitter accounts and providing access to their data until I decide to close and send out everyones data to them so they can move to another service or to their own setup for ThinkUp.
2. The system only crawls twitter every night at 12AM CST.
3. I will create a backup of everything once a week and store it in 2 places.
4. I will update ThinkUp once a week after backing up.
5. If I get tired from work and decide not to backup or update, it's up to me and not you.
6. If I forget, please feel free to tweet me about it and I'll try to do it when I can.
7. I promise not to use your data for anything except for maybe a view of stats on everyone at once and not specific data to you. Example, see how many tweets contain the word bacon.

mysql> SELECT COUNT(*) FROM `posts` WHERE `post_text` LIKE '%bacon%';
| COUNT(*) |
| 125      |
1 rows in set (7.75 sec)

8. I promise not to sale your data.
9. I will be deleting follower data once a week and only for the previous week as there is a lot of it.

mysql> SELECT COUNT(*) FROM `follows`;
| COUNT(*) |
| 1226321  |
1 rows in set (0.09 sec)

mysql> DELETE FROM `follows` WHERE `last_seen`<'2011-09-11';
Query OK, 130415 rows affected (72.86 sec)

mysql> SELECT COUNT(*) FROM `follows`;
| COUNT(*) |
| 1095906  |
1 rows in set (0.01 sec)

10. I hope to work with you on any issue you may have.
11. My server is 733MHz so please be patient with it when loading the page.
12. If you want your account removed from my server, let me know.
13. I do support backing up FaceBook as well if you would rather do that than Twitter and will probably support backing up Google+ in the future as APIs become available.

If you want to use it, please visit http://u.webra.in/GeckoBackup. My server will default to my twitter account MrGeckosMedia and anyone else who makes their stats public to everyone if your not logged in. You can login and register at the top left of the screen and if you cannot register you can ask me for a code to register.

Hope this explains things for all of you and will allow you to enjoy keeping your tweets searchable and not lose them.


Fixing Restore Windows Bug in Lion

I have encountered a bug with Lion's application restore feature, which apparently works well with Cocoa Based applications, but not with other applications.

After I forced LibreOffice to quit, it apparently saved what windows was opened and when I tried to reopen the application, it popped up the restore windows dialog saying, "The application 'LibreOffice' was forced to quit while trying to restore its windows. Do you want to try to restore its windows again?"

Now, after this dialog appeared, I was unable to close it by ether button and there is no way around it.

I have found a fix for this issue (at least until you force quit the application again), which isn't that hard to do. Just follow the following steps and if you have this issue, you can fix it.
1: Force quit the troubling application by right clicking (control or 2 fingers on the track pad as  you single click) and holding down option to replace the quit item with the Force Quit item (quitting does not work).
2: Create a new window in the Finder and select the Go menu, while you are in the Go menu, hold down the option key and select the Library menu which appears.
3: Once you are in the Library folder, look for a folder named "Saved Application State" and open it.
4: Inside of this folder is a bunch of folders, that has the name like {top level domain}.{domain name}.{application}.savedState, we are looking for this applications folder which would be org.libreoffice.script.savedState as script is the application, and libreoffice.org is the domain of the site. You can find out the identifier of any application by downloading this application I made for this post http://dl.dropbox.com/u/610721/ApplicationIdentifer.zipOnce you find the folder for your application you just delete it by moving to the trash.
5: Relaunch the application with the problem and the problem should be gone.

If you are any good with applescript, you could write an applet to do this for you by replacing the text in red with the identifier of the application:

do shell script "rm -rf '~/Library/Saved Application State/{IDENTIFER}.savedState'"


MacDefender Fun

I created an account to play around with the MacDefender malware and when I first looked into installing it, you have to really want it to install it as it requires you to push buttons in the installer app such as continue and install. So basically, this was a social engineering attack to get people to install as people do not know what to do when there is a virus and if they see a dialog saying this will get rid of it, they trust it.
The way it gets installed is it shows a pixelated page (linked below that you shouldn't click) that looks like the finder mixed with a bunch bad designed graphics of virus software and downloads a ZIP file containing the installer package which if your browser is set to "Open "safe" files after downloading" (safe is in quotes for a reason), then it'll uncompress the zip and open the installer package for you which is the point where you run it. Due to them making it so it doesn't require an administrator password to install, it'll install on an admin account easily as they will have access to the Applications folder (which installing malware into the Applications folder isn't a good idea…). Once installed, it'll open the downloader which they made to trick Apple's Anti Malware protection as it doesn't have any of the same strings as the malware itself and once it finishes downloading, it can open using a flaw in OS X I knew about and reported to apple (they denied it as a flaw).
I gave it a try and recorded the packets and a video of it working for your enjoyment. Note that it thinks QuickTime Player is a virus (what a joke).

Screenshot of the page with the installer.

Downloads the downloader.

Downloads the virus.

What is this?

Page to give them your credit card.

Recommendation, do not try this at home.

Did some disassembling of it and found some things: http://dl.dropbox.com/u/610721/MacDefender.zip

1: His username is pga.

2: He doesn't know about ditto for unzipping files compressed with the Finder.

3: It opens random porn sites.

4: It force quits random applications and says that it crashed saying that this may be due to the fact that you received a virus (which is somewhat true, it's malware).

5: It does something with your Cookies and may actually steal them.

6: They have an email address (support@macbooksecurity.com) and a domain (macbooksecurity.com) which the non mail. domain has a smtp server that is for sending emails from what I see and also mentions the domain saturn.mxserver.ro. The domain macbooksecurity.com whois (http://who.is/whois/macbooksecurity.com/) says it belongs to someone named Vlad Kireev and has the email as VladKireev@yahoo.com which could be fake, so it means almost nothing.

7: They have a phone number of 1-800-959-40-31 (obviously he doesn't know how to format us numbers as it should be 1-800-959-4031).

8: It may send them information on your computer, as I noticed a few files of dmem.txt, hwuuid.txt, proc.txt which the following is what each contains.
dmem: contains the disks device location and the path of each disk (I knew something like this would exist, why I changed permissions to them to not have read access).
hwuuid: Looks to be a Unique ID of your machine, I am unsure how they could use this, but it is there.
proc: Contains each process running on your computer.

9: It stores a cookie for the domain with the name of pf_visit and the value of the time which is 1307049618.

10: It's bundle ID is com.amle.spav

11: It keeps the "viruses" it detected blow:
/Applications/QuickTime Player.app
Path/Applications/QuickTime Player.app/Contents/Resources/QTPlayerXHelper

Thoughts about this malware.

1: The guy who made it was smart to use IP Addresses for all of this as it is possible to block domains by the DNS level.

2: Now that he has loads of credit card numbers, he'll use them to buy more IP Addresses and blocking would be gone again.

3: By making a downloader and using the flaw I knew about in OS X to start the malware, that's clever as it by passes OS X's string search for the malware.

4: This guy must have no life to take the time to write something as poor as this.

5: Mac people are not as security aware as we should be. To install this virus, you have to click the continue button and want to install the malware for it to install.

My tips to stay Malware free.

1: If anything pops up saying you have a virus, never click anything and do the following.
Go to the dock and hover over your web browser (Safari, Firefox, Chrome, etc). Hold down option as you right-click (control-click). Choose the item called Force Quit while still holding down Option. If it is still there, and looks like what appears on http://support.apple.com/kb/HT3662, push the move to trash button.

2: If you get an email or message (on Tiwtter, Facebook, AIM, MSN, ect...) saying something about something with a link, do not click the link. This is what they call Social Engineering and it is very effective in getting data from government and businesses computers. Example of possible social engineering that you could receive and that I received "holy c*** cnn proof that osama is alive right now :O http://bit.ly/liAYDJ" and if you visit http://bit.ly/liAYDJ+, you can see it really goes to http://expiredlogin.twitter.w2c.ru/relogin.php and that to this day (6/3/11) got 2,999 visits which probably is just a phishing attack, but I still will never click the link as I know that it is possible to have malware or phishing on it.

3: Do not visit porn sites. Porn sites is the number 1 reason PC users gets malware nowadays and because they have such a thing as root kits (the ability to link into the things virus scanners uses and say that it doesn't exists) they are undetectable and there fore will stay on their computer as long as it wants.

4: Do not pirate software. The first malware for the Mac came in a DMG from a torrent of iWork, because it was installed with iWork, the users had no idea about it and gave it full root access to their computer.

5: Do not pirate music or movies. Back in the day of Limewire, people got tricked into downloading malware as they thought it was the song they wanted. People can also hide malware in PDF's, MP3's, ect... So keep an eye on that as there may be one day when you play a song you pirated and you get infected.

6: Do not open attachments in email unless you know you were suppose to receive it as it is possible for the attachment to contain malware in it. Beware that people can send emails as you and as your friends if they have a SMTP server, so emails from your friends may not be your friend at all. Emails can have html in it and load an image which tracks your IP address when you open them (may not be a concern, but it is possible). Emails are a huge target for security flaws and once they find them, they will spam a email that contains the flaw.
If you do not wish to be tracked by images, go into preferences under mail and in the viewing pane, uncheck display remote images in HTML messages.

7: Use No Script for FireFox or Not Script for chrome to block javascript as there is flaws being found every day and if you need javascript and trust the site your visiting, you can enable it.

8: Do not be crazy like me and download a virus on purpose to see how it works and what it does.

Hope these things help you to be more safe and think before you click. If you have got the malware, all you have to do to remove it is visit this site and follow the instructions http://support.apple.com/kb/HT4650.

NOTE: I only did this for fun, in no way do I intend to do anything illegal, if it is illegal to disassemble malware.


GLogoChanger Safari Extension

I made a safari extension for fun, what it does is it changes the logo on Google.com to a custom one, or a random one picked from a database of Google Logos. You can download it at http://mrgeckosmedia.com/GLogoChanger.safariextz. I will be updating the database as new logos are released. I also wrote in my web language, that I talked about before on this blog, a logo generator that you can generate a Google like logo. Please take note that I wrote this for fun and that the Google logo is a trademark of Google. You can play with it at http://mrgeckosmedia.com/logogenerator.mgm.

Here is how it looks.


YouView Updates

So here are some updates to YouView Beta.
1 Safari Extension found at http://mrgeckosmedia.com/YouView.safariextz. I recommend that you use this instead of the plugin, as the plugin is using some hacks that may not work on some computers.
2 Chrome Extension found at http://mrgeckosmedia.com/YouViewChrome.crx.
3 We have a new Player with custom controls and ability to skip to a part of the video which hasn't been loaded on Snow Leopard.
4 You can play video that has not been converted to MP4 meaning that video that just was uploaded will work. I do require that you download Perian, but I think everyone should have that anyway.
5 1080p is available and all of HD doesn't need a donation anymore.
6 A new layout plus effects I hope you enjoy.
7 It's better at loading images to where it doesn't crash when you try and search a lot of times.
8 Multiple searches.
9 Ability to open the video in a new window or in the window that you were searching in.
10 Looping of videos.
11 Search history.
12 Apple Remote support for 10.6.
13 A better system for finding the video w.hich will try a bunch of things to be sure that it can play the video.
14 A lot of bug fixes and memory management fixes.
15 A donation can now be $1.99 instead of $4.99, but I still recommend you donate $4.99 for all my work.
16 Session restoring.
17 View all new subscriptions.
18 GeckoReporter, a new open source project I started that allows people to submit bugs, submit crash reports if YouView crashed, and contact you with feed back about the website. If you would like to add this into your own application, go to https://opensource.mrgeckosmedia.com/ where I have more open source projects and I'll be posting more over time.

Things to come.
1 Playlists.
2 Add author as friend.
3 Video uploading.
4 More settings for exporting.
5 Maybe a plugin for safari that will play videos directly in safari instead of having you go to the application.
6 Delete favorite video.
7 Maybe growl support for when a video finished downloading/converting.
8 I'll try and make it more accessible for people with disabilities.
9 Global volume so once you change the volume for one video, all new videos will open with that volume.
10 A way to see related videos and more videos from the author inside the video.
11 A close button inside the video as some people would prefer to click that instead of the window close or escape button.
12 New comments layout.

If you have ideas, please submit them to support@mrgeckosmedia.com or use the Contact Mr. Gecko from the Help menu.

Here are some screenshots of the current YouView.

I do recommend YouView Beta to every user of YouView as it's way better than the current one. I do not want to post it on the site until it's out of beta because I don't want some prerelease software up on MacUpdate and other download sites. The reason I haven't had an update in a long time is because I have been busy with school and life. The next thing for me to do is write a new user system which I'll be using in all of my applications including Voice Mac.
You can download YouView beta at http://mrgeckosmedia.com/YouView.zip.
To keep up to date with YouView, you would probably want to follow me on one of the social networks where I am posting updates as I update them. Twitter, Twitter (Personal), FaceBook, FriendFeed, and Buzz.


Install Leopard on G4s under 867Mhz

Hello, this is a guide to installing leopard on under spec G4's, 400Mhz or later.

Before you start backup any important data on the under spec G4.

Now there are many ways to install leopard on an under spec G4, three of which I will show you how.
The first one is good if you meet the requirements listed below.
1. You have a computer that has leopard on it with an firewire port on it.
2. A firewire cable.
3. The under spec G4 does not have more than one hard drive.
4. A firewire port on the under spec G4.
5. You don't mind moving the computers close enough so you can plug them together with a firewire cable.

If you meet these requirements, then this is the best way for you.
1. Connect the computers together with the firewire cable.
2. Turn on the under spec G4 while holding down the T key, which will bring it into target disk mode.
3. When you see the hard drive on your leopard computer, insert the Leopard Install DVD.
Now there are two ways you can install leopard after you have done the above steps.
1. Reboot the leopard computer and install from the DVD
2. Open the Leopard Install DVD in the finder, press command-shift-g, enter System/Installation/Packages, open OSInstall.mpkg, and install with installer. After installed, you can either test with the leopard computer or you can eject the under spec G4 from the leopard computer, turn off the under spec G4, unplug the firewire cable, and boot. If it works, you are done.

The second way to do it, is to fake the Leopard Install DVD by changing the property for the processor's frequency (speed). (NOTE: This is not over clocking and your computer will return back to normal after a reboot. This is just telling your computer that it is 867Mhz so that leopard will install.)
And of course there is a requirement for this and that is a DVD drive.
If you do have a DVD drive than you can continue.
1. Insert your Leopard Install DVD.
2. Reboot the computer while holding down command-option-o-f. (This will put you into a terminal like area called Open Firmware.)
3. Enter exactly as shown. (It might be better if you print this out, unless you have another computer to read as you type.)
For single processor.
dev /cpus/PowerPC,G4@0
d# 867000000 encode-int " clock-frequency" property
boot cd:,\\:tbxi

For dual processors.
dev /cpus/PowerPC,G4@0
d# 867000000 encode-int " clock-frequency" property
dev /cpus/PowerPC,G4@1
d# 867000000 encode-int " clock-frequency" property
boot cd:,\\:tbxi

4. Press return and your computer will boot the install cd. After it boots the cd, install leopard normally.

The last way is a little bit harder and requires more time and that is changing the OSInstall.pkg file so that it supports under spec G4's. I have already built a preedited version because you can't really edit it with out leopard in the first place.
Requirements are.
1. A copy of the Leopard Install DVD.
2. A second hard drive, second partition, or a firewire drive. the drive needs to be at lest 8GB big.
3. A DVD drive or a DMG of the Leopard Install DVD which you can use a computer with a DVD drive to make.

Now to begin.
1. You need to get the Leopard Install DVD source ready. (DMG or DVD)
2. Open Disk Utilities, this can be found in /Applications/Utilities if you did not move it.
3. Click on the hard disk you are going to copy to.
4. Click on Restore. Now this is where all of the magic is done. If you try and copy the DVD using the finder all of the permissions and stuff won't be right and it won't boot.
5. Drag the hard disk that you are going to put the Leopard Install DVD on to the destination field.
6. Drag the Leopard Install DVD to the source field.
7. If you would like to erase all of the data off the destination disk, you can. If you don't it would just replace items that are on the disk that are also on the Leopard Install DVD.

8. Click restore and wait 30-90 minutes.
9. After that is done, download osinstallmpkg.zip
10. Open the hard disk with the Leopard Install DVD copy in the finder, Press command-shift-g, type in System/Installation, and press go.
11. Copy the downloaded OSInstall.mpkg to the Packages folder, enter your admin password if it ask for it and replace.
12. Set the startup disk to the Leopard Install DVD hard disk and reboot. When it boots you can install Leopard just like it is from the DVD but faster and you have a copy on your hard drive just incase you need to reinstall.


Cocoa for the Web

Working on a project that will allow you to write websites in cocoa using xcode and frameworks to make it easier to talk to Apache. So far I got a cocoa language proxy with cgi and apache that will run the cocoa programs and will tell your cocoa programs information like if it's a post and so on.