Search Google Appliance

Home  |  Academics  |  Specializations  |  Gender and Public Policy

Gender and Public Policy

Gender is the often un-analyzed dimension of all public policies. From conflict resolution to economic development, public finance to public health, policies rest upon, are shaped by, and shape gender relations. Increasingly, international organizations, national and local governments, and private actors have recognized that gender must be explicitly taken into account if policy goals are to be attained. But how can public policies promote more equitable gender relations; how is gender equity—or equality—understood in different contexts; and, how can the effects of policies—even when they are ostensibly neutral in terms of their objectives—be evaluated from the perspective of the gender relations they affect? The specialization in Gender and Public Policy enables students to develop the skills that will allow them to assess, formulate and implement policies that promote greater gender equality. Precisely because gender is such an important dimension of public policy, the specialization is of interest to students in all concentrations.

The specialization draws on a multidisciplinary faculty of scholars and practitioners, promotes systematic interaction with SIPA’s extensive resources, and partners with faculty and research centers across the University.

A step-by-step guide.
What will you study?
Meet the specialization's remarkable scholars
Hands-on projects with a focus on Gender and Public Policy.
Student Organizations
Explore groups focused on Gender and Public Policy issues.


When fairies, gods and actors meet one night in a supernatural woodland, all heaven breaks loose in Shakespeare's classic comedy drama.

All of the comic verve and wit of the original is retained in this graphic novel adaptation, which features expertly drawn illustrations of Shakespeare's much-loved characters.

Equally rewarding as comics, graphic novels or learning resources, the series uses specially commissioned full-colour artwork to retell some of the most incredible, influential and memorable tales in the canon of English literature.

Featuring photographs, paintings and maps, Graffex endmatters tell the story of each book in its wider geographical context. Text details the life of the author, the socio-political events which influenced the book and the impact the book had on the society of the time. Each title also features a double-page opening illustration and a full index.

RSC Price:
£3.75 (was £6.99)

Full Members Price: £3.38
Become a member now?

How many?

In stock


RESOURCES for Medical Coding & Billing

Recently, educational institutions and medical organizations have made these resources available on their websites, enabling students and professional members access to their databases.

Here are some specific pages that might be of greatest interest to you as a medical coding and billing student:


EXPLAIN minor wishlist

EXPLAIN output: filesortWhile we always want better performance and more and larger features for MySQL, those cannot just “magically appear” from one version to another, requiring deep architecture changes and lots of lines of code. However, there are sometimes smaller features and fixes that could be implemented by an intern or an external contributor, mainly at SQL layer, and that could make the MySQL ecosystem friendlier to newbies and non-experts. Making a piece of software easier to use is something sometimes overlooked, but it is incredibly important -not everybody using MySQL is a DBA, and the more people adopting it, more people will be able to live from it, both upstream and as third party providers.

Here it is my own personal list of fixes for EXPLAIN messages. If you are an experienced MySQL user you are probably aware of their meaning, but that doesn’t solve the problem for beginners. The reason why I am writing a blog post is to gather opinions on whether they seem important to you or not, and if my way of solving them seems reasonable so that we can submit them as feature requests.

EXPLAIN messages

As a MySQL instructor, the following case happens a lot with new students. You start with a command like this:

So, “Using index” means that an index is being used, right? No, in this case, the type: index is telling us that it is using an index for scanning or accessing the rows (because it is not a type: ALL- although we could get a full row scan and using the index for ordering or grouping them). The Extra: Using index indicates that the index is also used for retrieving the data, without actually needing to read the whole row. This is, as far as I know, commonly referred as Covering index. And that is exactly what I would like to see:

or maybe:

Another common misunderstanding: Using filesort:

At this level, I do not care if I am using filesort as an algorithm, and -if I am correct- since 5.6 can also use a priority queue for the sorting algorithm if the number of items is small. Additionally, the “file” in the filesort word can lead to confusion that this requires a temporary table on disk. I do not have a perfect alternative (please provide feedback), but maybe something like the following would be clearer:

or maybe:

Another example would be:

I understand that the developers didn’t want to confuse us with NDB’s pushed condition, but this output is quite misleading, too. It literally means that “the index condition is being used”, instead of “ICP is being used”. What about:

There are many other expressions, but those are the most annoying to me in terms of students’ confusion.

Would you agree with me? Would these changes break applications that may parse EXPLAIN output? What other small things would you change in MySQL output or error messages? I would specially would like to hear from MySQL beginners and people coming from other databases, as the more we have used to it, the more we get accustomed to MySQLisms.

Regarding MySQL 5.6 temporary tables format

However, I have seen many people assuming that because default_tmp_storage_engine has the value “InnoDB”, all temporary tables are created in InnoDB format in 5.6. This is not true: first, because implicit temporary tables are still being created in memory using the MEMORY engine (sometimes called the HEAP engine), while MyISAM is being used for on-disk tables. If you do not trust the reference manual on this, here it is a quick test to check it:

mysql> SELECT version();
| version() |
| 5.6.23-log |
1 row in set (0.00 sec)

mysql> SHOW GLOBAL VARIABLES like 'default%';
| Variable_name | Value |
| default_storage_engine | InnoDB |
| default_tmp_storage_engine | InnoDB |
| default_week_format | 0 |
3 rows in set (0.00 sec)

mysql> SHOW GLOBAL VARIABLES like 'tmpdir';
| Variable_name | Value |
| tmpdir | /tmp |
1 row in set (0.00 sec)

mysql> CREATE TABLE test (id serial, a text);
Query OK, 0 rows affected (0.10 sec)

mysql> insert into test (a) values ('a');
Query OK, 1 row affected (0.06 sec)

mysql> insert into test (a) values ('aa');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (a) values ('aaa');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT *, sleep(10) FROM test ORDER BY rand();

[ec2-user@jynus_com tmp]$ ls -la
total 24
drwxrwxrwt 5 root root 4096 Feb 24 11:55 .
dr-xr-xr-x 23 root root 4096 Jan 28 14:09 ..
drwxrwxrwt 2 root root 4096 Jan 28 14:09 .ICE-unix
-rw-rw---- 1 mysql mysql 0 Feb 24 11:55 #sql_7bbd_0.MYD
-rw-rw---- 1 mysql mysql 1024 Feb 24 11:55 #sql_7bbd_0.MYI
drwx------ 2 ec2-user ec2-user 4096 Feb 24 11:41 ssh-5ZGoXWFwtQ
drwx------ 2 ec2-user ec2-user 4096 Feb 24 11:43 ssh-w9IkW0SvYo

| id | a | sleep(10) |
| 1 | a | 0 |
| 2 | aa | 0 |
| 3 | aaa | 0 |
3 rows in set (30.00 sec)

The only thing I have done above is forcing the creation of the temporary table on disk by adding a TEXT field (incompatible with the MEMORY engine, so it has to be created on disk) and using sleep so that we have enough time to check the filesystem. You can see on the output of ls the .MYD and .MYI particular to the MyISAM engine. That last step would be unnecessary if we just used PERFORMANCE_SCHEMA to check the waits/io.

A second, and more obvious reason why thinking that all temporary tables are created in InnoDB format, is because explicit temporary tables can still be created in a different engine with the ENGINE keyword:

Query OK, 0 rows affected (0.00 sec)

[ec2-user@jynus_com tmp]$ ls -la
total 36
drwxrwxrwt 5 root root 4096 Feb 24 12:16 .
-rw-rw---- 1 mysql mysql 8554 Feb 24 12:12 #sql7bbd_36a3_0.frm
-rw-rw---- 1 mysql mysql 0 Feb 24 12:12 #sql7bbd_36a3_0.MYD
-rw-rw---- 1 mysql mysql 1024 Feb 24 12:12 #sql7bbd_36a3_0.MYI

Query OK, 0 rows affected (0.00 sec)

[ec2-user@jynus_com tmp]$ ls -la
total 20
drwxrwxrwt 5 root root 4096 Feb 24 12:17 .

Will this change in the future? 5.7.5 continues to have the same behavior as 5.6. However, as Stewart pointed some time ago, the performance optimizations in 5.7 make some uses of MEMORY and MyISAM obsolete so I will not be surprised if that dependency, together with MyISAM grant tables, will be removed in the future.

Update: I’ve been told by email by Morgan that the yet-to-be-released (at the time of this writing) 5.7.6 will finally change the default behavior to be full InnoDB for implicit temporary tables, too, as seen on the release notes:

InnoDB: The default setting for the internal_tmp_disk_storage_engine option, which defines the storage engine the server uses for on-disk internal temporary tables (see How MySQL Uses Internal Temporary Tables), is now INNODB. With this change, the Optimizer uses the InnoDB storage engine instead of MyISAM for internal temporary tables.

internal_tmp_disk_storage_engine was introduced in 5.7.5, but its default value then was MYISAM.

This is in order to get advantage of the in-memory performance of InnoDB for variable-lengh fields, which I am personally 100% for. Thank you Morgan for the extra information!

My Talk at PyConES 2014 Zaragoza about MySQL Fabric

