<![CDATA[beefsack.com]]> http://beefsack.com/rss/blog Thu, 11 Mar 2010 07:27:38 +0000 Zend_Feed http://blogs.law.harvard.edu/tech/rss <![CDATA[How To Root Motorola Milestone]]> http://beefsack.com/blog/post/p/How To Root Motorola Milestone I got a Motorola Milestone last month and I absolutely love it. The one thing that has been lacking however is root, which all changed a few hours ago thanks to this thread on German Android forum android-hilfe.de.

Here are the instructions in English.

Use these following instructions at your own risk. It is your own fault if you kill your phone and I accept no responsibility. This worked for my 2.0 UK Motorola Milestone.

  1. Download milestone_root.zip from any of the following mirrors.
  2. Rename the file to "update.zip".
  3. Copy update.zip to the root of your memory card.
  4. Power up the phone holding power and the camera button until an exclamation mark "!" inside a triangle appears.
  5. Hold volume up and the camera button until a menu appears.
  6. Run update.zip.

Your phone should now be rooted :)

]]>
Tue, 19 Jan 2010 12:59:44 +0000
<![CDATA[Rewrite for minibgg.com]]> http://beefsack.com/blog/post/p/Rewrite for minibgg.com I finished my uni exams yesterday, and finally got into something I've been meaning to do for a long time: a complete rewrite of minibgg.com.

I've spent a lot of time using the Zend Framework, and using that made it a huge amount faster to develop (half a day instead of a few days). Also, using the HTTP client packages in Zend made the XML and remote form submission so much easier, in the previous version I was just using the PHP cURL functions. The cURL functions work perfectly fine, but the code that resulted was an absolute mess (mainly because of cookie spoofing that I had to do to make boardgamegeek.com think that the request was being made from their site).

The look and functionality are very close to what it used to be, apart for the compare games page. The compare games page is now pretty much a simple data table which is much easier on the eyes and makes for a much shorter page.

I'm uploading now, so it should all be live in the next 15 minutes. The next step after this is to integrate user collections and implement forum thread and geeklist viewing.

]]>
Thu, 19 Nov 2009 12:42:47 +0000
<![CDATA[WWW SQL Designer - Web based graphical database design]]> http://beefsack.com/blog/post/p/WWW SQL Designer - Web based graphical database design Recently while trying to find a simple easy to use yet powerful graphical database designer I stumbled across WWW SQL Designer which is a web based JavaScript graphical database designer. I was absolutely amazed by it and it is easily one of the best JavaScript applications I've ever seen, so I decided to host one locally for people to use.

Try it out now in your browser now, WWW SQL Designer hosted at beefsack.com. To see the example database, click 'Save / Load', set 'Server backend' to 'php-mysql' (which is the default), click 'load' and type in 'example'.

When saving and loading you are given the option of storing the data yourself (in the 'Client' box, stored in XML), or the exact same XML can be saved on the beefsack.com server using mysql to store it in a database, or using file to just store it in a file. Just keep in mind that if someone guesses the name you saved under, they can either overwrite your save or load your schema.

For me, the best part is how well drag and drop works and how well the relation lines work. Also, it is compatible with quite a wide range of browsers including IE6 which is pretty incredible. If you like it, be sure to visit the WWW SQL Designer homepage and donate.

]]>
Sat, 24 Oct 2009 00:30:28 +0000
<![CDATA[New job at HRMWeb]]> http://beefsack.com/blog/post/p/New job at HRMWeb HRMWeb, which is based here in Canberra. HRMWeb itself is a really cool web based human resources management tool, designed to be very simple to use and to automate most of the mundane process of rostering, clocking/timesheets and payroll.

One of the awesome things about it (in my mind) is that it is run as a managed service instead of client software, which makes the system really flexible for employers and employees in that they can access their data from anywhere with an internet connection. Also, clients can mix and match different modules of the service if they don't need all of it. However, the true power of HRMWeb comes from using the full service.

Another cool part of the service is clients can have small clocking stations on site for employees to clock in and out with. We use the system ourselves, and the one we have set up at work uses a fingerprint scanner. You just scan your finger upon arrival and leaving, and the system will automatically tally your hours and formulate your pay at the end of the week, factoring in pay variables like overtime, leave and increased hourly rates for specific times of the week.

