[Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Thomas Hintz
All of these are available in the official egg repo and are documented on
the wiki.

Amazon S3 https://aws.amazon.com/s3/: amazon-s3

Manage buckets, upload files, etc. Has a nice method for dealing with
Amazon's wacky authentication system, which could be useful in dealing with
other Amazon AWS APIs.

SendGrid http://sendgrid.com/: send-grid

Make sure your email gets delivered. SendGrid sends your email and handles
all of the tricky stuff for you.

Stripe https://stripe.com/: striped-zebra

Take payments online. Stripe is a super easy way to quickly take credit
card payments online (US only currently).

They are all just built to what I needed and could be expanded. I welcome
any contributions and would be glad to add more where the APIs are lacking,
if someone needs it.

Thanks,
Thomas Hintz
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Question about embedding Chicken scheme

2013-01-30 Thread Kristian Lein-Mathisen
I see Julian, so when you said you were looking for an embedded language
for doing quests that's exactly what you meant... :)

I'm curious how you end up splitting your data structures. Perhaps it's all
in C/C++ and then you access then from Scheme? There's an example of you
might do that, if you haven't found out already:
http://wiki.call-cc.org/Wrapping%20simple%20c%20structs

You can also use chicken-bind http://wiki.call-cc.org/eggref/4/bind to
familiarize yourself with foreign-lambda and friends. Chicken-bind has
almost a complete C/C++ parser and can produce foreign-lambdas:


$ echo struct player { int level, health; } | chicken-bind - -o -

;;; GENERATED BY CHICKEN-BIND FROM -

(begin
  (define player-level
(foreign-lambda*
  integer
  (((c-pointer (struct player)) s))
  return(s-level);))
  (define player-health
(foreign-lambda*
  integer
  (((c-pointer (struct player)) s))
  return(s-health);))
  (define make-player
(foreign-lambda*
  (c-pointer (struct player))
  ((integer level) (integer health))
  struct player *tmp_ =  (struct player *)C_malloc(sizeof(struct
player));\ntmp_-level = level;\ntmp_-health =
health;\nreturn(tmp_);;\n)))

;;; END OF FILE


If you don't have it already, you can do `chicken-install bind` and play
around. Note that `make-player` above leaks memory.

Best of luck!
K.


On Thu, Jan 24, 2013 at 1:25 AM, Julian Day jcd...@mail.usask.ca wrote:

 On 23/01/2013 6:09 PM, Kristian Lein-Mathisen wrote:

  Are you planning on using any established game-engines or libraries?
 What will probably become very interesting is where your C++-code ends
 and where your Scheme begins.


 Hi Kristian,

 The game is currently pure C and C++.  As for libraries, I currently use
 xerces (XML), curses (UI), Google Test, and boost/stl.  The game itself is
 currently in a playable state - the player can win or lose, there's a
 generated world to explore, etc., though it's currently pretty bare.

 My plan is to start with reasonably small scope, and use Scheme for the
 quest logic.  I'd like to have a number of optional side quests beyond the
 basic roguelike dive to the bottom of the dungeon.  I could do this in
 C++, but I see an opportunity to work in my favourite programming language,
 so I'm going to take it. :)

  So I have a crazy idea, how about writing all of it in Scheme? So
 instead of exposing a function to add a message to the UI, you can
 expose functions to draw the UI,  and do your game in Scheme. Then as
 you move along and things settle, you can port the slow/critical parts
 to faster C-code if you need to. Just a thought. There are several eggs
 http://wiki.call-cc.org/**chicken-projects/egg-index-4.**html#graphicshttp://wiki.call-cc.org/chicken-projects/egg-index-4.html#graphics
 for

 graphics available that might suit your drawing needs, like cairo or
 opengl.


 Much too late for that, I'm afraid!  The game itself is currently just
 under 2 MB of code, resource strings, and configuration details.  I'm quite
 happy with its current state.  I'd love to try Scheme as the main language
 for a game, but this project's much too far in for that.

 Julian


___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Felix
 All of these are available in the official egg repo and are documented on
 the wiki.

 Thanks,

WE have to say thanks, Thomas. Great contributions. In other words:

thanks.


cheers,
felix

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Thomas Hintz
You're welcome. :)

Also, I just noticed that Stripe is now available in Canada as well. If you
are in Canada or the US and want to take credit card payments or handle
recurring payments, I highly highly recommend Stripe. No need for a
merchant account, gateway setup, or storing of any sensitive information.
Once I built the api it only took a few minutes for me to sign up,
integrate it into my site, and start processing cards.


On Wed, Jan 30, 2013 at 3:13 PM, Felix 
fe...@call-with-current-continuation.org wrote:

  All of these are available in the official egg repo and are documented on
  the wiki.

  Thanks,

 WE have to say thanks, Thomas. Great contributions. In other words:

 thanks.


 cheers,
 felix

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Christian Kellermann
* Thomas Hintz t...@thintz.com [130131 00:26]:
 You're welcome. :)
 
 Also, I just noticed that Stripe is now available in Canada as well. If you
 are in Canada or the US and want to take credit card payments or handle
 recurring payments, I highly highly recommend Stripe. No need for a
 merchant account, gateway setup, or storing of any sensitive information.
 Once I built the api it only took a few minutes for me to sign up,
 integrate it into my site, and start processing cards.

Now I am really curious: Can you tell me the URL of your site?

This is an awesome amount of work, thank you!

Cheers,

Christian

-- 
In the world, there is nothing more submissive and weak than
water. Yet for attacking that which is hard and strong, nothing can
surpass it. --- Lao Tzu

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Thomas Hintz
The Stripe card processing page can be found here:
https://a.keeptherecords.com/sign-up/payment/basic. The homepage is
http://keeptherecords.com, which is wordpress. The app, written in chicken
scheme, is http://a.keeptherecords.com. (goto /demo if you want to check it
out).


