These Sidewalk Games Only Appear When It Rains

These Sidewalk Games Only Appear When It Rains

NeverWet is a water-repellent spray that can basically keep anything dry. It’s cool, if not the most practical thing in the world. But apply it to a sidewalk, let it rain, and magical things start to happen.

The project is the work of Seattle-based artist Peregrine Church, whose (entirely laudable) mission was to "make people’s rainy a little bit better". To do that, he sprayed NeverWet through a stencil onto the sidewalk, making select parts of the sidewalk completely waterproof.

The result, as you can see above, is games and illustrations that appear when it starts raining: : the dry bits of sidewalk carrying the message stands out from the wet. You’ve got everything from hopscotch to inspirational messages — basically, anything you can stencil onto a sidewalk.

The art installations are in Seattle (which makes sense, given the climate), but anyone armed with a $20 bottle of spray and some cardboard can go make their own. Just add water. [YouTube via Colossal]


Contact the author at chris@gizmodo.com.

via Gizmodo
These Sidewalk Games Only Appear When It Rains

7 quick MySQL performance tips for the small business

We’ve heard lots in recent years about Big Data and the alternative models of data management and processing, like Hadoop and NoSQL. But truth be told, relational databases are still the workhorses of most of today’s small and medium sized businesses. Relational DBs date back over 40 years and SQL skills are fairly common, and they’re known to be highly secure.
 
MySQL is the world’s second most popular relational database management system (RDMS) and is the most popular open-source version of the database. It’s easily accessible and is often known to be part of the LAMP web development stack, standing for the ‘M’ in the acronym of popular tools, along with Linux, Apache, and PHP/Perl/Python. The fact that MySQL is free, easy to setup and scales fast are some of the main reasons why it’s the best match for many SMBs.
 
 
But as with any relational database, MySQL can be a beast when it doesn’t work right, causing your applications to slow down or stop performing and putting your business in jeopardy. That’s why you want to pay close attention to MySQL performance and do everything possible to keep things moving along. In the following we’ve accumulated 7 quick MySQL performance tips that will help keep your environment running smoothly and effectively, and your business applications running at their peak.
 
1. Understand the 4 fundamentals
 
In order to function correctly a database needs four essential components – CPU, memory, disk, and network. If any of these aren’t working properly, or are erratic, then the database server will also perform poorly. The key here is to balance these four areas properly. For example, don’t have your servers running with fast CPU and disk space, but then become short on memory allocation. Keeping an eye on these four focus areas will address the majority of your performance issues and help keep your applications running optimally and at scale.
 
2. Partition your tables
 
As your database scales up from a few thousand rows to hundreds of thousands of rows, performance lags behind and the queries take longer to process. That’s why it’s important to use partitions. The principle of partitions is about breaking the database information into smaller, more manageable chunks to provide quicker processing times. For instance, say you decide to separate all rows where the column zipcode has a value between 70000 and 79999. You would use the RANGE command to partition this segment of data. In other words, PARTITION BY RANGE (zipcode).
 
 
According to one expert, indexing is the most misunderstood part of database management, but if properly implement the key to highest returns on performance. He goes on to point out 3 primary points to remember when it comes to indexing. We summarize these elements here:
 
* It’s much more efficient for a database to find groups of rows rather than churning through individual rows, which leads to random disk operations. Keep things simple by setting your operations to find groups of adjacent rows rather than single rows.
* Indexing should allow the database to read rows in their desired order rather than sorting, which ultimately proves to be costly.
* Use “covering indexes” when possible, which contains all and possibly more than the columns you need for your query. By using SELECT * FROM tablename WHERE criteria, this kind of index will usually will use indexes to speed up the resolution of which rows to retrieve using criteria, but then it will go to the full table to retrieve the rows.
 
4. Pay attention to your storage engine
 
MySQL supports two main storage engine types called InnoDB or MyISAM. There’s a lot of discussion about the differences and which engine is best for which set of circumstances. The best advice on the matter seems to be that for beginners and novices MyISAM is the best bet, while InnoDB tends to be a little more complicated and is more difficult for some to use and navigate.
 
5. Don’t overly-focus on configurations
 
One site has this to say about the matter of MySQL configuration settings, which is worth quoting here:
The defaults that ship with MySQL are one-size-fits-none and badly outdated, but you don’t need to configure everything. It’s better to get the fundamentals right and change other settings only if needed. In most cases, you can get 95 percent of the server’s peak performance by setting about 10 options correctly. The few situations where this doesn’t apply are going to be edge cases unique to your circumstances.
 
6. Draw upon the expertise of your peers
 