So far working at HRMWeb has left a really good impression on me. The team is knowledgeable and professional, the product brings something new and clever to the market, and to me it seems the direction the product is taking at the moment is a good one. While it's gonna take a little while for me to find my feet in the large codebase, I am very excited to be able to be a part of what will hopefully be a successful journey for HRMWeb.]]>
Sun, 30 Aug 2009 06:29:55 +0000
<![CDATA[Ad blocking in Google Chrome using AdSweep]]> http://beefsack.com/blog/post/p/Ad blocking in Google Chrome using AdSweep Google Chrome has to be my favourite browser, having a great compact interface (which works particularly well on my NC10), as well as being lightning fast. The one reason why I haven't completely switched over from Firefox is because of a lack of extensions, and in particular an ad blocking extension. There are a couple of options, and today I found the one that works perfectly for me.

When trying to enable ad blocking for browsers you have two options, internally (usually with extensions, such as the fantastic Adblock Plus for Firefox) or externally, usually via a proxy (such as using Privoxy, which works really well).

I've been using Privoxy with Chrome until a few hours ago and it has been working well enough for me. Basically, you set an application (such as Chrome) to use Privoxy as a proxy for your internet connection, and Privoxy will filter the incoming content before the browser touches it. The great thing about using something externally like Privoxy is that you can centralise your filtering if you use more than one application that needs to be filtered, and can be set up to run as a proxy for a LAN. It is also very versatile, and while it works well blocking ads it is capable of filtering for pretty much anything. The Privoxy site has basic instructions on how to get started.

Today, however, I found the solution that works perfectly for me. I was never really happy using Privoxy as it was constantly running, and while the overhead was very minimal (virtually nothing), some overhead is still much more than no overhead. I use my Windows partition solely for gaming so performance is key for me, and I only require ad blocking for if I have to browse the net in Windows and not while I am gaming. Therefore for me an internal solution would be perfect, only consuming resources when I am running the web browser. Firefox with Adblock Plus is perfect for this, and now Chrome with the AdSweep extension works brilliantly too.

AdSweep has been around for a while using Javascript in a wide variety of browsers, and has been made into a Chrome extension recently. Chrome has supported extensions in recent beta and dev builds (Chromium developers have released a tool to switch from stable release to beta or dev builds). After switching to a new build, Chrome can be launched by adding the --enable-extensions argument to enable extensions. For me, I made a shortcut to "C:\Users\user\AppData\Local\Google\Chrome\Application\chrome.exe --enable-extensions". After launching with extensions enabled, head to the AdSweep page and download AdSweep.crx. After downloading in Chrome, it should automatically run the extension, and ads should now be blocked internally. To check locally installed Chrome extensions, point chrome to chrome://extensions/. So far I haven't found AdSweep to noticeably affect performance when browsing.

Unfortunately, the AdSweep developer has discontinued the AdSweep project as of about a month ago, but that doesn't stop it from working very well. Hopefully once extensions in Chrome hit the stable release, lots of people will benefit from this great extension, and hopefully development will continue one day. I've found AdSweep to be fantastic and the developer has done a wonderful job releasing it as what I can see is the first native Chrome ad blocking extension.

As a side note, Firefox 3.5 came out today. I've been using Firefox 3.5 pre release versions for a while now in Linux and it is much much faster than older Firefox releases (Mozilla claims twice as fast as Firefox 3 and 10 times faster than Firefox 2). This browser war is doing amazing things for consumers, as instead of being fought over incompatible Javascript features, it is being fought over standards compliance, performance, security and stability. Chrome has it's nose out in terms of performance and UI which are the deciding factors for me, but is behind Firefox in terms of features, and the Firefox extension library is immense. Firefox and Chrome are also implementing a lot of the proposed feature set of HTML 5, which is really going to change the web, particularly with the canvas element (which has already spawned in browser 3D engines) and the video element. Both of these elements look to replace the heavy dependence on flash for dynamic page content such as for games and embedded video in web pages.]]>
Wed, 01 Jul 2009 07:38:23 +0000
<![CDATA[New Project: mamehof]]> http://beefsack.com/blog/post/p/New Project: mamehof mamehof written in Python together with a friend of mine, Steve Taylor.

