Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^3: optical encoder

by moritz (Cardinal)
on Mar 16, 2012 at 17:23 UTC ( #960027=note: print w/replies, xml ) Need Help??

in reply to Re^2: optical encoder
in thread optical encoder

The misspelling is right in the code I've posted, not in the module. In fact doesn't handle style specially in any way (though I've pondered it should).

I've now actually tested the code, and this seems to work (the resulting SVG displays fine in firefox and inkscape).

use v6; use SVG; my $r = 150 / 2; my @parts = :circle[ cx => $r, cy => $r, r => $r, style => 'fill:none; stroke: black; stroke-width: 1', ]; for 0, 2 ...^ 360 -> $degrees { my $rad = $degrees / 360 * 2 * pi; @parts.push: 'line' => [ x1 => $r, y1 => $r, x2 => $r + $r * cos($rad), y2 => $r + $r * sin($rad), style => 'stroke: black; stroke-width: 1', ]; } say SVG.serialize: 'svg' => [ width => 2 * $r, height => 2 * $r, @parts, ];

As for the xmlns:svg declaration, that just means that the svg XML namespace is set up as being interpreted as SVG. This allows you (in theory) to do fun stuff like embedding <svg:rect ...> elements straight into XHTML. But even for browsers that support it, it is only supported if the document is delivered as application/xml+xhtml, which is generally no fun, because most IE versions don't render such documents, but offer them for download. </rant>

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://960027]
[Corion]: Meh. I have a very simple mechanism to scrape+track prices, and even to send me mail if something changes (via cron), but SQLite doesn't support window functions, so my simple SQL to determine a price change won't work :-( Maybe I should store the DB ...
[Corion]: ... in Pg, but that would mean that I'd have to deal with credentials and stuff :)
[Corion]: In fact, the whole thing is just four simple programs, one App::scrape, another being DBIx::RunSQL, and one some glue to convert a JSON object into an SQL INSERT statement (+DBI connect/execute), so it would be an incredibly simple solution...
[Corion]: ... but that simplicity falls down due to SQLite letting me down and me being too lazy to move to a real DB. Maybe DBD::CSV can handle window functions...
[hippo]: Pg has the "trust" mechanism if you don't fancy using credentials for a trivial db.
[Corion]: hippo: Oooh, that sounds quite nice - let me read the documentation on that :)

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2018-02-23 15:05 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (302 votes). Check out past polls.