1
It's a rather obvious rejoinder, but anyone who wants to gripe about how Gellar "provoked" anyone should be reminded, then, that Piss Christ was equally provocative, and such griping just serves to remind Christians that perhaps they should be a little muscular in their complaints.
Posted by: RickC at Wednesday, May 06 2015 10:45 PM (0a7VZ)
2
Clash of Kings Hack works with with operating methods: Mac,
Windows, Linux Our software doesn't get any of your personal data - accounts or e-mails.
Posted by: dragon blaze hack at Saturday, May 30 2015 03:42 PM (v+6BJ)
3
Can I just say what a relief to discover someone who genuinely understands what they are talking
about on the net. You actually understand how to bring a problem to light and make it important.
More people really need to read this and understand this side of your story.
I was surprised you're not more popular because you most certainly
possess the gift.
Posted by: Play Puzzle Games at Sunday, June 14 2015 05:23 PM (zWymv)
4
Yes! Finally something about Motorcycle
Accident Attorney.
5
I do believe all the ideas you have presented for your post.
They’re pretty convincing and can surely work. Still, the posts are
incredibly quick for newbies. Thanks for the post.
Posted by: greenville sc seo at Saturday, June 27 2015 01:31 AM (LX4Ox)
6
What's up, I wish for to subscribe for this weblog to get latest updates,
so where can i do it please help.
8
We are a bunch of volunteers and opening a new scheme in our community.
Your web site provided us with useful info to
work on. You have performed a formidable task and our entire neighborhood can be thankful to you.
Posted by: Steven Den Beste at Friday, May 01 2015 04:15 PM (+rSRq)
2
(By the way, folks, try doing a NSFW Google image search for "Ai Shinozaki" if you're curious.)
Posted by: Steven Den Beste at Friday, May 01 2015 04:17 PM (+rSRq)
3
At first, only the top half of the picture was onscreen. "Cute face" *scroll down* Bam! Does not compute....
Posted by: Mauser at Friday, May 01 2015 06:55 PM (TJ7ih)
4
Here's an excellent source for the headlights, er, "highlights", of Ai's career.
-j
Posted by: J Greely at Monday, May 04 2015 06:40 AM (ZlYZd)
5
Not that I'm suggesting that you never post again, of course, but part of me is going to mourn a bit the next time you do because I won't see this girl when I visit.
Posted by: Steven Den Beste at Tuesday, May 05 2015 10:21 AM (+rSRq)
Testing various libraries and patterns on Python 2.7.9 and PyPy 2.5.1
Test
Python
PyPy
Gain
Loop
0.27
0.017
1488%
Strlist
0.217
0.056
288%
Scan
0.293
0.003
9667%
Lambda
0.093
0.002
4550%
Pystache
0.213
0.047
353%
Markdown
0.05
0.082
-39%
ToJSON
0.03
0.028
7%
FromJSON
0.047
0.028
68%
ToMsgPack
0.023
0.012
92%
FromMsgPack
0.02
0.013
54%
ToSnappy
0.027
0.032
-16%
FromSnappy
0.027
0.024
13%
ToBunch
0.18
0.016
1025%
FromBunch
0.187
0.016
1069%
CacheSet
0.067
0.046
46%
CacheGet
0.037
0.069
-46%
CacheMiss
0.017
0.015
13%
CacheFast
0.09
0.067
34%
CachePack
0.527
0.162
225%
PixyMarks
13.16
40.60
209%
Notes
The benchmark script runs all the tests once to warm things up, then runs them three times and takes the mean. The PixyMark score is simply the inverse of the geometric mean of the scores. This matters for PyPy, because it takes some time for the JIT compiler to engage.
Tests were run on a virtual machine on what I believe to be a Xeon E3 1230, though it might be a 1225 v2 or v3.
The Python Markdown library is very slow. The best alternative appears to be Hoep, which is a wrapper for the Hoedown library, which is a fork of the Sundown library, which is a fork of the unfortunately named Upskirt library. (The author of which is not a native English speaker, and probably had not previously run into the SJW crowd.)
Hoep is slower for some reason in PyPy than CPython, but still plenty fast.
cPickle is an order of magnitude slower than a good JSON or MsgPack codec.
The built-in JSON module in CPython is the slowest Python JSON codec. The built-in JSON module in PyPy appears to be the fastest. For CPython I used uJSON, which seems to be the best option if you're not using PyPy.
CPython is very good at appending to strings. PyPy, IronPython (Python for .Net) and Jython (Python for Java) are uniformly terrible at this. This is due to a clever memory allocation optimisation that is tied closely to CPython's garbage collection mechanism, and isn't available in the other implementations.
I removed the test from my benchmark because for large strings it's so slow that it overwhelms everything else. Instead, append to a list and join it when you're done, or something along those lines.
I generally see about a 6x speedup from PyPy. In these benchmarks I've been focusing on getting the best possible speed for various functions, using C libraries wherever possible. A C library called from Python runs at exactly the same speed as a C library called from PyPy, so this has inherently reduced the relative benefits of PyPy. PyPy is still about 3x faster, though; in other words, migrating to PyPy effectively turns a five-year-old mid-range CPU into 8GHz next-gen unobtainium.
If you are very careful about selecting your libraries. There's an alternate Snappy compression library available. It's about the same speed under CPython, but 30x slower under PyPy due to inefficiencies in PyPy's CTypes binding.
uWSGI is pretty neat. The cache tests are run using uWSGI's cache2 module; it's the fastest caching mechanism I've seen for Python so far. Faster than the native caching decorators I've tested - and it's shared across multiple processes. (It can also be shared across multiple servers, but that is certain to be slower, unless you have some seriously fancy networking hardware.)
One note, though: The uWSGI cache2 Python API is not binary-safe. You need to JSON-encode or Base64 or something along those lines.
The Bleach package - a handy HTML sanitiser - is so slow that it's useless for web output - you have to sanitise on input, which means that you either lose the original text or have to store both. Unless, that is, you have a caching mechanism with a sub-microsecond latency.
The Bunch package on the other hand - which lets you use object notation on Python dictionaries, so you can say customer.address rather than customer['address'] - is really fast. I've been using it a lot recently and knew it was fast, but 1.6us to wrap a 30-element dictionary under PyPy is a pretty solid result.
As an aside, if you can retrieve, uncompress, unpack, and wrap a record with 30 fields in 8us, it's worth thinking about caching database records. Except then you have to worry about cache invalidation. Except - if you're using MongoDB, you can tail the oplog to automatically invalidate cached records. And if you're using uWSGI, you can trivially fork that off as a worker process.
Which means that if you have, say, a blogging platform with a template engine that frequently needs to look up related records (like the author or category for a post) this becomes easy, fast, and almost perfectly consistent.
I listened to part of that, and the soloist (that guy in the middle) has an astounding voice. When he's singing in his falsetto he sounds like a woman, and for a while I wondered if he was lipsynching.
The guy on the lower right corner looks like he was built out of spare parts stolen from a cemetery. He just needs a couple of bolts sticking out of his neck to be complete.
I looked at their Wikipedia site and it said that their ambition is to be the latest successful a capella group. Which is a noble ambition, but I had to think about it for a moment.
Manhattan Transfer is gone, and Rockapella was never really much of a success, though they're still performing. So I guess the "successful a capella group" slot really is empty right now.
Posted by: Steven Den Beste at Friday, April 24 2015 04:52 AM (+rSRq)
2
They should appear in an episode of Doctor Who as a 51st century pop group. Probably would have worked better in Chris Ecclestone's time, but they weren't around then.
They look pretty different without the makeup.
Posted by: Pixy Misa at Friday, April 24 2015 06:13 PM (PiXy!)
Not the most violent, but in terms of covering a large area, dumping huge amounts of water over everything in sight, blowing down trees, and generally continuing to cause havoc for two full days so far, definitely the biggest.
I can't actually remember the Parramatta River (the main river flowing into Sydney Harbour) flooding before. I'm worried about the Nepean River, which is where we usually get major flooding in weather like this. (Miles and miles from where I live, but the one place we do get significant flooding in Sydney.)
Posted by: Steven Den Beste at Wednesday, April 22 2015 12:45 AM (+rSRq)
2
But it's nicer if it's spread out over more time, I must admit.
Posted by: Steven Den Beste at Wednesday, April 22 2015 01:59 AM (+rSRq)
3
Well, there's rain and then there's a foot of rainfall in 24 hours accompanied by 80mph winds. That's not so good.
Right now it's stopped here, after 48 hours of constant heavy rain and high winds. It's almost eerie how quiet it is. From the weather radar it looks like I'm in a localised pocket of calm and the storm will be back by morning.
Posted by: Pixy Misa at Wednesday, April 22 2015 02:05 AM (PiXy!)
4
Found a report on flooding on the Parramatta River from earlier this year, which shows that I'm just not all that attentive.
But the picture there shows the same ferry terminal as the video above, except that back in January water was flowing from somewhere else across the terminal and draining into the river, where now the river itself has risen to flood the terminal and everything around it.
Posted by: Pixy Misa at Wednesday, April 22 2015 02:39 AM (PiXy!)
Posted by: Steven Den Beste at Wednesday, April 22 2015 05:06 AM (+rSRq)
6
Weather moves from west to east over most of Australia, but in the opposite direction in the far north. The result is that tropical storms will occasionally get stuck and wander south, sometimes as far as Sydney.
Very similar to the continental US and hurricanes tracking up your east coast, just with north and south reversed.
Posted by: Pixy Misa at Wednesday, April 22 2015 09:11 PM (PiXy!)