mamehof scrapes the Hall of Fame data from MAWS and outputs an ini to be used as a custom folder for MameUI.

The script is available to download from the project page, along with the ini output from a scrape today.]]>
Thu, 11 Jun 2009 02:49:34 +0000
<![CDATA[Google Chrome on Fedora 11]]> http://beefsack.com/blog/post/p/Google Chrome on Fedora 11
This process is adapted from hicham.haouari's comments on Chromium issue 12562, which is what I used to get the browser working in the first place. The process detailed here will include very slightly altered instructions to get it to work on x86_64 systems, and will work if launched from another folder than the extracted folder. This was important for me because I wanted Chromium to be in my Main Menu.

So on to how to do it:

First you will need to download the latest build of Chromium, which obviously will be the highest numbered version. Extract the archive somewhere.

Trying to launch Chromium on Fedora at the moment gets the following error:

[code][beefsack@beefsack lib]$ /home/beefsack/Download/chrome-linux/launch-chrome.sh /home/beefsack/Download/chrome-linux/chrome: error while loading shared libraries: libnss3.so.1d: cannot open shared object file: No such file or directory[/code]

Fedora actually has NSS installed, but it has different names for the files. The solution is to create symbolic links to the library files with the names that Chrome is looking for. So, from inside the extracted Chrome folder (32-bit only):

[code][beefsack@beefsack chrome-linux]$ mkdir lib [beefsack@beefsack chrome-linux]$ cd lib [beefsack@beefsack lib]$ ln -s /lib/libnspr4.so libnspr4.so.0d [beefsack@beefsack lib]$ ln -s /lib/libnss3.so libnss3.so.1d [beefsack@beefsack lib]$ ln -s /lib/libnssutil3.so libnssutil3.so.1d [beefsack@beefsack lib]$ ln -s /lib/libplc4.so libplc4.so.0d [beefsack@beefsack lib]$ ln -s /lib/libplds4.so libplds4.so.0d [beefsack@beefsack lib]$ ln -s /lib/libsmime3.so libsmime3.so.1d [beefsack@beefsack lib]$ ln -s /lib/libssl3.so libssl3.so.1d [beefsack@beefsack lib]$ [/code]

There is another option to do this, which is also the only option for 64-bit as 64-bit doesn't have the 32-bit libraries that Chrome requires. This is to get the relevant required 32-bit libraries for Chrome and place them in the library path. Download the libraries and extract them to the lib folder inside the Chrome folder. I have already renamed the libraries to suit what Chrome looks for.

After this, you will need to create a bash script in the Chrome folder to add this new lib folder to the PATH and then launch the Chrome binary. Create a file in the Chrome folder called launch-chrome.sh and use a text editor to paste the following text in it:

[code]#!/bin/bash export LD_LIBRARY_PATH=`dirname $0`/lib:$LD_LIBRARY_PATH `dirname $0`/chrome[/code]

And finally, add execution permissions to the new script either using properties in Nautilus or doing the following from terminal:

[code][beefsack@beefsack chrome-linux]$ chmod +x launch-chrome.sh [beefsack@beefsack chrome-linux]$ [/code]

Now, you can run Chrome in Fedora by running the script using ./launch-chrome.sh and you are also able to run it from Nautilus and add it to the Main Menu.

If there are still errors (as some people have experienced on the issue page linked earlier), it is possible that more libraries are required. If you get an error saying you are missing libgconf-2.so.4 or libasound.so.2, run:

[code][root@beefsack ~]# yum -y install libgconf-2.so.4 alsa-lib.i586[/code]]]>
Mon, 01 Jun 2009 01:13:11 +0000
<![CDATA[Moblin v2.0 beta test]]> http://beefsack.com/blog/post/p/Moblin v2.0 beta test Moblin, a netbook focussed Linux distribution with particular focus on an easy simple interface and integration of social networking. I downloaded a copy today and gave it a spin on my Samsung NC10.

You are able to copy the live image to a USB drive using the following command:

[code]dd if=moblin-netbook-ux-beta-20090518-004.img of=/dev/sdd[/code]

My USB drive showed up as /dev/sdd, make sure you use the right one so you don't lose any data on another drive. Use "fdisk -l" to see a list of media.

After getting the live USB working, I plugged it in and the first thing I noticed was the speed that it booted. Moblin is very light weight and it really shows during boot and also during general use. Saying light weight however doesn't say that the interface suffers because of it, it is actually an amazingly clean interface that is very easy on the eyes. Navigation is done via a drop down bar at the top of the screen, which consists of a clock with date on the left, eight major tabs in the middle (described later), and notification style icons on the right (power, volume and networking).

The eight major tabs in the navigation bar (from left to right) are:

m_zone:
The m_zone is the start page for Moblin, which summarises a lot of general information. It is split into three columns, each showing a different type of information. The left column summarises calendar entries and has a todo list, all managed by Dates which is neatly integrated into Moblin. The middle column shows frequently visited web pages, and clicking on them opens the pages in the browser. The right column has social networking information and other "Web Services".

status:
The status tab shows the social networking focus in Moblin. In the beta, all you can do is change your Twitter status, however it is fairly obvious that more social networking sites like possibly Facebook and MySpace will also be integrated.

people:
The people tab works like an IM, where you can add accounts and chat with people. In account configuration, you are able to configure Jabber, Google Talk (which uses the XMPP protocol like Jabber) and Salut accounts. I tried to add a Google Talk account but was unable to get it to connect for some reason, so I'm unable to comment on how well the people tab works in action.

internet:
Fairly straightforward, when clicking the internet tab all that appears is an address bar. Upon entering an address, the navigation bar disappears and a full screen web browser (Mozilla based) launches. The web browser, like Moblin in general, is very simple and clean. There is a navigation bar with back, forward, address, settings and exit, below which is a tab bar. Apart from that, a very large amount of area is free for the web pages themselves, which is great for the smaller screen real estate on netbooks and MIDs. The browser displays content well, and passes acid tests 1 and 2, and scoring a respectable 94 on acid test 3. Of note, there is no settings page yet and right clicking doesn't open any menu. Like in most tabbed browsers, a middle click will open a link in a new tab.

media:
Also quite straightforward, the media tab is where users access pictures, music and video. The media tab has a search bar at the top for searching through media, and an as yet unimplemented playlist on the right. The video player is based on gstreamer, so a vast array of codecs will be supported.

pasteboard:
The pasteboard tab is a system wide clipboard management app, where the user can store copied text for use later. It's useful, but you've gotta question if it is important enough to be made a main shortcut.

applications:
The application tab works like a main menu, with access to the range of apps installed. All of the applications are organised into expandable groups, including a settings group. There are standard basic apps like a calculator, terminal, text editor and file browser, and also has a few games installed (including Neverputt which is an awesome little 3D minigolf game). When opening an app, if an app is already open the user is prompted to open in the current "zone" or to open in a new one. Zones are pretty much just workspaces, and can be accessed via the zones tab or by using ctrl+alt+arrow. There is also a search bar at the top of the application tab which is quite useful.

zones:
The zones tab is a simple one which works like a workspace selector. At the moment, only selection of zones is possible and it isn't possible to open any new ones (users are prompted to open a new one when opening an application).

The interface is also very intuitive, and even though it is quite unique it is still quite easy to navigate. Having also used Ubuntu Netbook Remix, it is clear each have their own strengths. I believe that in Moblin, navigation through apps in the same zone and navigation through zones is a little bit cumbersone. UNR on the other hand uses maximus which integrates a programs title bar into a window list at the top of the screen, which uses a bit more room than Moblin, but it makes window navigation easy as non active windows get an icon on the bar. However, in a purely aesthetic sense, UNR still has a way to go (particularly the home page), but Moblin looks amazing in nearly every sense while still mainly hitting the mark in terms of usability. It is going to be interesting to see where Moblin goes from here.]]>
Thu, 21 May 2009 12:14:56 +0000
<![CDATA[Fedora 11 Leonidas vs Ubuntu 9.04 Jaunty Jackalope]]> http://beefsack.com/blog/post/p/Fedora 11 Leonidas vs Ubuntu 9.04 Jaunty Jackalope Fedora, having used the latest release of Ubuntu for a few months now.

The latest version of Ubuntu brings with it GNOME 2.26, which includes updates to the main burning application Brasero.

