Friday, October 07, 2011

EC2 OpenSuSE 11.4 install

zypper install yast2 yast2-ncurses yast2-ftp-server yast2-sshd yast2-online-update yast2-mail yast2-ldap yast2-ldap-server yast2-http-server
zypper install vsftpd
zypper install php5 php5-pear php5-mbstring php5-mysql php5-pear php5-bz2 php5-curl php5-ctype php5-gd php5-fastcgi php5-iconv php5-hash php5-json php5-mcrypt php5-sqlite php5-tokenizer php5-xmlreader php5-xmlwriter
zypper install apache2-mod_php5 apache2-mod_mono
zypper install subversion subversion-server
zypper install mysql-community-server
zypper install Imagemagick

curl -O http://www.magentocommerce.com/downloads/assets/1.5.1.0/magento-1.5.1.0.tar.gz
curl -O http://ftp.drupal.org/files/projects/drupal-7.8.tar.gz
curl -O http://wordpress.org/latest.tar.gz
curl -O http://websvn.tigris.org/files/documents/1380/49056/websvn-2.3.3.tar.gz
curl -O http://www.phpbb.com/files/release/phpBB-3.0.9.tar.bz2

mv *.gz /srv/www/htdocs
cd /srv/www/htdocs
tar -xvf magento-1.5.1.0.tar.gz
tar -xvf drupal-7.8.tar.gz
tar -xvf latest.tar.gz
tar -xvf websvn-2.3.3.tar.gz
tar -xvf phpBB-3.0.9.tar.bz2
rm *.gz
mv drupal-7.8 drupal
mv websvn-2.3.3 websvn

chmod a+w drupal/sites/default
cp drupal/sites/default/default.settings.php /drupal/sites/default/settings.php
chmod -R o+w magento/media magento/var
chmod o+w magento/app/etc
mv wordpress/wp-config-sample.php wordpress/wp-config.php
cp websvn/include/distconfig.php websvn/include/config.php
chmod 666 phpBB3/config.php
chmod 777 phpBB3/store/ phpBB3/files/ phpBB3/cache phpBB3/images/avatars/upload/

/etc/rc.d/mysql start
/etc/rc.d/apache2 start

mysql
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'xxx';
CREATE USER 'drupal'@'localhost' IDENTIFIED BY 'xxx';
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'xxx';
CREATE USER 'phpBB3'@'localhost' IDENTIFIED BY 'xxx';
CREATE DATABASE magento;
CREATE DATABASE wordpress;
CREATE DATABASE drupal;
CREATE DATABASE phpBB3;
GRANT ALL ON magento.* TO magento@localhost;
GRANT ALL ON drupal.* TO drupal@localhost;
GRANT ALL ON wordpress.* TO wordpress@localhost;
GRANT ALL ON phpBB3.* TO phpBB3@localhost;
exit

https://api.wordpress.org/secret-key/1.1/salt
edit content of wp_config file
vi wordpress/wp-config.php

http://dev.appcrowd.com/drupal/
http://dev.appcrowd.com/magento/install.php
http://dev.appcrowd.com/wordpress/wp-admin/install.php
http://dev.appcrowd.com/phpBB3/install

chmod a-w drupal/sites/default
rm -rf phpBB3/install/
rm -rf phpBB3/docs
chmod 644 phpBB3/config.php

Sunday, November 07, 2010

VisualStudio 2010 close window performance

Finally I've got to the bottom of one of the Visual Studio 2010 performance problems.

Using Mark Russinovich's Sysinternals ProcessMonitor I cleared by environment down as best as possible and did some evaluation of what devenv.exe was accessing.

For some reason it's accessing the .proj files on a very frequent basis but it doesn't appear to be this causing the performance issue.

Using the File Summary option under tools though indicated that whilst closing a single editor tab there was just over 1 second being spent writing to the suo file - that seems very excessive.

Looking at the .suo file for the solution it was 1.2MB in size - hardly excessive but I guess it all depends on what it contains. I renamed the file and repeated the close of the editor window... almost no lag... a solution? Well possibly.

