Column-oriented databases are the next big thing for data warehouses, having passed through object databases for specialized applications. For a while, InterSystems Cache enjoyed the spotlight as a high performance object database. Now, Vertica is the hottest thing the database world has to offer as a column-oriented database.
Column-oriented databases store column-data as a contiguous sequence, as opposed to relational databases which store row-data in contiguous allocation units. This makes it simpler to make schema changes, and offered better performance for OLAP applications. Relational databases still are the best solution for general purpose OLTP applications so it isn't the end for them yet, although they were architected almost three decades ago.
Monday, December 24, 2007
Sunday, December 23, 2007
VS2008 Express
The Visual Studio 2008 Express offline installer is a corrupt image being offered for download from the Microsoft website. A lot of people have complained about the "Program too big to fit in memory" error so it's yet another bug from infamous Microsoft. It's a free product so no one really cares at this stage, unless they are paying for bandwidth.
Thursday, December 20, 2007
Regex for doesn't contain
^((?!my string).)*$ Is the regular expression for does not contain "my string". Wondering how someone can come up with that? Check out the reference at:
http://www.regular-expressions.info/refadv.html
There's a basic and advanced regular expression reference section so check out both!b
http://www.regular-expressions.info/refadv.html
There's a basic and advanced regular expression reference section so check out both!b
Wednesday, December 19, 2007
Sun Java on Fedora Core 8
There's been a successful install of Sun Java 1.6.0 on Fedora Core 8 with instructions posted at: http://vertito.blogspot.com/2007/11/sun-java-on-fedora-8-install-howto.html
I haven't been able to try it yet, but I'll do so soon.
I haven't been able to try it yet, but I'll do so soon.
Tuesday, December 18, 2007
Microsoft's 2008 Platform
Microsoft is releasing Microsoft Windows 2008, Microsoft Visual Studio 2008 and Microsoft SQL Server 2008 at an event on February 27, 2008 7am. It's a pretty major event since it marks the next leap since the 2005 release.
The best feature of the new platform is LINQ, which enables developers to treat data as entities rather than relational tables. It's like taking NHibernate to the next level and integrating it with the programming language.
The best feature of the new platform is LINQ, which enables developers to treat data as entities rather than relational tables. It's like taking NHibernate to the next level and integrating it with the programming language.
Monday, December 17, 2007
Sun pushing for NetBeans
Sun is bringing it's IDEs to an end and would be helping it's customers move to NetBeans for development. It's actually a pretty good idea since most of the Java world is pretty much standardizing on either Eclipse or NetBeans. With more of the community shifting to Eclipse, the only reason NetBeans would remain alive is if there are sufficient users working with it.
IP Address Lookup
You can easily get the geographical location for an IP address at http://www.ip-adress.com . It even displays a nice little map, though you shouldn't expect it to be accurate enough to go on a hunt for a hacker with your GPS tracker ;-)
Oracle iSqlPlus
Oracle has a pretty good web based tool for executing queries against the database called iSqlPlus. It is quite similar to Sql*Plus, but is better suited for testers than DBAs. In Sql*Plus, users complained about long lines that would get wrapped, thus messing up the output. Since iSqlPlus works within your browser, it builds an HTML table containing query results with a width just enough to display all the results. It also keeps a history of previously executed statements for the sesson, so you can easily execute a previously executed query.
For a default install of Oracle, you'll generally find iSqlPlus installed at http://localhost:5560/isqlplus . Do add your comments to this post if you've had a chance to use both.
For a default install of Oracle, you'll generally find iSqlPlus installed at http://localhost:5560/isqlplus . Do add your comments to this post if you've had a chance to use both.
Sunday, December 16, 2007
ProBE
The proxy based estimation method is based on drawing upon previous experience with a similar project to get a rough estimate of the time required for building software. Unlike the wideband delphi method, it relies less on expertise and more on historical data. This technique is commonly applied when comparing projects within a similar domain.
Wideband Delphi
The wideband delphi software estimation technique is actually a process where a group of experts arrive at a consensus based on the Work Breakdown Structure. It's simplicity is one of it's greatest strengths and it relies heavily on the experience of the experts called in to make the decision. If there are large differences in the estimates, they resolve it through further discussion and finally come up with the final numbers.
Wednesday, December 12, 2007
NCover
NCover is a pretty good code coverage tool for .NET. You can use it to determine which parts of your code aren't tested by unit tests, thus letting you know if you need to write more tests.
A common problem identified by code coverage tools is that you have blocks of code that you wouldn't encounter under regular circumstances, such as Exception blocks that are intended to catch unforseen errors or error conditions that occur rarely. Due to insufficient testing for those blocks, you could be releasing some untested code that could result in a bug.
NCover can be run with pretty much any kind of tests - you just need to provide them as parameters to the command line NCover tool or browse to find the executable for the graphical tool so you aren't limited to any single testing framework, such as NUnit.
A common problem identified by code coverage tools is that you have blocks of code that you wouldn't encounter under regular circumstances, such as Exception blocks that are intended to catch unforseen errors or error conditions that occur rarely. Due to insufficient testing for those blocks, you could be releasing some untested code that could result in a bug.
NCover can be run with pretty much any kind of tests - you just need to provide them as parameters to the command line NCover tool or browse to find the executable for the graphical tool so you aren't limited to any single testing framework, such as NUnit.
Sunday, December 9, 2007
Sun Java on Fedora 8 has an issue
Fedora 8 has a buggy libxcb package due to which we get the following error when using Sun Java...
java:scb-slib-c:so:scb_slib_unlock:Assertion 'c->xlib.lock' failed.
Aborted.
You can, however, use the default Java that ships with Fedora 8.
java:scb-slib-c:so:scb_slib_unlock:Assertion 'c->xlib.lock' failed.
Aborted.
You can, however, use the default Java that ships with Fedora 8.
Saturday, December 8, 2007
Upgrade to FC8
Fedora Core 7 was pretty cool when it was released. I showed all the guys and girls at work how it could do better on fancy effects than Windows Vista when you turned on the Desktop Effects and used Gnome. When the launch of Fedora 8 was announced, I just had to go and get myself one of those. I started off by upgrading my desktop at work from Fedora Core 7 to Fedora Core 8 and it seems to do a pretty good job on some counts. I had to upgrade KDE-SVN for it to work, which was just a matter of typing a "yum update kdesvn". The OpenOffice icons from my taskbar are now missing but the documents that I had placed on my desktop now have thumbnails displayed. There's lots more to it, but I guess I'll write more as I come across it.
Friday, December 7, 2007
WSUS
Microsoft has a Windows Server Update Service (WSUS) utility that we can use to download updates and get them installed within the network. It can download updates for different versions Microsoft Windows Operating System. The domain clients have to be setup via Group Policy. For workgroup clients, you would have to make registry changes; see:
http://msmvps.com/blogs/athif/archive/2005/09/14/Manually_Configure_WUA.aspx
To manually search and download Windows updates, you can also use the Microsoft Windows Update Catalog via your browser. Unfortunately, it doesn't list available updates so you can't browse - all it's got is a search box where you can type the update that you're looking for.
http://msmvps.com/blogs/athif/archive/2005/09/14/Manually_Configure_WUA.aspx
To manually search and download Windows updates, you can also use the Microsoft Windows Update Catalog via your browser. Unfortunately, it doesn't list available updates so you can't browse - all it's got is a search box where you can type the update that you're looking for.
Thursday, November 29, 2007
Intel vPro
Intel's vPro is a hardware based management solutions for systems. The benefit of using a hardware based approach is that you do not require the PC to be running and don't even require the Operating System to be started up.
The Altaris Console Management is probably more popular among the vPro-based tools for administration, but you'll find more tools shipped from Avocent, BMC Software, CA, Farstone, Kingsoft, HP OpenView, LANDesk, Medialand, Microsoft SMS, StarSoftComm, and SyAM.
You can also get the Intel AMT developer tools from:
http://softwarecommunity.intel.com/articles/eng/1034.htm
For details from an Altaris Console Management demo, go to:
http://arstechnica.com/articles/paedia/hardware/vpro.ars/2
The Altaris Console Management is probably more popular among the vPro-based tools for administration, but you'll find more tools shipped from Avocent, BMC Software, CA, Farstone, Kingsoft, HP OpenView, LANDesk, Medialand, Microsoft SMS, StarSoftComm, and SyAM.
You can also get the Intel AMT developer tools from:
http://softwarecommunity.intel.com/articles/eng/1034.htm
For details from an Altaris Console Management demo, go to:
http://arstechnica.com/articles/paedia/hardware/vpro.ars/2
VS2008 and .NET 3.5 released on 19 Nov 07
Visual Studio 2008 was released on 19th November 2007. The Express editions are available as a free download. .NET 3.5 brings a lot of updates to C# and VB.NET as languages. LINQ is probably the most awaited feature.
For newbies, having Windows Presentation Foundation, Workflow Foundation and Communication Foundation integrated in the IDE is probably the best part.
For newbies, having Windows Presentation Foundation, Workflow Foundation and Communication Foundation integrated in the IDE is probably the best part.
Google BAdSense
Google AdSense is buggy. I've tried signing up using my existing GMail account and it replies with "a user with the specified email address already exists". Of course it does exist, what do you think an existing Google account means?
Anyway, I'm as interested in placing ads on my site yet since I don't receive a lot of traffic. Perhaps when I get the traffic to make something on the side to help pay for Internet connectivity costs.
Anyway, I'm as interested in placing ads on my site yet since I don't receive a lot of traffic. Perhaps when I get the traffic to make something on the side to help pay for Internet connectivity costs.
Downgrading from Windows Vista to XP
The firm I work at just ordered 10 new desktop PCs pre-installed with Windows XP to replace the PCs running Windows Vista. I guess this one is a first - replacing a newer version of an Operating System with an older version.
Saturday, November 24, 2007
Top 'n' SQL Query
The Top 'n' SQL Query is a common interview question and I've asked it a couple of times to fresh graduates who couldn't answer it - some didn't even know about the existence of the MAX group function.
I'm pretty sure everyone is familiar with the Oracle-specific statement:
SELECT sal FROM (
SELECT sal FROM mytable ORDER BY sal DESC
) WHERE ROWNUM < 10;
MySQL (and PostgreSQL) is pretty similar where you use a:
SELECT sal FROM mytable LIMIT 10;
With Microsoft SQL Server, you can use the SET ROWCOUNT 10 (Sybase supports this too) before executing a query to return ordered rows and this approach is similar to the MySQL approach. You can also use the TOP keyword (Firebird uses the FIRST keyword instead of the TOP keyword) as follows:
SELECT TOP 10 sal FROM mytable;
The TOP keyword also support the PERCENT keyword after the number, making it more flexible.
Also, with Microsoft SQL Server, you can use a ROW_NUMBER() OVER (ORDER BY column_name) to provide something similar to the ROWNUM pseudocolumn in Oracle. RANK is used similar to ROW_NUMBER, except that RANK supports the use of PARTITION BY (optional) in addition to ORDER BY.
I think an ANSI compliant statement that works across all databases would be something like this:
SELECT sal FROM mytable a WHERE 10 > (
SELECT COUNT(1) FROM mytable b
where b.sal > a.sal
)
ORDER BY sal DESC;
I think a more challenging question for a beginner would be to return the next highest after the Top 'n'. I think I'll save that for the time I'm interviewing experienced job applicants.
I'm pretty sure everyone is familiar with the Oracle-specific statement:
SELECT sal FROM (
SELECT sal FROM mytable ORDER BY sal DESC
) WHERE ROWNUM < 10;
MySQL (and PostgreSQL) is pretty similar where you use a:
SELECT sal FROM mytable LIMIT 10;
With Microsoft SQL Server, you can use the SET ROWCOUNT 10 (Sybase supports this too) before executing a query to return ordered rows and this approach is similar to the MySQL approach. You can also use the TOP keyword (Firebird uses the FIRST keyword instead of the TOP keyword) as follows:
SELECT TOP 10 sal FROM mytable;
The TOP keyword also support the PERCENT keyword after the number, making it more flexible.
Also, with Microsoft SQL Server, you can use a ROW_NUMBER() OVER (ORDER BY column_name) to provide something similar to the ROWNUM pseudocolumn in Oracle. RANK is used similar to ROW_NUMBER, except that RANK supports the use of PARTITION BY (optional) in addition to ORDER BY.
I think an ANSI compliant statement that works across all databases would be something like this:
SELECT sal FROM mytable a WHERE 10 > (
SELECT COUNT(1) FROM mytable b
where b.sal > a.sal
)
ORDER BY sal DESC;
I think a more challenging question for a beginner would be to return the next highest after the Top 'n'. I think I'll save that for the time I'm interviewing experienced job applicants.
New PHP, No IMAP
I got PHP 5.2.5 compiled on my system with a new shiny Apache too. I started off with an old version of CURL so it didn't work. I then got the new version of CURL and it worked! I decided to get IMAP working by trying both the 2006 and the earlier versions, but neither work - the compilation stops due to a variable name conflict. I'm not sure if the 2007 release is stable, but I'll give it a shot.
Anyway, I'll probably just have to go without IMAP till someone decides to work on the source code and come up with a new release.
Anyway, I'll probably just have to go without IMAP till someone decides to work on the source code and come up with a new release.
Subscribe to:
Posts (Atom)