On Wed, Jan 30, 2013 at 3:35 PM, Christian Kellermann
ck...@pestilenz.orgwrote:

 * Thomas Hintz t...@thintz.com [130131 00:26]:
  You're welcome. :)
 
  Also, I just noticed that Stripe is now available in Canada as well. If
 you
  are in Canada or the US and want to take credit card payments or handle
  recurring payments, I highly highly recommend Stripe. No need for a
  merchant account, gateway setup, or storing of any sensitive information.
  Once I built the api it only took a few minutes for me to sign up,
  integrate it into my site, and start processing cards.

 Now I am really curious: Can you tell me the URL of your site?

 This is an awesome amount of work, thank you!

 Cheers,

 Christian

 --
 In the world, there is nothing more submissive and weak than
 water. Yet for attacking that which is hard and strong, nothing can
 surpass it. --- Lao Tzu

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Thomas Hintz
Oh and if you're really curious and/or bored the source for the entire
application is here https://github.com/ThomasHintz/keep-the-records. (and
yes all of the source for my company's apps are bsd licensed).
On Jan 30, 2013 3:52 PM, Daniel Leslie d...@ironoxide.ca wrote:

 Very cool, thank-you!

 -Dan


 On Wed, Jan 30, 2013 at 3:40 PM, Thomas Hintz t...@thintz.com wrote:

 The Stripe card processing page can be found here:
 https://a.keeptherecords.com/sign-up/payment/basic. The homepage is
 http://keeptherecords.com, which is wordpress. The app, written in
 chicken scheme, is http://a.keeptherecords.com. (goto /demo if you want
 to check it out).


 On Wed, Jan 30, 2013 at 3:35 PM, Christian Kellermann 
 ck...@pestilenz.org wrote:

 * Thomas Hintz t...@thintz.com [130131 00:26]:
  You're welcome. :)
 
  Also, I just noticed that Stripe is now available in Canada as well.
 If you
  are in Canada or the US and want to take credit card payments or handle
  recurring payments, I highly highly recommend Stripe. No need for a
  merchant account, gateway setup, or storing of any sensitive
 information.
  Once I built the api it only took a few minutes for me to sign up,
  integrate it into my site, and start processing cards.

 Now I am really curious: Can you tell me the URL of your site?

 This is an awesome amount of work, thank you!

 Cheers,

 Christian

 --
 In the world, there is nothing more submissive and weak than
 water. Yet for attacking that which is hard and strong, nothing can
 surpass it. --- Lao Tzu



 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-users



___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] ANN new eggs for Amazon S3, SendGrid, and Stripe

2013-01-30 Thread Daniel Leslie
Very cool, thank-you!

-Dan