One of the cooler updates was the new notification system (example), which pops up notification bubbles from applications. This works particularly well with Pidgin where user messages pop up in the little unobtrusive bubbles so you can easily see what people are sending you without having the chat window open. I would love to see Banshee integrate in a similar way for new tracks, and it would be great if the notification system can make it's way to other distros because I think it works fantastically well.

Of course, being a new release, it brings with it updates versions of apps in the repos. In particular, OpenOffice 3, and a big one for me, XMoto 0.5 which is a fantastic little motocross puzzle game.

As for Fedora, there have been a lot of big changes too, although most are under the hood. The most immediate change that I see is a much faster boot, and a very snappy interface once logged in. This is particularly noticeable coming from Ubuntu, as I find the Ubuntu a bit slow to boot (especially with a web server installed) and the interface a little bit sluggish at times. Like Ubuntu, Fedora 11 includes GNOME 2.26.

Unlike Ubuntu, Fedora doesn't seem to have any big interface changes. The two that made an impression on me was the removal of sub menus in the System menu (which is great) and also a really nice background that extends when using dual monitors to show a cool Lion head on the right monitor. While Ubuntu comes with a very recent NVidia driver (for my GTX 260), I had to install a new driver manually in Fedora to get the fancy desktop effects.

The big plus for me in Fedora though is all of the developer tools it ships with, including a pre-configured Windows cross-compiler which is a fantastic idea because they are a pain to set up on your own. Another thing that makes Fedora stand out for me is Fedora Eclipse with nearly every plug-in I need (except for PDT which I much prefer to PHPEclipse.

As a general computer user, Ubuntu is brilliant, but as a developer, loading up Fedora is equally great. I'm going to use Leonidas until a stable-ish build of Ubuntu Karmic Koala comes out, and with the releases of Fedora and Ubuntu being staggered I can see myself switching between them every three months or so. It's great to be spoiled for choice :)]]>
Wed, 20 May 2009 02:11:12 +0000
<![CDATA[Update to Zend Framework 1.8.1]]> http://beefsack.com/blog/post/p/Update to Zend Framework 1.8.1 Zend Framework 1.8.1, which was a bit of work but has cleaned up my code a lot, especially my bootstrap and initialisation code. Now it is much easier to do initialisation code in the bootstrap, as it is now a class and you can implement initialisation as methods to clean things up. I still use a front controller plugin though for extra initialisation after routing.

After all of the changes in 1.8, Zend is a lot simpler to get into, particularly thanks to the new Zend Tool which automates the creation of projects and project components like controllers and views. All of the documentation has been updated too, and the new quick start guide is much more concise and straightforward.]]>
Thu, 14 May 2009 09:36:05 +0000
<![CDATA[Text outline using imagettftext() in PHP]]> http://beefsack.com/blog/post/p/Text outline using imagettftext() in PHP imagettftext, however the text needs an outline and there was no immediate way for me to do this.

In my head there were a couple of possibilities. One was to first write the text in a larger font first with smaller character spacing, however I couldn't find a way to change character spacing without writing each character individually, which would have been a lot of work for me. The second way I thought was to first render the text, then search for and manually colour all pixels within a certain distance of the text, which seemed quite expensive for something that would be run quite frequently.

My final solution was to just render text in the outline colour multiple times in different directions from the text location, and finally render the final text in the middle of that. At first I tried just four outline renders in each of the diagonal directions, however this caused gaps in the outline. The current version also renders orthogonally (making it 8 renders for the outline, and one for the final text) which fills gaps well as long as the outline distance is not too large. Here is an example of my code, which anyone is free to use:

[code]
And here is what it looks like:

]]>
Mon, 11 May 2009 10:48:19 +0000
<![CDATA[Underlying changes to beefsack.com]]> http://beefsack.com/blog/post/p/Underlying changes to beefsack.com Zend_Db_Select objects, which has dramatically cleaned up some code and has made some of my more complex SQL statements a lot easier to manage.

I have also disabled Dojo for now due to performance, and have been quite unhappy about how the Dojo Editor outputs. It outputs with some odd characters, and the fact that it converts html safe characters if content is reloaded to the editor is a bit of a security concern for me. It is possible to run scripts and other code when reloading text into the editor, and the only way to stop it is to check and escape input every time it is loaded.