So what does the suo file contain? It's an OLE compound document and appears to contain a whole bunch of information persisted by the VS and any add-ins.

Have now been assigned a Microsoft Connect bug id of 619775 so will see if they accept and fix it.

Sunday, October 31, 2010

SQL Server Reading

It's been a while since I sat down a read a decent book in the SQL server space - I'm fairly sceptical about the new additions to most database products recently - they've not really been addressing core functionality - just adding minority requirements that don't really gain much.

Considering the above I wasn't expecting much from a single read so bought a collection of books and though that across them I might find a few useful bits and pieces - I was pleasantly surprised by all three books - each had something unique to say and each approached the subject in quite distinct ways.

Links to the books below:





Saturday, October 30, 2010

VisualStudio 2010 performance

Editor performance in VisualStudio on my machine is best described as dreadful - it's very rare to be working on an editor where you actually have to look up to see where the cursor has actually got to especially when touch typing - and yet in VS2010 you have to because it reacts so poorly.

There's a semblance of a fix which has worked for me by turning off the hardware acceleration (due to VS2010 being a WPF app). Tools -> Options -> General -> in the middle are a bunch of options for experience - turn them all off and see if you find that it speeds up.

Friday, October 29, 2010

Compro VideoMate S350 on SuSE 11.2

Well according to the forums people have varied luck with the S350 - I guess there must be multiple models out there as I finally got mind working although it was a bit of a challenge.

The card has the following chipset

saa7164 - this is detected as an unknown card
saa7130/34 - this is detected by v4l2 and driver version 0.2.16 is loaded
saa7133 - this is detected correctly as a Compro VideoMate S350/S300 (card 169)

After dbb_init() the adapter is registered
saa7133[0]
Zarlink ZL10313 DVB-S

This gives you a single channel DVB-S adapter to play with

Saturday, October 16, 2010

Hauppauge Nova-PCI

Hauppauge Nova-PCT DTV tuner

Requires the following settings in /etc/modprobe or /etc/modprobe.d

options dvb_usb_dib0700 force_lna_activation=1
options dvb_usb disable_rc_polling=1

Thursday, July 29, 2010

MVC 2 Notes

Some brief notes about gotcha's and good practices for ASP.Net MVC 2

  • Always use Html.AntiForgeryToken() and use the [ValidateAntiForgeryToken] attribute to ensure that it has been checked on each action

  • Add ActionFilters to handle errors against each controller for the standard error types such as that thrown from ValidateAntiForgeryToken

  • Model binders will bind anything at any time so ensure that binding policies are in place so that users can maliciously bind data

  • Use Linq-to-SQL timestamp logic to protected against concurrency patterns along with the pattern whereby a "stub" object is created with just the PK and the TS value. Then use the Attach method in Linq to do the actual update. Again trap the error and provide good options for the user to continue

  • Use T4MVC to pre-parse all magic-strings into constants and use them throughout

  • Use localised templates copied from "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\VisualBasic\Web\MVC 2\CodeTemplates" / "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 2\CodeTemplates" to get consistent and useful templates rather than the Microsoft default ones

  • Tick the box to allow edit-and-continue in web applications

  • Tick the box to ensure that the the views are compiled to make sure any errors are caught

  • Be sure to use HttpPost actions when performing any CRUD type actions to prevent spiders from accidentally performing actions

  • Use NUnit / Microsoft Test to perform unit testing of controllers and models

  • Use Moq / Rhino Mocks for mocking of objects for testing

  • Use Castle Windsor / NInject for inversion of control / dependency injection

  • Use areas to divide up large applications

  • Use post followed by a RedirectAction if successful to prevent the "repeated post" warning from the browser

  • To prevent ASP.Net from filtering some URLs use the following config parameter <httpRuntime relaxedUrlToFileSystemMapping="true"/>

  • Use DisplayTemplates to enable rendering of custom datatypes as well as the built-in ones

  • Keep an eye on the ASP.Net MVC Futures stuff on codeplex as it often contains code that will be included in the next major revisions of ASP.Net MVC