Jose's Blog

19.07.2016

multiple screensaver randomized at a time interval

Filed under: Programming — Tags: — admin @ 11:50

Anyone who worked with linux might be more familiar with XScreensaver. It was only late when I got myself familiar with it. But I was also quite annoyed that I didn’t had this possibility of using multiple screensaver that changes at a fixed time interval, say every 1 minute, alone on the first call of the screensaver by a Windows operating system. I think there is the possibility for a software to change the default screensaver to another random screensaver, but what I wanted was XScreensaver style in windows. I wanted one call of screensaver uninterrupted by the user input to change to another screensaver while the computer is still idle after a specific time interval.. and I wanted randomness as well. I searched high and low and found ScreenMonkey from the WWW. I think it has some .NET dependencies. In any case, I was a bit annoyed that I had to pay for it in order to get rid of the monkey between screensavers. It didn’t bother me that much, but I was still challenged to solve the problem on my own by making my own multiple screensaver randomizer.

After a little work I created multiscr for Windows. I’m sure it is a bit buggy and might not fit to everybody’s liking. After all, I did it only to please myself and not for other peoples consumption. Nevertheless, I’d like to share this, in case someone is interested in using it: Click here to download. A few words of warning though:

  • The screensaver does not use Windows Registry to save user’s choice of screensaver. It saves everything in the %SYSTEMROOT% directory (usually in Windows/System32). So this directory should be writable to the program.
  • Time interval to switch between screensavers should not be less than 10 seconds
  • The program hooks to mouse and keyboard event to stop screensaver when the user makes a mouse or keyboard input (I’m doing everything manually instead of linking directly to Scrnsaver.lib which I personally find quite restrictive. This seems to work quite fine.)
  • The program simulates a mouse (1 pixel movement) event to force the stop of the chosen screensaver to switch to another random screensaver after the given time interval.

I can release the code for free access upon request. At the moment I am not doing so because I need to make the extra work of making the code “better readable”, removing/customizing some of my unnecessary internal codes (which isn’t necessary to share for this program), put in a visual studio project file for ease of compiling and putting some kind of text about license or sharing. At the moment, I’m just too lazy esp. if not a lot of people are interested in the code anyway. Send me a line if you are interested.

16.07.2016

Generalizing Galois Theory for Commutative Rings – Part I

Filed under: Ring Theory — admin @ 09:25

I am not sure why this idea has lost popularity after the 60’s. Papers appear about this, but more people seemed to be interested in it half a century ago. I would say, the idea started independently. On one hand we had a group of noncommutative algebraist and homological algebraist working on ideas that was probably once inspired from the category of fields. For instance separable algebras (separable fields) and von Neumann regular rings with its semiheriditary and quasi-inverse property (not far related to fields and product of fields) were, in my opinion, quit popular among noncommutative algebraist and homological algebraist. Then there were a group of people who purposely wanted to see ideas developed for Galois theory extended to rings. We have now definitions for separable ring extensions, splitting ring extensions and even algebraic extensions of rings (which is not the usual algebraic extension we would intuitively define). The last topic (algebraic extension) was studied by Borho, Enochs, Hochster and Raphael.

Having said that, I decided to add myself into the set of cooks (to make a better broth). Recently I proved the following for instance:

Proposition Let $A$ be a Baer ring and $B$ be its total integral closure (this is also called algebraic closure by Robert Raphael) and suppose $f\in A[x]$ is a non-zero monic polynomial over $A$. Consider the set of zeros $S$ of $f$ in $B$. Then $A[S]$ is a finitely generated module over $A$.

The proof is a bit technical and to share it I am going to give a lecture about it and write an article about this (to be continued…).

Edit: I have a lot of new results here but I decided not to write a second post about this yet. I think a pdf file is better for this kind of thing. My paper related to this topic and proofs can be found here.

15.07.2016

Motorola Droid Mainboard

Filed under: Electronics — Tags: , — admin @ 20:03

Short Hint: Do not disassemble your smartphone to replace the mother board battery. For a long story read the whole blog. To get to the final point, read the last paragraph of the blog…

Long time ago I bought my motorola droid I, second hand, for around €30. The smartphone has served me well even till now. In fact, it is still my first and only smartphone. Needless to say, slowly it is showing signs of its age. Now when I remove the phone battery from the back, the time is set to 01:00 and the date gets set to 01.01.1970. I figured that such smartphones should have an internal mainboard memory that will keep time setting intact even after removing the removable (or rather, “easily removable”) battery. In fact, it does. So I decided to disassemble my phone and replace this internal battery. If you observe carefully, the video where a person disassembles (I would say, rather unprofessionally) a motorola droid will show the internal battery:

I write “unprofessionally” because there is a video of a disassembly of a Samsung Galaxy that is so detailed and professionally done (with “correct” household equipments and in a correct way) that all other smartphone disassembly videos pales in comparison to this one:

Now, after disassembling. I noticed that I wasted my time doing so. There is indeed a button cell attached to the phone mainboard, I think it fits a CR2430 (almost 3mm in diameter). BUT.. the cell is soldered to the board. So no way of just slipping the battery away from the board. The solders are very fine, I would guess that i need a very fine and stable soldering machine to unsolder it and then solder a new battery. My soldering iron (and my shaky hands) will probably ruin the board. I ruined the battery connection anyway, the steel that was soldered to the battery was cut off when I tried to push the battery out (not realizing fast enough that it was soldered and not just glued). All was not lost, since the smartphone works anyway without the internal cell (which was already dead). I reassembled the phone back and just installed ClockSync from Google-Play to keep my time syncrhonized and exact. If I had a cell and a good soldering iron I could have tried more, but I think (in this situation) it is best to leave the phone until it is no longer usable and buy a new one. This is a good lesson though, since I learned a little bit more about the electronics of a smartphone and I can do better next time I want to disassemble. This is how I learned to construct my own PC and repair laptops in the beginning.

Powered by WordPress