cancel
Showing results for 
Search instead for 
Did you mean: 

Welcome!

niall_dalton
New Contributor


As members of this group you probably already know that we have
released a free version of 32-bit kdb+, for all platforms, for non-
commercial use. To learn kdb+ you will find a couple of other new
developments to be useful:


- code.kx has been opened to anonymous read-only users. The page at
http://code.kx.com has been updated to note that you may log in with
username anonymous and password anonymous. If you have material you
would like to contribute to code.kx then you can email
codeadmin@kx.com to request an account with write access.


- Jeffry Borror's book "q for Mortals" is now available from
amazon.com. Hopefully this link will take you right there:

http://www.amazon.com/Q-Mortals-Tutorial-Programming/dp/1434829014/ref=sr_1_1?ie=UTF8&s=books&qid=1207298595&sr=8-1


Enjoy!

niall

13 REPLIES 13

sa
New Contributor


hi nial - just a test

cdiggins
New Contributor


Hi Niall,

Thank you for making the Kdb release available to us.


<0276d021-7bf6-43dd-8169-d7f723024214@a70g2000hsh.googlegroups.com>

You can put things whereever you want, just define a QHOME variable, e.g.
set QHOME=C:\Documents and Settings\a\Desktop\windows
This applies to other operating systems as well.
Executable could be moved to a directory which is in the PATH (for
example c:\WINDOWS) or QHOME/w32 could be added to PATH (if you don't
have rights elsewhere just in your home).

Regards,
Attila
On Sat, Apr 5, 2008 at 5:53 PM, Christopher Diggins wrote:
>
> Hi Niall,
>
> Thank you for making the Kdb release available to us.
>
> On Apr 5, 10:35 am, niall wrote:
> > As members of this group you probably already know that we have
> > released a free version of 32-bit kdb+, for all platforms, for non-
> > commercial use. To learn kdb+ you will find a couple of other new
> > developments to be useful:
> >
> > - code.kx has been opened to anonymous read-only users. The page athttp://code.kx.comhas been updated to note that you may log in with
> > username anonymous and password anonymous.
>
> Logging on to access documentation is a really annoying requirement.
> Any chance of just makign the material publicly available?
>
> Another comment, the Win32 version requires hard-naming of folders.
>
> "- On Windows unzip this zip file to c:\q and then open a command
> prompt window and run c:\q\w32\q".
>
> If you don't do it, the whole thing doesn't work. Any chance we can
> have that fixed?
>
> I look forward to using K.
>
> Christopher Diggins
> http://www.cdiggins.com
>
>
> >
>

Sam
New Contributor
Great news, but this seems to be like what Kx did several years ago. Ithought the intent was to open-source the language, and thisdistribution contains an executable and some k source files (oneimplementing the q "overlay" language?). But not k itself.Too bad - I'm fascinated by the language and will definitely spendtime learning about its various features, but there's no way I candevote the time and energy to become expert in a proprietary languagethat can be withdrawn from the public without notice.(This brings up a larger question that I hope doesn't antagonize theenthusiasts. Why are APL and its derivatives almost all closed source?I have no problems with Kx or other vendors keeping their "secretsauce" applications closed source, such as kdb++, but the languageitself? This inherently limits the available audience.)Sam Murphy

> Great news, but this seems to be like what Kx did several years ago. I> thought the intent was to open-source the language, and this> distribution contains an executable and some k source files (one> implementing the q "overlay" language?). But not k itself.No, the intention was not to open source kdb+. Please note as wellthatthis is not k (the older language from Kx Systems) nor kdb. Theprogramminglanguage is "q" and the database layer is referred to as "kdb+".However thereis not a major distance between the two.There is a k-style language used internally within the system as abootstraplanguage and this is what you are seeing in the .k scripts. However,usersare expected to be working in q (although its possible to drop to thelower level).niall

> No, the intention was not to open source kdb+. Please note as well> that> this is not k (the older language from Kx Systems) nor kdb. The> programming> language is "q" and the database layer is referred to as "kdb+".> However there> is not a major distance between the two.>Ah, I didn't appreciate the tight integration that exists now. Whathas been released for evaluation is actually the database - the qlanguage associated with it is to write kdb+ applications. I had thesequence reversed... ;-)I didn't think kdb+ would be open-sourced, but I remember (vagueinternet memories, possibly derived from the vector uk org) that theidea of open-sourcing k was floated. So there's no interest in open-sourcing the old, obsolete k? That would be of much interest to me andhopefully a larger audience.If not - oh well. My earlier comment still applies. I'll spend sometime looking at the more novel (genius, actually) ideas.Thanks for the explanation.Samuel

> has been released for evaluation is actually the database - the q> language associated with it is to write kdb+ applications. I had the> sequence reversed... ;-)In kdb+ it can be hard to separate the "q"uery/programming languageand the database - actually I tend to think of them as one and thesame. For me, this is where a lot of the power comes from. Firing up qgives you scope to build in-memory databases, on-disk databases,streaming event processing, async-ly communicating distributed apps,or any combination of the above.niall