pyconesNext Saturday, 8 November 2014, at 19:30 I will be speaking about MySQL Fabric for PyConES 2014 (the Spanish version of the PyCon), the annual meeting point for all developers and enthusiasts of Python in Spain.
While I say myself that I am not a developer, a lot of my time as a MySQL consultant requires implementing automatic procedures (backups, health checks, AWS management, …) and for that I mainly use a combination of Python and Bash.

In my talk, which I have titled “MySQL Fabric, a High Availability solution for Connector/Python” I will explain how to setup and configure a set of MySQL servers and Python application clients using Connector/Python in order to provide service resiliency and extra performance for both reads and writes (thanks to its semi-automatic sharding capabilities) on your application. The framework itself (Fabric, part of the MySQL Utilities) is open source and under heavy development (also programmed in Python, of course!). If at any point in your career you suffered from bad database performance or application downtime, you must come to my talk! I will also compare it to other relatively similar solutions, providing its pros and cons. The session will be delivered in English.

As a speaker, I have a discount code to share with you “DescuentoPonentes“, as there is still time to register for the event.

See you in Zaragoza!

Update: Here you have the slides:

My Tutorial on Query Optimization for Percona Live London 2014 (and Important Information If You Wish to Attend)

Percona Live London is next week!Monday next week, on November 3rd, I will be delivering a tutorial on the greatest MySQL European Conference, the Percona Live London 2014. The topic is a natural continuation of the one I delivered last year on the same venue, “Query Optimization with MySQL 5.6: Old and New Tricks“. This year I will be focusing on the newest optimizer changes that we can find not only in the already published 5.6 and MariaDB 10, but also some of the latest features in the still in development MySQL 5.7 and MariaDB 10.1. Topics on this workshop, which I have titled “Query Optimization with MySQL 5.7 and MariaDB 10: Even Newer Tricks“, will include: new 5.7 cost-based optimizer, virtual columns, query rewriter plugin api, new join methods, subquery optimization, sql mode changes, full text search and GIS improvements. All of it with easy-to follow examples and hands-on exercises.

Here you have the full detailed agenda:

  1. Introduction
  2. Break (VM installation)
  3. General Optimizer Improvements
  4. Computed/Virtual Columns
  5. Query Rewrite Plugins
  6. SQL Mode Changes
  7. Join Optimization
  8. Subquery Optimization
  9. Fulltext search
  10. GIS Improvements
  11. Break
  12. Query Profiling
  13. Results and Conclusions
  14. Q&A

Update: Here you have the full deck of slides:

All necessary materials are on: dbahire.com/pluk14

IMPORTANT INFORMATION: if you plan to attend this tutorial, in order to avoid last-minute connectivity problems, please pre-download all necessary files as indicated in the tutorial guide. These include the example database and the 5.7/MariaDB server installation.

While I will be handling removable media with those same files, and you will be able to follow the explanation fully just by watching my screen, as I will show everything myself, but you will get much more out of the tutorial if you took 5 minutes to prepare your system in advance.

I will be gifting several usb drives among those that take the time to setup their systems beforehand and attend my tutorial as a thank you for helping make the session smoother. Mention me on twitter saying something like “I already have everything prepared for the @dbahire_en tutorial http://dbahire.com/pluk14 #perconalive”, so I can reserve yours!

See you next Monday at 9:00 London time at Orchard 2.

The Rules

For the hardware and OS, check the specs on this previous post- I used the same environment as the one mentioned there, with the exception of using CentOS7 instead of 6.5.

The naive method

MySQL Version5.1.725.5.395.
Load time (seconds)4708.5946274.3046499.0336939.722

MySQL Version5.1.725.5.395.

The even more naive method

-from the connector/python documentation
I though to myself- oh, so maybe we can speedup the import process by committing every single row to the database, one by one, don’t we? After all, we are inserting the table on a single huge transaction. Certainly, a huge number of small transactons will be better! :-) This is the slightly modified code (load_data_02.py):

Going forward: multi-inserts

load_data_03.py results

MySQL Version5.1.725.5.395.

The right method for importing data: Load Data

load_data_04.py results

MySQL Version5.1.725.5.395.

Trying to improve Load Data for MyISAM

load_data_04.py results for myisam

MySQL Version5.1.725.5.395.
key_buffer_size=600M, P_S = OFF133.967170.677177.724186.171
P_S = OFF142.592145.679150.684159.702

There are certain things to notice here:

Trying to improve Load Data for InnoDB

load_data_04.py innodb results

MySQL Version5.1.725.5.395.
log_file_size=2G, buffer_pool=8G1044.9231012.488743.818850.868

  • InnoDB continues being at least 5x slower than MyISAM

These are the results (lower is better):
load_data_04.py results for innodb optimized

MySQL Version5.1.725.5.395.
default security and monitoring enabled1044.9231012.488743.818850.868

Import in MyISAM, convert it to InnoDB

These are the comparisons (lower is better):
load_data_06.py results

MySQL Version5.1.725.5.395.
LOAD DATA InnoDB1923.7511797.220850.6361008.349
LOAD DATA MyISAM; ALTER TABLE ENGINE=InnoDB2075.4452041.8931537.7751600.467

Parallel loading

And these are the results, with different parameters:
load_data_08.py results

MySQL Version5.1.725.5.395.
1 thread, log_file_size=2G, buffer_pool=8G894.367859.965488.273467.716
8 threads, log_file_size=2G, buffer_pool=8G752.233704.444370.598290.343
8 threads, log_file_size=5G, buffer_pool=20G301.693243.544
4 threads, log_file_size=5G, buffer_pool=20G295.884245.569

From this we can see that:

  • This is where 5.6 and specially 5.7 shines

Summary and open questions

Today is the day in which MyISAM is no longer needed

RIP MyISAMOf course, this is just a catchy title. As far as I know not all system tables can be converted to InnoDB yet (e.g. grant tables), which makes the header technically false. MyISAM is a very simple engine, and that has some inherent advantages (no transactional overhead, easier to “edit” manually, usually less space footprint on disk), but also some very ugly disadvantages: not crash safe, no foreign keys, only full-table locks, consistency problems, bugs in for large tables,… The 5.7.5 “Milestone 15″ release, presented today at the Oracle Open World has an impressive list of changes, which I will need some time to digest, like an in-development (syncronous?) multi-master replication or a revamped query optimizer. But the one very change that I want to highlight today is how the last one of the “big 3″ reasons to use MyISAM has finally vanished. For me (and my customers) those reasons were:

Transportable tablespaces

In MyISAM, moving a table in binary format from one server to another was very easy- shutdown the servers and copy the .MYI, .MYD and .frm files. You could even do it in a hot way with the due care: you could copy the table files if you executed the infamous “FLUSH TABLES WITH READ LOCK;” beforehand, and use that as a backup.

innodb_file_per_table was introduced as early as MySQL 4.1, but it wasn’t set as default until 5.6.6 (with a brief indecision on early versions of 5.5). The actual feature “Transportable tablespaces” was added also in 5.6.6, and provided a way inside the server to prepare InnoDB tables for copying, by locking them and exporting its portion of the InnoDB data dictionary (FLUSH TABLES ... FOR EXPORT).

Before 5.6, MySQL required a patch for this to work reliably. Now, single tables can be exported and imported without problem in binary format, even between servers.

Fulltext indexes

Fulltext search has never been the strong point of MySQL (and that is why many people combined it with Sphinx or Apache Lucene/Solr). But many users didn’t require a Google Search clone, only a quick way to search on a smallish website, or a description column, and as we know, BTREE indexes wouldn’t help with like '%term%' expressions.

FULLTEXT indexes and searches have been available since MySQL 3.23.23, but only on MyISAM. I do not know about you, but I have found a relatively high number of customers whose reason to continue using MyISAM was only “we need fulltext search”. Starting with MySQL 5.6.4, fulltext support was added to InnoDB, avoiding the need to decide between transactionality and fast string search. While the starts were not precisely great, (specially compared to other more complex, external solutions) and they were released with some important crashing bugs; the latest changes indicate that InnoDB fulltext support is still being worked on in order to increase its performance.

GIS support

This is the one that MySQL engineers added in MySQL 5.7.5. Of course, GIS datatypes were available since MySQL 4.1 for MyISAM, and in 5.0.16 for most other upstream engines, including InnoDB. However, those types are not useful if they cannot be used quickly in common geographical operations like finding if 2 polygons overlap or finding all points that are close to another. Most of those operations require indexing in 2 dimensions, something that doesn’t work very well with standard BTREE indexes. For that, we need R-Trees or Quadtrees, structures that can efficiently index multidimensional values. Up to now, those SPATIAL indexes, as they are called in MySQL syntax, were only available for MyISAM- meaning that you had to decide again between transactions and foreign keys or fast GIS operations. This was one of the reasons why projects like OpenStreetMap migrated to PostGIS, while others used Oracle Spatial Extensions.

To be fair, the list of changes regarding GIS seems quite extensive, and I have been yet unable to have a detailed look at it. But for I can see there is still no support for projections (after all, that would probably require a full overhaul of this feature), and with it, no native distance functions, which makes it not a viable alternative to PostGIS in many scenarios. But I can see how InnoDB support, at least at MyISAM level and beyond that, is a huge step forward. Again, sometimes you do not need a complete set of features for the main MySQL audience, but a set of minimum options to display efficiently something like a map on a website.