I've decided instead of having a rich text editor that outputs HTML, I'll just use BBCode markup for now and switch to a rich editor again when a better solution comes around.

It's odd, I am much more comfortable typing this up in plain text than in a Javascript editor, I guess that's the nerd in me taking over. Mind you, TinyMCE looks cool, I might give it a spin sometime.]]>
Thu, 07 May 2009 09:37:21 +0000
<![CDATA[Code in blog posts]]> http://beefsack.com/blog/post/p/Code in blog posts BBCode style tags on beefsack.com. The reason for this is I wanted to add the ability to post monospace properly formatted code in my blog posts, and wanted to do it without writing a Dojo Editor plugin which wouldn't be flexible enough for me.

I found some great proposed components on the way for Zend, being Zend_Markup which seems to be maturing well, and Zend_Syntax_Highlight, which unfortunately hasn't been updated for a while.

Zend_Markup is meant to "provide an extensible way to tokenize and render lightweight markup languages, like BBcode and Textile." Ideally, I would want my Dojo Editor box to output BBCode instead of HTML, and have a parser convert it as needed. This would be particularly handy for me when I write the forums for this site as I want to use BBCode for that as is the standard for most forums around.

I noticed in the code for Zend_Markup they seem to use the PHP function highlight_string if it is passed PHP as a lang attribute. I feel that if a component like Zend_Syntax_Highlight was completed, it could make Zend_Markup very powerful on coding related sites and forums, being able to pass different lang attributes depending on the code that is inside the lang tags. Anyway, I've written a simple parser to detect BBCode style code tags so I'm able to post code on the blog. Here's what it looks like:

[code] [/code] Which will work in the meantime until Zend_Markup is in an official release.]]>
Thu, 07 May 2009 04:03:45 +0000
<![CDATA[RSS feeds on beefsack.com]]> http://beefsack.com/blog/post/p/RSS feeds on beefsack.com
This afternoon I was playing around with a new Zend component for me, Zend_Feed.  Zend_Feed can be used for reading and creating Atom and RSS feeds, and I have used it to aggregate content on beefsack.com.

If your browser supports it, you should see an RSS link on each page which can be used to receive updates to the site.  If viewing a specific tag or project, the RSS feed will be tailored to only receive updates from that tag or project.

Zend_Feed has been proof to me once again how flexible Zend is, as I was able to implement it with very few lines of code and virtually no modification to code I had already written.  I just created a new controller for RSS, and edited my layout to link to the feed.

Next step, commenting on blog posts, which should be a decent sized update.
]]>
Tue, 05 May 2009 07:09:33 +0000
<![CDATA[New Project: sacley.com]]> http://beefsack.com/blog/post/p/New Project: sacley.com sacley.com to PHP to make updates easier and add some functionality.

For me, it was an interesting project, as it was the first time I had taken a static website and converted it to a server side language like PHP.  I got my hands dirty with PHP's image functions and was able to make some cool code that allowed my friend to select a region of the uploaded pictures to serve as thumbnails, which were then generated dynamically from the original image.

I also wrote the authentication system, and wrote a public BBS, which is not currently available as it got hit by spam fairly hard.  Certainly a lesson in spam for me.
]]>
Sun, 03 May 2009 05:15:46 +0000
<![CDATA[New Project: IPRange]]> http://beefsack.com/blog/post/p/New Project: IPRange IP ranges he had to check.

IPRange is a fairly simple C++ glib app, only a couple of hundred lines long, that takes a text file input with IP address ranges and it checks for any overlap.  The cool thing about IPRange is it takes in a variety of formats, from a single address to wild cards, specific ranges and CIDR ranges.

The project was particularly interesting for me as I'd written a couple of GTK+ apps before and was interested to see glib.  Also, I never really understood how CIDR worked, and there is no better way than to have to implement it in some sort of way.