On Wed, Jan 30, 2013 at 3:40 PM, Thomas Hintz t...@thintz.com wrote:

 The Stripe card processing page can be found here:
 https://a.keeptherecords.com/sign-up/payment/basic. The homepage is
 http://keeptherecords.com, which is wordpress. The app, written in
 chicken scheme, is http://a.keeptherecords.com. (goto /demo if you want
 to check it out).


 On Wed, Jan 30, 2013 at 3:35 PM, Christian Kellermann ck...@pestilenz.org
  wrote:

 * Thomas Hintz t...@thintz.com [130131 00:26]:
  You're welcome. :)
 
  Also, I just noticed that Stripe is now available in Canada as well. If
 you
  are in Canada or the US and want to take credit card payments or handle
  recurring payments, I highly highly recommend Stripe. No need for a
  merchant account, gateway setup, or storing of any sensitive
 information.
  Once I built the api it only took a few minutes for me to sign up,
  integrate it into my site, and start processing cards.

 Now I am really curious: Can you tell me the URL of your site?

 This is an awesome amount of work, thank you!

 Cheers,

 Christian

 --
 In the world, there is nothing more submissive and weak than
 water. Yet for attacking that which is hard and strong, nothing can
 surpass it. --- Lao Tzu



 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-users


___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Msgpack implementation for scheme (and some questions)

2013-01-30 Thread Kristian Lein-Mathisen
Hi Hugo,

Msgpack seems like an interesting project indeed. Thanks for making an egg
for it!

I'm quite a newbie myself, but I noticed the coops egg includes the module
implementation 
directlyhttp://bugs.call-cc.org/browser/release/4/coops/trunk/coops-module.scm,
so you don't have to declare two modules. Maybe that's easier in your case
too?

I also noticed you're using (let () ...). Is there a reason you're not
simply using (begin ...)?

I've been poking around the msgpack-repositories, they support a lot of
languages! It's real neat that Chicken Scheme now joins in on the fun too.
So, looking at the node.js
porthttps://github.com/msgpack/msgpack-node/tree/master/deps/msgpack,
it seems like they've created js-bindings to the official C library.
Perhaps this might be suitable for Chicken Scheme too? From what I can
tell, you are reimplementing most of the functionality from scratch, is
that correct?

Great work, great piece of software to keep handy!
K.


On Tue, Jan 29, 2013 at 1:18 AM, Ivan Raikov ivan.g.rai...@gmail.comwrote:

 Hi Hugo,

  Thanks for your work on msgpack, it seems like an interesting
 project. Unfortunately, machine floating point formats are complicated, so
 any related code will be complicated as well. I don't know much about the
 msgpack protocol, but if representing floating-point numbers as strings is
 an option, I encourage you to look at fpio (
 http://wiki.call-cc.org/eggref/4/fpio ), a BSD-licensed egg for
 converting  floating point numbers to strings and vice versa. endian-blob
 includes code from GDB, so it cannot be relicensed without approval from
 the GNU project.

   Ivan



 On Tue, Jan 29, 2013 at 5:53 AM, Hugo Arregui hugo.arre...@gmail.comwrote:

 Hi,

 Recently I wrote an implementation of msgpack[1], which can be found
 here[2]. This is my first full project in scheme, so I would
 appreciate any feedback (please, be destructive).

 A couple of points already has been mentioned:

 - Macros to reduce redundancy (I'm reading about them, so I'm
 expecting to fix this soon).
 - A non technical but important thing: I'm using endian-blob egg,
 which is licensed as gpl and it's incompatible with the project
 license, which is bsd.

 But, beside that, I have a few questions:

 1) To avoid the creation of very heavy structures in tests, i'm using
 a kind of mock[3], which overrides some procedures, and restores it
 later. Is this the right way to do it?.

 In fact, in the egg branch I tried to pack the project as an egg and
 I think this hack is not working.

 2) To access the procedures mentioned in (1), i'm using two modules:
 msgpack-imple which contains the whole project and it's used for the
 tests, and msgpack which import msgpack-imple and expose the real
 interface. Again, is this the right way to do it?

 3) To read/write float/double numbers (in ieee754) i'm using
 endian-blob egg (here[4]), it's there any alternative without
 implementing the full float/double-binary logic (which seems quite
 complicated)?

 Thanks,
 Hugo.

 [1] http://msgpack.org/
 [2] https://github.com/hugoArregui/msgpack-scheme
 [3]
 https://github.com/hugoArregui/msgpack-scheme/blob/master/tests/run.scm#L187
 [3]
 https://github.com/hugoArregui/msgpack-scheme/blob/master/msgpack-imple.scm#L131

 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-users



 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-users


___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users