It was time to invest in some new hardware. Dual core is all well and good but I was becoming increasing frustrated by a lack of Memory and CPU when attempting to run multiple VM’s, especially whilst querying large databases and running everyday applications at the same time. I decided to upgrade my main Workstation to something powerful enough to fulfill my needs for the next three years and that could be upgraded easily. I settled on one of the new Mac Pro’s with the following spec:
Two Quad Core Intel Xeon ‘Harpertown’ 2.8Ghz Processors
6 Gb RAM
500Gb 7200 SATA Primary Drive
1 Tb 7200 SATA Secondary Drive
30’‘ Apple Cinema LCD Monitor
16 x Dual Layer DVD Writer
Airport Extreme WiFi Card
ATI Radeon HD 2600 XT 256Mb Graphics Card
Applecare Protection Plan
The immediate benefit of this specification is that I can run several Windows Virtual Machines at the same time without any performance or memory issues, this saves time and frustration as it allows me to do more simultaneously. Have a look at the screenshot, it shows a Windows XP VM (itself running an IP Camera Application) and a Windows 2003 Server VM with Oracle running at the same time as several native Mac applications including a Digital TV Application, iTunes, Mail, Firefox Etc. As you can see from the Activity Monitor and the Menu Meters at the top of the screen it manages all this without breaking a sweat.
I can see this configuration providing a significant productivity boost ☺
"Hope begins in the dark, the stubborn hope that if you just show up and try to do the right thing, the dawn will come. You wait and watch and work: You don't give up." - Anne Lamott
Monday, 24 March 2008
New Mac Pro :-)
Saturday, 8 March 2008
OSX / Realbasic and Oracle
Despite the Intel Macs having been around for a couple of years of so, it seems Oracle have not yet got around to creating a native Oracle DB client for OSX on Intel. Apparently it is due ‘soon’ according to Oracle. There are a couple of work-arounds fortunately and the one that seems to be working well for me so far, is creating a Universal Binary Macintosh application running against Universal Binary ODBC Drivers from Actual.
The Oracle ODBC Drivers are $29, seem to work well and are easy to install. An advantage of using these is that your other Mac applications such as Word, Excel and Filemaker can also access Oracle through these drivers.
I’ve yet to use them for any ‘heavy duty’ work however so time will tell just how suitable they are for me.
Actual also make ODBC drivers for the other popular SQL Databases.
"Don't let the bastards grind you down." - General Joseph W Stillwell
Friday, 7 March 2008
iPhone Roadmap
On March 6th Steve Jobs, CEO of Apple unveiled the iPhone Roadmap at Apple Town Hall, Cupertino, California. You can view a movie of the event here.
The iPhone has it’s fair share of critics, (most of them haven’t yet used one ...) here are some interesting statistics especially considering the iPhone has only been available for around eight months.
In the US the iPhone now has a 28% share of the Smartphone market, beaten only by RIM (41%) with their Blackberry devices. In addition 71% of the mobile Internet Browser market is taken by the iPhone.
Enterprise
One of the main features of the iPhone Roadmap is concerned with iPhone in the Enterprise. Apple sees massive opportunity here, and rightly so. These are the most desired enterprise features requested by corporates, and they will all be available in the next release of the iPhone software:
Push Email
Push Calendar
Push Contacts
Global Address Lists
Cisco IPSEC VPN
Two Factor Authentication
WPA2, 802.1x
Enforced Security Policies
Global Configuration
Remote Wipe
Full Microsoft Exchange support will be built into all iPhones. Direct connection between the Exchange Server and the iPhone is possible utilising ActiveSync wirelessly, avoiding the traditional and convoluted method of Smartphone > Network Operating Centre > Message Server > Exchange Server.
Software Development Kit
Another big announcement concerns the long awaited SDK. This news was well worth waiting for. The iPhone O/S is a modified version of OSX with a full set of API’s for 3D Graphics and Sound, both hardware accelerated, a 3 axis Accelerometer and built in SQLite database. A full suite of tools based on Xcode and Interface Builder are available as is an iPhone Simulator.
For an example of what can be accomplished with this new SDK with just a couple of weeks development time, view the video from 40:50. Fantastic software from Apple, Sega, Salesforce.Com and Electronic Arts, amongst others is demonstrated. If you are a developer and this doesn’t excite you then it’s time to look for a career change ☺
Distribution of iPhone applications will be through either iTunes or the new App Store, directly from the iPhone. Developers get to state their price and take 70% of the revenue, Apple keeping 30% towards the running of the distribution facilities. Free applications can be developed and made available with no cost to either the developer or the customer.
The SDK will be available in June, All the features discussed and demonstrated will also be available on the iPod Touch.
The iFund
A surprise at the end of the event was John Doerr from the worlds largest venture capital company Kleiner Perkins Caufield and Byers, they announced that they have a pot of $100,000,000 with which to fund iPhone related startups.
One word to describe the announcements made at the event ? WOW.
"Better shun the bait, than struggle in the snare." - John Dryden
Wednesday, 5 March 2008
Oracle Top 'N' Queries
If we wanted to query all our Customers from an Oracle database, show the Account Code, Name and Balance and order by the Balance in descending order we would use something like this:
select accm1_cus_sup as Code, accmname as Name, accmledg_balance as Balance
from accm_data
where accm1_co_site = '01'
and accm1_rec_type = 1
order by accmledg_balance desc
What if we wanted to retrieve only the Top 10 Customers who owe us the most money ? The best way of doing that is as follow:
select * from
(
select accm1_cus_sup as Code, accmname as Name, accmledg_balance as Balance
from accm_data
where accm1_co_site = '01'
and accm1_rec_type = 1
order by accmledg_balance desc
)
where rownum <= 10
What we have done here is made our initial query into a subquery and used the ROWNUM pseudocolumn to limit the rows returned by the query. This method uses a table scan initially and the rows outside of the rownum count are discarded, giving you your Top 10 Customers by account balance.
Following on but using a slightly different example, what if we wished to display all our Customers in Account Code order, retrieving only ten at a time, maybe within a thin client or web page scenario ? This is how that can be accomplished:
select *
from ( select X.*, ROWNUM rownumber
from
(
select accm1_cus_sup as Code, accmname as Name
from accm_data
where accm1_co_site = '01'
and accm1_rec_type = 1
order by accm1_cus_sup
)
X
where ROWNUM <= 10)
where rownumber >= 0
Obviously when the user indicates they require the next 10 records you would alter the parameters within the final two WHERE statements accordingly. An important point here is that if the column you are using to order the data is not unique, you must append a unique identifier to the ORDER BY statement. This is usually done by adding TABLENAME.ROWID to the end of the ORDER BY statement.
"When you make a mistake, there are only three things you should ever do about it: admit it, learn from it, and don't repeat it." - Paul ‘Bear’ Bryant
Sunday, 24 February 2008
OSX Leopard - Why Not ?
PC Magazine’s Edward Mendelson muses that “Leopard again raises the question of whether to switch from Windows to a Mac. I’ve found Vista to be a major disappointment that tends to look worse the more I use it.” Mac OS X Leopard, on the other hand, “is easier to manage and maintain and I vastly prefer OS X to Windows for Web-browsing, mail, and especially for any task that involves graphics, music, or video. Leopard performs all such tasks even better than previous versions did—and Leopard is the only OS on the planet that works effortlessly and intuitively in today’s world of networked computers and peripherals.” In fact Mendelson believes “it’s getting harder and harder to find good reasons to use anything else.”
See the full article here.
The only reason I *need* to use the Windows O/S is for certain kinds of software development. Everything else, for me personally, is better done in Mac OSX. For my software development I use Parallels or VMWare Fusion and run the Windows O/S virtualised. For me it is the perfect solution.
Apple’s computers are sexy, beautiful and a joy to use, as is OSX. When I need Windows it’s there within a window on the OSX desktop. The best of both worlds.
Even my ASP.Net based website runs within a virtualised Windows 2003 server hosted on a Mac Mini !
"Money was never a big motivation for me, except as a way to keep score. The real excitement is playing the game." - Donald Trump
Wednesday, 20 February 2008
Woman Dreams of Bomb ...
... so hundreds of people are evacuated from a North Sea Oil Platform. The woman, guilty of dreaming about a bomb, has been flown to Aberdeen Police Station for questioning. Apparently her dream caused the biggest security incident ever in the North Sea.
The full story from the Guardian can be found here.
If, as a nation, we continue with these over-reactions then we give the terrorists what they want. If their goal is to cause disruption and chaos within Western society - then they are winning, or have already won.
"The cruelest lies are often told in silence." - Robert Louis Stevenson
Saturday, 9 February 2008
Online Tax Returns ... Too Risky ?
From October anybody in the UK wishing to file a Self Assessment Tax Return will have to do so online, otherwise they risk ‘severe financial penalties’.
Unless you are rich or famous.
In which case the system is not secure enough and you will be treated differently.
Are we not all entitled to the same level of protection and security regardless of our wealth or fame ?
For the full story see the Daily Telegraph
This kind of thing *really* annoys me ...
"The only difference between a rut and a grave... is in their dimensions." - Ellen Glasglow
Tuesday, 15 January 2008
Jeremy Clarkson Hacked
In a recent blog article I talked about the fact that the UK government has lost computer discs containing 25 million peoples records including information such as bank account details and national insurance numbers.
In his usual highly uninformed (but hilarious) way (ref: his comments on motorcyclists) he wrote in the Sun (rubbish tabloid) that this loss by the government wasn’t a big deal as after all the account details could be used only to put money in ... so to prove his point he published his own bank account details in the newspaper ...
He was therefore surprised when he saw his bank statement and realised that somebody had setup a monthly direct debit of £500 to the Diabetes Uk charity. I suspect if he has any honour he will cancel the Direct Debit but let them keep the £500 that has already been taken. He is lucky he attracted the attention of someone looking to prove a point not someone who actually wanted to rip him off ...
It was probably a tech savvy biker ☺
It’s a funny and fitting story - but it does prove a point - we should all be more careful in future ...
"Anger at lies lasts forever. Anger at truth can't last." - Greg Evans
Oracle: CUBE
ROLLUP and CUBE are extensions to the GROUP BY functionality of the Select statement. The following select statement demonstrates basic use of CUBE:
select soh_cucode, soh_owner, sum(soh_net) from guser.f_sohdr
where soh_date between '01 JUN 2007' and '30 JUN 2007'
group by cube (soh_cucode, soh_owner)
This statement will give output that looks like the following:
The output is very similar to the output from ROLLUP, with the exception that CUBE also performs a subtotal by Salesperson at the end of the results set, followed by the total for all Customers, the same as the ROLLUP option.
Between them CUBE and ROLLUP add an extra an very useful dimension to your SQL reporting toolkit. For more information or to explore the options further, consult the Oracle documentation.
Software Development * Security * Database * Technology * Training * Networking * Virtualisation
Technology Consultancy from GENeSYS Solutions
www.genesyssolutions.co.uk
"What counts is not necessarily the size of the dog in the fight - it's the size of the fight in the dog." - Dwight D Eisenhower
Oracle: ROLLUP
ROLLUP and CUBE are extensions to the GROUP BY functionality of the Select statement. The following select statement demonstrates basic use of ROLLUP:
select soh_cucode, soh_owner, sum(soh_net) from guser.f_sohdr
where soh_date between '01 JUN 2007' and '30 JUN 2007'
group by rollup (soh_cucode, soh_owner)
This statement will give output that looks like the following:
Within Customer Code the Grouping occurs via the Salesperson. For each Salesperson a Summary Total is shown and then finally a Total for that Customer, basically the sum of the values of each Salespersons orders. The bottom of the results set shows the Total Value of orders within the period for all Customers.
So basically the ROLLUP has worked like this:
TOTAL ORDERS BY SALESPERSON
TOTAL ORDERS BY CUSTOMER
TOTAL ORDERS
"Not the power to remember, but its very opposite, the power to forget, is a necessary condition for our existence." Sholem Asch