Re: [Dorset] Meeting last night
On 10 Oct 2011, at 19:56, Ralph Corderoy wrote: [snip] A nice description of Lua 5's implementation, including its hybrid hash-table/array implementation, and using a register-based VM compared to its earlier stack-based VM as Python and Perl still use. http://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html [snip] Niggle ;-) Perl 4/5 doesn't really have a VM per se. The code is turned into a syntax tree that's then walked at runtime. See http://perldoc.perl.org/perlcompile.html. AFAIK the various Perl 6 implementations are focused on register based VMs like Parrot (http://en.wikipedia.org/wiki/Parrot_virtual_machine). Cheers, Adrian -- http://quietstars.com adri...@quietstars.com twitter.com/adrianh t. +44 (0)7752 419080 skype adrianjohnhoward del.icio.us/adrianh -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
[Dorset] Netbook
Someone has passed me a Samsung NC10 with a wrecked Windows XP on it. What would be the best Linux distro to put on it, I do use Ubuntu 11.04 on my desktop. Greg -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] Meeting last night
Hi Adrian, On 10 Oct 2011, at 19:56, Ralph Corderoy wrote: A nice description of Lua 5's implementation, including its hybrid hash-table/array implementation, and using a register-based VM compared to its earlier stack-based VM as Python and Perl still use. http://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html Niggle ;-) You're among pedants here. :-) Perl 4/5 doesn't really have a VM per se. The code is turned into a syntax tree that's then walked at runtime. See http://perldoc.perl.org/perlcompile.html. Yes, you're right, it does walk the syntax tree and not turn it into bytecode that's then run on the VM, like Python, I should have been more precise. But the operations carried out are at the level of bytecode instructions, and they operate on a data stack, e.g. `multiply' pops the top two items and pushes the result so I still think the evaluation is stack-based rather than Lua's registers or Parrot. Here's the stack contents and the operation from perl's -D option that I've then annotated on the right. $ perl -Dst -e 'sub f() {my($a, $b) = @_; $a * 42 + $b} f(9, 13)' 21 | expand | awk '/=/ {printf %-44s, $0; next} 1' | sed -n '/=/s/(-e:.) *//p' = enter = nextstate = pushmark = * const(IV(9)) = * IV(9)const(IV(13)) = * IV(9) IV(13)gv(main::f) = * IV(9) IV(13) GV() entersub # f(9, 13) = IV(9) IV(13) nextstate = pushmark = * gv(main::_) = * GV() rv2av = * IV(9) IV(13)pushmark = * IV(9) IV(13) * padsv($a) = * IV(9) IV(13) * UNDEF padsv($b) = * IV(9) IV(13) * UNDEF UNDEF aassign# my($a, $b) = @_ = nextstate = padsv($a) = IV(9) const(IV(42)) = IV(9) IV(42) multiply # $a * 42 = IV(378) padsv($b) = IV(378) IV(13) add# ... + $b = IV(391) leavesub = IV(391) leave $ And for completeness, Python's bytecode. from dis import dis def f(a, b): return a * 42 + b ... def g(): f(9, 13) ... dis(f) 1 0 LOAD_FAST0 (a) 3 LOAD_CONST 1 (42) 6 BINARY_MULTIPLY 7 LOAD_FAST1 (b) 10 BINARY_ADD 11 RETURN_VALUE dis(g) 1 0 LOAD_GLOBAL 0 (f) 3 LOAD_CONST 1 (9) 6 LOAD_CONST 2 (13) 9 CALL_FUNCTION2 12 POP_TOP 13 LOAD_CONST 0 (None) 16 RETURN_VALUE Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] Netbook
I don't know the specs on the NC10, but I have found the Ubuntu Netbook Remix to be very usable on my older Aspire One. On Tue, Oct 11, 2011 at 6:13 AM, greg oconnell greg.oconn...@yahoo.co.ukwrote: Someone has passed me a Samsung NC10 with a wrecked Windows XP on it. What would be the best Linux distro to put on it, I do use Ubuntu 11.04 on my desktop. Greg -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
[Dorset] OT(ish): IDL
Hi, This query is a bit work and Windows related, but AFAIK crosses over into Unix/Linux. At work we help to maintain the IEEE 1641 Standard (http://www.eads- tes.com/Standards/IEEE1641/IEEE1641.htm) and I am currently writing a Validation Spec for compliant solutions. Part of the Standard includes a requirement for support for Interface Description Language (http://en.wikipedia.org/wiki/Interface_description_language) from the Distributed Computing Environment Specification which is maintained by The Open Group. We have always used MS Visual Studio to utilise IDL in our tools, but now I need to identify alternative and cross-platform tools to compile an IDL file and also to compile a program that uses an IDL file to define its API with system drivers. Can anyone tell me: 1. Is IDL generally used outside of MS and / or Windows? 2. If so, are there alternative tools to manipulate it? 3. Are any of those tools available on Unix/Linux platforms? All help gratefully received. -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Hi Terry, Part of the Standard includes a requirement for support for Interface Description Language (http://en.wikipedia.org/wiki/Interface_description_language) from the Distributed Computing Environment Specification which is maintained by The Open Group. (That link's about IDLs in general, not DCE's.) We have always used MS Visual Studio to utilise IDL in our tools, but now I need to identify alternative and cross-platform tools to compile an IDL file and also to compile a program that uses an IDL file to define its API with system drivers. Can anyone tell me: 1. Is IDL generally used outside of MS and / or Windows? I rarely hear of it anymore. DCE originated outside of MS and they used bits of it. There's bound to be legacy Unix stuff still based on it and some new in-house code by existing users may continue using it. 2. If so, are there alternative tools to manipulate it? The Open Group made the source available for their programs I think, and it was forked at one point because there was going to be a licence change. 3. Are any of those tools available on Unix/Linux platforms? http://www.opengroup.org/dce/mall/ http://freedce.sf.net/ The latter includes a yacc(1) grammar for an IDL compiler. http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD The grammar proper starts at line 265. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
On Tuesday 11 Oct 2011, Ralph Corderoy wrote: Part of the Standard includes a requirement for support for Interface Description Language (http://en.wikipedia.org/wiki/Interface_description_language) from the Distributed Computing Environment Specification which is maintained by The Open Group. (That link's about IDLs in general, not DCE's.) True, but there is a link to DCE on that page. We have always used MS Visual Studio to utilise IDL in our tools, but now I need to identify alternative and cross-platform tools to compile an IDL file and also to compile a program that uses an IDL file to define its API with system drivers. Can anyone tell me: 1. Is IDL generally used outside of MS and / or Windows? I rarely hear of it anymore. DCE originated outside of MS and they used bits of it. There's bound to be legacy Unix stuff still based on it and some new in-house code by existing users may continue using it. So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. 2. If so, are there alternative tools to manipulate it? The Open Group made the source available for their programs I think, and it was forked at one point because there was going to be a licence change. 3. Are any of those tools available on Unix/Linux platforms? http://www.opengroup.org/dce/mall/ http://freedce.sf.net/ The latter includes a yacc(1) grammar for an IDL compiler. http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob ;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD The grammar proper starts at line 265. Thanks. -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Hi Terry, I rarely hear of it anymore. DCE originated outside of MS and they used bits of it. There's bound to be legacy Unix stuff still based on it and some new in-house code by existing users may continue using it. So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. Sorry, I don't know. You'd have to find a DCE IDL-using program, e.g. one doing some DCE RPC I guess, and see what it offers. The textual IDL file would be my first thought, or are you thinking there's a way to interrogate a peer to determine the interface it offers at run-time? It seems there is a big user still about today; Samba since it has to use MS-RPC which is derived from DCE/RPC, whether it's compatible I don't know. This should be an interesting read. http://kganugapati.wordpress.com/2008/06/06/a-history-of-ms-rpc-and-open-source-equivalents/ I also found http://www.opensource.apple.com/source/dcerpc/dcerpc-46/dcerpc/include/dce/rpc.idl suggesting it may be used there. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
On Tuesday 11 Oct 2011, Ralph Corderoy wrote: So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. Sorry, I don't know. You'd have to find a DCE IDL-using program, e.g. one doing some DCE RPC I guess, and see what it offers. The textual IDL file would be my first thought, or are you thinking there's a way to interrogate a peer to determine the interface it offers at run-time? AIUI, the IDL file is compiled into a 'type library' which is somehow embedded into a Windows DLL or exe, so that and IDE tool can view the information. I don't do this myself, but I've watched our programmers knock up quick and dirty code, just by looking at this info. I was hoping that there would be more than just MS tools that could do this kind of thing, or at least compile an IDL file to check for errors. I'll have a look at your other links tomorrow. I did ask this quetion at a LUG Meeting recently although in a different form. I was asking if any of the IDE tools available on Linux, (eg Eclipse, KDevelop, etc) had this kind of functionality. I don't think anyone knew at the time. I've been unable to find anything in the Help or Docs for those tools, but maybe I'm searching for the wrong string. How do Linux programmers write function calls? Purely from the Docs? -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue