If you’re running the current version of Chrome (25.0.1364.97 as of this writing) you might find that the dropdown button is not showing properly on date input fields. What’s actually happening is that the dropdown is getting rendered below the date input, which can make it invisible if your control isn’t big enough.
Weasyprint is the best python tool I’ve found to convert HTML to PDF. Well-maintained, frequent releases, great documentation, with a solid rendering engine. But for some reason they’re really hard to find when doing a google search for “python html pdf converter”. So here’s my best effort at giving them a little googlejuice: use Weasyprint!
Ironically, the top hit for the search “python html pdf converter”, xhtml2pdf, is a real mess. Poorly maintained, unclear ownership, sparsely documented.
There’s no reason to use anything except Weasyprint to convert HTML documents to PDF from Python!
If you are new to LDAP, and you are compelled to set up an LDAP server for your organization, then you may find that sometimes you will make changes on the server that do not appear when you query from your client.
For instance, maybe you’ve defined a set of POSIX groups and have begun adding members to those groups with the memberUid attribute. And then when you go to one of your LDAP clients and run ‘groups’ or ‘id’ or ‘getent group’ you don’t see the group membership you just set up.
…don’t include any flow control. Therefore, if your producer is producing messages much faster than your consumers can consume them, the messages will buffer. And buffer. To the point that you will either run out of memory, or your workers will start to page out and their performance will degrade badly.
The good news is, there’s an easy fix for this. Use ZMQ’s “High Water Mark” feature to implement blocking on PUSH- and PULL-type sockets. In pyzmq, use the method:
On the sockets for both the producer and consumers. Where LIMIT is the maximum number of outstanding messages. I’ve set PRODUCER_LIMIT to be n*CONSUMER_LIMIT where n is the number of consumers, seems to work pretty well.
There’s a lot of misinformation out there re. how to set javac and scalac compiler options in sbt. You might see stuff about defining a custom Build object in a .scala file. Or a custom Project object. It’s all nonsense. I guess it applies to previous versions of sbt. In sbt 0.11.2, you set javac and scalac compiler options as shown on the sbt examples page here:
Akka is a framework for asynchronous messaging and IO in Scala. A colleague of mine gave it a good recommendation so I thought I’d check it out. It looks very promising although its low-level IO API is not as intuitive as I’d hoped. But, it was very easy to build a simple echo server, the “Hello, World!” of network programming.
Of course, it’s pretty easy to build a blocking socket server in pretty much any language. What I love about Scala+Akka is how easy it is to hide the fact that all of this IO is non-blocking.
scala -cp .:/home/rweeks/projects/akka-2.0/lib/akka/akka-actor-2.0.jar TCPServer
rweeks@foxbat:~/projects/scala-test$ telnet localhost 8080
Connected to localhost.
Escape character is '^]'.
You go first.
You go first.
No, You go first!
No, You go first!