On Sat, Apr 5, 2008 at 6:42 PM, niall wrote:>> > has been released for evaluation is actually the database - the q> > language associated with it is to write kdb+ applications. I had the> > sequence reversed... ;-)>>> In kdb+ it can be hard to separate the "q"uery/programming language> and the database - actually I tend to think of them as one and the> same.It shouldn't be. One's a programming language and one's a database.That's like saying SQL and SQL Server are the same thing.- Christopher

X-Mailer: Apple Mail (2.919.2)X-HELO-Warning: Remote host 213.182.238.93 incorrectly presented itself as [90.0.0.65]X-Scan-Signature: 7c4c3be5d1cc838e04794291f81be8da> That's like saying SQL and SQL Server are the same thing.While you might sometimes get the impression that that's actually the case when indulging in MSFT literature, it's actually more like saying that the C(++?) code implementing low(er)-level database operations and SQL Server are the same thing, which, under sufficiently wicked semantics, they indeed are.With kdb+, you get not only one kind of database, but also a rich toolbox to build all kinds of specialized databases, which is of course great for people who (think they) know what they're doing.-- Chris

Christopher Diggins wrote:> niall wrote:> > In kdb+ it can be hard to separate the "q"uery/programming language> > and the database - actually I tend to think of them as one and the> > same.> It shouldn't be. One's a programming language and one's a database.> That's like saying SQL and SQL Server are the same thing.Lisp's language and Lisp's garbage collection are the same thing. Inthe same way, q and kdb+ are the same thing. By tying the language andthe runtime capabilities together, the resulting system can be(possibly) easier to address.You certainly can't claim that separating the two makes things easier-- consider Java and SQL (I'm a Hibernate expert, much to my distressand dismay; I can crash any reasonably current version of Hibernate inseveral different ways while doing things well within its alleged ken,such as subqueries or joins).> - Christopher-Wm