MyISAM in a post-myisam world

In summary, these changes, together with the slow but steady migration of system tables to InnoDB format, plus the efforts on reducing transactional overhead for internal temporary tables will allow Oracle to make MyISAM optional in the future.

I will continue to use MyISAM myself in certain cases because sometimes you do not need a fully ACID storage, and it works particularly well for small, read-only datasets -even if you have millions of those (hey, it works well for WordPress.com, so why should you not use it, too?).

Also, it will take years for all people to adopt 5.7, which is not even in GA release yet.

So tell me, are you planning to migrate engine when 5.7 arrives to your production? What are you still using MyISAM for? Which is your favorite 5.7.5 new feature? Which caveats have you found on the new announced features? Send me a message here or on Twitter.

Variables that have changed its value

variable name5.6.20 value5.7.4 value

New variables

variable name5.7.4 value

Deprecated variables

variable name5.6.20 value

Some comments:

, which just should be deleted from the configuration file.

Testing environment

formatsize (bytes)
original .csv (no compression)3700635579
bzip2 (pbzip2-compressed)508782016

Global results

Analysis of different compression tools: Compression ratio vs decompression speed

Decompressing gzip and bzip2 formats

Lzma decompression

Fast tools: lzop and lz4

The testing environment

In fact, the original file is really a tsv (tab-separated values), not a csv, but only because I am lazy when importing/exporting to MySQL to add the extra FIELDS SEPARATED BY ','. You can download this file in 7z format, or create your own from the Geofabrik OpenStreetMap Data Extracts.

All tests were done on an almost-idle Intel Quad Core i7-3770@3.40GHz with hyper threading, exposing 8 cpus to the kernel. 32 GB of ram. 2 spinning disks of 3 TB in RAID 1. All running on CentOS 6.5 x86_64. The filesystem type was ext4 with the default OS options.

On-table sizes

For an import to MySQL, I proposed the following table structure:

And these are the sizes on database (once we made sure there were no pending write operations):

  • MySQL MyISAM data file (.MYD): 2,755,256,596 bytes.(*)
  • MySQL InnoDB tablespace (.ibd): 3,686,793,216 bytes.
  • MySQL InnoDB tablespace using row_format=compressed (.ibd): 1,736,441,856 bytes.

Why is it taking more space on plain text than on the database? Well, despite databases being optimised for fast access and not for space, as we are using very compact set of datatypes (integers and timestamps instead of strings), actually saving disk space. This is why a proper database design is critical for performance!

We can see that one of the few reason why people are still using MyISAM is because it is a very simple and compact format. (*)However, to be fair, we are not having into account the extra 674,940,928 bytes for the primary key (.MYI), making the difference not so big. On the other side, we are not taking into account that InnoDB index size goes up quite significantly when using multiple secondary keys (due to the storage of the primary key, if it is large enough) and the many other structures (tablespace 0, transaction logs) that are needed for InnoDB to work properly, shared with other tables. In general, it is impossible to do a fair comparison between MyISAM and InnoDB because we are comparing apples and oranges.

What it is clear is that compression (in this case I used the default InnoDB zlib algorithm with the default level of compression-6) helps reduce on-disk size, potentially helping for some specific scenarios: more tables to fit in SSDs, or less IOPS for a disk-bound database. On the other side, the initial load from a file took significantly more. I do not want to show time measurements for the different table imports because it is not trivial to account the actual time to disk due to all the buffering occurring at database level, and giving the time of SQL execution would be unfair. I talk more about import times in this post.

Global results

The sizes in table are only showed as reference, our main goal was to test the several tools available for compressing the original nodes.csv file. I constrained myself to some of the most popular ones, and you can see the final results on the following table (analysis, explanation and discussion or results follows afterwards):

As you can see, I evaluated several tools on their default modes, plus additionally “high-compression mode” and a “fast mode”. For them, I tried to evaluate 3 different parameters important for the creation of compressed files: time to completion, final file size and resources used. Please note that I only evaluated compression tools, and not archiving ones (like tar or zip). The latter tools can usually use different algorithms for compressing each file individually or the final full archive.

The first data column shows the number of seconds of wall clock time that took for the process to write the compressed file to a different partition on the same set of RAID disks. Several runs of:

were executed (except for 7z and dd, where the syntax is different) and the median vale was taken, in order to minimise measure errors due to external factors. For each run, the final file was checked for correctness (the compressed file is deterministic and it can be extracted into the original file without errors or differences) and then deleted. The results are not too scientific, as the filesystem cache can be heavily used for both reads and writes, but I tried to focus on that scenario in particular. An execution of dd (copying the file without compression) is also shown as a control value.

I think the second and third data columns are self-explanatory: the file size, in bytes, of the compressed file and how it compares with the original file.

The last column tries to measure the max and min CPU usage, as reported by the operating system during compression. However, due to the cpu scheduler, and the fact that most tools have a synchronisation period at the beginning and at end of the execution, together with the fact that is was obtained by polling its value at intervals, it is not very significative except for checking the parallelism of the algorithm used. Values greater than 100 means that more than core/thread is being used for compression.

I did not registered the memory usage (the other important resource) because even on ultra modes, its usage was not significative for my 32 GB machine (less than 1/2 GB every time, most of the times much less). I considered it was something one should not worry too much for a machine that should have enough free RAM like a database server. What you probably would like to have into account is the effects on the filesystem cache, as that could impact directly on the MySQL performance. Preventing backup page reads and writes going into the filesystem cache can be done playing around with the flag POSIX_FADV_DONTNEED. I want to mention also that there are tools, like bzip, that have a small footprint mode: bzip2 --small.

You can find the measures concerning decompression times on a followup post: Part II.

The global results may be appreciated much more clearly plotted on a bidimensional graph. I have plotted the obtained values with the time to compression on the X axis (lower is better) and the compression ratio on the Y axis (lower is better):

Time and ratio comparison of gzip, bzip2, pigz, pbzip2, lzip, p7zip, plzip, lzop and lz4 compression, with different levels and parameters
Not plotted: dd (100% compression ratio), 7za “ultra” (>21 minutes for compression) and lzip (>35 minutes for compression).

In general, we can see that there are no magical tools, and that a better compression ratio requires more time (size is inversely proportional to time). I have plotted also the function y = 200/x + 9. That, or something like y = 200/x+9.5(it is difficult to provide a good correlation with so little number of matches, most of them unrelated) seems to provide the lower limit of ratio per unit of time, suggesting that 9%-9.5% would be the maximum compress ration obtainable for that file with the available tools at the moment.

Let’s analyse what are the weaknesses and strong points of every compression format.

The well-known gzip and bzip2

If you want compatibility, gzip and bzip2 are the kings. Not only they are widely recognised compression formats, but the tools for compress and decompress are preinstalled in most unix-like operating systems. Probably Windows is the only operating system that doesn’t support gzip by default. gzip and bzip2 are the only compressions with its own letter on tar (with compress on BSD and xz on GNU).

Compatibility and availability are the strong points of these tools, however, if we look at the graph, we can see that they are relatively far from the line I mentioned as “ideal” in time/size ratio. bzip2 provides a better compression ratio than gzip in exchange of more cpu cycles, but both tools are single-threaded and they do not shine in any aspect. Surprisingly enough, bzip2 -1 provided me with a worse compression time and better rate than standard bzip2 execution, and the manual for the gnu version provides an explanation for that:

Probably the best use I would recommend for this tools is gzip --fast (equivalent to gzip -1) that, while not providing a great compression rate, it does it in a very fast way even for a single-thread application. So it can be useful in those cases where we want to maximise speed without taking many resources. In other cases, where tool availability is not a problem, I would recommend you trying other tools with either better speed or better compression ratio.

I used GNU versions gzip 1.3.12 and bzip2 1.0.6.

Parallel compression tools: pigz and pbzip2

Things get more interesting if you use the parallel versions of gzip and bzip2 on a multi-core system. While there are more than one version, I choose pigz 2.3.1 and pbzip2 1.1.6 for my tests. While they are not part of the official Red Hat/CentOS repositories, they can found on EPEL and Debian repositories.

Both tools auto-detect the number of cores I had and performed the compression in 8 threads, providing comparable compression ratios in about 4 times less time. The obvious downsize is that in a high-demanding environment, like a MySQL server under considerable load, you may not want/can’t provide full CPU resources to the backup process. But if you are doing the compression on a separated dedicated server, parallelization is something you should get advantage of, as in general CPU will be the main bottleneck on a compression algorithm.

Again, as a highlight, pigz with the default parameters provided me a good compression ration (16,89%) in less than 28 seconds- that is compressing at close to 130MB/s for my modest hardware (that is more than a third of my copy rate, 350MB/s).

As a side note, while pbzip2 accepts a compression level as a parameter, the default compression level is -9.

lzma implementations: lzip, 7zip and plzip

The next tests performed were simply different lzma implementations, an algorithm that has the fame of providing very good compression rates.

I started with lzip. It is not on the official repositories, so I got it from EPEL, installing lzip 1.7. The compression ratio was, effectively, the best of all other algorithms (close to 9.5%) but it took 35 minutes and 38 seconds to produce the output. Not only the algorithm was to blame: it used a single thread, hence the delay.

After that, I tried p7zip 9.20, in particular the unix tool 7za. This one the only tool tested that did not conformed to the gzip parameters. I had to execute it using:

Please note that p7zip is an archiver tool, but I made an exception in order to test an alternative implementation of lzma.

The results were better: while the tool provided a slightly worse compression ration (10.29%), thanks to some kind of execution in more than one thread, the execution time was reduced to just under 14 minutes. I also tested a suggested “ultra” mode found in the 7za manual, with the following parameters:

In short: maximising the memory usage, compression level and dictionary size -aside from enforcing the archive format and compression algorithm. While this provided with a smaller file size (but only 25 MB smaller, less than a 1% of the original file), the time went up to more than 21 minutes.

I wanted to try a real parallel implementation of lzma, and plzip was exactly that. I could not find a rpm package anywhere, so I downloaded and installed from source code Lzlib 1.5 and plzip 1.2-rc2. The results were really good, as expected. plzip provided comparable results to “pigz -9″ when running in “fast mode”; but by default, in only 3m37s I got a 359MB compressed file, or 10.17% of the original file. I then tried to emulate the ultra settings of p7zip (with -9 -m 64 -s 33554432) and got the winner tool in compression ratio (9.57%) in only 7 minutes and 6.486 seconds.

Obviously, the same restrictions that I mentioned for the other parallel tools apply here: usage of multiple cpus may be discuraged for a very busy server, but if you are storing the backups for long-term on a separate server, you may want to have a look at this possibility. In any case, most parallel tools have a way to limit the number of threads created (for example with the --threads option in lzip).

Fast compression tools: lzop and lz4

I didn’t want to finish my testing without having a look some of the high-bandwidth compression tools, and I choose 2: lzop and lz4. While I had to install lz4 r119 from EPEL, lzop v1.02rc1 is part of the base packages of Red Hat/CentOS.

They both provide what they promise: very fast compression algorithms (in some cases, faster than a plain copy of a file, as they are not CPU-bound but they have to write less amount of data) in exchange for worse compression ratios (21-30%). For the example file, on my machine, I got better performance for lz4 than lzop, offering similar ratios but in less time (8.5 vs. 15.5 seconds). So if I had to choose, I would probably would use lz4 over lzop in my particular case. Additionally, although it has not been tested, lz4 boasts of having better decompression speeds.

As a negative highlight, I would recommend against using lzop -9, as there are tools that could get you better compression ratios in half the time. lz4 did not perform well also with a higher compression level, so I recommend you to stick to the defaults or lower compression levels for these tools (in fact, lz4 defaults to -1).

I didn’t test other tools like compress (Lempel-Ziv), xz (lzma2) or QuickLZ, but I do not expect too many deviations from the patterns we have seen: time needed is inversely proportional to compression level. If you want fast compression times, go for lz4. If you want a small file size, go for an implementation of lzma, like p7zip. bzip and gzip formats are good options when compatibility is important (e.g. releasing a file), but when possible, use a parallel compress implementation to improve its performance (plzip, pbzip2, pigz). We can even use a combination of tools for our backups, for example, export our tables in binary format using lz4 to get them outside of the mysql server, and later, on a separate server, convert it to lzma for long-term storage.

I would also tell you to try the compression methods for your particular dataset and hardware, as you may get different compression ratios and timings, specially depending on the amount of memory available for filesystem caching, your cpu(s) and your read and write rate from secondary storage. What I have tried to do with this, however, is a starting point for you to get your own conclusions.

Do you agree with me? Do you think I am wrong at some point? Did you miss something? Write a comment or send me a replay on twitter or by email.

Check out Part II of this analysis for my research on decompression times.


The purpose of this multilevel study was to test whether regulatory focus mechanisms (promotion focus and prevention focus; Higgins, 1997, American Psychologist, 52, 1280–1300; Higgins, 2000, American Psychologist, 55, 1217–1230) can help explain how group safety climate and individual differences in Conscientiousness relate to individual productivity and safety performance. Results, based on a sample of 254 employees from 50 work groups, showed that safety climate and conscientiousness predicted promotion and prevention regulatory focus, which in turn mediated the relationships of safety climate and Conscientiousness with supervisor ratings of productivity and safety performance. Implications for theory and research on climate, motivation, and performance and avenues for future research are discussed.


Nintendo responded to an outpouring of fan requests for LGBT representation in its upcoming Nintendo 3DS game Tomodachi Life, denying the possibility of same-sex relationships among the game's Mii denizens.

The upcoming Tomodachi Life features Mii characters based on a player's real-world acquaintances, pairing them up in an ongoing series of unlikely situations. Though Tomodachi Life allows male characters to go on dates and marry female characters, the game does not grant the same opportunities for same-sex couples.

"Nintendo never intended to make any form of social commentary with the launch of Tomodachi Life," a Nintendo of America representative said in a statement to the Associated Press. "The relationship options in the game represent a playful alternate world rather than a real-life simulation. We hope that all of our fans will see that Tomodachi Life was intended to be a whimsical and quirky game, and that we were absolutely not trying to provide social commentary."

Though North American players will never see same-sex relationships within the world of Tomodachi Life, the Japanese version of the game shipped with a glitch last year that allowed same-sex coupling among male characters. The bug has since been patched out and removed from subsequent retail releases.

Tomodachi Life will launch in North America next month.

[Update: Nintendo's Bill Trinen clarified the glitch present in last year's Japanese release, explaining that supposed same-sex relationships were the result of user manipulation of character data. "Essentially [players] would create a male version of a Mii character and assign their gender as female, and that was how the two males were able to have a baby," he said.]

[Image: Nintendo / Tiny Cartridge / NintenDaan]

This article was originally published on Joystiq.

Joystiq Discussion: How do you like your Nintendo?


Results for category 'Autism '.

showing 1 to 6 of 76 records

Is it possible to toilet train my child who has autism disability?

Yes, most if not all, children affected by autism are capable of toilet training. The process just takes longer than usual since autism usually renders your child with difficulties in communicating and focusing.

How do I wean my child from visual cues or verbal prompts regarding toilet training?

With visual cues, you can gradually change them from specific pictures to more general ones until the time when you can totally remove them.

What was the popular misconception about the cause of autism in the 1950’s?
Autism was believed to be caused by lack of parental care and child trauma. However, later it was proved that biological disorders were responsible for the cause rather than poor parenting.

What’s the significance of language regression in relation to Autism Spectrum Disorders?
The term autism used to describe a number of developmental conditions that are characterized by verbal communication problems, among others. Autism and communication difficulties often go hand in hand.

showing 1 to 6 of 76 records


1. M25 Surrey Anti-clockwise

    Incident type: disruption
    At J12 for M3 Surrey
  2. A307 Surrey Southbound

    Incident type: congestion
    At High Street Esher
    A307 Surrey - Queuing traffic on A307 Portsmouth Road southbound in Esher at the High Street junction. Congestion to Scilly Isles.
  3. A243 Greater London Both ways

    Incident type: congestion
    Before B280 Fairoak Lane Malden Rushett Chessington
    A243 Greater London - Very slow traffic on A243 Leatherhead Road in both directions in Chessington before Malden Rushett. In the roadworks area. Congestion to the Garrison Lane junction.
  4. M25 Surrey Clockwise

    Incident type: congestion
    Between J13 for A30 Surrey
    And J16 for M40 Fulmer
  5. M25 Greater London Anti-clockwise

    Incident type: congestion
    Between J14 for A3113 Airport Way Greater London
    And J12 for M3 Thorpe
    M25 Greater London - Slow traffic on M25 anticlockwise between J14, A3113 (Heathrow Terminal 4) and J12 M3.


(WASHINGTON-AFP) - U.S. regulators on Friday approved for market a new kind of prosthetic arm that allows a person to flex certain muscles in order to perform complex tasks.

The development of the DEKA Arm System -- nicknamed the "Luke" arm after Luke Skywalker in Star Wars -- was funded by the Defence Advanced Research Projects Agency (DARPA).

Tests on 36 US military veterans who had lost their lower arms showed that 90 per cent found the robotic device allowed them to do tasks they could not with their current prosthetics, including using keys and locks, making food, feeding themselves, using zippers and brushing their hair.

However, it does not return any sensation to the wearer, an attribute that recent research on other prosthetics has shown may be possible.

The DEKA Arm System is controlled by electrical signals from electromyogram (EMG) electrodes, which detect muscle contraction close to the area where the prosthesis is attached.

The signals allow the arm to make 10 different powered movements.

The black and silver prosthetic is the same shape and weight as a human arm, and is manufactured by DEKA Integrated Solutions in Manchester, New Hampshire.


Raffi is a Canadian-Armenian singer-songwriter. He is well-loved by the children of the 1970s, 1980s and early 1990s for his popular children's songs.

Some of Raffi's best-known children's songs are Bananaphone, Baby Beluga, Down by the Bay, Shake My Sillies Out, and Schmenge Polka.


This function takes the following parameters:

Pointer to the URL of the OpenSSO Enterprise Logging Service being used for the remote logging.

Pointer to the properties that contain the information to initialize the OpenSSO Enterprise Logging Service.

Note –


Michel and Associates, P.C. Attorneys at Law 2015-03-29T20:18:43Z http://michellawyers.com/feed/atom/ WordPress mapcadmin <![CDATA[How to Conduct Employment Background Checks without Breaking the Law]]> http://michellawyers.com/?p=37779 2015-03-10T21:35:22Z 2015-03-10T21:32:17Z

Crim Background Check

By Joshua Dale

When you’re interviewing job applicants, you want to be able to ensure that what a prospective employee is telling you about themselves is accurate. Some sources estimate that as many as half of all resumes and job applications contain false or inaccurate information. And under-performing employees who slip through the best of hiring practices cannot only cost an employer money and resources in having to hire and train a new employee, they can pose a significant legal liability to the employer.

Because employers can be legally liable for the acts of their employees, it can be a wise investment to attempt to verify information provided by an applicant before hiring them.  One of the best defenses against a negligent hiring lawsuit is the defense an employer uses before a lawsuit is ever filed: conducting thorough background checks into job applicants.

In California, employers have to follow strict guidelines when it comes to background checks.  There are both state and federal laws that restrict the type and breadth of checks an employer can run, and employers must ensure that they comply with both. The Fair Credit Reporting Act (FCRA) sets the national standard for employment background checks when the employer uses a third party to conduct a background investigation of a job applicant.  Beyond FCRA, California laws have added additional, unique regulations that employers must further be mindful of in checking the background of job applicants. One of these state laws, the Investigative Consumer Reporting Agencies Act, also imposes duties on employers who conduct their own background checks rather than hire a third party to provide the employer with background check information.

There are a number of possibilities for the type of information about a job applicant that can be accessed in a background check.  Each type has its own regulations that must be complied with. Employers will often want to verify an applicant’s employment and education. Many employers want to also run a criminal background check. And more employers are beginning to run credit checks on applicants.

As a general rule, employers may run a criminal background check on job applicants, but prior to doing so, they must often obtain the written consent of the employee.  This is a federal law requirement for instances where information is sought from a third party like a private investigator or agency. Regardless of who runs the background check for the employer, under California law the type of criminal information able to be sought is circumscribed. For instance, in seeking criminal background information, employers may only consider the last seven years of a job applicant’s criminal information. Employers are also not allowed to ask an applicant about a marijuana conviction that is more than two-years old.

In looking at a job applicant’s criminal background, employers also cannot ask about or seek records for any arrest that did not lead to criminal conviction.  And employers cannot ask about criminal convictions for which the applicant nonetheless did not receive a criminal sentence.  Likewise, information regarding the completion of pre-trial and post-trial jail diversion programs is off limits, as are criminal records about convictions that have been sealed, expunged, or dismissed.  Surprisingly, information about a job applicant’s recent arrests that have not yet been disposed of (i.e., potential criminal charges have been or may be filed), can, however, be permissibly inquired about as part of a background check.   Notwithstanding this, the ambit of available criminal background information about a job applicant available to a California employer is thus specific and somewhat narrow.

In California, like most states, when an employee files a workers’ compensation claim, the case becomes public record and an employer will be able to seek that record.  But an employer may not use any medical information found in the record or the fact that the applicant filed a workers’ compensation claim as a basis for any decision to not hire an applicant.  The only time this type of medical information is lawfully considered by a potential employer is in determining whether an injury or medical condition could interfere with an applicant’s ability to perform a required job duty.  And even when such information is permissibly considered in that context, the prospective employer is obligated to consider whether an accommodation by the employer of the learned-of medical condition could overcome any barrier to performance of the essential job functions for the position.  Thus, seeking and using medical information about a job applicant obtained from a workers’ compensation claim file is fraught with potential traps and must be navigated by the employer carefully.

Contrary to conventional wisdom,  employers in California generally cannot run credit reports on job applicants.  There are some exceptions to this prohibition for certain high-level or sensitive job positions, however.  The positions for which a credit check can be run on an applicant include managerial positions, law enforcement positions, positions that involve access to certain personal or confidential information, positions in which the employee will be a named signatory on the employer’s bank account or credit card, and positions where the employee will have regular access to more than $10,000 in cash.

If the position falls into one of these permissible categories, and the employer wants to run a credit check, the employer must first inform the applicant that it will be requesting a credit check, and provide an explanation of why the job functions of the open position allow for a credit check to be conducted under the law (e.g., the job entails access to confidential consumer information).

Even if the job duties for an open position allow for a credit check of applicants, what an employer then can do with the credit check information is also subject to restrictions.  For example, employers cannot discriminate against an applicant because the employer learns from a credit check that the applicant previously filed for bankruptcy.  Employers are, in fact, limited to looking at only the past 10 years of bankruptcy records as part of a background check.

When conducting a background check, California requires that employers give more extensive notice to applicants than is required under federal law, and California has unique rules that an employer must follow in obtaining the consent of the applicant to conduct checks in certain circumstances. There are some records that an employer must get the consent of the applicant before reviewing and using in making a hiring decision. These include confidential records such as education, military service, and medical records.

If requesting a background check, employers must also provide job applicants with a copies of the “Summary of Your Rights Under the FCRA,” and the “Notice Regarding Background Investigation Pursuant to California Law.”  If using a third-party screening or reporting agency to conduct background checks, the employer must first get the applicant’s authorization in writing.  Before requesting a report from a screening agency, an employer must, in a document that is separate from the rest of the application, give notice that the employer may obtain an investigative consumer report of the applicant for employment purposes, and that this report may include information on the applicant’s “character, general reputation, personal characteristics, and mode of living.” The employer must also state the nature and scope of the report it will be requesting, and  provide the applicant with the reporting agency’s website address or telephone number.

The notice and consent requirements are not as strict for employers conducting their own background investigations.  For checks conducted by the employer itself, the required notices do not have to be separately given, and the employer may give the notices in the body of job applications or other documents.  But even when the employer conducts the background check itself, the employer must give the applicant an opportunity to request a free copy of any public documents obtained by the employer during the background check.

In California, the employer must, on the consent form, give the applicant the option of getting  a copy of the credit report and provide notice of the applicant’s right to view any files the reporting or screening agency maintains on the applicant. If an applicant requests a copy of the report, either the employer or the credit reporting agency should send it to the applicant no later than three days after the employer received the report.

Finally, before an employer takes an adverse action on a job application — such as not extending an offer of employment — based on information garnered from a background check, the employer must give the applicant a “pre-adverse action notice” and a copy of the background check report relied upon in taking the adverse action.

The myriad of restrictions and exceptions described above are merely a broad overview of the many rules that apply to an employer’s use of background information about a job applicant. There are nuances and additional regulations depending on a number of variables, such as the type of employer and purposes for which the information is collected.  Most important for employers to understand, there are substantial penalties for obtaining information in violation of the law or for using lawfully-obtained information for an improper purpose.  These penalties can include federal and state agency enforcement actions against the employer, and private lawsuits on behalf of the aggrieved job applicant.  Therefore, employers may benefit from the advice of an employment law attorney experienced with the employer’s specific needs.

Joshua Dale is an employment and business law attorney at the law firm of Michel & Associates in Los Angeles.
CLICK HERE to view Joshua Dale’s profile page

mapcadmin <![CDATA[Latest News in Fyock v. Sunnyvale]]> http://michellawyers.com/?p=37724 2015-03-05T00:12:41Z 2015-03-05T00:11:17Z

Chuck Michel, Senior Partner, Michel & Associates P.C.

“An appeal of this decision is already being prepared, in addition to a separate lawsuit on preemption grounds that will be filed against Sunnyvale within the week. This decision, like other recent Second Amendment decisions from the Ninth Circuit, is based on a fundamental misapplication  of the Supreme Court’s ruling in the Heller case, and it is time for the Supreme Court to emphatically let lower courts know that it meant what it said.”

CLICK HERE to view the case tracker.

mapcadmin <![CDATA[Harassment and Discrimination in the Workplace – How to Prevent it]]> http://michellawyers.com/?p=37578 2015-03-04T23:50:36Z 2015-02-24T22:42:42Z

By Joshua Dale

Like employers across the country, California employers have a responsibility to provide their employees with a workplace free from harassment and discrimination, and free from retaliation against employees who report unlawful conduct of coworkers or supervisors to authorities. But California’s law is more stringent than most other jurisdictions, and California employers must carefully plan ahead to ensure they comply with state law.

Employers’ obligations as to claims of harassment, discrimination, and retaliation begin long before an employee makes a claim to his or her employer that unlawful employment conduct is occurring. For example, California law makes harassment of an employee “unlawful if the entity, or its agents or supervisors, knows or should have known of this conduct and fails to take immediate and appropriate corrective action.”[1] It further requires an employer to “take all reasonable steps to prevent harassment from occurring.”  This means that an employer must effectively keep their “ear to the ground.”  They can’t simply wait for a complaint to be made by the affected employees if the employer is on reasonable notice that unlawful activity is occurring.

