So
yesterday
I had left over SQL error that I wanted to have a look at. The error was
FROM locations WHERE <*>.city =
so I had no view in the where predicate;
$new_da->add_condition({left =>{ name => 'city',
},
right =>{ value => $other_user}
});
As I have saind in many previous posts I want to got give the DAD writer data that is as sanitized as possiable and therefor I should fix the above.
I first broke the code for setting the element on a view into is own private sub;
I vividly recall my first steps in Perl 6 were just a couple of months
before
the first stable release of the language in December 2015. Around that time,
Larry Wall was making a presentation and showed a neat feature—the sequence
operator—and it got me amazed about just how powerful the language is:
# First 12 even numbers:
say (2, 4 … ∞)[^12]; # OUTPUT: (2 4 6 8 10 12 14 16 18 20 22 24)
# First 10 powers of 2:
say (2, 2², 2³ … ∞)[^10]; # OUTPUT: (2 4 8 16 32 64 128 256 512 1024)
# First 13 Fibonacci numbers:
say (1, 1, *+* … ∞)[^13]; # OUTPUT: (1 1 2 3 5 8 13 21 34 55 89 144 233)
Its back-end has been designed and implemented in order to allow future hypervisors to be added to the framework. Currently, it supports KVM and LXC is in the works.
The client only requirements are: a web-browser and a remote viewer supporting the spice protocol.
It is very easy to install and use, following the documentation, virtual machines can be deployed in minutes. It is an early release but is has been used in production. The frontend has been built with Mojolicious and the hypervisor connections are made with Sys::Virt . It is open source and the code can be download from github. Contributions welcome !
Main Features:
KVM backend for Windows and Linux Virtual machines
LDAP and SQL authentication
Kiosk mode
Remote Access with Spice for Windows and Linux
Light and fast virtual machine clones for each user
So yesterday I left off with my SQL looking correct but my query failing on the DBD::DBM so to-day I though I better just do a quick postette just to prove to my many readers that my code actually works.
So I all did was write up this quick little script
--------------------------------------------------------------------------- SPVM - Fast calculation, GC, static typing, VM with perlish syntax SPVM(CPAN)
Nobody seems to have blogged about Les Journées Perl so I thought I would blog about Les Journées Perl. Or maybe I haven't been paying attention, or it passed by me in a state of crossing timezones?
I was travelling back from the UK office the weekend the workshop happened, so stopped by. I also uploaded a couple of photos to the perl_events Instagram feed. The workshop was held in the Carrefour numérique in the Cité des Sciences et de l'Industrie in Paris - a very interesting space within a very interesting space. Possibly one of the most interesting spaces I've been that has hosted a Perl workshop. Here's a recap of the talks I understood that stuck in my mind, I believe the talks were recorded so may appear online soon. You can find all the talks, with links to slides/etc here.
As things went just a little to smoothly over the past few post I though it would be a good day to try something that I know is going to cause me grief. In the vain I added this test;
This post contains an Arduino Trinket Pro GPS prototype project that only relates to Perl in that all of my knowledge and experience came from my Raspberry Pi Perl work, along with writing C/XS code for several ICs and sensors and making those available as Perl APIs. I'm posting it here due to that relevancy, and because I don't blog anywhere else ;)
To start off, I'll explain a little bit how I got to this path.
I became interested in the Raspberry Pi after a colleague showed me a project he had built with one. I went out, bought a couple and started tinkering. The very first thing I wanted to do was use Perl on it. There were a couple of libraries available, but they seemed convoluted to me, so I wrote my own.
Here’s a fun one that caused perl to go into an infinite loop. I suppose being frugal and not assigning things to variables is not necessarily a good idea.
It was 20 years ago (almost) that a group of New Yorkers started Perl mongers. I think at the time we were eating something the caterer for The Perl Conference called "California sandwich" that had sprouts and avocado. In 1997, there was a small core of a Perl community that worked on perl, but there was still room for regular user engagement.
I didn't see this coming. While I was in Amsterdam a couple of weeks ago, Wendy noted that 1997 and 2017 end in the same digit (as does 1967). I don't think we've ever bothered to celebrate an anniversary. I went to check on the date. I registered pm.org on August 22, 1997, which I think makes August 21 the birthday. That was the last day of that conference.
We'll have to do something special guess.
I know that NY.pm will have its anniversary this year, and there my be some other groups. London.pm, when did you start? I think Boston and Seattle was in there very quickly. Who else?
With new cool TLD's available, I purchased perl dot sydney which is the perfect domain for Sydney Perl Mongers.
Our current/old website is dated and tired, so I also spent some time whipping into shape a new website using GH pages. Having GH pages automagically compile markdown files into HTML is very neat. Plus having everything in github so people can PR, and having group access - are both great. But... that Jekyll isn't Perl does make me feel somewhat sold out, even if it's being used implicitly.
Anyway, please take a look and proof read the perl dot sydney website. Send PR's for all my typos and grammatical errors (people in irc.perl.org's #australia have already gone over it)
Also, if you would like to order one of our Tshirts (which help pay for these vanity domains and our meetup page) - check out the details on our Facebook page.
As some recall, Rakudo's 2017.04 release was somewhat of a
trainwreck. It was
clear the quality assurance of releases needed to be kicked up a notch. So
today, I'll talk about what progress we've made in that area.
Define The Problem
A particular problem that plagued the 2017.04 release were big changes and
refactors made in the compiler that passed all the 150,000+ stresstests, however
still caused issues in some ecosystem modules and users' code.
The upcoming 2017.06 has many, many more big changes:
IO::ArgFiles were entirely replaced with the new IO::CatHandle implementation
IO::Socket got a refactor and sync sockets no longer use libuv
IO::Handle got a refactor with encoding and sync IO no longer uses libuv
Sets/Bags/Mixes got optimization polish and op semantics finalizations
It playing with update and container day here in the Moose-pen.
Now that I have the 'create' function working so well with execute_array I figured the next logical step would be to do 'update' function but I have one small problem. When I attempt to do this;
A while back
I introduced the alienfile recipe system and we wrote a simple alienfile that provides in a CPAN context the tool xz and the
library liblzma. I also went over how to test it with App::af.
The week after that
I showed how to integrate that alienfile into a fully functioning Alien called Alien::xz and promised to show how to then use
that Alien from an XS or FFI module. Today I am going to do that. I am also going to show how to use a tool oriented Alien module.
(conveniently, Alien::xz can be used in either library or tool oriented Alien mode). If you are more interested in FFI or tool oriented mode
feel free to skip down to the appropriate paragraph.
At The Perl Conference in Washington DC, I'll be giving a talk on Modeling a Universe in Perl. For previous versions of this talk, people have asked for more information about how we model complex actions in a (mostly) declarative manner. For example, here's the code for purchasing a clone:
It's the Steps() function which is our declarative code. As you might imagine, there are tons of actions which might require that you be in a particular area, or have credits removed from your wallet, so the Area and Wallet lines can be dropped into any Steps() function anywhere throughout our code. But people want to know how this works. In reality, it's pretty simple.