I have uploaded the source of version 0.2, which is licensed under GPL, which can be found on the project page.  I was able to compile it under Windows using mingw, and will upload the binary when I can find it again or have the time to set up mingw again under one of my Windows installs.  The project is now inactive and probably wont be updated again, as its usefulness is limited and it is feature complete for what I need it for.
]]>
Fri, 01 May 2009 04:59:19 +0000
<![CDATA[Downloads on beefsack.com]]> http://beefsack.com/blog/post/p/Downloads on beefsack.com
I was quite excited to have a play with Zend_File which is quite powerful, and integrates without any fuss into Zend_Form.  This made life extremely easy and has built in methods for getting a lot of information from the uploaded file, which I am then able to insert into the database.

With adding the simple file management, I have been able to finish my first milestone on beefsack.com.  For my next milestone, I would like to implement the ability for readers to comment on blog posts, which would be the first step for me to writing simple integrated forums for my projects.
]]>
Fri, 01 May 2009 04:39:33 +0000
<![CDATA[New Project: batteredsav.com]]> http://beefsack.com/blog/post/p/New Project: batteredsav.com batteredsav.com.

For those that have not heard of them before, a Battered Sav is a Saveloy (delicious spicy sausage) that is battered and deep fried.  A very good sav with salt to taste can be amazing, and they contributed to my decline in health upon returning to Australia from Japan in 2005.

We wrote the site from the ground up, which was a fair bit of work but very rewarding.  Steve and I wrote a rather secure authentication system, and also made use of PHP's image manipulation capabilities and mail functions.

Nowadays we don't update the site very often, but it still gets a large number of hits off Google.  It's interesting because every now and then we will get an email from someone who has enjoyed the site and are always keen for a yarn about the good old sav.
]]>
Sun, 26 Apr 2009 08:47:14 +0000
<![CDATA[Bug: Apostrophe in search causing PHP error]]> http://beefsack.com/blog/post/p/Bug: Apostrophe in search causing PHP error here have stumbled across a bug where the search breaks if there is an apostrophe in the search.

I will have a look at it over the next couple of days and hopefully have it working again as it should.  I should also get play logging sorted out again soon too, as that was a very handy feature before the big boardgamegeek update.
]]>
Sun, 26 Apr 2009 07:49:10 +0000
<![CDATA[beefsack.com update]]> http://beefsack.com/blog/post/p/beefsack.com update
The big change, especially in my eyes, has been to get the CSS looking how it should in IE6+. I got very close to doing it without any strange hacks, floats were all doing what they were meant to and everything looked fairly good, except for a couple of problems...

For some reason IE6 and IE7 were ignoring a couple of my div top and bottom margins (though it was all working in IE8). The fix? For testing, I set the following CSS to see how margins and padding were looking:

[code]div { border: 1px solid black; }[/code]

And magically, everything aligned and the margins were recognised correctly! After hours of googling and playing around I couldn't find a real fix, so in my CSS you will find that code, however the border colour has been set to white. The border style has to be a visible style too, I tried using hidden instead of solid but the problem came back.

The other visible change is the addition of a links section to project pages. Next step is to have project downloads fully functional and the feature set I had planned for my initial release will be complete.]]>
Wed, 22 Apr 2009 11:06:58 +0000
<![CDATA[New Project: minibgg.com]]> http://beefsack.com/blog/post/p/New Project: minibgg.com minibgg.com. I first started minibgg a few years ago for a clean mobile interface for boardgamegeek.com, which can be quite cluttered on mobile devices.

Boardgamegeek is a brilliant resource for anyone into board games, with a lot of information on all types of boardgames including German games which are highly strategic and play in a short period of time (a lot last around 45 minutes).

Some great games include Ticket to Ride, Carcassonne, and a fantastic game that has come out recently Agricola]]>
Sun, 19 Apr 2009 00:46:47 +0000
<![CDATA[Launch of beefsack.com]]> http://beefsack.com/blog/post/p/Launch of beefsack.com
The main reason I started this website was not only for me to get beefsack.com in a usable state for me and the projects I have going at the moment, but also to learn Zend and implement openID in which I've been interested for a while.

At the moment, functionality of beefsack.com is limited to being a simple blog with some extra features for housing information about projects. The backend for uploading and maintaining project files is near complete and is next on the list to be finished.

My ultimate goal is to have commenting and a simple forum integrated to support my released projects, and to implement RSS feeds.

So here's hoping the bugs stay away and everything sails smoothly for my initial release.
]]>
Sat, 18 Apr 2009 03:00:43 +0000