Counter, the counterfeit flash drive

I’ve only just discovered this useful utility called H2testw 1.4.

So if you’ve bought one from eBay that looks a little dodgy, check it out.

A quote from the website

We give H2testw 1.4 the highest rating and recommend it for testing counterfeit USB Flash Drives for the following reasons:

  1. Easy to Use
  2. While in German an English Execution is possible
  3. Stand alone executable file – no installation required to run it
  4. You do not need administrator privileges on a computer to run it
  5. Tested to work on 1.1 and 2.0 USB drives
  6. Tested to work on 1.1 and 2.0 USB Ports
  7. Tested to work to analyze drives advertised as 4GB, 8GB, 16GB, 32GB and yes …64 GB capacity.
  8. Reports seen capacity – what the operating system sees size to be.
  9. Will write 1 GB files up to the reported size – requiring no work on your part except patience if it is a large drive and a slow computer
  10. Will read all the files it wrote and verify them
  11. Will produce a report. a) short if all is well b) detailed if there issues found.
  12. The program is offered free

Visit: here

SC



O2 Joggler

I’ve just taken delivery of an O2 Joggler. They are reduced to £49.99 (from £99.99) till the end of this month, but it seems I got one of the last ones as they are now out of stock!

o2-joggler-openpeak-frame-review-1
Figure 1 – the joggler running the default OS - (picture from pocket-lint.com)

o2-joggler-openpeak-frame-review-2
Figure 2 – shows the fixed stand (it can’t be adjusted)  - (picture from pocket-lint.com)

Like many people, I was originally very confused by the marketing slant put on it by O2 when it was first released last year. I certainly was not prepared to be an early adopter when it was priced at £149.99, since it was a solution looking for a problem that never really existed. At £50, it is a bargain, since you can install netbook flavours of ubuntu, and the development community are working on android installations.

First and foremost, this device does NOT have any battery, so it is fixed in place once you plug it in. It is also NOT a phone. It does not have a sim card slot. This device relies on you having your own internet provider in your house. Connectivity is either Ethernet (it comes with an Ethernet cable) or wifi.

Even with this in mind the specification is rather good for an item that looks so refined. It reminds me of an apple product when I look at it.

  • Connectivity: Wi-Fi
  • Screen: 7 inch Touchscreen
  • Resolution: 800 x 480 pixels
  • Memory: 1 Gig onboard, expandable via USB.
  • Power: Mains only.
  • Video formats: MPEG-2, MPEG-4 part 2, MPEG-4 part 10 (H.264), WMV 9, DivX, Vc1, FLV
  • Audio formats: MP3, WAV, WMA
  • Size: 180 x 130 x 115mm.
  • Weight: 700 grams

There is an O2 app store where you can download new apps direct to your joggler, however there aren’t that many yet!

I think the stock OS is really pretty! It is also surprisingly usable. The on screen keyboard is also great compared to the abominations I’ve had to endure on various touch screen phones.

The stock OS is flash based. All developed apps that run on the stock OS are flash applications. This has advantages and disadvantages. The advantage is that pretty much anyone can create something. The main disadvantages are that we are not able to develop internet browsers, since flash does not support that.

However, if you really must have all that….

Custom OS installations are performed by USB stick with a flavour of linux on it, and it is possible to use it with a keyboard if you connect to the joggler using a USB hub.

I can understand why this device never really took off, but at bargain prices it will be snapped up for it’s potential!

Useful links:

Development / Information Forum (not official O2)
Jogger help (official O2)
Pocket-link Joggler review
Hack the joggler

I look forward to using my jogger to keep track of my ever changing calendar (oh, and SWMBO’s calendar too :-))… well at least until I get bored of it, then I can have a play with some custom apps and maybe even using it with linux.

SC



Importance of web page look ‘n’ feel

The look ‘n’ feel of your website is important. BUT, it is less important than the text-based content. In most commercial websites, the role of the traditional graphic designer is relatively minor. The role of the information architect is central

This article focuses on look and feel.

  • “To look good is to be good - that’s the primary test when people assess a Web site’s credibility” B.J. Fogg, Ph.D (Stanford University 2002) [link]
  • “Uniformity an inherit part of a usable web site design” – Sigma Infotech [link]
  • “Complex and beautiful may win awards, but ugly and simple might just win the marathon.” – Gerry McGovern [link]
  • “Consistency is one of the most powerful usability principles”, “users spend most of their time on other websites.” – Jacob Nielsen [link]

 Dilbert.com
Figure 1 – Scott Adams ‘Dilbert’ on web design (lifted from here)

Do:

  • Ensure page layout and content style is part of the design
  • Decide on tone, phrasing and naming conventions for all language used on the site  
  • Decide on the page flow and use the same flow for all pages
  • Template as much of the layout as possible (e.g. Master page)
  • Use cascading style sheets (CSS)
  • Create reusable page components (e.g. User Controls / Server Controls)
  • Seek the advice of an imagery expert when using graphics / icons

Don’t:

  • Design as you go
  • Implement each page with no regard to how other aspects of the application work
  • Recreate components that have already been written for other parts of the application
  • Use inline styles, unless there is a good reason
  • Confuse the user with poor use of language / symbols
  • Resize, stretch, crop or distort images when displaying them as part of your application (unless this is the purpose of the application)

There are several other key elements that shouldn’t be neglected in the design phase of a project.

  • Ensure consistent feedback is given to the user (in terms of error, success messages)
  • Adopt the keep it simple stupid (KISS) approach to design
  • Ask non developers to test your application – usable web pages don’t require a manual to operate them
  • If you need to use a picture, get it sized and formatted for web site usage

Further reading:
9 Essential Principles for Good Web Design

SC



Report Viewer Control fails to render correctly in IE8

One of our more widely used application uses the Report Viewer Control to render SQL Server Reporting Services 2005 reports.

We are migrating to IE8 in the near future, so it was up to the various development teams to ensure compatibility. It should have been oh so easy :-)

Figure 1 shows the Report Viewer Control correctly rendering, a report is produced with twenty pages. Scrolling to the bottom of the control works as expected.

reportviewerissue003
Figure 1- Application renders correctly in IE6

Figure 2 shows the same page and content in IE8. All looks good until you scroll to the bottom of the report (shown in Figure 3).

reportviewerissue001
Figure 2 - All looks okay in IE8…. however….

reportviewerissue002
Figure 3 - Scroll bar not rendered correctly [circled in red], page number footer missing (it is visible in Figure 1 when rendered in IE6)

There is a workaround for this particular issue. It involves the DOCTYPE markup that you may have in your master page or each individual page.

You can read more information about DOCTYPES at Holly Bergevin’s page: DOCTYPE at Community MX

Removing it completely from your page will make the browser work in ‘quirks’ mode. You’ll find that enabling ‘quirk’ mode will ensure the report is rendered correctly. See MSDN social.

If like me, you’ve got your DOCTYPE in your master page, and you’d really like to keep your XHTML compliant markup in place for the majority of your pages, it is a little more tricky. Either code the DOCTYPE in each page (removing it from your Master page! yuck!)… or find another workaround.

I search in vain for a solution. If you can help, please comment on this article. It seems it is a known bug!

SC



Massive SharePoint config database log file

Its a common problem that many of us have. You set up your SharePoint farm, and its been running sweet as a nut, till you get asked one difficult question by the server team… why is the SharePoint configuration database log file so large?

SharePoint 2007 creates its databases in FULL RECOVERY mode. This is presumably because the SharePoint central administration pages were going to offer a more comprehensive recovery option, however I’ve only ever seen a full database restore. However, even though the built in GUI doesn’t make the use of the FULL RECOVERY model, I don’t think we should discount it.

There are two (nice) ways of coping with the log growth issue;

  1. You use your own backup strategy [NB this means you can’t use the built in restore option anymore], e.g. Scheduled SQL Job to backup the databases and logs yourself. When you do this, you have the option to use the WITH TRUNCATE ONLY option, or…
  2. Use the built in SharePoint backup/restore service from Central Admin, and schedule log truncations at defined intervals. (see below snippet of code shamelessly stolen from the Microsoft DBCC Shrink file tutorial)

– Example truncating a config db logfile to 70 MB):
BACKUP LOG [Sharepoint_Config] TO DISK=’drive:\path\Yourbackupfile.bak’
GO
BACKUP LOG [Sharepoint_Config] WITH TRUNCATE_ONLY
USE [SharePoint_Config]
GO
DBCC SHRINKFILE (N’SharePoint_Config_log’ , 70)

– Note: the 70 is the 70MB.  
GO

There is an excellent article on Death By Patterns website about log file management. This gives you an overview of why logs grow, and how they work in practice.

It should be noted that in more than a few places on the net, people recommend changing the database mode from FULL to SIMPLE in order to perform a DBCC SHRINKFILE. Whilst this is a simple and effective solution it takes away a crucial service that administrators can perform on a live SharePoint farm, if something goes wrong during the day, before a backup takes place, you have the capability of doing a in place transaction rollback.

See Sherin George’s blog for an excellent overview of the recovery models available in SQL Server.

See Server Fault discussion on SharePoint recovery models.

SC



Bug introduced in Windows NT3.1 (1993) still affecting all subsequent releases of Windows!

Since NT was introduced, pure command line DOS was replaced with the Virtual DOS machine (VDM) that allows legacy DOS and 16-bit windows application to run on top of NT (all variants), XP, Vista and Windows 7.

It would seem the VDM engine has a major flaw!

