I mentioned a while ago that I got a second monitor, which a long needed upgrade for me. I’ve been using only one screen for quite a while and for a lot of things it can get very frustrating to only have one screen. For example when playing a game in fullscreen your entire screen space is used up by one program, or when I needed to run two instances of a program for debugging, or when working on any project which requires to switch between programs like the webbrowser and something like Powerpoint.
Now that I have that second screen it’s obviously a lot more comfortable doing these things, but from time to time I still turn the other screen off because I notice that I don’t need it. The problem that comes up with that is that Windows remembers where you closed a program, so when opening for example the taskmanager and the last time I used it it was on the second monitor, I won’t see it since it’s turned off. So for now I’ve always either turned it back on again or just blindly guessed where the program is and dragged my mouse around in the dark.
Since that’s not an efficient solution I put together a small program that’ll move all windows (Almost all windows) that are open on one screen to another.
The program gets all it’s settings over arguments and is generally really small and probably unfinished but it does the trick for me. You pass it the dimensions of your main screen (Left, Right, Top, Bottom coordinates), which you can find out by running the progam with the –setup flag and finally pass it the coordinates of a point to which it should move all programs on the main screen.
It works pretty ok, it just doesn’t seem to want to move the file explorer since it’s probably the same process as the taskbar. At some point it also moved my taskbar, which made up for some interesting results like two taskbars stacked onto eachother. So I ended up blacklisting the explorer process.
And as always here‘s the sourcecode and the binary. I suggest launching the program from a shortcut with arguments.
So I have avoided windows 10 ever since the tray icon showed up for everyone for the free upgrade. The furthest I’ve gone away from windows 7 was 8.1. Since my windows 7 installation was getting kinda slow I decided to make a clean installation, and while I’m at it I thought I’ll go ahead and, for the first time, install windows 10 outside of a virtual machine.
The installation went smooth and I only had to untick about 300 settings about “collecting data to improve my experience”. After the main installation I went ahead and ran a few scripts to disable the rest of the services and I think I now a have a relatively useable installation of windows 10. So after I installed the basic software I need (which I heard can be automated using ninite or allmyapps, but I haven’t tried them) I went ahead and looked at some customisation with designs. There were some pretty cool looking ones but sadly one of them ended up toasting windows and trying to fix it only made it worse. Luckily I made a backup so that helped out a lot.
So after almost loosing my first installation of windows 10 about 2 hours in I stopped with the designs and installed something I knew from windows 8.1: Classic Shell, the free StartIsBack. It gives you a way to customize (or for windows 8 bring it back) your startmenu. The windows 10 start menu is way to big and full of useless stuff in my opinion so with classic shell you’ll get back the windows 7 styled start menu with a skin to fit the flat design of windows 10. It’ll also give you the search bar back and it’ll adjust to the accent color.
Due to the roll back to the backup I lost some software I had already installed, including winamp which was my goto music player for a while now. So I thought I’d use ths opportunity to give foobar a try but quickly dropped it since I didn’t like the interface and installing skins didn’t really work for me. But while looking for skins I found out about AIMP. I’ve never heard of it but I found a cool skin for it and it offers a lot of customization while staying very light weight (at least in terms of RAM usage).
So this is what my current installation looks like:
That’s basically it. We’ll see how long I can stick with it until I get annoyed or maybe to my surprise I’ll actually stay who knows.
So I’ve been using beam.pro now and then and I also did a few test streams. The problem I had is that since I don’t have a second monitor looking at the chat is rather hard when working on something that takes up your entire screen.
I tried to use an old laptop that I have to open up the embeded chat, so it could act as a second monitor. Sadly the old Pentium III and only 256 MB of ram couldn’t handle the beam.pro site even with arch linux and dwm. Which is probably nothing surprising, since that laptop is probably over 10 years old.
But then I discovered, that beam has it’s own API for java and a very handy tutorial which thoroughly describes how to use the API, so that even I could understand it, I started to write a chat client for Beam.
So only after about two hours I got a basic chat client which logs you in, echos all messages and lets you send your own.
After a few more hours I got username formatting with colors, if supported and your usual IRC formatting (eg. @, &, ~ etc.) if colors aren’t supported by the terimal. I also added a ping sound if someone mentions your name, and I’m working on some simple commands like listing current users.
This is an older version, but as you can see it’s running and even that old laptop runs with over 100 MB of RAM free and only about 10% CPU usage out of 1.1 GHz.
Obviously Java isn’t the goto language if you’re looking for high performance, so maybe I’ll see if I can rewrite this with the Python version of the API.
Today I randomly decided to try and replicate the game of life using SDL2 and C++.
Surprisingly I got pretty far in one go and didn’t scrap the idea after 10 minutes but in the end I realized that my version doesn’t behave like the actual game of life, since it doesn’t exactly follow the rules.
Anyway, the game basically consists of a square field which is devided up into cells. These cells can either be alive or dead.
The state of cells can change by the following rules:
If a dead cell is surrounded by exactly three living cells it’ll become alive in the next generation.
If a living cell has only one living neighbor it’ll die in the next generation
If a living cell has two or three living neighbors it’ll stay alive
If a living cell is surrounded by four or more living cells it’ll die
Surrounding means all eight cells around it, directly connected or diagonally. Seems simple enough right? Well I still managed to fudge it up, since mine doesn’t quite stick to these rules, but it still produces some cool results.
This time it’s a console application though. And it’s purpose is rather questionable. What it basically does is generate a random sentence made out of random cyrillic letters, inserting words like “vodka” or “cyka” at certain occasions.
Yeah a very deep and useful application to communicate with all those random russians writing in the csgo chat, not knowing that noone will understand them.
Just to be clear: I made this for fun, and not to make fun of anybody or anything.