Part of taking the required preemptive approach is implementing a comprehensive workplace policy against harassment, discrimination, and retaliation, and developing a reporting procedure for employees to take advantage of when they perceive they are the subject of such unlawful behavior.  Once these policies and procedures are developed, it is vital to advise employees of these policies and procedures in writing.  This vital step is important not only to comply with California’s public policy, but to also provide an employer with potential defenses when an accusation of unlawful harassment, discrimination, or retaliation is made.

In accord with a public policy that emphasizes a preventative approach, California requires all employers to post a sexual-harassment-prevention notice that advises employees of their right to a harassment-free workplace.  Similarly, the policies and procedures developed by the employer to should similarly be communicated to the employee as part of readily-available postings, or, more commonly, by inclusion in an employee handbook adopted by the employer.

Adopting appropriate policies and procedures can be helpful in preventing unlawful conduct or providing a defense for an employer when certain types of employment harassment occur.  But in California, adopting such policies and procedures is not an adequate defense all circumstances where unlawful harassment, discrimination, or retaliation occurs.  Where a manager or supervisor discriminates against, harasses, or retaliates against a subordinate, an even-more stringent duty falls on the employer. It is therefore especially important that managers and supervisors are adequately trained in the employer’s anti-harassment, discrimination, and retaliation policies and are familiar with these policies and procedures.

This is because California is a “strict-liability state” when it comes to harassment, discrimination, or retaliation that is participated in by a supervisor.  This strict liability means that an employer will in most instances be automatically liable for the unlawful conduct of its managers and supervisors without regard to the policies adopted and training provided by that employer.

California law’s reach is broad.  It also requires employers with 50 or more employees to biannually train all supervisors on sexual harassment.[2]  Such training must be done by a qualified individual and provide at least two hours of comprehensive training on how to identify and prevent sexual harassment in the workplace.  Failure to provide such training when required can subject an employer to regulatory audits and fines.

As part of the employer’s duty to prevent workplace harassment, discrimination, and retaliation, California law also mandates that employers take appropriate corrective action when there is an allegation of such conduct. What is “appropriate corrective action” is hard to define and will often depend on the circumstances. But in many instances, appropriate corrective action begins with an investigation.

While managers and supervisors should be able to spot harassment, discrimination, and retaliation, companies should appoint one or more individuals identified as disinterested to investigate complaints of harassment and discrimination. The disinterested party appointed to conduct investigation of complaints can often be a human resource director or a manager, however, there may be instances where the circumstances of the complaint require individuals outside of the employees chain of command to conduct the investigation.

When there is a claim of sexual harassment, it is sometimes preferable for the investigator to be of the same gender as the victim. Thus, companies may need to have and should identify more than one individual who has the potential to serve as an investigator in an array of differing circumstances, i.e., gender versus race discrimination claims, sexual harassment versus whistleblower retaliation claims.  The right person for one type of investigation may be the exact wrong person for another type, and the employer’s use of that wrong person may exacerbate the employer’s liability rather than attenuate it.

One of the most important aspects of any investigation is that it be neutral and objective. Thus, some companies choose to have a neutral third party, such as an employment law attorney or an employment consultant, involved in or conduct the investigation. To further encourage objectivity, employers may also appoint different individuals to be involved at each separate stage of the investigation, i.e., the fact finding, determination, and, if necessary, disciplinary stages. When creating and carrying out anti-harassment plans and investigations and training managers and supervisors, employers should be aware that, generally, they have an obligation to treat similar complaints in a similar manner.

Once an employee makes a complaint, the employer should immediately begin an investigation. The first step is generally getting a full narrative of the event or events from the employee. Many companies have complaint forms that ask for facts such as the date, time, and location of the underlying incident, all employees involved and any witnesses to the incident, and the nature of discrimination. If the employer does not have a form, the individual investigating the claim should collect this information from the employee.

After the employee has filed a complaint, it is also important to assure the employee that he or she will not be retaliated against as a result of making the complaint. It may be necessary to take interim or temporary employment action after the complaint is made and during the investigation, especially if there is a risk of continuing harassment or discrimination while the investigation is ongoing. Sometimes, the employee filing the complaint may want to be reassigned or may welcome some time off. Many employers chose to separate the alleged harasser from the complaining employee. If the alleged harasser is a supervisor or cannot be separated from the complaining employee, an employer may choose to have the alleged harasser stay home until the investigation is finalized.

But note, the type of temporary employment action the employer chooses to address the complaint is fraught with challenges of its own, e.g., an employer who transfers a complaining employee to another department to get that employee away from an alleged harasser may, as a result of the transfer, be seen as retaliating against the employee for making the complaint.  This is particularly a concern if the transfer is seen objectively or subjectively as effectively punishing the complaining employee by, e.g., giving them a less-desirable job, longer hours, or a more difficult commute than what they experienced prior to making the complaint.

During an investigation, the complaining employee, the coworkers or supervisors alleged to have perpetrated the harassment, discrimination, or retaliation, and any known witnesses, should be interviewed as soon as possible. During these interviews, all employees should be assured that they will not be retaliated against for participating in the interview.

Some employees will likely be concerned about their privacy during an investigation.  The fact of the interviews should be kept as confidential as possible.  While it is difficult to provide total confidentiality and conduct a thorough investigation, the employer should only disclose sensitive information on a need-to-know basis.

A poorly-conducted investigation that results in “common knowledge” developing around the water cooler that a certain employee made a complaint can result in greater liability to the employer.  Oftentimes, this “public outing” of the investigation can be seen as or portrayed as  an attempt to embarrass the complaining employee, and therefore be construed as retaliation for the employee having made the complaint in the first instance.

The investigation stage of a complaint is vitally important because not only will it potentially diffuse the circumstances leading to the complaint, but it may address the employee’s complaint to the employee’s satisfaction.  If the employee is not satisfied with the outcome of an investigation, however, and the employer ends up in litigation, the fact that a fair and thorough investigation was undertaken by the employer will be evidence that the employer acted reasonably, fairly, and appropriately in response to a complaint. Too harsh or rash a reaction to a complaint without an appropriate investigation to back up that action could leave the employer looking to a jury or judge like it did not take its obligations under California law seriously.

Sometimes an employer may become aware of unlawful conduct, but the affected employee may not want to file a formal complaint. Even when the employee doesn’t want to complain about the behavior, the employer may still have an obligation to investigate.  Therefore, supervisors should be trained to take any complaint seriously, regardless of whether it is made offhand, informally, or even from a source other than the affected employee.

Once all parties have been interviewed and the investigation finalized, conclusions must be drawn. Employers should consider having an individual other than the individual who carried out the fact-finding participate at this stage to maintain objectivity. This individual will be tasked with determining whether harassment actually occurred.

When it has been determined whether and to what extent the harassment, discrimination, or retaliation did, in fact, occur, the employer should take reasonable and appropriate remedial action.  What action is appropriate is very fact specific.  There is no “one-size-fits-all” approach for an employer to apply in determining what conclusions to draw and what action to take after an investigation.  This is why it is almost a necessity for an employer to consult with counsel before taking any corrective or punitive steps the employer deems necessary following investigation of an employment claim.

The response or punishment following an investigation should be proportionate—reflect the severity and persistence—to the level of the harassment, to the extent possible. There are a range of possible punishments, including oral warning, written reprimand, counseling, removal of managerial duties or authority, suspension, and termination. The corrective action should be designed to stop the unlawful behavior and ensure that it does not occur again.  Sometimes written or verbal counseling may be sufficient.  In other instances, particularly if the unlawful harassment, discrimination, or retaliation is severe or reoccurring, termination may be the only appropriate remedy.

While punishment is determined on a case-by-case basis, employers should keep in mind their obligation to treat similar incidents in a similar manner. Thus, for example, if an employee is terminated after repeatedly making racial slurs to a coworker, another employee who later makes repeated racial slurs to a coworker may also need to be terminated so that the employer is not seen as applying its policies inconsistently with regard to unlawful behavior.

It is generally in the employers’ best interest to document the investigation process. This includes noting when the employee first made the complaint, whom the interviewer spoke with and what these individuals said, and what action the employer took and why. But again, there may be circumstances where it is inappropriate to document the investigation process, or the level of documentation generated may vary depending on the circumstances of a given complaint.  While there is no one liability-proof response employers can take, courts have made it clear that a prompt response is one of the most important things that an employer can do once employers learn of unlawful harassment, discrimination, or retaliation.

[1] California Government Code §12940(j)(1).

[2] A.B. 1825.

CLICK HERE to view Joshua Dale’s profile page

Laura Quesada <![CDATA[Hickenlooper]]> http://michellawyers.com/?p=37328 2015-02-13T23:33:20Z 2015-02-13T23:33:20Z 0 Claudia <![CDATA[Employee Meal Period Breaks – Employer Responsibilities]]> http://michellawyers.com/?p=37390 2015-02-25T00:33:57Z 2015-02-13T17:23:14Z

