Thursday, November 22, 2012

How to gain 100-350MB more free space upon Windows installation



When installing Windows Vista or 7 on a new hard drive, the OS creates a 100MB partition right at the beginning of the drive. If you are installing Windows 8, then the size of that partition is 350MB. I have Acer Aspire One ZG5 with 8GB SSD, which is very small and I have to make custom Windows installation, that use less space. Nevertheless, every MB counts! So if you are like me or you just hate that small partition that the OS creates, let me show you how to trick the setup not to create it. It's really simple - create partitions manually, not through the installer. Here's how:

1. Boot your installation.
2. When the setup wants you to choose partition to install Windows to, hit Shift + F10. This should bring command prompt to you.
3. Type diskpart and press Enter. Diskpart is an utility coming with Windows, so you really shouldn't do anything special to get it. In case you make your own installation, make sure you leave diskpart utility on the setup disk.
4. Type list disk and remember the number of the disk you want to partition. In my case it's 0, so replace 0 with your number from now on.
5. Type select disk 0.
6. Type clean (this will erase all the info on the drive, if any).
7. Now if you want the whole drive to be one partition (as in my case), type create partition primary. If you want to have more partitions, type create partition primary size=n where n is the size of the partition you want in MB. The rest of the partitions you can create again here, or later with the GUI.
8. Type select partition 1.
9. Type format fs=ntfs quick.
10. Probably not needed, but just to be sure type active.
11. Type exit, to exit Diskpart and then exit again, to exit cmd.
12. From the setup choose the partition you've just created and proceed with the install without loosing 100/350MB :)

Wednesday, August 8, 2012

DBSyncer - A tool to synchronize databases through repository


Recently I started cleaning my PC from old, useless code and projects that I had been working on in the past and then I came across DBSyncer - a project intended to sync databases through repositories. Pretty useful if you and your colleagues (or friends) are developing a website or system, and you need a tool to sync the database between all the dev computers. I started developing this project in my spare time back in the beginning of 2011 because I needed such tool at work, where we were constantly  fighting with database synchronization through our subversion. But then in May 2011 I found a better job, where I didn't need this tool anymore, so development halted. Still, the made progress is pretty good - DBSyncer is fully working. I never released it because I wanted to implement a couple of features to it, but never got the time. Now, after more than an year, I'll release it as is - I'm sure there will be people happy to use it. I only replaced deprecated functions in newer PHP versions with working ones. So, what DBSyncer offers?

  • Automated database synchronization
  • Database change revisions
  • Database revert to revision
  • Well documented API
  • GUI

The main part of DBSyncer is it's PHP class - DBSyncer.php (only about 33kb). All other files are optional. If you choose to use only this file, you'll have to make the settings manually. Info about this, how to use DBsyncer and what methods it offers, is provided in the docs. If you want to use the GUI, then you'll need all files from the archive (available to download at project's page in Google Code). GUI can help you with the following things:

  • Install DBSync
  • Add new database
  • Import database
  • Remove database
  • See revision changes for each database
  • Apply revision to database both forward and backwards
  • Add or remove revisions
  • Export database without data (structure only)
  • Make changes to the config

All of these things are provided by DBSyncer.php. The GUI only helps you to manage databases visually. Also note GUI won't sync your databases automatically. If you want that, then you'll need to implement DBSyncer.php in your project and use its methods. See docs for more info.

Main screen
Screen showing database revisions

There is some unfinished work with the GUI - no "please wait" screen when applying revision (probably somewhere else too). If I have time, I'll fix this.

Final words - Although not entirely finnished, DBSyncer is still a good piece of work if it fits your needs. Enjoy!

Wednesday, July 4, 2012

EasyPeasy on Aser Aspire One


Yet another post of the series. This time I tried EasyPeasy on my AOA110. It works really good, with the exception of WiFi - no bundled driver inside the .iso image. Also brightness settings are not working - only fn key combinations can be used to control it. Nevertheless if you want to try it, you'll need:
1. EasyPeasy images.
2. UNetbootin.
3. At lease 1GB flash drive.
Now run UNetbootin and select EasyPeasy's image and write it to your flash drive. Boot the flash drive and have fun :)

Sunday, June 24, 2012

Overclocking Dell Inspiron 1000

