I'd like to repair and re-use a small Bosch electric screwdriver. It currently has a battery of 3 small AA-type rechargables (unmarked cardboard wrapping) that has almost the same occupancy volume of a single 18650 Li-ion cell. The existing battery pack has an inline diode between the charging contacts and the battery pack.  I know about the risks as shown in .  My key question: I want to re-use the two contacts on the base of the scredriver that connect to the battery for recharging. I have an existing external Li-ion charger (so not use the dumb AC brick that came with the drill). Should I (a) use or (b) explicitly not use a diode between the contacts and the cell for short-circuit protection?   Without a diode, I have a small risk of short circuit if something touches both contacts (small, because the contacts are recessed). With a diode I have a voltage drop that can interfere with the voltage sense of my charger.  I'd prefer not to throw away this otherwise perfectly functional screwdriver, and I'm not sure where to buy the same kind of NiMH battery pack.
I have a rechargeable vacuum cleaner with NiMH batteries, 1800mAh and 14.4 volts, 12 cells. The charger is 18v 200mA. The batteries have now died.  Can I replace the batteries with 4 cell Li-ion in series?   That will be 14.4 volts, if considered 3.7v each. Of course, I know it will be roughly 4 volts when fully charged.  Li-ion batteries in my mind: 18650, 2500mAh.  Also, can I charge them with the same charger?
Describe the equivalence classes in terms of familiar mathematical objects How to add upload field in a custom taxonomy? Is there a Pythonic way to have only one instance of a program running?   The only reasonable solution I've come up with is trying to run it as a server on some port, then second program trying to bind to same port - fails. But it's not really a great idea, maybe there's something more lightweight than this?    (Take into consideration that program is expected to fail sometimes, i.e. segfault - so things like "lock file" won't work) dimension of a subspace spanned by two subspaces If $M$ and $ N$ be the subspaces of a vector space $V$ then prove that  $(\dim M) + (\dim N) = (\dim M+N) + (\dim M \cap N)$. When I use the listings package with frame in my code the frame "breaks" when the page ends and it is open in the end of the page. I want the frame to be complete with four sides and continue in the next page again with all four frame sides complete. How can I do this? Why does the frame "breaks"? Should the bias value be added after convolution operation in CNNs? Storage order vs Result order This is a spin-off question from .   says this on the subject of storage order (clustered index) and the output order     A lot of people believe that a clustered index guarantees a sort order on output. But that's not what it does; it guarantees a storage order on disk.   See, for example, .   I've read the blog post by Hugo Kornelis and understands that an index doesn't guarantee that the sql server reads the records in a specific order. Yet I have a hard time accepting that I can't assume this for my scenario?  CREATE TABLE [dbo].[SensorValues](   [DeviceId] [int] NOT NULL,   [SensorId] [int] NOT NULL,   [SensorValue] [int] NOT NULL,   [Date] [int] NOT NULL, CONSTRAINT [PK_SensorValues] PRIMARY KEY CLUSTERED  (   [DeviceId] ASC,   [SensorId] ASC,   [Date] DESC ) WITH (     FILLFACTOR=75,     DATA_COMPRESSION = PAGE,     PAD_INDEX = OFF,     STATISTICS_NORECOMPUTE = OFF,     SORT_IN_TEMPDB = OFF,     IGNORE_DUP_KEY = OFF,     ONLINE = OFF,     ALLOW_ROW_LOCKS = ON,     ALLOW_PAGE_LOCKS = ON)   ON [MyPartitioningScheme]([Date])   My original query was this:  SELECT TOP 1 SensorValue   FROM SensorValues   WHERE SensorId = 53     AND DeviceId = 3819     AND Date &lt; 1339225010   ORDER BY Date DESC   But I suggest that I could as well use this one (read below for my explanation):  SELECT TOP 1 SensorValue   FROM SensorValues   WHERE SensorId = 53     AND DeviceId = 3819     AND Date &lt; 1339225010   As you can see, my table rows are small (16bytes) and I've got only one index, a clustered. In my scenario, the table consists of 100.000.000 records at this moment (and this will most likely increase tenfold).  When the database server queries this table it has two ways of finding my rows, either it seeks the primary key and thereby reading and returning my values in desc. order of Date, or it has to do a full table scan. My conclusion is that a full table scan on all those records will be way too slow and the database server will therefore always seek the table via its primary key and thereby returning the values sorted by Date DESC What are words like "Hey Man", "Hey you", "Hey Dude" called Is there a term for words that summon someone like "Man," "Dude," "Kid" in sentences such as "Hey, Dude," "Listen up, kid," etc?    I am sure there is, but I can't really remember what it is. 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. Prove that if $g^2=e$ for all $g$ in $G$ then $G$ is Abelian. Prove that if $g^2=e$ for all $g$ in $G$ then $G$ is Abelian.   This question is from group theory in Abstract Algebra and no matter how many times my lecturer teaches it for some reason I can't seem to crack it.   (Please note that $e$ in the question is the group's identity.)  Here's my attempt though...  First I understand Abelian means that if $g_1$ and $g_2$ are elements of a group $G$ then they are Abelian if $g_1g_2=g_2g_1$...  So, I begin by trying to play around with the elements of the group based on their definition...  $$(g_2g_1)^r=e$$  $$(g_2g_1g_2g_2^{-1})^r=e$$ $$(g_2g_1g_2g_2^{-1}g_2g_1g_2g_2^{-1}...g_2g_1g_2g_2^{-1})=e$$  I assume that the $g_2^{-1}$'s and the $g_2$'s cancel out so that we end up with something like,  $$g_2(g_1g_2)^rg_2^{-1}=e$$ $$g_2^{-1}g_2(g_1g_2)^r=g_2^{-1}g_2$$  Then ultimately...  $$g_1g_2=e$$  I figure this is the answer. But I'm not totally sure. I always feel like I do too much in the pursuit of an answer when there's a simpler way.  Reference: Fraleigh p. 49 Question 4.38 in A First Course in Abstract Algebra. While browsing on Safari and listening to iTunes I come across a video and then press the "play" button on the keyboard (to stop the music while I watch the video) it starts/stops the video instead of the music (I have no control over the music).  How can I quickly play/pause my music without affecting the video? Agreeing on a single shortened nomenclature? I've noticed across various stack exchange sites that when they refer to their own stack exchange on their site, they'll shorten the name to something similar to either:  EE.SE (Electrical Engineering Stack Exchange) OR Tex.Sx (LaTeX Stack Exchange)  Essentially they'll do XX.SE or XX.SX which has the possibility to generate some confusion for new users.    Have I not visited enough sites and just noticed an outlier or would it be beneficial for Stack Exchange sites to agree on a shortened name nomenclature? How do I change the cursor and its size? CBC-MAC Padding weaknesses When a user without editing privileges suggests an edit to the post, a banner gets displayed until it is reviewed. Can the banner also provide a link to the Suggested edit? For example, I made an edit to a post on Unix&amp;Linux.SE. Can the banner also link to my ?     I know I can access the link through my Profile → Activity → Suggestions. But linking it directly on the face of the post would have immense benefits:  I have been a prolific editor on Ask Ubuntu (my first encounter with Stack Exchange Network) with a lot of Rep derived through Suggestions. I didn't get to know about these suggested edit links until very late (I guess I already had got about 400 edit suggestions approved by the time this came to my knowledge).  This means I didn't know about  when it mattered the most.  I never got to know why my suggestions got rejected because of my ignorance.  This would help reduce the barrier between Reviewers and Editors.  This would also help in case of Anonymous edits. Right now, there is no way an anonymous editor can access it unless the edit gets approved and he comes back to go through the Revision page of that particular post in order to access the Suggested Edit Review link. If the edit gets rejected - it's the end of the road for that anonymous editor. I just made an anonymous edit on one of the SE sites where I don't have an account and already feel like it's the end of the road for me since I just can't access the review link unless it gets approved.    Possibly also expand the banner to mention that they can also access the link to the suggestion via Profile → Activity → Suggestions. How does the Commander interact with Banishing Light or Oblivion Ring? My website title shows up slightly different from what's in my title tag, only in Google search How can I get better results when doing camera motion tracking? Whenever I do camera tracking in Blender the reconstruction is always zooming out or not on the axis. I have a great quality camera, but the end results of the camera tracking always has the model sliding. If you have a solution please tell me. Invalid characters for XML parsing in posthistory.xml from Stack Overflow We got the April 2011 data dump from Stack Overflow and, while trying to put everything into a database, we got      SyntaxError: reference to invalid character number: line 1105549, column 5445   in the middle of the posthistory.xml file. It seems that there are sets of characters (&amp;#xC I believe) within a few posthistory entries which break our XML parser.  Is there a solution besides manually changing all the C's? How to detect, from browser, if user is running in Remote Desktop session?