Three years after the much-anticipated California Supreme Court opinion in Brinker Restaurant Corp. v. Superior Court, employers are still grappling with how it affects employers’ obligations towards their employees. The Supreme Court provided much-needed clarification regarding employees’ rights to meal and rest breaks—an area that has generated a number of lawsuits—but there are still questions as to what an employer must do to “provide” the required meal and rest breaks.

Prior to Brinker, many lower California courts had treated missed meal breaks by employees as something for which the employer could always be found at fault, even in situations where the employee was given the opportunity by the employer to take a meal break, but the employee had voluntarily eschewed the opportunity.  Thus, the primary issue in Brinker was determining whether employers must simply provide employees with an opportunity to take a 30-minute meal break, as the employer in the case contended, or whether employers had to also ensure that employees actually took their meal periods, as the employees in the case argued. The California Supreme Court clarified the long-standing dispute by holding in Brinker that “[a]n employer’s duty with respect to meal breaks under both [Labor Code] section 512, subdivision (a) and Wage Order No. 5 is an obligation to provide a meal period to its employees.”[1]

The Court also provided much-welcome clarity on the number and timing of both meal breaks and rest breaks.

The plaintiffs contended that employers must provide a meal period after each five consecutive hours of work. Under this so-called rolling-five argument, if an employee took a meal break after the first hour of work, the employee would be entitled to a second meal break after another five hours. The Court rejected this argument, holding that Section 512 imposes no such meal timing requirements. Rather, “an employer’s obligation is to provide a first meal period after no more than five hours of work and a second meal period after no more than 10 hours of work.”[2]

Brinker emphasized that employers do have flexibility in scheduling breaks. Nothing in the law says that all workers must take their breaks at a specific time. Rather, the Brinker decision suggests that early meal breaks are permissible, which is particularly important in the hospitality industry.

In addition to the aforementioned meal breaks, employees are entitled under California law to receive two “rest” breaks during any given eight-hour shift. The Supreme Court in Brinker also clarified the rate at which an employer must authorize and provide these rest breaks. To fulfill the requirement, employees must receive 10 minutes of rest time for each four hours of work or “‘major fraction thereof.” A “major fraction thereof” means “a fraction greater than one-half.” But employees whose total daily shift is less than three-and-one-half hours are not entitled to a rest break. The court explained that this means that employees who work shifts from three-and-one-half hours to six hours would be entitled to 10 minutes rest under Brinker; employees who work shifts from six hours to 10 hours are entitled to two 10-minute breaks; and employees who work shifts of 10 to 14 hours get three 10-minute breaks.[3]

The Court also emphasized that there is no timing mandate in the law. The plaintiffs in Brinker argued that employers must permit their employees a rest period before a meal period. The Supreme Court disagreed. The Court found the “only constraint on timing is that rest breaks must fall in the middle of work periods ‘insofar as practicable.’”[4] Thus, employers must make a good-faith effort to permit rest breaks in the middle of each work period, “but may deviate from that preferred course where practical considerations render it infeasible.”[5] For a standard eight-hour workday, the Court stated that rest breaks should be generally be scheduled so that a rest break occurs both before and after the meal break during that work shift.[6] But the court also recognized “shorter or longer shifts and other factors that render such scheduling impracticable may alter this general rule.”[7]

Perhaps the most widely anticipated aspect of the Brinker decision was the clarification of what it means for an employer to “provide” a meal period. The Court stated that the “employer satisfies this obligation if it relieves its employees of all duty, relinquishes control over their activities and permits them a reasonable opportunity to take an uninterrupted 30-minute break, and does not impede or discourage them from doing so.”[8]

But the Court stopped short of explaining when an employer has satisfied its obligation to provide a meal break, stating that “[w]hat will suffice may vary from industry to industry,” concluding that “an employer must relieve an employee of all duty for that designated period.”[9]

The court did provide, however, that a meal period’s duty-free nature is its defining characteristic. Employees must be relieved of all work duties, be free to leave the premises, and be free to attend to any personal business. The break must also be free from any interruption.

The court refused to read in another requirement—that an employer must ensure that employees do no work during meal periods: “Indeed, the obligation to ensure employees do no work may in some instances be inconsistent with the fundamental employer obligations associated with a meal break: to relieve the employee of all duty and relinquish any employer control over the employee and how he or she spends the time.”[10]

The Brinker decision has left employers wondering just how vigilant they need to be if they don’t have to make sure employees are taking their breaks. Now that Brinker has made clear exactly how many breaks an employee is entitled to, and when, courts are seeing lawsuits based on the employer’s policies—either that the existing policy is noncompliant or that there is no policy.

Post-Brinker cases show that to “provide” employees with a break, employees must know what breaks they are entitled to, generally through a comprehensive and compliant policy. All employers should have written meal and rest break policies. Employers who do not already have written policies for both meal breaks and rest breaks should promptly put them into place. And employers who already have written policies need to review them. These policies should be compliant with Brinker—if, for example, if an employer has an old policy that states every employee is entitled to a 10-minute rest break for every four hours worked, that policy may not be specific enough to cover the clarified obligations under Brinker, and therefore should be updated so that it takes into account the “major fraction thereof” language used by Brinker. Likewise, a policy may need to be updated if it merely states that an employee who works at least a five-hour shift is entitled to a 30-minute meal break, but fails to address the issue of the required second meal break if the employee works a 10-hour shift. This second meal break issue should be addressed in the policy even if employees regularly work only eight-hour shifts for that employer, in order for an employer to not only comply with the law as clarified under Brinker, but to also later demonstrate that the employer intended to fully comply with the law by the policies it established. It is also a good idea to include a statement in the policies prohibiting work during break periods. Even if the employer’s practice complies with the law, employers should ensure that their policies also comply with the law.

It is usually not enough, however, to simply have a policy. First, employers should ensure that employees receive these policies and understand them. Furthermore, employers should not set a policy and then assume that the policy is resulting in breaks being taken without any further scrutiny of whether the policy is actually resulting in employees taking breaks. Instead, employers must stay on top of the issue by knowing when employees skip meal breaks and then investigating why the missed break occurred. While any particular missed break may simply reflect an individual’s choice during a given shift, the missed break may also point to a systemic problem that could result in later liability to the employer.

In addition to lawsuits based on the lack of a compliant policy, courts are also seeing cases based on employers’ practices, in which plaintiffs allege that the job requirements are either inconsistent with taking breaks, or that the employer offers financial incentives that encourage workers to miss their breaks. If an employer, for example, bases bonuses on an employee’s ability to accomplish tasks within a certain amount of time, employees—and courts—might see this as an incentive to skip breaks.

Employers should also ensure that company requirements and expectations are consistent with policies, and managers and supervisors effectively communicate these to employees. In one post-Brinker case, the court cautioned against prohibiting all personal activities during the workday.[11] An employee may misunderstand this and think it applies to meal breaks too. Under Brinker, an employee’s meal break is essentially personal time; the employee is free to eat or to do anything else for thirty minutes.[12] A scheduling policy that makes taking breaks difficult—i.e., number of deliveries must make in a workday—or an informal anti-meal-break policy that is enforced through ridicule or reprimand from a supervisor have also landed employers in hot water.[13]

Employers should ensure that all managers and supervisors have been trained in meal-break and rest-period compliance. This includes ensuring that managers and supervisors do not interrupt employees during their breaks. It may also mean that managers should schedule both rest-break periods and meal periods for employees to help ensure that employers take them.

As in so many areas of business, accurate and detailed records are also essential. It is good practice to keep records of both meal breaks and rest breaks. Employers may also want to ask employees to review and verify their work hours and breaks to ensure the records are accurate in case the employer’s practices are later challenged.

Employers can then use these records to monitor whether employees are taking breaks by periodically reviewing time records and following up with employees who are not taking breaks. Employers should keep any emails and other documentation reminding managers to provide breaks and reminding employees to take their breaks. It is also a good idea to have a procedure for employees to notify the company when they could not take a break. And if an employer does get complaints or notification from an employee, it should take action.

Although Brinker stated that employers “need not ensure that no work is done,” it also stated that “an employer may not undermine a formal policy of providing meal breaks by pressuring employees to perform their duties in ways that omit breaks.”[14] If many employees are consistently not taking breaks, for example, there may be a problem and the employer may need to determine whether managers have impeded or discouraged employees from taking their breaks.

While many count Brinker as a win for employers, it is not a license for companies to get lax about compliance.

[1] 53 Cal.4th 1004, 1040, 273 P.3d 513, 536
 (2012).
[2] 53 Cal.4th at 1017, 273 P.3d at 521.
[3] 53 Cal.4th 1029, 273 P.3d at 529.
[4] 53 Cal.4th at 1031, 273 P.3d at 530.
[5] Id.
[6] 53 Cal.4th at 1032, 273 P.3d at 531.
[7] Id.
[8] 53 Cal.4th at 1040, 273 P.3d at 536–37.
[9] Id.
[10] 53 Cal.4th at 1038–39, 273 P.3d at 535.
[11] Ricaldai v. U.S. Investigations Servs., LLC, 878 F.Supp.2d 1038 (C.D.Cal. 2012).
[12] Id.
[13] Cicairos v. Summit Logistics, Inc., 133 Cal. App. 4th 949, 963 (2005).
[14] 53 Cal.4th at 1034, 1040, 273 P.3d at 532, 536.