Yesterday I was cleaning-up my hard drive (yeah, it happens from time to time :D) and found a screenshot of SetFSB with the clock generator needed for my old Dell Inspiron 1000 (which I sold a couple of months ago) to be overclocked. I decided to publish it here, on my blog, so other people can find it, too. I remember when I was overclocking this laptop, there was absolutely no info about it on the internet! I had to experiment, but eventually I found out that the clock generator is ICS952001AF. Settings FSB to 188MHz allowed me to run the Celeron inside to 2.8GHz from the stock 2.2GHz! I don't have any benchmarks or stress tests, but I remember 2.8GHz was the max stable frequency I got. I used it for half an year without any problems. Inspiron tends to get a little too hot, though. So use on your own risk!

Thursday, May 31, 2012

Microsoft AutoRoute 2001 Portable Launcher


I couple of months ago I dug up Mazda EPC2 Portable Launcher from my archives and shared it with you. Yesterday I dug up my old copy of AutoRoute 2001 and decided to try and make it portable. Since it worked I'll show you what you need to get it working for you, too :) Actually there are 2 tings you'll need - installation CD and my portable launcher (available in the Download section bellow). This time I followed the specifications posted by PortableApps.com platform :) Ok, let's get to the details:

1. Install your Microsoft AutoRoute 2001 on your computer.
2. Extract my portable launcher (download bellow).
3. Copy all the contents of AutoRoute to the App\AutoRoute folder from the extracted archive. You should have AutoRout.exe file in App\AutoRoute folder.
4. Uninstall Microsoft AutoRoute 2001.
5. Run the launcher and see if it's working :) Should be working. I tested this only on Windows 8 DP and CP, both 32-bit and 64-bit, but it should work on everything from XP and above.
6. Enjoy never installing AutoRoute 2001 again (if you still use it) :)

Downloads:
AutoRoute 2001 Portable
AutoRoute 2001 Portable Source

Monday, May 28, 2012

Automated JS/CSS combining/minifying system - JSS Build Environment


Recently I wrote a post about JS compressors and how they compare to each other. Now I've build a system for combining and/or minifying JS and CSS files. This system uses Google's Closure Compiler for JS minification and Google's Closure Stylesheets for CSS minification. Both of them require Java, so if you want to use 'Compress' option, then you'll need to install it and point JSS Build Environment to java.exe. I recommend extracting jPortable to a folder next to this EXE file.


Features:



- JavaScript combine and minify
- CSS combine and minify
- Automatic combine/minify when one of the input files is changed.
- Control over the sequence of combining
- Minimizing to system tray
- Single EXE without installer


Setup:



close-compiler is the folder containing compiler.jar file of Closure Compiler.
closure-stylesheets is the folder containing closure-stylesheets.jar of Closure Stylesheets.
Java folder contains extracted files from jPortable.
JSS Build Environment can run without all of these folders, but you'll only have combine option.

Usage:


To use this app, you need to add files to CSS or JS panels (or both), choose Output file and click Build. It's as simple as that. Of course this only activates combining. No compression is applied. If you want compression, then you have to setup files as described in Setup above and then check Compress checkbox before building.
Now let's talk about Auto Build feature. This is really useful feature when you need to build every time you change something. Auto Build monitors the files and when some file is changed it starts build procedure. Build procedure includes compression if it's checked, but I recommend not checking it, as compression takes time and you'll need to wait a lot just to see let's say your text in red. Combining Auto Build with minimizing to system tray and some balloons makes things look and work really good.


Download:


JSS Build Environment
Source Code (in Delphi XE)

Happy codding ;)

Friday, May 18, 2012

Minimizing Dropbox usage thus maximizing free space

I bet you already know about Dropbox and currently you are searching of a way to increase the available free space. I'm already at the maximum available space - 25.8GB. I've done Getting Started, Sharing staff, DropQuest 1 and 2 and beta photo upload (dough last 500MB never got to me). Referrals are also to the maximum. So right now I'm stuck with ~26GB till Dropbox releases another option for gaining free space :( Then I thought what if I shrink the size of my files instead of increasing my free space? It's a good idea, but I needed a way to make it without archives, as I wanted to be able to open the files with a double click. To answer this I first needed to analyze what type of files do I have and how often I use them. Here is my report:

Music files - MP3 mostly. Everyday use.
Video files - VOB, MOV, AVI, MKV and MP4. Using them from time to time.
Pictures - JPG mostly. Using them from time to time.
Text files - PDF, MHT (HTML site in one file), TXT. Most of the files are used once per year at best.
Programs - lots of EXE and DLL executable files. Using them on daily basis.