Fortunately, it helps that MySQL has been around for 20 years there’s a ton of industry experience. Don’t go it alone, but rather leverage the knowledge of your peers to solve questions and to optimize your environment. Aside from the standard forums, blogs, and Q&A sites, there are a good number of outlets for gaining insights and knowledge on topics whenever you’re in need of serious expertise. Conferences, trade shows, and local user group events can be a great way to get quick and informative answers to the most pressing issues within your MySQL environment.
 
 
7. Leverage Monitis MySQL Monitoring
 
If you’re looking for best-in-class web monitoring and performance tracking then you need to head over to Monitis. With its industry-leading global service, Monitis lets businesses monitor their network anytime and from anywhere, including website uptime monitoring, full page load and transaction monitoring, and web load testing. The benefits and takeaways here are peace of mind and less stress. Last November the company introduced a new MySQL Monitoring feature to help administrators more effectively monitor their MySQL environment and make sure applications run at the speed and at the quality that customers require today. By checking active queries, identifying which ones are being sent or received, and locating potential hangups and problems from the slowest-running queries, Monitis MySQL Monitoring can display all of your information in easy and intuitive to read graphs. By keeping your applications running smoothly and more effectively, Monitis alleviates the stress and helps you focus on running your business.
 
via Planet MySQL
7 quick MySQL performance tips for the small business

Pick the Carton with the Freshest Eggs by Looking for This Number

Pick the Carton with the Freshest Eggs by Looking for This Number

The freshest eggs have the best flavor and will last longer. Here’s an insider tip on picking the freshest carton of eggs at the grocery store: look at the three-digit code printed on the carton, not the sell-by date.

Food52 explains:

Because the sell-by date for eggs in a supermarket (with U.S.D.A. inspection) can be up to 45 days after the packing date, [The Eastman Egg Company] has a quick and easy way to check for freshness: the Julian date. Every egg carton has a code printed on its side, and the last 3 digits of this code are called the Julian date. The code uses a number from 001 to 365 to correspond to a day of the year and indicate when they were packaged. For example, 001 is January 1st and 365 is December 31st. To find the freshest eggs, select the highest number you can find (keeping in mind the numbers wrap around in January).

Who knew?

Head over to Food52 for more tips from the Eastman Egg Company, particularly when it comes to building the perfect egg sandwich.

How to Make the Best Egg Sandwich Without a Recipe | Food52


via Lifehacker
Pick the Carton with the Freshest Eggs by Looking for This Number

Awesome short film shows Star Wars from the Empire’s perspective

Awesome short film shows Star Wars from the Empire's perspective

Watch this. Now. TIE Fighter is a short animation by Paul Johnson that shows a bit of Star Wars from the perspective of the Empire. It’s done in the style of anime from the 80’s and shows an aerial fight scene between TIE fighters and X-wings and is pretty much so awesome that Disney should make this an entire movie.

I so want to root for the bad guys.

Here’s the movie poster:

Awesome short film shows Star Wars from the Empire's perspective

And here’s some background on the art, you can find more about the story and the characters in PDF here:

Awesome short film shows Star Wars from the Empire's perspective


SPLOID is delicious brain candy. Follow us on Facebook or Twitter.

via Gizmodo
Awesome short film shows Star Wars from the Empire’s perspective

Watch This Amazing Fan-Made Star Wars TIE Fighter Short Film

Screen Shot 2015-03-24 at 2.08.58 PM If you’re excited about the forthcoming cinematic universe Disney appears to be planning around Star Wars, then this amazing seven-and-a-half-minute short created by a fan over four years should do a lot to help tide you over. The animated film was created by Paul Michael Johnson, and animated in the style of epic 80s anime series’ like Mobile Suit Gundam, Patlabor and many… Read More


via TechCrunch
Watch This Amazing Fan-Made Star Wars TIE Fighter Short Film

Upcoming webinar – SQL & NoSQL – the best of both worlds