On Apr 5, 11:56�pm, "Christopher Diggins" wrote:> It shouldn't be. One's a programming language and one's a database.> That's like saying SQL and SQL Server are the same thing.No; its saying something more like "the SQL implementation in SQLServer and SQL Server are the same thing" (not that I want to head offdown that path of discussions). What I was meaning is that to me theimplementation of the q language and the database are the same thing.For example if I start with scalars..q)1,21 2Then start using lists..q)a:1 2 3 4 5q)b:2 3 4 5 6q)a,b1 2 3 4 5 2 3 4 5 6and then dictionaries..q)d:1 2 3 4 5!1 2 3 4 5q)d1| 12| 23| 34| 45| 5q)e:2 3 4 5 6!2 3 4 5 6q)d,e1| 12| 23| 34| 45| 56| 6and then tables...q)f:([]a:til 5;b:til 5)q)fa b---0 01 12 23 34 4q)g:([]a:1_til 6;b:1 _ til 6)q)ga b---1 12 23 34 45 5q)f,ga b---0 01 12 23 34 41 12 23 34 45 5and then break out some more useful syntax for dealing with tables..q)select a,b:a*b from fa b----0 01 12 43 94 16q)c:1 % 1 2 3 4 5q)f:([]a:til 5;b:til 5)q)select a,b:c*b from fa b-----------0 01 0.52 0.66666673 0.754 0.8or fire up a server port..q)\p 5000and then from another q prompt start asking questions across asocket..q)handle : hopen `:localhost:5000q)handle "2+2"4q)handle "select a,b:a*b from f"a b----0 01 12 43 94 16where did the language end and the database begin? And as Christiannoted there are many more specialized tools as we work up toapplications that people think of when they think "Database" (thecapital 'D' is vital ;-). Besides saving tables (and other datastructures) as a single file, or saving tables with a column orientedlayout (ie a file per column), or horizontally and verticallypartitioned layout.. you get to combine all these features in a waythat makes sense for your application.As I think of it, I should also mention that there are interestingresources out there besides those provided by Kx. Examples would bethe Eclipse and Netbeans integration:http://www.qkdt.org/http://www.sinv.de/slog/?p=37niall

Sam wrote:> Too bad - I'm fascinated by the language and will definitely spend> time learning about its various features, but there's no way I can> devote the time and energy to become expert in a proprietary language> that can be withdrawn from the public without notice.I have the same feelings. I'm going to put some effort into thisanyhow, since the documentation is (for a very pleasant change)extremely clear.But I have some additional fears. The license says that kdb+ will runfor at most 2 hours at a time, and that the entire thing will disableitself at a specified date (although the date isn't specified anywherethat I could find). Are any of those terms actually enforced insoftware? Even if not, they certainly could be, which makes the wholeassembly less appealing in general.There's also a prohibition against using kdb+ for "production". Isuspect that this is a legal term referring, possibly, to apublic-facing service that produces corporate income in some way... Ihope and believe that it _doesn't_ mean "you can't use this foranything useful for yourself".> (This brings up a larger question that I hope doesn't antagonize the> enthusiasts. Why are APL and its derivatives almost all closed source?> I have no problems with Kx or other vendors keeping their "secret> sauce" applications closed source, such as kdb++, but the language> itself? This inherently limits the available audience.)Ya, I always wondered.But hey, look at the good side -- this release definitely brings verygood things out in public, and the documentation is greatly betterthan anything we've seen in the past. I've always wanted to learn K,and here's a little chance, although one with no prospect of personalusefulness.> Sam Murphy-Wm

> Are any of those terms actually enforced in software?When you start q you can see the date at which it'll expire - in thiscase its 2009.04.01. We intend to update the packages every so oftenand push that date out each time. These are first steps and we reservethe right to loosen restrictions as we go :-)> There's also a prohibition against using kdb+ for "production". I> suspect that this is a legal term referring, possibly, to a> public-facing service that produces corporate income in some way... I> hope and believe that it _doesn't_ mean "you can't use this for> anything useful for yourself".While I cannot provide legal advice the intention is that you are freeto use it for anything which does not involve commercial activities;essentially if you profit then you should have a commercial licenseand be using the 64 bit version with all the latest features. On theother hand if you want to write a useful service backed by kdb+ foryour own personal use then we'd be delighted to see you do that. Ifyou explore code.kx then you'll find useful additions such as pythonintegration, excel integration, vim support etc. which might help youget started.Some people have contacted us as "language geeks" (I resemble thatremark) and want to learn q simply out of curiosity. Others areinterested in learning the technology as a step towards certain typesof jobs - our customers are always on the lookout for smart people whounderstand, and can apply, this technology so we want to encouragepeople to experiment and learn. Yet more are interested in having ahighly productive tool for writing their personal utilities orexperimenting with building unfamiliar types of applications. My hopeis that this first release goes some way to furthering these and othergoals.niall