May 6, 2014

A "Small" List of Useful Tools and Knowledge

Anyone who has shared files has probably heard of Dropbox. Though it is only one service of many file sharing services. I would never argue it is the best, but it does offer some pretty decent basic services if you want to store a backup copy of files onto the magical thing called "The Cloud". For free, you get limited space (a few GB), window's shell integration, client-side syncing, and ability to create public direct links to your files. I haven't ever had an issue or a complaint about it other than the brutally limited space (if you want to sync all your files you are out of luck or going to pay a fortune with Dropbox).

Google Drive, also provides a limited way of sharing files. It isn't ideal for syncing data and also suffers from limited free space. However, if you use google documents then you technically have unlimited space as they don't count. Not to mention the fact you can work with nearly limitless number of people on the same document together is a great bonus. After using it since... 2009? I have seen it slowly evolve into a great tool for collaboration, and best of all it is free. Need a notepad to share notes with yourself between computers or others, it works like a charm and provides you with a great backup location accessible from anywhere.

BitTorrent Sync, is my absolute favourite tool. It is still in beta (but I've used/built enough software to think everything is always in beta) and works very well between computers. Think of it as a torrent which you can add/update/remove files, encrypt, password protect and runs in the background without a second thought. The idea of using P2P for backing up and sharing data between my devices is absolutely awesome. The best part is that the files are stored locally, so I don't need to spend a fortune for space in "The Cloud". I have 3 computers (server, desktop, laptop) so keeping my data synced between them is required.

7zip, is an absolute must have for compression. Winrar is like the poor sibling in comparison to what 7zip offers. The fact I can choose which compression method, the compression level, encryption, partitioning, etc in a very simple manner means any data I rarely access I can compress down and then put it on my sync folder to provide a compact backup of my data. If it isn't compressible, I can grab the folder with the files and throw it in my sync directories.

Action!, meets the need high-performance and easy to use capturing software. You can separately record multiple channels with Audacity and edit your audio with minimal effort. These two together is enough to record content like professionals and it only costs you $40. Not to mention both are extremely efficient at recording so you don't have to worry about large performance drops while recording. A common issue with FRAPS. The runner up is Dxtory, which provides you with everything you want. I prefer Action! but both are excellent.

CCleaner, is your best friend if you are a Windows user. This little tool is like a weight-loss magic pill for Windows. Keeps the registry clean (a bit aggressively) and removes temp files which really are not worth keeping around. It also allows you to deeply purge files if you want to clear caches, stored passwords, etc. Another important thing is making sure your PATH is good and not full of crap. I suggest Path Editor, but there are many other tools like it. This one just has a bunch of good simple and easy to use features.

Speccy, is great if you don't have the specs of all your computers memorized to extreme detail. It is probably the least important program mentioned here, but when you want to know all the details of your hardware (and some software) it is great for telling you what is inside without opening the box.

Memtest86+, is most likely the best memory testing tool out there. If you want to diagnose a memory issue this is your go to solution. Prime95, is a great CPU/Memory stress tester as it allows you to focus on what parts you are wanting to stress. This is important for finding stable overclocks and just general CPU benchmarking (but mostly just for stable OC, I would never consider a single bench as a good indicator of performance). FurMark, GPU stress/benchmark tool. This tool will let you know if your GPU is being cooled properly as it will stress it to the absolute maximum. This is beyond anything you will ever encounter while gaming or almost any other activity. Great for testing stable GPU OC and system heat management. Finally, Speedtest.net, for checking your network connection quality as slow internet is the greatest source of frustration for anyone.

Operating system is by far the most important software for any computer. The thing is, I have no favourite; however, I do use Windows the most. I use OS X the least, mostly because I don't own a Mac and don't see it providing me with an advantage over anything else. I actually suggest Macs to many people simply because of the "easy to use" part of it, but usually I suggest people simply stick to what they are already used to. I.e. I don't tell a Windows user to use a Mac or a Mac user to use a Windows machine, because most people don't want to spend the time learning all the 'tricks' with a new OS. I have never suggested any Linux distribution to any non-technical users as most of the common software will not be available for them (WINE, cough... yes but is that worth teaching them a whole new environment?). The last thing I want is to teach/explain to them the alternatives and how to use a different OS. If I were to suggest a Linux distribution to a user, it would be either Mint or Ubuntu. Server would be CentOS, but that is mostly because of my familiarity with it. Anyone who games, I would suggest Windows without a second thought. For any developer, I would say you should know all of them, pick your favourite and be using VMs or multi-boot for the others. In this day and age, a developer should know all the popular OSes (Windows, OS X, Linux), including the mobile ones (Android and iOS).

A developer should know most of the popular programming languages and be able to make an application in any of them: C/C++, C#, Java, Python, JS/HTML5 and Php. It wouldn't hurt to also be knowledgeable about Ruby, Lua, Scala, Haskell, D, Obj-C, Shell and Perl. Of course, there are many others to list but really by having the above you would know a majority of different programming paradigms and styles. If you only know 1-3 languages and only use those for everything then there is absolutely no way you can consider yourself a good programmer. Yes, you should have 1-3 languages you are an 'expert' in, but knowing more languages means you better understand how to decompose problems into there obvious solutions. It also means you understand there is no silver bullet language which is the best for everything. A concept most developers seem to naively do without realizing it.

I could easily just keep going with this, maybe I'll do a part 2 in the future and talk about media players, anti-virus, browser, IDEs, text editors, mail clients, etc... I guess I never realized until now just how many applications and tools I use for various tasks. By no means is anything I mention the best, it is just currently the ones I like the most.

1 comment :

  1. Most casinos permit them at the desk if your use does 카지노 사이트 not slow down the sport. Blackjack is dealt on a particular desk that's semi-circular in form. When you sit down you have to purchase chips from the dealer or convey them from one other desk.

    ReplyDelete