On Thursday I’ll be hosting a webinar explaining how you can get the best from the NoSQL world while still getting all of the benefits of a proven RDBMS. As always the webinar is free but please register here.
Even if you can’t join the live webinar, it’s worth registering as you’ll be emailed a link to the replay as soon as it’s available.
Abstract
There’s a lot of excitement about NoSQL data stores, with the promise of simple access patterns, flexible schemas, scalability, and high availability. The downside comes in the form of losing ACID transactions, consistency, flexible queries, and data integrity checks. What if you could have the best of both worlds? Join this webinar to learn how MySQL Cluster provides simultaneous SQL and native NoSQL access to your data—whether it’s in a simple key-value API (memcached) or REST, JavaScript, Java, or C++. You will hear how the MySQL Cluster architecture delivers in-memory real-time performance; 99.999 percent availability; online maintenance; and linear, horizontal scalability through transparent autosharding.
When
Thu, Mar 26: 09:00 Pacific time (America)
Thu, Mar 26: 10:00 Mountain time (America)
Thu, Mar 26: 11:00 Central time (America)
Thu, Mar 26: 12:00 Eastern time (America)
Thu, Mar 26: 13:00 São Paulo time
Thu, Mar 26: 16:00 UTC
Thu, Mar 26: 16:00 Western European time
Thu, Mar 26: 17:00 Central European time
Thu, Mar 26: 18:00 Eastern European time
Thu, Mar 26: 21:30 India, Sri Lanka
Fri, Mar 27: 00:00 Singapore/Malaysia/Philippines time
Fri, Mar 27: 00:00 China time
Fri, Mar 27: 01:00 日本
Fri, Mar 27: 03:00 NSW, ACT, Victoria, Tasmania (Australia)
via Planet MySQL
Upcoming webinar – SQL & NoSQL – the best of both worlds

Profiling Stored Procedures in MySQL 5.7

With the changes to performance_schema in MySQL 5.7 Development Milestone Release it is now possible to analyze and profile the execution of stored programs. This is highly useful if you develop more complex stored procedures and try to find the bottlenecks. The "old" performance_schema up to MySQL 5.6 only reported a CALL statement with a runtime, but no information on statements that were executed WITHIN the stored procedure. Now let’s try this in the latest MySQL 5.7.6 DMR release. After creating some test table and a test stored procedure we need to activate the events_statements_history_long consumer, which is OFF by default:mysql> UPDATE setup_consumers SET ENABLED="YES"            WHERE NAME = "events_statements_history_long"; Then let’s call the stored procedure that we want to inspect:mysql> CALL test.massinsert(400,405); To avoid that we overwrite data from the events_statements_history_long table with the following queries, let’s deactivate that consumer ASAP. If you have some concurrent load running on your system, it may be wise to leverage the filter options in performance_schema like setup_actors and/or setup_objects.mysql> UPDATE setup_consumers SET ENABLED="NO"           WHERE NAME = "events_statements_history_long"; Next step is to find our CALL statement in the events_statements_history_long table:mysql> SELECT event_id,sql_text,               CONCAT(TIMER_WAIT/1000000000,"ms") AS time                  FROM events_statements_history_long        WHERE event_name="statement/sql/call_procedure"; +———-+——————————-+———–+ | event_id | sql_text                      | time      | +———-+——————————-+———–+ | 144      | call massinsert(100,105)      | 0.2090ms  | | 150      | call massinsert(100,105)      | 79.9659ms | | 421      | CALL test.massinsert(400,405) | 74.2078ms | +———-+——————————-+———–+ 3 rows in set (0,03 sec) You see: I tried this stored procedure three times. The one I want to inspect in detail is event_id 421. Let’s look at all nested statement events that came from 421: mysql> SELECT EVENT_NAME, SQL_TEXT, CONCAT(TIMER_WAIT/1000000000,"ms") AS time FROM events_statements_history_long WHERE nesting_event_id=421 ORDER BY event_id; +————————–+———————————–+———–+ | EVENT_NAME | SQL_TEXT | time | +————————–+———————————–+———–+ | statement/sp/stmt | SET @i = first | 0.0253ms | | statement/sp/stmt | SET @i = @i + 1 | 0.0155ms | | statement/sp/stmt | INSERT INTO a VALUES (@i,MD5(@i)) | 45.6425ms | | statement/sp/jump_if_not | NULL | 0.0311ms | | statement/sp/stmt | SET @i = @i + 1 | 0.0297ms | | statement/sp/stmt | INSERT INTO a VALUES (@i,MD5(@i)) | 4.9695ms | | statement/sp/jump_if_not | NULL | 0.0726ms | | statement/sp/stmt | SET @i = @i + 1 | 0.0365ms | | statement/sp/stmt | INSERT INTO a VALUES (@i,MD5(@i)) | 6.8518ms | | statement/sp/jump_if_not | NULL | 0.0343ms | | statement/sp/stmt | SET @i = @i + 1 | 0.0316ms | | statement/sp/stmt | INSERT INTO a VALUES (@i,MD5(@i)) | 9.9633ms | | statement/sp/jump_if_not | NULL | 0.0309ms | | statement/sp/stmt | SET @i = @i + 1 | 0.0274ms | | statement/sp/stmt | INSERT INTO a VALUES (@i,MD5(@i)) | 5.6235ms | | statement/sp/jump_if_not | NULL | 0.0308ms | +————————–+———————————–+———–+ 16 rows in set (0,06 sec)  Now we have the statements that were executed in the stored procedure "massinsert(400,405)" with their individual execution times and in order of execution. We have all other information available as well, not only execution time. We can access number of rows affected, sql error text, used algorithms, … All information that performance_schema offers for statement events. This is a great way to analyze your stored procedures. find the most costly statements and improve performance of your stored programs. That is really a great enhancement to performance_schema.
via Planet MySQL
Profiling Stored Procedures in MySQL 5.7

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

