I have an I2C slave device in which the maximum input voltage to SCL &amp; SDA is 3.6V.  And the I2C Master device is PIC16F877A operating at 20MHz which provides a 5V output on SCL &amp; SDA.  Pls help me to interface these two devices.
Is there any IC that interfaces any 3.3V Input/Output to 5V Output/Input? I need it primarily for an Arduino Due but if there any bidirectional IC that works like that it would be great.  Some people advised me to use the SN74AHC125 and CD4050 ICs, but I don't understand how they work or how to interface with them.
How to convert light activated switch I shall come, not will Native speakers, how can you comment such a sentence:  I shall come, not will  Can I use it for  I will definitely come, not maybe    Adding some information other people asked me about.  How I came to such a question.  Here   I asked about "Shall I win?" pointing that it could have some variants of understanding:  1) Shall I win? = Should I win? (suggestion)  2) Shall I win? = Will I win? (archaic with 1st person)  3) Shall I win? = is it 100% that I will win? (predestination\inevitability)  The excellent guy Mixolydian said either variant was possible, that it didn't matter what person you used "shall" with, it could have this "predestination\inevitability" anyway. Out of this we're getting that nowadays we can use "will" for simple future actions and "shall" for almost predicted (almost 100% surety of happening) future actions.  If I want to say to someone:  Don't be afraid, I will come anyway.  Don't get panicked, I will definitely come  Be sure, I will come in any case  I can use "shall" for it meanining an action into which I will put 100% effort:  I shall come!  And what if my original sentence is  Don't doubt, I will definitely come, not maybe or probably  Can I use  I shall come, not will  pointing that "shall" guarantees me putting all my strengths into it while "will" doesn't give any assuarance that I will do everything to finally come.  As I understood, it wasn't very easy to ask such a question because English was different everywhere - US, UK, Australie, Ireland etc. I heard it was acceptabse to use even "thee\thou" in Ireland or somewhere like that while all other world has already forgotten such words...  P.S. What I got from the answers ias that it was better to forget about the existence of "shall" cause it created so many misunderstandings:D Can we have a high-speed low-drag close vote review queue? doGet and doPost in Servlets In a  a doubt was voiced about my answer, which claims GCM to requires $2^{128}$ for a successful forgery. The doubt was that the square root needs to be taken meaning the security would be $2^{64}$.  So of course I immediately checked the relevant security theorem ():  $$\mathbf{Adv}^{\text{auth}}_{\operatorname{GCM}[\operatorname{Perm}(n),\tau]}(\mathcal A)\leq \frac{0.5(\sigma+q+q'+1)^2}{2^n}+\frac{q'(\ell_A+1)}{2^\tau}$$  with $\sigma$ being the total plaintext size in blocks, $q$ being the total number of encryption queries, $q'$ being the total number of decryption queries, $n$ being the size in bits of the underlying permutation, $\ell_A$ being maximum authenticated input length in blocks and $\tau$ being the tag size in bits.  Now clearly from this we can see that performing $2^{n/2}=2^{64}$ queries yields a strong enough advantage for a break.  Now my question is: When talking about "n-bits of security" or "needs $2^n$ operations to break", do we usually talk about "online" security, ie queries to an oracle can be done and cost $1$ or "offline" security where no oracles are available or do we need to make this decision depending on the situation?  TL;DR: Does GCM offer 64 or 128 bit security? iptables drop all incoming ICMP requests except from one IP Currently, I have something like:  iptables -A INPUT -p ICMP --icmp-type 8 -j DROP iptables -A INPUT -s x.x.x.x -p ICMP --icmp-type 8 -j ACCEPT   However, when I run the second command, it looks as if iptables just stops.  I have to break out of it to get back to terminal.  Perhaps I am doing it all wrong, but some insight would be helpful. Where is a good place to learn classical optics for high school competitions? I need to learn basic optics for a high school academic competition. Does anyone know any good places, preferably free and online, to learn the basics of optics, like lenses, angles of incidence, etc.? I can't seem to find an MIT OpenCourseWare course addressing the issue. Now the cubs are growing, fed on mom's milk, but mom herself hasn't eaten in five months, and is getting thinner by the day.   What does in mean here, and how would the meaning of that piece change if for were used? I am a final year PhD in UK in a scientific discipline and I am writing my thesis. I have already published 2 journal papers and I have submitted 2 more papers for publications. My department does not allow a "publications-based" thesis so I need to write a thesis in the context of a book etc.   As I write my thesis in a couple of places, especially in the literature review, I tend to reuse sentences from my publications. I try to restate them a bit, maybe change some words for their synonyms etc. but it is practically me writing about what I wrote before. It goes without saying that I cite/quote me at the end of a passage if I say something non-obvious (I found that slightly funny. :) ). The problem is that occasionally I am just explaining for instance how a certain estimation technique works; in that case I cite the original authors and not myself. The syntax in those occasions though is practically the same as the original passage I used in my publication; as I have explained it once and was consider good, I find no reason to reinvent myself (I do a mild rewording as I mentioned but that is quite insignificant). Same things goes for listings. I do cite my paper in the beginning of a big list as the list's source but the list itself is almost identical as the one in "my" paper; in those cases I don't use quotations, just attribution "[]".  Is there an obvious guideline? The basic definition of plagiarism "reproducing the work of another person's as your own" is not (directly) applicable to me because I am the other person (almost *); if I am using other people's work I do cite them but I don't cite myself, citing them, in quotation marks!  I am a bit "fuzzy" about how not to plagiarize myself in my thesis (I have had no problem regarding my journal publications).  (* In all publications mentioned I am the first -but not sole- author.) Prove that the expression is a perfect square Let $m$ be a natural number. Define $f(m) = m + \lfloor\sqrt{m}\rfloor$. Prove that at least one of the number among $m, f(m), f^2(m), \ldots$ is a perfect square. Here $f^k(m)$ denotes the composition of $f$ over itself $k$ times.  I tried the question, but the greatest integer along with square root is creating trouble. I'm a teacher and will ask my students to either bring their laptops with Ubuntu installed with an specific list of packages preinstalled or bring a USB Drive or External Hard Drive with Ubuntu and the packages preinstalled.  For those who are going to bring the USB are two posibilities:   Install with the Ubuntu's "Startup disk creator" program, and telling it to reserve some space for persistence. Boot with a LiveCD and Install Ubuntu in the USB drive.   Then, in either case, boot with that media and install the packages.  So, for my purpose or any other purpose:   What is the best choice and why? Do we have another option? full explanation please. Deleting an element from an array in PHP Is there an easy way to delete an element from an array using PHP, such that foreach ($array) no longer includes that element?  I thought that setting it to null would do it, but apparently it does not work. How do you make corrections to a published paper? sample make file for creating more than one exe files with different directory How do I photograph a wedding in the rain? I've shot weddings before, but being in Minnesota they almost always have an indoor venue available due to the long cold winters that we have. I am coming up on a wedding that I will likely be shooting outdoors and in the rain. I'm not as worried about my equipment, I am more concerned with how to capture the shots that I need such as b&amp;g alone, the wedding party, family posed portraits, etc while potentially being stuck in poor weather.   Should I come prepared with 10 umbrellas? Should I make all possible attempts to find a sheltered area for the posed portraits? Do I have an assistant hold an umbrella out of the frame to protect the b&amp;g during alone shots? Just some ideas I've had, but I've never actually shot an outdoor ceremony during the rain. How can I test for POSIX compliance of shell scripts? Considering that POSIX is the closest thing to a common standard among all unices, I'm interested in knowing if there's a shell that supports it exclusively. While most modern shells provide support for POSIX (and will run POSIX compliant scripts without any problem), they don't do a good job at pointing out non compliant features.  Is there any shell that implements POSIX and POSIX only, in such a way that it'd throw an error for any non compliant feature?  EDIT I want to clarify that I'm not asking for general tips for writing portable shell scripts. The related question mentionned in the comments already covered this. I thought of this question when I found out that bash has a --posix option but only to discover that it only affects some intialization behaviors which is not exactly what I'm looking for. Add new item in existing array in c#.net How to add new item in existing string array in C#.net?  I need to preserve the existing data. Hint:  $a^2 -ab +b^2 = (a+b)^2 -3ab.$  I know we can say that there exists an $x,y$ such that $ax + by = 1$.  So in this case, $(a+b)x + ((a+b)^2 -3ab)y =1.$  I thought setting $x = (a+b)$ and $y = -1$ would help but that gives me $3ab =1.$  Any suggestions? Difficult Polynomial Question Mechanism to prevent edits without approval? I would say a quarter to half my questions end up getting edited the vast majority of which end up dramatically changing the context of my question. I'm not against good advice (I've acted on about 2% of all the criticisms I have ever had about my work since they were actually thoughtful) though I think since I joined overflow sites years after I've had a good grip on most of the material I work with people are seeing low reputation and presuming that equates to low levels of comprehension.  Regardless of the reasoning behind people making edits is there an option I can use that would require my approval in order to commit an edit to my questions?   I have no interest in spamming questions in order to artificially boost my reputation. I am getting tired of having to add bullet points telling people to ask for clarifications instead of editing my posts. Having to correct my posts so often reduces my desire to ask the question if I have to review the question again (even with the revision pages available). As this is a discussion there is no reason to edit this post, I will be happy to revise my own if you leave comments as I actively follow questions I participate in though the office of redundancy redundancy requires that I state I know what I am asking.   For example, say I post about Kubuntu (which by default uses KDE) and someone edits it changing the OS to Ubuntu (which uses Gnome by default). Then, answers become Gnome-oriented for a KDE question and the entire context has been changed--negating the point of asking the question in the first place.