Laura Quesada <![CDATA[Kitsap]]> http://michellawyers.com/?p=36495 2015-01-08T00:47:56Z 2015-01-08T00:47:56Z 0 mapcadmin <![CDATA[MCLE “Second Amendment Litigation: Past, Present, and Future”]]> http://michellawyers.com/?p=31137 2014-06-16T21:22:58Z 2014-06-16T21:22:58Z

mapcadmin <![CDATA[Fyock v. Sunnyvale | Brief of Amicus Curiae Pink Pistols in Support of Plaintiffs-Appellants and Reversal]]> http://michellawyers.com/?p=30969 2014-06-03T23:21:40Z 2014-06-03T23:21:40Z

Fyock v. Sunnyvale_Brief of Amicus Curiae Pink Pistols in Support of Plaintiffs-Appellants and Reversal

Review all Fyock v. Sunnyvale briefs HERE

mapcadmin <![CDATA[Peruta v. San Diego | Appellees Court Ordered Response re: En Banc Petition]]> http://michellawyers.com/?p=30967 2014-06-03T23:20:35Z 2014-06-03T23:20:34Z

Peruta v. County of San Diego_Appellees Court Ordered Response

Review all Peruta v. San Diego briefs HERE

mapcadmin <![CDATA[Jackson v. San Francisco | Order Granting Motion for Extension of Time to File Petition for Rehearing and Rehearing En Banc]]> http://michellawyers.com/?p=30961 2014-06-03T23:19:17Z 2014-06-03T23:18:29Z

Jackson v. San Francisco_Order Granting Motion for Extension of Time to File Petition for Rehearing and Rehearing En Banc

Review all Jackson v. San Francisco Briefs HERE


Bananas, Highly Inbred, at Risk

Bananas will need sex if they are to survive into ripe old age, research concludes.

- A study finds bananas have rarely crossbred over the last 7,000 years.

- Most standard yellow bananas are mass cultivated as infertile clones.

- This makes the banana vulnerable to disease and pests

A study retracing the bananas' family tree has found their wild ancestors have rarely crossbred in the last 7,000 years, strengthening calls to diversify the popular crop.

The standard yellow banana currently found on most supermarket shelves are mass cultivated as infertile clones and are therefore genetically identical.

But this makes them particularly susceptible to disease, pests and ecological challenges, writes a team of European and Australian scientists in the journal Proceedings of the National Academy of Sciences.

Co-author Mark Donohue, from the Australian National University in Canberra, said 85 per cent of cultivated bananas are for local consumption.

"This means that any disruption to the supply of bananas will have immediate consequences ... possibly leading to famines," he said.

In order to be able to generate diversity and improve future banana crops, the authors of the study believe it is necessary to understand which species were historically crossed and selected for breeding.

To reconstruct the banana's geographical spread and its road to domestication they analyzed genetic, linguistic and archaeological data.

Analysis of microscopic remains of banana leaves at the world heritage-listed Kuk swamp in New Guinea confirmed banana cultivation was taking place approximately 7000 years ago.

Genetic analysis showed that bananas in the islands around Southeast Asia and Western Melanesia hybridized into subspecies that could not have formed without human intervention.

Linguistic research identified more than 1100 terms from different languages that relate to banana varieties. They also found four key derivations of the term for banana, each suggestive of a different dispersal trajectory.

While the new research may provide a basis on which to formulate a banana breeding strategy, Donohue believes we also need to encourage local diversity.

There are hundreds of varieties of bananas, from plantains to ladyfingers, and there are many more yet to be documented.

"Many parts of the world, like Indonesia, don't really know the sort of genetic diversity that's out there - there's never been a survey," said Donohue.

In the 1950s, a fungal disease, known as Panama disease, led to huge losses of 'Gros Michel,' then the biggest export and most widely consumed banana species.

Similarly, the Irish Potato famine in the 19th century was the result of over-reliance on a few species of potato.

Jonathan Eccles, CEO of the Australian Banana Growers' Council, said that while there are no banana breeding programs in Australia, they do evaluate different varieties through their research program.

"The whole supply chain has to be taken into account when evaluating different varieties," he said.

This includes whether there is consistent productivity and the length of transport time, as well as market attributes such as flavor characteristics.

"Offering a range of products, such as plantain, is a good way to encourage expansion of banana varieties," said Eccles.


Should the Gospel Be in Every Sermon?

Like Us

Is the Sunday sermon part of feeding the flock or reaching the lost? Is it possible to both in the same message? How do you strike a balance between the two?


Enter your Everyday Health log-in here:

E-Mail Address:
Forgot Your Password?

Cystic Fibrosis Causes, Symptoms and Treatment

What is cystic fibrosis?

Cystic fibrosis is a disease that causes mucus in the body to become thick and sticky. This glue-like mucus builds up and causes problems in many of the body's organs, especially the lungs and the pancreas. People who have cystic fibrosis can have serious breathing problems and lung disease. They can also have problems with nutrition, digestion, growth, and development. The disease generally gets worse over time.

The life expectancy for people with cystic fibrosis has been steadily increasing over the past 40 years. On average, people who have cystic fibrosis live into their mid-to-late 30s, although new treatments are making it possible for some people to live into their 40s and longer.

What causes cystic fibrosis?

Cystic fibrosis is one of the most common genetic disorders in white children in the United States. It's caused by a change, or mutation, in a gene. The changed gene is passed down in families. To pass on this disease, both parents must be carriers of the changed gene.

What are the symptoms?

Cystic fibrosis is usually diagnosed at an early age. Although the symptoms are not the same for everyone, some common symptoms of a baby who has cystic fibrosis include:

  • A blocked small intestine at birth, which prevents the baby from passing his or her first stool.
  • Very salty sweat or skin.
  • Diarrhea.

Other symptoms may also develop in childhood such as:

  • Clubbing (rounding and flattening) of the fingers.
  • Growths (polyps) in the nose or sinuses.

How is cystic fibrosis diagnosed?

Most people who have cystic fibrosis have signs of it when they are children. In the United States, some states routinely screen newborn babies for cystic fibrosis. Screening tests look for a certain health problem before any symptoms appear.

How is it treated?

Experts have not yet found a cure for cystic fibrosis, but new and improved treatments help people who have cystic fibrosis live longer. The types of treatment your child receives depends on what kinds of health problems the cystic fibrosis is causing and how your child's body responds to different types of treatment. Most people combine medicines, home treatment methods (including respiratory and nutritional therapies), and other specialized care to manage the disease.

Frequently Asked Questions

Learning about cystic fibrosis:

Being diagnosed:

Getting treatment:

Ongoing concerns:

Living with cystic fibrosis:

End-of-life issues:


3356 Monte Sereno, Lot 87

Located just north of Santa Fe's historic plaza, is serene setting of Monte Sereno. Set amongst pinon trees on mostly east-facing hillside, the views of the Sangre de Cristo Mountains are the centerpiece for this development. There are a handful of lots that offer the best of both worlds with eastern Sangre and western views of the Jemez Mountains. Lot 87 is one of those special lots. In fact,Lot 87 has views of the Jemez and Sangre de Cristo Mountains, the Badlands and north to the Colorado border! This well-thought-out development includes all the modern conveniences with paved streets, open space and walking trails, all city utilities, natural gas and cable for high-speed internet. Don't miss out on this coveted, top ridge lot to build your dream home on.


A length of rod along the x axis. Rod starts at zero and extends 1 meter in length in the positive direction. The linear mass density of the rod is p x = x - (x^2)/3. Assume units are consistent with x being in meters. Find the total mass and center of mass for an axis of symmetry located at x = 0.

Detailed answers to tough
homework problems


Computational creativity and the future of AI

Electron Microscopes

A ptychographic reconstruction of gold particles showing the atomic fringes (Image: Univer...

An electron microscope image of a house dust mite - don't worry, it's dead

Instead of light, traditional high-resolution electron microscopes use a particle beam of electrons to illuminate a specimen. However, the particle beam also destroys the samples, meaning that electron microscopes can’t be used to image living cells. Electrical engineers at Massachusetts Institute of Technology (MIT) have proposed a new scheme that can overcome this critical limitation by using a quantum mechanical measurement technique that allows electrons to sense objects remotely without ever hitting the imaged objects, thus avoiding damage.  Read More

The new Field Emission Scanning Electron Microscope, MERLIN.

The Titan 80-300 Cubed microscope

Microscopes have been an integral tool for scientists for hundreds of years, opening up the world that surrounds us and providing countless scientific breakthroughs. Now the most advanced and powerful electron microscope on the planet—capable of unprecedented resolution—has been installed in the new Canadian Centre for Electron Microscopy at McMaster University in Ontario.  Read More

Looking for something? Search our 31,283 articles
Editor's Choice
Product Comparisons