Generated by All in One SEO v4.9.5.1, this is an llms.txt file, used by LLMs to index the site. # dimitar.me Dimitar Darazhanski's blog ## Sitemaps - [XML Sitemap](https://dimitar.me/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [SSHMenu - it is good to find things that make your life a bit easier](https://dimitar.me/sshmenu-it-is-good-to-find-things-that-make-your-life-a-bit-easier/) - In my everyday job I have to constantly ssh to a lot of different servers and up until several days ago I used to make a different launcher for every server in order to avoid typing constantly ssh user@server. It kind of even got me to appreciate some ssh clients for Windows (shame on me) - [There is no silver bullet](https://dimitar.me/there-is-no-silver-bullet/) - So... I moved to the dark side. I have always developed web applications mostly from scratch- I create the databases, write the code and make the design. But today, as you can see, I started a personal blog. And rather than making the site from scratch I resorted to using a popular blog/cms solution. I should have known what to - [Create Flash video from DVD (DVD to FLV) with Ubuntu](https://dimitar.me/create-flash-video-from-dvd-dvd-to-flv-with-ubuntu/) - How to create a flash video file (.flv) from your dvd with Linux - Ubuntu to post on Youtube or a website. All you need is to install the mencoder package. - [10 Youtube URL Tricks You Should Know About](https://dimitar.me/10-youtube-url-tricks-you-should-know-about/) - 10 Youtube URL Tricks You Should Know About - [Quickly remove special characters from file names](https://dimitar.me/quickly-remove-special-characters-from-file-names/) - An application that removes the special characters from all the file names in a directory or the directory names. It can also be recursive and do this for all files/directories in all subdirectories. - [Alternative ways to transfer files when you do not have ftp or sftp server available](https://dimitar.me/alternative-ways-to-transfer-files-when-you-do-not-have-ftp-or-sftp-server-available/) - Alternative ways to transfer files when you do not have ftp or sftp server available. Methods include secure copy (scp), just ssh and netcat (nc). - [Find out the subdomains of a given domain name with dig](https://dimitar.me/find-out-the-subdomains-of-a-given-domain-name-with-dig/) - You can use Linux's dig command to find out all the subdomains of a given domain name. - [Has Apple become like Mirosoft? Or may be even worse?](https://dimitar.me/has-apple-become-like-mirosoft/) - A quick thought, small essay over the subject whether Apple has not become more evil than Microsoft in its strive to make money. - [KARMA on the Fon and Sniffing Wireless Network Traffic with Ubuntu - Step by Step](https://dimitar.me/karma-on-the-fon-and-sniffing-wireless-network-traffic-with-ubuntu-step-by-step/) - You can sniff the wireless traffic of unsuspected targets using the Karma application. You will need a router and a computer with Linux / Ubuntu installed. - [Bike Trip from Orlando to Key West (and back)...](https://dimitar.me/bike-trip-from-orlando-to-key-west/) - Finally... me and a couple of friends got together to do a bike trip for a few days. Somehow the idea of being able to ride bikes from dawn to dusk is irresistible. We packed up tents and a few supplies and took off. On the way down we stopped at lake Okeechobee and the - [Basics of Networking](https://dimitar.me/basics-of-networking/) - Networking and how it all works - a quick but very explanation. The network packet is shown and explained in a simple graph. - [Acer Aspire 4720](https://dimitar.me/acer-aspire-4720/) - I kept postponing the issue of getting a new laptop for quite some time. I would do some research, open a few sites and message boards to see what new is out there, but I was not able to make the final step. I guess I was waiting either for my old one to die - [WEP cracking - trivial but still a lot of fun](https://dimitar.me/wep-cracking-is-always-fun/) - Yesterday I stumbled upon a new wireless card with an Atheros chipset and as we know the majority of the them are supported by madwifi. That indeed was the case with this one. The next step was to put it in my laptop and get out on the porch to have some fun. It is - [Oracle - Change the behavior of ORDER BY](https://dimitar.me/oracle-change-the-behavior-of-order-by/) - You can change the default behavior of ORACLE's "order by". You can specify your own criteria how the results will be ordered in your query. - [Ubuntu - revert to an older version of a package](https://dimitar.me/ubuntu-revert-to-an-older-version-of-a-package/) - You can go back to an older version of a package. In a lot of cases the new package will be broken or does not work as expected. There is a way to go back to an older version. - [Biketoberfest](https://dimitar.me/biketoberfest/) - Biketoberfest 2008 I am ready to take on any excuse to hop on my bike and do a little out-of-town ride. And this weekend's excuse was Biketoberfest. Seeing so many motorcycles around gets your blood pumping and it suddenly dawned on me. What is better than having one motorcycle?... and... The answer is: Having - [Dynamic Port Forwarding with SOCKS over SSH](https://dimitar.me/dynamic-port-forwarding-with-socks-over-ssh/) - You can protect your privacy and circumvent surf control if you do a dynamic port forwarding over SSH. This tutorial will show you how to do this in Linux and Windows. - [Ubuntu - Choose what volume to control with your keyboard sound controls](https://dimitar.me/ubuntu-choose-what-volume-to-control-with-your-keyboard-sound-controls/) - Set what sound to control with your keyboard sound controls in Ubuntu 9.04. You can control your output volume, your input volume, your microphone volume, etc. - [Find out who links to your website](https://dimitar.me/find-out-who-links-to-your-website/) - There is an easy way to find out all the external links to your website. You can find out all the web pages that have links to your site or any domain. - [Depeche Mode Live in Tampa](https://dimitar.me/depeche-mode-live-in-tampa/) - Depeche Mode Live in Tampa. A concert on September the 4th 2009. - [How to Switch your Google Checkout Account in the Android Market Application](https://dimitar.me/how-to-switch-your-google-checkout-account-in-the-android-market-application/) - You can now easily switch your account in the Android Market application. This account is associated with all your application downloads and purchases. - [How to sign an unsigned Android package (.apk file)](https://dimitar.me/how-to-sign-an-unsigned-android-package-apk-file/) - How to sing an unsigned Android .apk file with your keystore and jarsigner. - [Eclipse Project is Flagged with an "Android Packaging Problem" Error](https://dimitar.me/eclipse-project-is-flagged-with-an-android-packaging-problem-error/) - How to fix an "Android Packaging Problem" Error in Eclipse. When there is a problem you will notice that the Android Project will be flagged with the red "x". - [Android Version 2.2.2 Prevents Applications with Copy Protection Turned on from Displaying in the Market](https://dimitar.me/android-version-2-2-2-prevents-applications-with-copy-protection-turned-on-from-displaying-in-the-market/) - Today I got the Over the Air update of my Nexus One phone to version 2.2.2. To my surprise I could not see some of my applications that were published in the Android Market. Neither could I see a big chunk of the total applications in the Android Market. After some tests and digging it - [How to enable the ath9k wireless driver on Ubuntu Lucid (10.04)](https://dimitar.me/how-to-enable-the-ath9k-wireless-driver-on-ubuntu-lucid-10-04/) - Ath9k is a wireless driver for the Atheros chipsets and could be used to put your NIC in a promiscuous mode and do packet injection in order to crack WEP. This is a Step-by-Step tutorial how to enable it. - [Android - Displaying Dialogs From Background Threads](https://dimitar.me/android-displaying-dialogs-from-background-threads/) - Displaying a Dialog from a background thread could lead to a WindowManager$BadTokenException. - [Change the date and time (or any other EXIF image meta-data) of pictures with Ubuntu](https://dimitar.me/change-the-date-and-time-or-any-other-exif-image-meta-data-of-pictures-with-ubuntu/) - The exiftool program is a flexible and easy Linux tool that helps you change the EXIF meta-data of images. - [Android applications that use the MyLocationOverlay class crash on the new Droid X](https://dimitar.me/applications-that-use-the-mylocationoverlay-class-crash-on-the-new-droid-x/) - If your application uses the default MyLocationOverlay class then most likely it will crash on the new Motorola Droid X phones. - [Just Upgraded my Nexus One from Android 2.1 to Android 2.2](https://dimitar.me/just-upgraded-my-nexus-one-from-android-2-1-to-android-2-2/) - The upgrade to Android 2.2 Froyo went very smooth and it took less than 10 minutes over the air. - [Find the Geopgraphical Location of an IP Address](https://dimitar.me/find-the-geopgraphical-location-of-an-ip-address/) - How to find where a given IP address is located. - [How to connect your Android phone to Ubuntu to do development, testing, installations or tethering](https://dimitar.me/how-to-connect-your-android-phone-to-ubuntu-to-do-developmenttestinginstallations-or-tethering/) - A step by step instructions how to connect your Android phone to Ubuntu. This will allow you to install, run and test your Android applications straight on your device. - [Extract Audio (.mp3) from Video Files Like .flv, .mov, .avi and Others with Ubuntu](https://dimitar.me/extract-audio-mp3-from-video-files-like-flv-mov-avi/) - Extract audio from video files with Ubuntu (or any Linux distribution) using ffmpeg. You can produce an mp3 file form .flv, .mov, .avi, and other files. - [How to Resume Partial File Transfers](https://dimitar.me/how-to-resume-partial-file-transfers/) - You can resume partial file transfers with rsync. It will continue to download the file from the point at which it was interrupted. - [Convert Quicktime Movies to AVI encoded with MPEG-4 (MOV to AVI) with Linux/Ubuntu](https://dimitar.me/convert-quicktime-movies-to-avi-encoded-with-mpeg-4-mov-to-avi-with-linuxubuntu/) - Convert Quicktime (.mov) movies to avi format encoded with mpeg-4. This is quick and easy with Linux using ffmpeg. - [Broadcom Wireless Chipset (BCM4311, BCM4312, BCM4321, and BCM4322) on Ubuntu Karmic.](https://dimitar.me/broadcom-wireless-chipset-bcm4311-bcm4312-bcm4321-and-bcm4322-on-ubuntu-karmic/) - The Broadcom wireless does not work with Ubuntu Karmic after an upgrade or an install. Follow this steps to get it working. - [When a Linux User Buys Apple](https://dimitar.me/when-a-linux-user-buys-apple/) - Mac OS X vs. Linux. Apple vs. Linux. Through the eyes of a user who is trying to switch from Linux to Mac OS X. He does a pretty interesting comparison between the two Operating Systems. - [Clone Disk Drives with Ubuntu. Make an Exact Copy of Your Hard Drive.](https://dimitar.me/clone-disk-drives-with-ubuntu/) - Step by step- how to clone a hard disk drive using Ubuntu. This operation can be done with dd or GNU's ddrescue. You will end up with an exact copy of the original. - [Manage What Applications to Run on Boot in Ubuntu](https://dimitar.me/manage-what-applications-to-run-on-boot-in-ubuntu/) - Easily control the programs/processes that run on boot in Ubuntu. You can use the BootUP-Manager but if necessary you can use the update-rc.d command. - [Madwifi drivers for Ubuntu 9.10 (Karmic Koala) or linux kernels 2.6.29 and above.](https://dimitar.me/madwifi-drivers-for-ubuntu-9-10-karmic-koala-or-linux-kernels-2-6-29-and-above/) - Ubuntu 9.10 Karmic Koala or any linux distro with a kernel of 2.6.29 and above can not compile the madwifi wireless drivers. You need the latest madwifi trunk. - [Install Subversion and Subclipse for Eclipse on Ubuntu](https://dimitar.me/install-subversion-and-subclipse-for-eclipse-on-ubuntu/) - How to install the Subclipse plugin for Eclipse in order to use Subversion. - [Block a range of IP addresses from reaching your server](https://dimitar.me/block-a-range-of-ip-addresses-from-reaching-your-server/) - How to block a range of IP addresses from reaching your Linux server using iptables - [Upgrading to Apache 2.4 will prevent WebDAV listing of directories containing index files](https://dimitar.me/upgrading-to-apache-2-4-will-prevent-webdav-listing-of-directories-containing-index-files/) - If a WebDAV-enabled area contains an index.html (or whatever filename is specified in DirectoryIndex) then it becomes impossible to use WebDAV - [Unable to create new directories or files (write access) in WebDAV with Apache2](https://dimitar.me/unable-to-create-new-directories-or-files-write-access-in-webdav-with-apache2/) - If you have mod_rewrite enabled you will not be able to have write access to the WebDAV directories. Here is how to fix that without turning off mod_rewrite. - [Force all HTTP traffic to HTTPS](https://dimitar.me/force-all-http-traffic-to-https/) - If you have SSL installed and configured on your site, there is a little need to continue serving http traffic over port 80. Performance is no longer a big issue and now Google would reward with better ranking sites that serve all content over https. It is very easy to achieve that on an Apache - [Batch scale images to a particular size](https://dimitar.me/batch-scale-images-to-a-particular-size/) - First install imagemagick: sudo apt-get install imagemagick Then CD into the directory containing the images and make a new directory that will hold all the re-sized images. In this case I called it resized: mkdir resized Then run the command (from the directory holding the original images): find . -iname \*.jpg -exec convert -verbose -quality - [Set up a MySQL user dedicated to backups](https://dimitar.me/set-up-a-mysql-user-dedicated-to-backups/) - How to set up a dedicated MySQL user for backups - [Android Studio- What files and directories to exclude when importing into Subversion (or Git)](https://dimitar.me/android-studio-what-files-and-directories-to-exclude-when-importing-into-subversion-or-git/) - Update Oct. 17, 2019: --------------------- This is the official .gitignore file maintained by JetBrains: https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore --------------------- List of directories and files to be excluded when importing into a version control (relative to the root of the project): .gradle (directory) build (directory) local.properties (file) app/build (directory) .idea/libraries (directory) .idea/gradle.xml (file) .idea/workspace.xml (file) There are a couple - [Find out what DNS requests are made in real time via command line](https://dimitar.me/find-out-what-dns-requests-are-made-in-real-time-via-command-line/) - Since all DNS requests are over port 53, we can use the raw tcpdump utility and just look at the packets on that port: tcpdump -vvv -s 0 -l -n port 53 Someone took the extra step to write a php script to massage that data, so that it is easier to read as well - [The Android SDK Manager fails to fetch the platform and tools list from Google](https://dimitar.me/the-android-sdk-manager-fails-to-fetch-the-platform-and-tools-list-from-google/) - If you get the following error message when launching the Android SDK Manager: Failed to fetch URL https://dl.google.com/android/repository/addons_list-2.xml, reason: File not found most likely the owner/permissions are not set correctly for the ~/.android directory. This error message is very confusing and it took me while to find the issue. In my case the owner of - [Gradle - Automatically rename the .apk file and copy the ProGuard mapping.txt file](https://dimitar.me/gradle-automatically-rename-the-apk-file-and-copy-the-proguard-mapping-txt-file/) - Automate the copying for the ProGuard mapping.txt file out of the build dir, so it can be version controlled. Rename the release apk file with version name and date. - [How to create an ftp user and allow write to the apache root directory with proper permissions](https://dimitar.me/how-to-create-an-ftp-user-and-allow-write-to-the-apache-root-directory-with-proper-permissions/) - Step by step instructions how to create an ftp user and allow write to the apache root directory with proper permissions - [In-app Billing API v3 throws IllegalStateException](https://dimitar.me/in-app-billing-api-v3-throws-illegalstateexception/) - The reason for these exceptions being thrown lies in the IabHelper class of the TrivialDrive sample app. - [Remove vim color coding in Ubuntu](https://dimitar.me/remove-vim-color-coding-in-ubuntu/) - How to remove the color coding of the vim utility in Ubuntu and Debian. How to enable the ruler in vim, which displays the line and character numbers. - [How to get Picasa images using the Image Picker on Android devices running any OS version](https://dimitar.me/how-to-get-picasa-images-using-the-image-picker-on-android-devices-running-any-os-version/) - Android tutorial about how to programmatically get Picasa images with the Image Picker. - [Software Center in Ubuntu 12.04 crashes on startup](https://dimitar.me/software-center-in-ubuntu-12-04-crashes-on-startup/) - Software Center in Ubuntu 12.04 crashes on startup without any apparent reason or warning. The solution is pretty simple. - [A small bug in the Android In-App Billing demo app causes "Item Not Found"](https://dimitar.me/a-small-bug-in-the-android-in-app-billing-demo-app-causes-item-not-found/) - A bug in the demo Dungeons app causes an "item not found" to be returned for a valid item. - [Quick and easy way to remove all single line (//) comments in Eclipse](https://dimitar.me/quick-and-easy-way-to-remove-all-single-line-comments-in-eclipse/) - Quick and easy way to remove all single line comments in a file, selecte files or the whole project in Eclipse. - [Implementing Android GCM in a different package other than the main application package](https://dimitar.me/implementing-android-gcm-in-a-different-package-other-than-the-main-application-package/) - The default implementation of the GCMBroadcastReceiver class, whcih is part of the GCM library assumes that your service is going to be in the main application package. - [How to detect a user pan/touch/drag on Android Map v2](https://dimitar.me/how-to-detect-a-user-pantouchdrag-on-android-map-v2/) - The new implementation of the Android Map (v2) is great in many ways and their support for map fragments is awesome, but they fall a bit short in a couple of minor but very necessary implementations. That makes the maps API a bit incomplete. - [MapsInitializer.initialize no longer throws GooglePlayServicesNotAvailableException with the new google play services lib ver 15](https://dimitar.me/mapsinitializer-initialize-no-longer-throws-googleplayservicesnotavailableexception-with-the-new-google-play-services-lib-ver-15/) - I just updated the google play services lib to ver 15 to find out that MapsInitializer.initialize method no longer throws GooglePlayServicesNotAvailableException. In the description of this method it now says: Initializes the Google Maps Android API so that its classes are ready for use. If you are using MapFragment or MapView and have already obtained - [pfSense v2.8.x Repeatedly Crashing Due to a Kernel Panic](https://dimitar.me/pfsense-v-2-8-x-repeatedly-crashing-due-to-a-kernel-panic/) - (Analysis and solution significantly aided by ChatGPT) After an upgrade of my pfSense from 2.7.2 to 2.8.0, the firewall started crashing about once every couple of days with a kernel panic. After updating to 2.8.1, the problem persisted. The Problem Checking /var/crash, I found multiple dumps, all reporting the same kernel panic: panic: page fault - [Configure pfSense for Chromecast Across Subnets/VLANs](https://dimitar.me/configure-pfsense-for-chromecast-across-subnets-vlans/) - Chromecasting breaks down across different subnets. But we can fix this with pfSense in order to allow Chromecasting across different networks and VLANs. - [Replace tabs with spaces in vi](https://dimitar.me/replace-tabs-with-spaces-in-vi/) - Collaborating with other developers often means that not everyone is on the same side of the "tabs vs spaces" debate. I will spear everyone a rant on that subject. Let's just say that I often find myself in a situation where I have to replace the leading tab characters of each line with spaces. That - [Ubuntu / Debian - Remove all unused Linux kernels](https://dimitar.me/ubuntu-debian-remove-all-unused-linux-kernels/) - Since release 18.04, Ubuntu only keeps the last three kernels in /boot and deletes the older kernels at each kernel upgrade. It keeps the latest kernel and the two previous versions that were installed and removes all the rest. To do that manually on any Ubuntu version you can run: sudo apt --purge autoremove If - [How to fix VMware unable to install all modules vmmon vmnet](https://dimitar.me/how-to-fix-vmware-unable-to-install-all-modules-vmmon-vmnet/) - VMware needs to recompile the kernel modules after each kernel upgrade. We are all pretty familiar with this, since VMware requests module recompilation when launched after a kernel upgrade. In the vast majority of the cases that will go smoothly without any hick-ups, but in rare occasions this might fail, especially after a major kernel - [Default java commands for manually installed JDK on Debian based distros](https://dimitar.me/default-java-commands-for-manually-installed-jdk-on-debian-based-distros/) - The update-alternatives is used to handle situations where multiple applications that accomplish the same task are installed on the system, but we would like to set a default on which one to be used..... I moved the JDK from another system into /usr/lib/jvm/java-8-oracle If I just try to compile with javac or run java or - [Configure phpMyAdmin with a remote database](https://dimitar.me/configure-phpmyadmin-with-a-remote-database/) - We have the following scenario: Server A runs a web server with phpMyaAmin, which connects to Server B. In this case we are using Debian packages, so Server A is assumed to be running Debian, Ubuntu, Mint or another Debian derivative. Server B is the MySQL server with all databases including the database for phpMyAdmin. - [Remove Windows carriage return characters with vi](https://dimitar.me/remove-windows-carriage-return-characters-with-vi/) - This is pretty standard search an replace command in vi, but I always forget how to specify the carriage return character ('^M'): Ctrl+V for the '^' and Ctrl+M for the 'M' The command is: :%s/^M//g For those new to vi: While you have the file opened in vi, hit Escape to make sure you are - [MySQL replication without the downtime](https://dimitar.me/mysql-replication-without-the-downtime/) - Set up master-slave replication for your MySQL database without the downtime. - [Android Studio - Automatically sign the apk in debug mode](https://dimitar.me/android-studio-automatically-sign-the-apk-in-debug-mode/) - Android Studio no longer automatically signs the apk when pressing the "Run" button in debug mode. That makes it challenging to develop and test on a physical devise, especially when the signature of the apk is required for some functions of the app. One way to fix this is to add custom tasks to the - [PHP - increase file size and number of uploads limits](https://dimitar.me/php-increase-file-size-and-number-of-uploads-limits/) - A little while ago I had a quick post on how to increase the file size and number of file upload limits by editing the values straight in the php.ini file. This approach works, but we need to understand the down sides it presents as well: The changes to the php.ini could easily be lost - [My current tmux config](https://dimitar.me/my-current-tmux-config/) - After many years of using screen I recently started getting familiar with tmux. This is my current .tmux.conf and most of it is borrowed from IppSec's YouTube video: # Remap prefix to screens, easier to type, same as "screen" set -g prefix C-a bind C-a send-prefix unbind C-b # Split panes bind | split-window -h - [PhpMyAdmin and changed MySQL data directory](https://dimitar.me/phpmyadmin-and-changed-mysql-data-directory/) - Very often you would like to change the default data location of MySQL for obvious reasons. If you do that and you don't change the phpmyadmin settings accordingly, you will not be able to login via phpmyadmin. You will constantly be getting the "Access denied" message. Let's say that you have added a new file - [How to export/import gnome-terminal profiles](https://dimitar.me/how-to-export-import-gnome-terminal-profiles/) - You only need dconf to export/import gnome-terminal profiles. To export all gnome-terminal profiles run: $ dconf dump /org/gnome/terminal/legacy/profiles:/ > gnome-terminal-profiles.dconf To import the exported profiles above, run: $ dconf load /org/gnome/terminal/legacy/profiles:/ < gnome-terminal-profiles.dconf If you want to export and then import only a particular profile, you need to find out the profile's id first. To - [Gradle fails after upgrading Android Studio to 3.2.1 with "Could not find aapt2-proto.jar"](https://dimitar.me/gradle-fails-after-upgrading-android-studio-to-3-2-1-with-could-not-find-aapt2-proto-jar/) - Almost every other time I go through an Android Studio upgrade, my projects no longer compile and I spend an hour or so trying to figure out what was wrong or what I need to change. Due to this reason very often I will postpone upgrading as much as possible, especially if I have an - [PHP.ini settings to increase file size and number of uploads](https://dimitar.me/php-ini-settings-to-increase-file-size-and-number-of-uploads/) - Update: Please checkout the later post with a better approach before reading further. In addition to changing your code, you also need to change the setting on the server to accommodate uploading larger file sizes. The settings that need to be changed are in the php.ini file: sudo vi /etc/php/7.0/apache2/php.ini (the path here is for - [How to connect your Android phone to Ubuntu to do development, testing, installations or tethering - Updated](https://dimitar.me/how-to-connect-your-android-phone-to-ubuntu-to-do-development-testing-installations-or-tethering-updated/) - All the way back in 2010 I wrote a post how to connect your Android device to your Ubuntu computer in order to develop on it. There have been a few changes since then, so here is the updated version of that post. Recently, out of the blue I had permission issues accessing the my ## Pages - [About](https://dimitar.me/about/) - Social TwitterFacebookStackOverflow Android apps on the Google Play Store FibercodeOC Contact dimitar@dimitar.me ## Categories - [General](https://dimitar.me/category/general/) - [Linux](https://dimitar.me/category/linux/) - [Ubuntu](https://dimitar.me/category/linux/ubuntu/) - Ubuntu - [Motorcycles](https://dimitar.me/category/motorcycles/) - [SQL](https://dimitar.me/category/sql/) - [IT Security](https://dimitar.me/category/itsecurity/) - IT Security - [Networking](https://dimitar.me/category/networking/) - Networking - [Programming](https://dimitar.me/category/programming/) - Computer programming. - [C++](https://dimitar.me/category/programming/c/) - C++ Programming. - [Apple](https://dimitar.me/category/apple/) - [MacOS X](https://dimitar.me/category/apple/macos-x/) - [Java](https://dimitar.me/category/programming/java/) - [Eclipse](https://dimitar.me/category/programming/java/eclipse/) - [Android](https://dimitar.me/category/programming/java/android/) - [Apache](https://dimitar.me/category/linux/apache/) - [Android Studio](https://dimitar.me/category/programming/java/android/android-studio/) - [MySQL](https://dimitar.me/category/linux/mysql/) - [PHP](https://dimitar.me/category/programming/php/) - [pfSense](https://dimitar.me/category/itsecurity/pfsense/) ## Tags - [Subversion](https://dimitar.me/tag/subversion/) - [svn](https://dimitar.me/tag/svn/) - [version control](https://dimitar.me/tag/version-control/) - [git](https://dimitar.me/tag/git/) - [WebDAV](https://dimitar.me/tag/webdav/) - [image](https://dimitar.me/tag/image/) - [metadata](https://dimitar.me/tag/metadata/) - [strip](https://dimitar.me/tag/strip/) - [exif](https://dimitar.me/tag/exif/) - [ubuntu](https://dimitar.me/tag/ubuntu-2/) - [backups](https://dimitar.me/tag/backups/) - [networking](https://dimitar.me/tag/networking-2/) - [dns](https://dimitar.me/tag/dns/) - [mac](https://dimitar.me/tag/mac/) - [Android Studio](https://dimitar.me/tag/android-studio/) - [Apache](https://dimitar.me/tag/apache/) - [Linux](https://dimitar.me/tag/linux/) - [MySQL](https://dimitar.me/tag/mysql/) - [ProGuard](https://dimitar.me/tag/proguard/) - [Gradle](https://dimitar.me/tag/gradle/) - [Android](https://dimitar.me/tag/android/) - [php](https://dimitar.me/tag/php/) - [uploads](https://dimitar.me/tag/uploads/) - [Bash](https://dimitar.me/tag/bash/) - [sysadmin](https://dimitar.me/tag/sysadmin/) - [dconf](https://dimitar.me/tag/dconf/) - [gnome-terminal](https://dimitar.me/tag/gnome-terminal/) - [pen testing](https://dimitar.me/tag/pen-testing/) - [tmux](https://dimitar.me/tag/tmux/) - [debian](https://dimitar.me/tag/debian/) - [phpMyAdmin](https://dimitar.me/tag/phpmyadmin/) - [vmware](https://dimitar.me/tag/vmware/) - [vi](https://dimitar.me/tag/vi/) - [vim](https://dimitar.me/tag/vim/) - [pfSense](https://dimitar.me/tag/pfsense/) - [Chromecast](https://dimitar.me/tag/chromecast/) - [mDNS](https://dimitar.me/tag/mdns/) - [subnets](https://dimitar.me/tag/subnets/) - [VLANs](https://dimitar.me/tag/vlans/) - [FreeBSD](https://dimitar.me/tag/freebsd/) - [cyber security](https://dimitar.me/tag/cyber-security/)