Read more at neohapsis.com and packet storm security

A summary of the issue is that it is possible for a limited user (i.e. a non administrator user) to gain administrative privileges via the VDM.

A workaround is to disable 16-bit applications as part of the Active Directory policy for your domain.

SC



IT in 2010… is it going to be as we predicted it?

With the new year almost upon us, I’ve been trying to theorise what skills will be required of developers in the next four years.

It is important to take stock of what you’ve got at the end of each year to ensure you offer training and support to the development team to help ensure they are productive with new technologies and tools.

As a developer myself, do I need to worry about keeping my job… ?

Ellen Fanning from Computer World, back in 2006, predicted outsourcing and the need to be business savvy was a major threat to IT workers.

John Newton from the CIO weblog (also from his own blog), back in 2007, predicted that content management would be improved and delivered in more human friendly ways. Business computing would shift to Blackberry type devices. User Interface design would be improved and take ideas from the gaming market.

There are a number of existing/emerging technologies that will impact my organisation in the near future (… I’m well aware that we are behind the curve on most of these, but give us a chance, and we’ll try to keep up :-)). Those are

  1. SharePoint 2010
  2. .NET 4.0
  3. ASP.NET Model View Controller 2
  4. jQuery
  5. Silverlight
  6. Windows Presentation Foundation

I’m sure there are many others.

We’ll also be trying to maximise productivity with our existing tools, such as the K2 BlackPearl / BlackPoint workflow suites.

It is has been a difficult time for many IT workers, when a business looks at what it can cut out of the budget, it usually means laying off staff, or the reduction of investment in their IT systems. Hopefully we can take heed with an article from Judi Hasson, Fiece CIO, who writes that IT is the key to recession recovery. Lets hope so!

Merry Christmas and a happy new year to all :-D

SC



Why should the FQDN make a difference when using Integrated Security authentication?

We run a few internal applications that are addressed using a FQDN:

http://site.domain.com/our_app

The applications are also available through the server name:

http://site/our_app

We’ve had a strange issue with one of our applications that requires ‘Integrated Security’ authentication.

A few of our users, who run IE6 (because that’s what they are forced to use) get prompted for credentials.

You’d assume that since IE knows who the user is, that it would simply provide it to the application, and it would allow access.

I’ve done a little digging at it would seem we are not the only people with this issue.

It would seem that this is a browser, rather than application related issue:

Best explanation award foes to Windows IT Pro:

It would seem the only short term solution is to provide the fix to the user community before we can update group policy (if this is possible!)

SC



An alternative to WSUS and Windows Update

We manage a few standalone machines, and also a few machines that are on a network without access to the internet.

What is the alternative to WSUS and Windows Update?

Well, as I have to keep using a search engine to get this link, here it is:

http://support.microsoft.com/default.aspx/kb/913086

This page links to a list of ISO images that contain the security patches for a given month.

SpittingCAML



Obfuscation for IP protection

Recently we’ve had lots of interest in an internally developed product from external organisations. Obviously if they’ve got enough interest to want to pay for it… why not sell it to them?

There’s a few issues to consider when the software was developed without a clear goal to make it into a saleable product:

  1. The software was never developed to be a product for general sale – it is likely to have missing requirements as it was developed for a single purpose (i.e. not generic enough)
  2. Licensing (the software) was not a requirement during the development – the developers did not know it was a requirement, this could have altered the design stratagem
  3. Database objects not created ‘WITH ENCRYPTION’ – a simple to fix issue, but its a PITA!
  4. Web application not written with obfuscation in mind – is it possible to reverse engineer our DLLs/Web Services?

The software we need to protect is a web application (ASP.NET 3.5 C#) with a SQL Server 2005 back end

I had some experience with obfuscating .NET since 1.1, and it seems lots of the issues from back in 2001/2 have now gone since the .NET language has moved on and become more optimised. There’s an interesting thread of discussion on Stack Overflow that might interest you. It discusses tools, reasons for doing it, and the potential pitfalls.

I’m not too worried about our IP going missing, as we will put a non-disclosure agreement in place, and the potential buyer would loose significant reputation and business from my organisation if they were to attempt to get out our precious source code.

Having looked at a few obfuscators, I’m tending to go for Eazfuscator.NET.  As this software package is under maintenance (internally) I didn’t want to make wholesale changes to the solution/project so it seemed the obvious choice. Simply use it on your web application DLL (outside of Visual Studio), and all is well.

In terms of licensing, we will need to think about a pricing model if orders do come through to door and then come up with a suitable licensing strategy.

Our main headache is going to be “… well, it kinda does what we want it to do but …” type questions. Our internal processes are almost certainly going to be different to those organisations wanting to use the package. Dealing with this, alongside the maintenance of an existing system is going to be challenging.

SpittingCAML