We kind of assumed this year on Game of Thrones was going to be as bitter and dark as graveyard-shift coffee. After all, it’s based on the two ugliest books, A Feast for Crows and A Dance With Dragons. But we saw the season premiere last night, and it’s even nastier. Here are our spoiler-free impressions.

So last night, they held the U.S. premiere of Game of Thrones season five here in San Francisco, and they showed the opening episode "The Wars to Come." We can’t reveal much about what happens in the episode — but suffice to say that it’s very much an hour of setting up new conflicts and new challenges.

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

There are about a dozen different storylines playing out in "The Wars to Come," and the thing they have in common is that pretty much everybody is in the depths of despair and misery. It’s very much the vibe you remember from A Feast For Crows, only possibly even worse.

At the same time, for the first time ever, nothing that happens in this episode felt like it came from the books. Not one scene felt like an adaptation of a book scene, although there were a few notes here and there that felt similar. Even the characters who’ve mostly followed their book trajectories, up to now, are doing something pretty new.

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

And significantly, some of the biggest conflicts being set up in this season opener are entirely different than the relationships those characters have in the books — and seem likely to play out in a whole new way.

But what really makes this season opener of Game of Thrones feel so dark, and so intense, is the way this show really captures the natural reactions of some of the characters to the horrors they’ve been through. There’s a really strong attention to detail in the way that all of these characters feel weighted down by the past, and changed by their disappointments and losses. The episode was full of little moments where I found myself thinking, "Oh, of course that’s how that person would feel at this point." Especially the characters who don’t get POV chapters in the books — but even some of the books’ POV characters have a more fleshed-out response, thanks to strong performances from the cast.

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

And that’s really the biggest thing I came away with after this episode. The cast, many of whom were in the audience watching it with us, are doing a phenomenal job of adding more dimensions to these characters. Especially Peter Dinklage, who’s never been more tragic and mordant, and just magnetic, than he is in this opening episode — Tyrion Lannister pretty much owns the episode, and the amount of emotion and humor that Dinklage manages to pack into his scenes is a thing of pure amazement. After the first episode, Tyrion’s storyline is the one I’m most desperate to see play out this season, too.

And from the gorgeous opening moments, the episode is jam-packed with brilliant visuals and beautifully staged scenes. There are some really ambitious scenes just in this setup-heavy episode, which are put together with a ton of care. Westeros and Essos have a sense of scale and place, more than ever.

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

In general, the theme of this season seems to be that everybody is falling apart. Even the characters who seem to form new alliances or stick together in the books seem to be on the outs as the new season begins. And the way things are set up in this opening episode, it seems as though everybody is going to be at everybody else’s throat, pretty much.

In fact, the main thing that would make the season opener hard to talk about — even if I could talk about spoilers — is the fact that it’s so jam-packed with storylines, and so much of it consists of setup. This has been true of almost every season opener since season two, but this time in particular it feels as though there are a million pieces on the board and the show is darting from place to place, trying to keep tabs on them all. And this may really be the year that Game of Thrones becomes so big and so diffuse that it stops having any sense of cohesiveness at all — although I’m cautiously optimistic, based on what we know about the season’s arc.

Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

Plus even though this episode is mostly just pieces being moved into place, it does have one really strong arc in it, which ends with a really powerful image — one which isn’t in the books, and which represents a cliffhanger I’m dying to see play out.


Contact the author at charliejane@io9.com.

via Gizmodo
Wow, Game Of Thrones Season 5 Is Even Darker Than We Expected

Are You Depressed? The Symptoms of Male Melancholy

So far we’ve discussed the history of depression, and explored its possible causes. Before we conclude this series next week with a guidebook on managing your melancholy, we of course need to stop to examine what depression actually looks like. How is it different from run-of-the-mill sadness, and how does it manifest itself, especially in […]


via The Art of Manliness
Are You Depressed? The Symptoms of Male Melancholy