A book I published almost two years ago underwent a similar, painful process. I (as the coordinator) had it all typeset in LaTeX. It was not perfect, but it was beautiful already. The university (social science research institute) sent it (the PDF I gave them, as per their request) to the style corrector. I got back... An ugly MS Word document with some corrections included in it (but not version-controlled or anything like that, not even MS Word's sorry replacement for a real version correction). Merging that back into the original was way beyond painful. The second round of style correction was, fortunately, done different. I was able to work through the process with our editor, fixing some details out of common aggreement (and not only accepting their changes as during the first round, where I even spotted places where the style corrector misunderstood and even reversed the meaning of some fo the sentences). The second revision was not a piece of cake, but it made me learn quite a bit about editorial reasons and aesthetics, and had me way happier at the end. And the editor even learnt a bit about LaTeX as well.
In Mexico it's long been like that. But I think this makes Mr. Schneier a bit gullible — It is quite common to find experiences of people who are clearly "fast-tracked" into revision. Yes, I have had red lights several times, and it has some correlation with my age and looks at the time.
The difference is pretty clear, if you do some decent amount of DB. NULL means "I don't know". Empty string means a string of length 0 — A very different thing from sayin "I don't know". It means "I know, but the answer is empty". Same as the number 0. 0 is a defined, existing value. It is not unknown/null/undefined. Basically every RDBMS (except for MySQL) reliably handles the meaning of NULLs.
If you don't take into account geographical issues, saying "$200K" means very little.
I am a Mexican software developer. I consider myself well paid, and while I am far from living a life of luxury, I get enough to even set some aside to make some savings. My salary? Somehwere around US$25K a year. And I find I am a bit over the average in my country — Take as an example the study on salaries for 2012 published by Software Gurú, a national software development magazine.
(For reference sake, the US dollar is currently at ~MX$12, and we usually talk about our payment in monthly periods... so for your convenience, you can even read the numbers presented as if they were yearly salaries in US dollars;-) )
Several months before Google's announcement, I was fed up with some details regarding Google Reader (namely, going always through *their* servers according to *their* conditions). Given I am a systems adminstrator and have the ability (and little extra bandwidth) to self-host that service for myself, I installed a rssLounge instance.
I now learn rssLounge has been renamed to selfoss. I have yet to check this new version — but leaving minor glitches aside, rssLounge has me quite happy.
Mexico's legislation regarding what is acceptable as a means of voting is quite strict, and while lever machines were accepted in 1910, they have never been used here. They became explicitly forbidden around 1988 (don't recall the exact date). The whole country votes with paper ballots; state legislatures can determine what gets used for local elections, but so far (fortunately!) only Jalisco and Coahuila have deployed e-voting machines. Sadly, I expect the number of e-voting machines to increase in the future elections. But no lever machines.
Right — And nowadays, if you *really* want to protect your secret, you don't even have to ship it to your customer: Just offer it as a Web service. No way to decompile that (although it can, of course, be reverse-engineered). Given an enough-connected world, trade secret is again tenable for algorithms. Not everything can work depending on a Web service, but it pushes quite far the need.
It is strong, for me and for you. But patents provide a far stronger protection. Nobody can independently implement the given idea even if sharing no code in common with yours.
The Trans-Pacific Partnership agreement, to which New Zealand is a signatory, is set to mandate (among many trade "enabling" issues) a strong set of intellectual property rights homologation between involved countries. We are worried (being "we" Mexicans, where software patents are strictly and explicitly off the law) that TPP pushes for software patents. Does anybody have an insight on what will this mean for this issue in NZ? It is *very* naïve to suppose that, as most TPP-signing countries don't recognize software patents, they will be stopped at the other signatories. Extremely naïve.
I am a Mexican. We have currently a big problem, mostly in our Northern states, because of what you mention — The culture that celebrates street crime/being a thug. That is not related to race, but to hopelessness regarding the situation where they live. Not seeing any way to legally get out of poverty, not being able to find a motivation to lead a productive life that benefits society (as them as part of it). The same thing can be said about the "Mara Salvatrucha" phenomenon in Central America. The only way to get out of poverty there is (perceived to be) by joining street gangs. You might live a much shorter life, but a "better" one. For some value of better. Being African American carries a big correlation with being poor. And with seeing people like you in the same situation.
Things are not unidimensional. In many countries we have had the right-wing parties demand greater state powers. All Synarchist (that means, the semantic opposite to anarchism, literally means "with a government") parties were right-wing, and mixed economics and social morals on the same bowl. Fascists are also right-wing, and they defend the state overseeing basically all aspects of societal life. On the other hand, anarchist movements have almost always been related with left-wing sympathies. Left-wing does not necessarily mean "Stalin-style soviet-controlled society" â" In fact, socially, the Stalinist rule was quite a right-wing one.
A bit like the way Chavez won the Venezuelan elections in fact, well, this time at least. Last time he just rigged the vote instead.
The Venezuelan elections are among the most watched by international observers. Maybe the best known among them is the Carter Foundation, but I have talke with people that have been repeatedly to Venezuela from different countries in Latin America — I have taken interest in that because I have been working on the opposition to electronic voting. Venezuela started with e-vote over 10 years ago, and nobody has found anything leading to think the votes were not counted properly. Of course, you'll surely understand that it would undermine the whole regime's legitimacy... I did expect to find something, but couldn't.
This is not the same as saying that the elections are fair — Contenders have very different funding and air opportunities. This is, however, not very different (although it has a different form) than what happens in Mexico, where I live, or in the USA.
However, Venezuela doesn't have freedom of speech.
Others have already questioned your saying. Yes, some years ago he cancelled a critical TV chain's title of concession (permit to transmit on air). That is, however, within his legal power, and at least in many other countries, I know of similar facts. But printed media, radio and TV can (and do) strongly oppose the government.
Remember even the Soviet Union had elections
There are several differences and important points:
The USSR had *single party* elections, while Venezuela has multi-party elections. When they have held referendums, of course, the options were "yes" and "no" - But when they voted for president, governors and congress, they had many parties to choose from. Last year he won by almost 60% to 40%, and they had only two running candidates.
The USSR was (and Cuba is) in many senses more democratic than the USA is now. Think of the system: It is a pyramid of indirect elections. Exemplifying quite simplisticly: Anybody in your block could run for, say, representing the block in the city council. The city governor is elected in the city council, from within the city council members. The provincial government is elected among city governments. The country is elected from within the provincial governments. That means that, yes, you have to be aligned with The Party (as in the USA you need to be aligned with Either of The Two Parties), and if you want to go up, you have to be a great politician (just as it stands in our current pseudo-democracies). Yes, for the people at large, getting an issue pushed up to the President was incredibly hard. But it is not perfect (although much better, yes) for us today.
We have not, and I hope we don't ever, reverse our shift regarding slavery. But that's the reason I mentioned the "virtue" of a single religion being scraped, something that was unthinkable by 1821 (when Mexican independence was definitively achieved) but a fact in 1860, with complete separation between church and state. In 1821, the groups that thought that a monarchic rule was more adecuate to this country were a majority. They were defeated in 1824 (and we ended up with a dead emperor). Then again, in 1861-1865 we had a second Mexican empire (which also ended with a dead emperor). Since then, the idea hasn't floated, and the country has a rooted republican tradition (although our democracy is still quite weak). Now, back to what prompted me to write this: The USA were born as a reaction to being a colony, of England exerting too much control and not allowing for self-administration thousands of kilometers away. So, there was a genuine push for as tiny a government as possible. And a huge amount of US citizens are currently for small-government — That's (of course) correct on its own! You are surely free to have your own political ideology. But quoting the reason to be for small-government as "that's what the Founding Fathers intended!" is, IMO, equivalent to throwing away 250 years of political history.
Did I read right? Does having been born in your country come with a duty to fulfill the desires of long-dead politicians who would most probably not understand the world as it is today?
Many countries have a common story with yours, at least in the topic you mention. Countries founded on dreams, aspirations and ideals, and with debates and rationalizations serving as an ideological base. Mine (Mexico) does. And yes, many of those ideals are current, noble and worth defending — "El Generalísimo" José María Morelos, a half-black man, introduced the abolition of slavery (in 1812). Guadalupe Victoria and Vicente Guerrero (first and second presidents) fought for the country to be a democratic republic. But some of the ideals (i.e. assuring there would be only one accepted and tolerated religion, Catholicism) are just anachronic, and had to be completely scraped and rethought — Even within 50 years of their procclamation!
So, yes, very nice that your Founding Fathers had some vision on what they were seeking. But principles must be debated all along as progress is made, as time passes. Read, yes, the Federalist Papers. But debate them, don't follow them blindly! If you disagree, please make sure your fellow citizens understand your disagreeing! Shape your country different wherever it needs to be reshaped!
Good that those highly reputed bodies allow you to republish your PDFs printed with them. However, for the person interested in reading your paper (for which the citation says "CACM 03/13"), the natural step to look for it will be to approach CACM's site. If it is closed, many people will just curse and go on looking for alternative sources of information. Googling your document by title/author is not guaranteed to lead to http://obscure.dept.univ.edu/~author/papers/comp/2013/foobar_ftw.pdf — And, of course, there are also a large number of academics who will not publish their papers on their own site.
So, yes, IEEE and ACM are MUCH better when compared with Elsevier, and contribute much better to the advance of knowledge. But having the information published at its official point, properly cataloged, is much better.
Or with the still relatively few supranational bodies that do this, such as the EU. But a trademark must still be registered dozens of times all over the world, and that makes the process way messier. Of course, there are many Pythonists in the EU, and it would have had sense, but then again... It is most probably not registered in my country, or anywhere else in Latin America. Is it worth, as a previous post mentions, to pay for "an hour worth of lawyer fees" (plus the registration fee) over and over? How often must the trademark be revalidated?
I live in Mexico, which is often qualified as a third world country. Yes, we are way closer than European living standards than to Subsaharan Africa's — But we are still "third world". In a university, there are myriads of different programs that can be requested to fund a research project. In my university, the two main programs for that (PAPIME and PAPIIT) grant the researcher upon the project approval starting at around US$17,000 a year for up to three years, to be used in project-related activities (travelling to conferences, hiring interns, buying equipment, or, yes, publishing papers). And that is the *smallest* amount, it can get to three times that. So, in this portion of the third world... US$99 is not *so* terrible. Of course, you can still publish without a formal project approval (and that's what I have usually done), but it will be harder to do so in the author-pays journals.
Right, it can be seen as part of your task as an academic. The extra income I get from teaching is very little, but it is part of what an academic should do. Reviewing does not give me money at all (although it marginally publicizes my name), so it's also part of my tasks as an academic.
When I have reviewed papers for a refereed journal, I have not been paid. The most "pay" I get is to be mentioned as part of the "scientific committee" for that particular number of the journal. Of course, the journals should choose who gets to be a reviewer — If I have reviewed something, it is because I have submitted works there that were published, and were deemed worthy of being a reviewer. Now, there *can* be a journal where the author doesn't pay, the reviewers get only credit, and the readers don't pay. That can be achieved either with publicity, or by foregoing commercial interest and having the publication be a part of a university's mission/academic contributions. Many such publications exist.
In the University I work at, in Mexico, we have at least three "canonical" careers, with very different orientations, and several more specialized choices for a given field:
- Computer science: Algorithmical, mathematically oriented. This career is mainly targetted towards research and academia, towards applications where you have to develop AI, DB research, etc. This career is taught at the Science Faculty, and shares the most with Mathematics. The last two years are unstructured and mostly made up by "optative" subjects, so students can shape their specialization. - Computer engineering: Targetted towards practitioners. Programmers, networking people, etc. This is where I teach (operating systems). It has a strong mathematical foundation, but much less than computer science. This is taught at the Engineering Faculty, and shares the first two years with the ~10 different engineering careers. It has five different "specializations", so the last two years have subjects devoted to specific aspects. - Informatics: Teaches the basics of programming and DBMX, but is mostly targetted at people who whill integrate computing into the business workflow. It is taught at the Accounting and Administration Faculty. I am not familiar with that faculty's output profiles.
There are field-specific careers (i.e. a new career on informatic applications in medicine), but I am not familiar with them.
I guess similar base profiles should be available in the US universities. Mind you, my university is quite large (>300,000 students), so it can spare some "extra" choices:)
Yes, I agree with you. Still, having a device where the service provider reserves the right to b0rk my navigation when they realize they are not getting whatever from GoogleMaps, or when some apps I saw and wanted to use are pulled out just because they fail an arbitrary restriction... It is far from liberating.
Oh, and BTW, 500,000 applications sounds great. But when you realize that the value of at least half of them is having a fart sound on your phone when you push a "stink!" button... Well, the value is much less amazing than what it sounds like.
Finally: You will not come to *my* porch and tell me where and when can I criticize Apple or not. And now get off my lawn!
It might feel old-fashioned for some bits, but the results are completely worth it.
A book I published almost two years ago underwent a similar, painful process. I (as the coordinator) had it all typeset in LaTeX. It was not perfect, but it was beautiful already. The university (social science research institute) sent it (the PDF I gave them, as per their request) to the style corrector. I got back... An ugly MS Word document with some corrections included in it (but not version-controlled or anything like that, not even MS Word's sorry replacement for a real version correction). Merging that back into the original was way beyond painful.
The second round of style correction was, fortunately, done different. I was able to work through the process with our editor, fixing some details out of common aggreement (and not only accepting their changes as during the first round, where I even spotted places where the style corrector misunderstood and even reversed the meaning of some fo the sentences). The second revision was not a piece of cake, but it made me learn quite a bit about editorial reasons and aesthetics, and had me way happier at the end. And the editor even learnt a bit about LaTeX as well.
In Mexico it's long been like that. But I think this makes Mr. Schneier a bit gullible — It is quite common to find experiences of people who are clearly "fast-tracked" into revision. Yes, I have had red lights several times, and it has some correlation with my age and looks at the time.
The difference is pretty clear, if you do some decent amount of DB.
NULL means "I don't know". Empty string means a string of length 0 — A very different thing from sayin "I don't know". It means "I know, but the answer is empty".
Same as the number 0. 0 is a defined, existing value. It is not unknown/null/undefined.
Basically every RDBMS (except for MySQL) reliably handles the meaning of NULLs.
If you don't take into account geographical issues, saying "$200K" means very little.
I am a Mexican software developer. I consider myself well paid, and while I am far from living a life of luxury, I get enough to even set some aside to make some savings. My salary? Somehwere around US$25K a year. And I find I am a bit over the average in my country — Take as an example the study on salaries for 2012 published by Software Gurú, a national software development magazine.
(For reference sake, the US dollar is currently at ~MX$12, and we usually talk about our payment in monthly periods... so for your convenience, you can even read the numbers presented as if they were yearly salaries in US dollars ;-) )
Several months before Google's announcement, I was fed up with some details regarding Google Reader (namely, going always through *their* servers according to *their* conditions). Given I am a systems adminstrator and have the ability (and little extra bandwidth) to self-host that service for myself, I installed a rssLounge instance.
I now learn rssLounge has been renamed to selfoss. I have yet to check this new version — but leaving minor glitches aside, rssLounge has me quite happy.
Mexico's legislation regarding what is acceptable as a means of voting is quite strict, and while lever machines were accepted in 1910, they have never been used here. They became explicitly forbidden around 1988 (don't recall the exact date). The whole country votes with paper ballots; state legislatures can determine what gets used for local elections, but so far (fortunately!) only Jalisco and Coahuila have deployed e-voting machines. Sadly, I expect the number of e-voting machines to increase in the future elections. But no lever machines.
Right — And nowadays, if you *really* want to protect your secret, you don't even have to ship it to your customer: Just offer it as a Web service. No way to decompile that (although it can, of course, be reverse-engineered).
Given an enough-connected world, trade secret is again tenable for algorithms. Not everything can work depending on a Web service, but it pushes quite far the need.
It is strong, for me and for you. But patents provide a far stronger protection. Nobody can independently implement the given idea even if sharing no code in common with yours.
The Trans-Pacific Partnership agreement, to which New Zealand is a signatory, is set to mandate (among many trade "enabling" issues) a strong set of intellectual property rights homologation between involved countries. We are worried (being "we" Mexicans, where software patents are strictly and explicitly off the law) that TPP pushes for software patents.
Does anybody have an insight on what will this mean for this issue in NZ? It is *very* naïve to suppose that, as most TPP-signing countries don't recognize software patents, they will be stopped at the other signatories. Extremely naïve.
I am a Mexican. We have currently a big problem, mostly in our Northern states, because of what you mention — The culture that celebrates street crime/being a thug. That is not related to race, but to hopelessness regarding the situation where they live. Not seeing any way to legally get out of poverty, not being able to find a motivation to lead a productive life that benefits society (as them as part of it).
The same thing can be said about the "Mara Salvatrucha" phenomenon in Central America. The only way to get out of poverty there is (perceived to be) by joining street gangs. You might live a much shorter life, but a "better" one. For some value of better.
Being African American carries a big correlation with being poor. And with seeing people like you in the same situation.
Things are not unidimensional. In many countries we have had the right-wing parties demand greater state powers. All Synarchist (that means, the semantic opposite to anarchism, literally means "with a government") parties were right-wing, and mixed economics and social morals on the same bowl. Fascists are also right-wing, and they defend the state overseeing basically all aspects of societal life.
On the other hand, anarchist movements have almost always been related with left-wing sympathies. Left-wing does not necessarily mean "Stalin-style soviet-controlled society" â" In fact, socially, the Stalinist rule was quite a right-wing one.
The Venezuelan elections are among the most watched by international observers. Maybe the best known among them is the Carter Foundation, but I have talke with people that have been repeatedly to Venezuela from different countries in Latin America — I have taken interest in that because I have been working on the opposition to electronic voting. Venezuela started with e-vote over 10 years ago, and nobody has found anything leading to think the votes were not counted properly. Of course, you'll surely understand that it would undermine the whole regime's legitimacy... I did expect to find something, but couldn't.
This is not the same as saying that the elections are fair — Contenders have very different funding and air opportunities. This is, however, not very different (although it has a different form) than what happens in Mexico, where I live, or in the USA.
Umh...
Others have already questioned your saying. Yes, some years ago he cancelled a critical TV chain's title of concession (permit to transmit on air). That is, however, within his legal power, and at least in many other countries, I know of similar facts. But printed media, radio and TV can (and do) strongly oppose the government.
There are several differences and important points:
That means that, yes, you have to be aligned with The Party (as in the USA you need to be aligned with Either of The Two Parties), and if you want to go up, you have to be a great politician (just as it stands in our current pseudo-democracies).
Yes, for the people at large, getting an issue pushed up to the President was incredibly hard. But it is not perfect (although much better, yes) for us today.
We have not, and I hope we don't ever, reverse our shift regarding slavery. But that's the reason I mentioned the "virtue" of a single religion being scraped, something that was unthinkable by 1821 (when Mexican independence was definitively achieved) but a fact in 1860, with complete separation between church and state.
In 1821, the groups that thought that a monarchic rule was more adecuate to this country were a majority. They were defeated in 1824 (and we ended up with a dead emperor). Then again, in 1861-1865 we had a second Mexican empire (which also ended with a dead emperor). Since then, the idea hasn't floated, and the country has a rooted republican tradition (although our democracy is still quite weak).
Now, back to what prompted me to write this: The USA were born as a reaction to being a colony, of England exerting too much control and not allowing for self-administration thousands of kilometers away. So, there was a genuine push for as tiny a government as possible. And a huge amount of US citizens are currently for small-government — That's (of course) correct on its own! You are surely free to have your own political ideology. But quoting the reason to be for small-government as "that's what the Founding Fathers intended!" is, IMO, equivalent to throwing away 250 years of political history.
Did I read right? Does having been born in your country come with a duty to fulfill the desires of long-dead politicians who would most probably not understand the world as it is today?
Many countries have a common story with yours, at least in the topic you mention. Countries founded on dreams, aspirations and ideals, and with debates and rationalizations serving as an ideological base. Mine (Mexico) does. And yes, many of those ideals are current, noble and worth defending — "El Generalísimo" José María Morelos, a half-black man, introduced the abolition of slavery (in 1812). Guadalupe Victoria and Vicente Guerrero (first and second presidents) fought for the country to be a democratic republic. But some of the ideals (i.e. assuring there would be only one accepted and tolerated religion, Catholicism) are just anachronic, and had to be completely scraped and rethought — Even within 50 years of their procclamation!
So, yes, very nice that your Founding Fathers had some vision on what they were seeking. But principles must be debated all along as progress is made, as time passes. Read, yes, the Federalist Papers. But debate them, don't follow them blindly! If you disagree, please make sure your fellow citizens understand your disagreeing! Shape your country different wherever it needs to be reshaped!
Of course, I will also review my friends' articles. And will probably approve them. Specially if they are my friends, and know I am the reviewer.
Part of the importance on being the editorial body who mediates in this is to make the process less subjective.
Good that those highly reputed bodies allow you to republish your PDFs printed with them. However, for the person interested in reading your paper (for which the citation says "CACM 03/13"), the natural step to look for it will be to approach CACM's site. If it is closed, many people will just curse and go on looking for alternative sources of information. Googling your document by title/author is not guaranteed to lead to http://obscure.dept.univ.edu/~author/papers/comp/2013/foobar_ftw.pdf — And, of course, there are also a large number of academics who will not publish their papers on their own site.
So, yes, IEEE and ACM are MUCH better when compared with Elsevier, and contribute much better to the advance of knowledge. But having the information published at its official point, properly cataloged, is much better.
...agrees or cares about its ideology!
Or with the still relatively few supranational bodies that do this, such as the EU. But a trademark must still be registered dozens of times all over the world, and that makes the process way messier. Of course, there are many Pythonists in the EU, and it would have had sense, but then again... It is most probably not registered in my country, or anywhere else in Latin America. Is it worth, as a previous post mentions, to pay for "an hour worth of lawyer fees" (plus the registration fee) over and over? How often must the trademark be revalidated?
I live in Mexico, which is often qualified as a third world country. Yes, we are way closer than European living standards than to Subsaharan Africa's — But we are still "third world".
In a university, there are myriads of different programs that can be requested to fund a research project. In my university, the two main programs for that (PAPIME and PAPIIT) grant the researcher upon the project approval starting at around US$17,000 a year for up to three years, to be used in project-related activities (travelling to conferences, hiring interns, buying equipment, or, yes, publishing papers). And that is the *smallest* amount, it can get to three times that.
So, in this portion of the third world... US$99 is not *so* terrible. Of course, you can still publish without a formal project approval (and that's what I have usually done), but it will be harder to do so in the author-pays journals.
Right, it can be seen as part of your task as an academic. The extra income I get from teaching is very little, but it is part of what an academic should do. Reviewing does not give me money at all (although it marginally publicizes my name), so it's also part of my tasks as an academic.
When I have reviewed papers for a refereed journal, I have not been paid. The most "pay" I get is to be mentioned as part of the "scientific committee" for that particular number of the journal.
Of course, the journals should choose who gets to be a reviewer — If I have reviewed something, it is because I have submitted works there that were published, and were deemed worthy of being a reviewer.
Now, there *can* be a journal where the author doesn't pay, the reviewers get only credit, and the readers don't pay. That can be achieved either with publicity, or by foregoing commercial interest and having the publication be a part of a university's mission/academic contributions. Many such publications exist.
In the University I work at, in Mexico, we have at least three "canonical" careers, with very different orientations, and several more specialized choices for a given field:
- Computer science: Algorithmical, mathematically oriented. This career is mainly targetted towards research and academia, towards applications where you have to develop AI, DB research, etc. This career is taught at the Science Faculty, and shares the most with Mathematics. The last two years are unstructured and mostly made up by "optative" subjects, so students can shape their specialization.
- Computer engineering: Targetted towards practitioners. Programmers, networking people, etc. This is where I teach (operating systems). It has a strong mathematical foundation, but much less than computer science. This is taught at the Engineering Faculty, and shares the first two years with the ~10 different engineering careers. It has five different "specializations", so the last two years have subjects devoted to specific aspects.
- Informatics: Teaches the basics of programming and DBMX, but is mostly targetted at people who whill integrate computing into the business workflow. It is taught at the Accounting and Administration Faculty. I am not familiar with that faculty's output profiles.
There are field-specific careers (i.e. a new career on informatic applications in medicine), but I am not familiar with them.
I guess similar base profiles should be available in the US universities. Mind you, my university is quite large (>300,000 students), so it can spare some "extra" choices :)
Yes, I agree with you. Still, having a device where the service provider reserves the right to b0rk my navigation when they realize they are not getting whatever from GoogleMaps, or when some apps I saw and wanted to use are pulled out just because they fail an arbitrary restriction... It is far from liberating.
Oh, and BTW, 500,000 applications sounds great. But when you realize that the value of at least half of them is having a fart sound on your phone when you push a "stink!" button... Well, the value is much less amazing than what it sounds like.
Finally: You will not come to *my* porch and tell me where and when can I criticize Apple or not. And now get off my lawn!