After the analysis I found out there is a way to compress 99% of my files and still be able to open them by just double clicking! Of course to do that I needed to change some formats, loose some (unnoticeable) quality and loose a lot of time (most of the time was for research, so you won't lose it as I'm giving you all info in one place), but it was totally worth it! I was able to shrink all my files and add a lot more and still have almost half of my Dropbox free! In numbers, I was able to compress ~35GB to ~15GB!!! That's 20GB saved! And I still have 10GB of free space with all my music and pictures being in a save place :) So, how I did it? Let's get down to the details:

Music files

MP3 is an old format and as such it's not the best. There are other formats which can provide better quality on the same bitrate. Also it's proven that 128 kbps MP3 is enough for most people. Only trained ear can make difference between 128 kbps and 320 kbps MP3. So compressing your MP3 files to 128 kbps will save you a lot disk space (saved me 7GB), but you'll loose some quality (not that you'll notice it). To minimize quality loss, use another file format, newer that MP3! There are OGG, WMA, AC3 and others. I personally used OGG, but WMA is better integrated (almost all MP3 players read it) - you decide. To encode my files into the new format I used MediaCoder with the following settings:

Video files

VOB files are VERY large files! They are one of the main reasons I got 20GB saved :D Other files are small, but not as small as I wanted to! So I searched Internet about the best new (newer almost always is better) codec that have support in players too. I ended up with Google's WebM. It was able to compress 250MB VOB into 32MB WEBM file! Of course there is slight (unnoticeable) quality loss, but when you watch this video say 10-15 years from now, the quality then will be much better and this VOB's quality will look awful with or without this small quality loss. The memories this video brings you are important, not the video quality itself ;) Other files are already compressed, so WEBP was able to slice the size in two without any quality loss! So how do I encode to WebM? Well, the best way I found is using an Add-on for Mozilla Firefox (I'm a Chrome fan, but sometimes Firefox beats the crap out of Chrome) called Firefogg.

Pictures

It turns out WebM has a sister project called WebP for pictures instead of movies :) So I used it. It was able to smack 5MB JPG into 1MB WEBP without any loss! For already compressed JPEGs with size of 1-1.5MB, WebP was able to deliver files with sizes between 100-150KB! Also WebP supports lossless compression with alpha channel, so you can smack your PNG files too :) GIF files are in the works ;) For more on how to compress your images using WebP see my earlier blog post.

Text files

Here I did a bit of cheating - I uploaded as much as I could in Google Docs and compressed text files which I do not use often (for an example my old HTML projects). All the text files were less than 100MB, so not much cheating. But there are some files left, too big to be uploaded to Google Docs. 55MB PDF file! Google Docs allows only 2MB file to be uploaded :( Almost all of my PDF files were larger. Not to mention MHT files. So what I did is I compressed those PDFs with Adobe Acrobat Pro using this tutorial. This sliced 20MB off of this large PDF! And the end result is again PDF! So it just compresses the PDF. The down side is reduced compatibility - older PDF readers won't be able to read it. Who cares - Chrome reads it :D What about MHTs? Well here I had to make a couple of conversions to be able to convert MHT to PDF and then compress it using Acrobat Pro. Chrome cannot open MHT files, but can print everything to PDF file. So I needed this MHT opened in Chrome no matter what! Well, the solution is simple - open it with IE and save it as complete web page. Then open this HTML file with Chrome and print it as PDF. After that crush it with Acrobat Pro and you should have smaller PDF than the MHT. If you are advanced web user like me, you can even open object inspector and remove useless stuff from the web page before printing - this will further reduce the size of the PDF ;) In the end, after the compression, I uploaded again to Google Docs files with sizes smaller than 2MB. End result - 50% less space for text files :)

Programs

This actually is quite simple - use PortableApps.com AppCompactor to compress all of your programs. Backup all programs before use. Set to best compression first. Compress them one by one and test them after compression. If the program doesn't run, copy over the backup and try again with other compression algorithm. In my case all compressed perfectly with the best compression :)


Conclusion

All file types can be opened with popular software. OGG is supported by all popular players, WebM is also supported by them and browsers like Chrome, Firefox and Opera. WebP can be opened with some picture viewers like Picasa and IrfanView and can be opened with the default Windows Photo Viewer by installing a codec supplied by Google. PDFs can be opened with latest version of your PDF reader or by Chrome. So all in all this is a win-win situation - you get more space and you are still able to use your files as before :)