Maya VPS http://mayavps.com/ Web Development and Multimedia en-us Maya VPS /img/logo-rss.gif http://mayavps.com/ 132 30 Maya VPS Web Development and Multimedia Logo New York and Me http://mayavps.com/articles/new-york-and-me/ Sun, 02 May 2010 21:13:57 +0000 In a "spur-of-the-moment" weekend trip to New York City I planned, I made it my destiny to visit many of the major tourist attractions. I hit everything from the Statue of Liberty, Wall Street, Ground Zero, and the Brooklyn Bridge to Chinatown, Madison Square Garden, the Empire State Building, Rockefeller Plaza, and Times Square. If that wasn't enough, I made my way to a Broadway show and ate some peanuts from a street vendor all while managing to figure out the New York subway system enough to not die. First Impressions Well, I didn't get mugged, so I was a bit disappointed in that. There's a bit of exaggeration, of course as I felt relatively safe enough walking down Fifth Avenue to eat a muffin. Downtown Brooklyn might be a different story, though.. A few things I noticed (in bullet points): On the subway, everyone sits with their arms crossed over their belongings Regardless of the weather, people jog in shorts and go to work in skirts. Everyone walks looking straight ahead without acknowledgment It's one of the few cities where Russian is spoken on one street corner, German on the next, and Chinese on the subway The night clubs are filled with people saying "Hey, I'm walk'n ova' heer!" Everything's more expensive and there are no free refills in restaurants with waiters I love to travel, and my time was well spent in New York. I love the pace of New York; it's ideal for young, articulate professionals. Everything moves fast, is done before sunrise, and all while managing to keep things in order. I could easily see myself adapting to that lifestyle. In Pictures From 289 pictures taken, I've narrowed it down to 55 with substance and quality. Though, I can't post 55 semi-full size pictures on one page without getting a letter from somebody, I've chosen the best from the best and posted them here. All 55 photos are on their own Flickr photoset page. Enjoy! The Wayback Machine http://mayavps.com/articles/the-wayback-machine/ Sun, 21 Mar 2010 18:04:48 +0000 So browsing the Internet, I discovered the Wayback Machine. Thanks to Internet Archive, you can see what web sites looked in their early days and see each month of progress. Mainly, let's take a look at Alexa's Top Sites worldwide on the Internet to see how each one has changed over the years. We won't be looking deeply into the purpose, but rather design and usability upgrades. 6. Wikipedia In Wikipedia's early days, not much thought was put towards design. A simple 100% width layout using only black for text, and blue for links displays one of the least styled web pages. A little over a year later, they've kept the same topics but separated them and color-coded them for easy reading. Design is coming into play little by little. Today's design seems to focus more on global reach with the globe graphic in the middle surrounded by the multiple languages Wikipedia currently has articles in. This is emphasized further with an endless list of languages and dialects on the bottom, including too many to count. It kept the same basic white and black text, but has taken away the default serif font. 5. Live (Bing) Microsoft's Live branding project was released after MSN as a way to connect Windows users to a more familiar search engine. Their initial page gives off a simplistic look with familiar logos and symbols placed. It resembles Google's earlier and current design of simply a search box and search types. Not much changed in a year except some color was taken away and more promotional text was added. One year and a half later, Microsoft decides to re-brand a re-brand and releases Bing. This time, it focuses more on visual effects than anything, including a different daily picture background. 4. YouTube The trend at the time was sites with graphical borders around them, as a blue background with a graphical menu make YouTube's initial visual appeal quite minimal. Quickly excess colors and images were taken away. A more search-engine-friendly menu replaces images with actual text links. As the content on the site grows, so do side and top menus. By this time, the more popular sites have moved to using as little images as possible focusing more on search- and mobile-friendly designs. YouTube is no exception. 3. Yahoo! As early as 1997, Yahoo! seems to be one of the originators of plain designs, as the only part of the page that seems to have images is the top menu. Content has grown quite a bit in seven years, as we now see news and other feeds. Advertising has now been put into place quite heavily. The side menus have grown tremendously. Top stories are now displayed on a scrolling JavaScript box allowing you to easily browse through titles quickly. Every search engine now seems to take on a search box with a few category links on the top. 2. Facebook Facebook also shows off a plain design, but with more color and rounded letters than Yahoo!'s initial design. The only dynamic part of the page is the login box. By December, Facebook cuts out unnecessary information providing only a login or register button and a few lines of information. The same information is now spread out across the entire page, the registration form is now on the home page--eliminating one step from obtaining new users. More language support is added as new design colors are rolled out. 1. Google Google's early design featured only text and background-fills. It had a few more options than present-day as it's index was still growing. Withing two years, it spreads out it's content a bit more and features the most simplistic design it would only alter slightly from here on out. Present-day Google hasn't changed much from it's last re-design. Except the bottom menus have now been moved to the top and expanded 100% to the stage width. From Here As technology and the Internet advances, so have many re-designs. These have gone from using images as part of layouts, content not optimized for search, and overall no styling to what they have become now. It seems these days it's all about utilizing as little images as possible, focusing more on usability and search optimization. They've all maintained default white as a background, and black text on the foreground. It's now harder to find a web site with default serif font (thank goodness). All design is reflected in media. In the 60s and 70s it was plain white sans-serif font with no style at all. In the 80s it was cursive with thick strokes and shadows. The 90s seem to have featured wacky colors and crazy font. Now the past decade has shown to be moving more into simplistic designs; where do they go from here? Bitmap vs. Vector http://mayavps.com/articles/bitmap-vs-vector/ Fri, 12 Feb 2010 21:03:12 +0000 When it comes to computer-related media, the biggest confusion I seem to see is between vector and bitmap images (JPEG, GIF, PNG, and TIFF files). Any image can be made into a bitmap, but a bitmap cannot be made into a vector image without redrawing every line to create a new file completely. Bitmap uses tiny squares each with its own color to make up an image, while vector uses mathematical points and lines connected to each other to enclose a shape. Each serve their own purpose in design work. Composition Bitmap A bitmap image is a map of a fixed number of pixels. Usually for web, this map contains 72 pixels per inch, while for an image for print, this is usually set to 300 PPI. This is referred to an as an image's resolution. The main benefits of bitmap images are the distribution range and realistic look--ideal for photographs. Vector A vector image is simply points, lines, and curves which enclose a shape--known as a path. These shapes are typically filled with solid colors, but can also contain gradients and minimal effects. The latest buzz in vector graphics seems to be the Scalable Vector Graphics (SVG) format. This allows you to generate XML files detailing each of the image's points, lines, and colors to be rendered on-the-fly by your web browser. Vector images are scalable without limits, easily manipulable, extremely detailed, and typically less in file size. They do not rely on a resolution. Solution In design work, both of these drawing techniques are used to complement each other. Typically for logo and illustration work, we draw in vector format so that it may be easily manipulated, transferred, and scaled. For photographic work, we typically work in bitmap to ensure a realistic look for the image and effects. Wired vs. Wireless http://mayavps.com/articles/wired-vs-wireless/ Sun, 31 Jan 2010 11:39:59 +0000 After some deliberation as to whether a wireless or wired connection is better I decided to put them to the test. The Five Factors Cost Installation Security Reliability Performance The Aspects Cost Usually CAT5 cables required for wired networks run about $0.80 per foot. While hubs and routers required to keep hot spots constant are $100+. Although, there would also be labor costs involved in running cables throughout the building should they not have been. Installation Typically, wireless hubs and routers are easier to setup than running wires through wall panels and floors. Security Though no connection is 100% secure, a wired one can provide more dependability than a "floating" wireless connection. Reliability A hard-run wire will provide a physical, direct connection to the Ethernet adapter, whereas a wireless connection may loose potency on either end. Performance In this case, the numbers speak for themselves. Comparing an Intel Wireless WiFi Link 4965AGN (802.11a/g/n) adapter with a 10/100 Ethernet adapter on a Verizon FIOS Internet connection, the wired connection came out on top by about 1.5 Mb/s. Granted, you gain only a second per transaction, but if you're downloading multiple files, this can help provide a shorter ripple. Conclusion A wired connection beats a wireless connection in all aspects except ease of installation and mobility. Though I prefer a wired connection, I wouldn't give up wireless capability on a computer. Understanding IP Addresses http://mayavps.com/articles/understanding-ip-addresses/ Sat, 16 Jan 2010 11:41:35 +0000 In essence, an IP address is a numeric address of a computer network or a single computer. Public IP addresses are assigned by their respective organizations. Most computers, referred to as hosts from now on, have two to three IP addresses. Each of these have a certain meaning to other hosts it might communicate with. If you have a router, all of the information exchanged between local devices and external hosts will go through your router. Types of IP Addresses Self IP Address This IP address is used by your own computer when communicating with itself through transfer protocols. All computers--regardless of operating system--have a self address, 127.0.0.1 or localhost in it's more readable form. This number is reserved as such for this purpose in the available IP addresses. Calling localhost or 127.0.0.1 in an Internet transfer protocol will tell the server software you are referring to itself. This is used in software such as web server, mail server, FTP server, etc. Unless you are a web or systems developer, this probably has no meaning to you. Local (Private) IP Address This IP address is assigned and used by your router to route information to and from your host. The range depends on the router but common ranges tend to be: 10.0.0.0 – 10.255.255.255 172.16.0.0 – 172.31.255.255 192.168.0.0 – 192.168.255.255 If, according to your router, the IP address of your computer is 10.0.0.3 and your printer is connected to the network at 10.0.0.7, the two will use these numbers to communicate with each other, with the router mediating--or "routing", if you will--the traffic between the two. The router's local IP might be 10.0.0.1 which you might call in a web browser--through a host connected to the local network--to modify its settings. Public IP Address This is the IP given to the outside world assigned by your Internet Service Provider, should it be requested, when you browse the web, check your e-mail, or download a file. Your Internet Service Provider is assigned a block of IP addresses it can give out by respective organizations in charge of controlling Internet numbers, names, and protocols. This is given out to external hosts you communicate with for information. This allows the external host to send back the information you requested to the correct address. After this, your router will route it to the proper device within its local network that requested the information. All home and office networks connected to the Internet have one of these, including web servers. Domain to IP All domains can be reverted to an IP address. Domain names are simply human-friendly forms of referring to a host at an IP address. What's easier to type and remember, 209.85.227.106 or google.com? Additionally, 69.63.187.19 = facebook.com, 209.191.93.53 = yahoo.com, and so forth. Domains are matched with IP addresses using name servers when you register your domain. PHP can convert domain names to IPs: <?php echo gethostbyname('www.example.com') ?> Tracing an IP Address There are many web services out there for tracing an IP, the most accurate I've found to be is Maxmind. With the address, one can get the city, country, ISP and other details of the IP address. This information is retrieved from a database of IPs, each with specific information about that IP. This is an important step in tracing unlawful online activity. Once the ISP is discovered, they may be contacted accordingly providing the violating IP address. Security This is sometimes also used to detect whether the user is coming from the correct connection, such as Hulu which limits their content to users (ip addresses) of specific countries. Proxy Server This is not full proof as someone can easily browse the web through a proxy server and give out the address of the proxy server instead of their own, real IP address, making the owner of the proxy server responsible for all activity. What's My IP? With a little PHP, we use htmlspecialchars() in this case to prevent any malicious code from being executed upon the echo function. <?php $ip = $_SERVER['REMOTE_ADDR']; $host = gethostbyaddr($ip); echo htmlspecialchars("$ip ($host)"); ?> User Agent A user agent string details the browser and system accessing the web page. They range from Mozilla/5.0 (compatible; Googlebot/2.1; +http:/www.google.com/bot.html) to Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; fr; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2. They are not limited to laptops or desktops, many search engine crawlers specify identification information in their user agent string. What's My User Agent? Again, we use htmlspecialchars() in this case to prevent any malicious code from being executed upon the echo function. <?php echo htmlspecialchars($_SERVER['HTTP_USER_AGENT']); ?> Classic Firefox Add-ons http://mayavps.com/articles/classic-firefox-add-ons/ Sun, 03 Jan 2010 10:43:54 +0000 I've been using Firefox since the early 2000s and still maintain a strong relationship with it. What keeps me from switching to a different browser is its massive add-ons library, it's compliance with W3C standards, and its nondiscriminatory attitude towards operating systems. Enjoy a great list of favorite, essential add-ons! 8. WindowsUpdate Simple and effective. Provides a link to the Windows Update web site for Windows users. This allows you to use Windows Update in Firefox instead of Internet Explorer. 7. IE Tab Part of the essential add-ons for any web developer. Whatever your relationship with Internet Explorer, it makes up 64% of the browser market share (Wikipedia). Since it is the most popular browser, your web pages must be able to stay consistent with IE visitors. This add-on adds a button on your status bar for switching browsing engines. Use this for testing out your own web pages or for others that require Internet Explorer, all without leaving Firefox. 6. View Cookies Useful for viewing all cookies being exchanged by your local computer and remote web sites. This extends Page Info > Security > View Cookies to its own option in Page Info with more details about value, path, expiration date, and whether or not it is secure. 5. 1-ClickWeather For those of us who like an outlook of the weather at our fingertips, there is 1-ClickWeather which places the current and next day forecast on your status bar, updated in real time. 4. Web Developer See HTML element stacking order, CSS styles and classes, have the ability to disable JavaScript, and many more options for any web page with Web Developer. 3. FireFTP Great, fast, simple, free FTP program. Allows for SSL and other authentication connection methods; also, allows you to set the port for the host. You may also open files in specified programs and use View on the Web for fast web viewing of your uploads. 2. DownloadHelper Download media--including audio, video, and picture files--from web sites that has been downloaded to your computer. 1. Adblock Plus A must-have for any Firefox user. This little tool blocks 99% of all automated advertising, including banners, pop-ups, advertising embedded into YouTube videos, advertising pre-rolled into Flash videos, and even ad links while searching Google. It is customizable and even offers you a list to choose from according to your country at initial setup. I cannot imagine browsing without this add-on. These are just a few of the many, great add-ons available from the add-ons web site and they may not be compatible with your version or system. If you would like to add any, please do so. Sniffing phpMyAdmin Vulnerabilities http://mayavps.com/articles/sniffing-phpmyadmin-vulnerabilities/ Thu, 24 Dec 2009 01:55:09 +0000 For those running phpMyAdmin as an aid for navigating through MySQL, you must remember to secure both your MySQL and phpMyAdmin installations. This applies especially to a dedicated server. Looking through some access logs I encountered some strange visits. Access Logs 75.126.53.106 - - [16/Dec/2009:16:11:07 -0600] "HEAD http:/174.143.180.107:80/mysql/admin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:07 -0600] "HEAD http:/174.143.180.107:80/mysql/sqlmanager/ HTTP/1.1" 301 280 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:07 -0600] "HEAD http:/174.143.180.107:80/mysql/mysqlmanager/ HTTP/1.1" 301 282 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:07 -0600] "HEAD http:/174.143.180.107:80/phpmyadmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyadmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpmyAdmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpmyadmin2/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/2phpmyadmin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpmy/ HTTP/1.1" 301 269 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phppma/ HTTP/1.1" 301 270 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/myadmin/ HTTP/1.1" 301 271 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/MyAdmin/ HTTP/1.1" 301 271 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/program/ HTTP/1.1" 301 271 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/PMA/ HTTP/1.1" 301 267 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/dbadmin/ HTTP/1.1" 301 271 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/pma/ HTTP/1.1" 301 267 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/ HTTP/1.1" 301 266 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/dbadmin/ HTTP/1.1" 301 271 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/ HTTP/1.1" 301 269 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/qql/ HTTP/1.1" 301 267 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/ HTTP/1.1" 301 272 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/phpmyadmin/ HTTP/1.1" 301 277 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/phpMyAdmin/ HTTP/1.1" 301 277 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sqlmanager/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysqlmanager/ HTTP/1.1" 301 276 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/php-myadmin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpmy-admin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/webadmin/ HTTP/1.1" 301 272 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sqlweb/ HTTP/1.1" 301 270 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/websql/ HTTP/1.1" 301 270 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/webdb/ HTTP/1.1" 301 269 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysqladmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql-admin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/phpmyadmin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/phpMyAdmin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/sysadmin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/sqladmin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/db/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/web/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/admin/pMA/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/pma/ HTTP/1.1" 301 273 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/db/ HTTP/1.1" 301 272 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/web/ HTTP/1.1" 301 273 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/pMA/ HTTP/1.1" 301 273 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/admin/ HTTP/1.1" 500 182 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/dbadmin/ HTTP/1.1" 301 277 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/sqlmanager/ HTTP/1.1" 301 280 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/mysql/mysqlmanager/ HTTP/1.1" 301 282 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/phpmanager/ HTTP/1.1" 301 278 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/php-myadmin/ HTTP/1.1" 301 279 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/phpmy-admin/ HTTP/1.1" 301 279 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/sql/ HTTP/1.1" 301 271 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/myadmin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/webadmin/ HTTP/1.1" 301 276 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/sqlweb/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/websql/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/webdb/ HTTP/1.1" 301 273 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/sqladmin/ HTTP/1.1" 301 276 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/sql-admin/ HTTP/1.1" 301 277 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/phpmyadmin2/ HTTP/1.1" 301 279 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/phpMyAdmin2/ HTTP/1.1" 301 279 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/sql/phpMyAdmin/ HTTP/1.1" 301 278 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/phpmyadmin/ HTTP/1.1" 301 283 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/phpMyAdmin/ HTTP/1.1" 301 283 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/database/ HTTP/1.1" 301 281 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/phpmyadmin2/ HTTP/1.1" 301 284 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/phpMyAdmin2/ HTTP/1.1" 301 284 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/database/phpMyAdmin/ HTTP/1.1" 301 283 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/myadmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/webadmin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/dbweb/ HTTP/1.1" 301 272 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/websql/ HTTP/1.1" 301 273 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/webdb/ HTTP/1.1" 301 272 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/dbadmin/ HTTP/1.1" 301 274 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/db-admin/ HTTP/1.1" 301 275 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/phpmyadmin2/ HTTP/1.1" 301 278 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/phpMyAdmin2/ HTTP/1.1" 301 278 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/db/phpMyAdmin-2/ HTTP/1.1" 301 279 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin-2.11.8.1-all-languages-utf-8-only/ HTTP/1.1" 301 308 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin-2.11.8.1-all-languages/ HTTP/1.1" 301 297 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin-2.11.7.1-all-languages-utf-8-only/ HTTP/1.1" 301 308 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin-2.11.7.1-all-languages/ HTTP/1.1" 301 297 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin-2.11.6-all-languages/ HTTP/1.1" 301 295 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/phpMyAdmin-2.11.5.1-all-languages/ HTTP/1.1" 301 297 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/administrator/phpmyadmin/ HTTP/1.1" 301 288 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/administrator/phpMyAdmin/ HTTP/1.1" 301 288 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/administrator/db/ HTTP/1.1" 301 280 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:08 -0600] "HEAD http:/174.143.180.107:80/administrator/web/ HTTP/1.1" 301 281 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/phpmyadmin/ HTTP/1.1" 301 288 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/phpMyAdmin/ HTTP/1.1" 301 288 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/pma/ HTTP/1.1" 301 281 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/db/ HTTP/1.1" 301 280 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/web/ HTTP/1.1" 301 281 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/PMA/ HTTP/1.1" 301 281 "-" "revolt" 75.126.53.106 - - [16/Dec/2009:16:11:09 -0600] "HEAD http:/174.143.180.107:80/administrator/admin/ HTTP/1.1" 500 182 "-" "revolt" This Dallas host with the user agent "revolt" managed to try ninety-seven different combinations of phpMyAdmin URLs within a matter of three seconds. Had they hit a correct URL and encountered a MySQL installation with a default root login, they would have easily gained access to any internal information the MySQL server might be storing. This includes--but is not limited to--e-mail accounts, personal visitor information, and database schema. With this power, one can easily trash a complete MySQL server installation, perhaps beyond a point of recovery. phpMyAdmin Layers of Security Change the default phpMyAdmin URL and port Set restrictions with .htaccess or .htpasswd file Disable root logins Create a user with limited privileges Use encryption (SSL) for connections with phpMyAdmin We are only discussing phpMyAdmin and MySQL, but this may also apply to any server software where critical information is being exchanged between two computers. Remember, with each new layer of security, you are adding another door to your internal information. Are You a Squatter? http://mayavps.com/articles/are-you-a-squatter/ Thu, 17 Dec 2009 19:42:21 +0000 So, we've all done it. Mistyped a URL and gotten a page full of useless ads. Not until recently did I decide to check out omarmaya.com, a domain name I registered in July of 2008 which expired a year later. I had no intention of renewing this name, so I let it go, regardless of all the junk mail I received from various registrars asking me to renew it. I was a little surprised when I typed in my old domain name it returned a page full of advertisement links. I asked myself, "Who would want to squat me?" Maybe it's for a different Omar Maya; regardless, they are squatting a person's name. WHOISIT? A simple lookup of the WHOIS records returns the following: Domain Name: OMARMAYA.COM Registrant: Above.com Domain Privacy 8 East concourse Beaumaris VIC 3193 AU hostmaster@above.com Tel. +61.395897946 Fax. Creation date: 2009-11-30 Expiration Date: 2010-11-30 Whois.net I did not renew it nor did I register it as a trademark. They can sell it to the ancient Mayan civilization in southern Mexico and Guatemala for what it's worth. In the Corporate World Not everyone is so understanding, apparently this has been a big issue with innovative giants Verizon, Apple, Microsoft, and Dell, among them. Apple In fact, the CEO of CyberBritain, Benjamin Cohen, registered itunes.co.uk a month before Apple's trademark had gone through and even turned down a monetary offer to sell the domain to Apple. Since Apple owns the trademark to iTunes, it should also have a right to the domain name, despite the trademark applicant not getting to it first, according to the ruling (CNET News). Apple Computer has won a legal dispute to force a U.K. company it accused of cybersquatting to hand over the domain ownership for the iTunes.co.uk Web address. CNET News Microsoft Microsoft has also decided that any domain name reflecting any sort of similarity to a Microsoft product should belong to Microsoft, microsoftsystem.com and hotmialcom.com included (Seattle PI). Maybe this will help their Live-Search-with-a-background-picture product, Bing? Microsoft brought 15 similar claims worldwide in the past year, allowing the company to take possession of more than 2,000 misused domain names and recover more than $1.17 million in illegal profits, Kornblum said. Seattle PI Dell Dell's main argument is that all the traffic going to the misleading sites was intended for them. Personal computer giant Dell Inc. is pursuing a major "cybersquatting" lawsuit against several companies that buy and sell Web site addresses, alleging that the entities earned millions of dollars from Internet traffic intended for Dell and dozens of other Fortune 500 companies. The Washington Post Verizon Finally, in "the largest cybersquatting judgment ever," OnlineNIC was ordered to pay around $33.15 million for misused domains it obtained through an automated process, forging names and cocealing information (The Register). In a default judgment this week, a federal court in Northern California ruled this week that OnlineNIC should pay $50,000 for each of the 633 domains Verizon claims were created specifically to be confused with legitimate Verizon brands. The Register The Law According to the Anticybersquatting Consumer Protection Act established specifically for this purpose a famous mark cannot be used if a trademark or service mark owner decides the opposing group has obtained it in "bad faith?" The Anticybersquatting Consumer Protection Act is a federal law that took affect on November 29, 1999. This new domain name dispute law is intended to give trademark and service mark owners legal remedies against defendants who obtain domain names "in bad faith" that are identical or confusingly similar to a trademark or service mark. If a mark is a famous mark, the same remedies are available if the domain name is identical to, confusingly similar to or dilutive of the mark. KEYTLaw Who's in Charge Here? Is this ethical on either end? Should domain names be tied to legal entity names? Are the masses' domain names safe against registered corporations should they decided to take them? Is this preventing unethical groups from obtaining domains in bulk and selling them to interested organizations at an exaggerated price? Creating a Basic Flash Video Player http://mayavps.com/articles/creating-a-basic-flash-video-player/ Tue, 15 Dec 2009 18:49:37 +0000 So now that we have our video we can open up Flash and start working on the player. Flash makes creating components easy with the Components and Component Inspector panels. We could write the ActionScript to generate these components from scratch or we could take advantage of these and drag and drop them to the stage. The Stage My stage will be 700 x 400 pixels to keep as close as possible to the 16:9 wide-screen ratio. In future discussions this will not have as much importance as I will use JavaScript to communicate with ActionScript to resize the video accordingly without excess stage in either direction. Keep a tight video! The Simple Way For a basic player, simply edit the information in the Component Inspector panel. To begin, double click the empty field next to source for a popup to select the location of the video. FYI: FLVPlayback also accepts MOV files. If you selected Match Source Dimensions then the FLV instance on the stage should resize to the original video file dimensions. This is ideal if you do not want distortion, which you can always scale down. Unless you know what you are doing, I do not recommend leaving this off. Aligning the Instance Using the Align panel, align the FLV instance to the top right of the stage. Tighten the Stage Select Your Skin If you'd like a skin, which includes the controls, select skin from the Component Inspector The Files After publishing your work (File > Publish), you should have these five files: oceans-tsr1_h640w.f4v - The FLV File SkinOverAll.swf - The Skin File video.fla - Your Source File video.html - The Display Page (Not Necessary) video.swf - The Player The Result After playing around with the Component Inspector a bit we get something like below. flv_video basic_flv_video.swf 640 272 Disneynature presents Oceans: http:/www.apple.com/trailers/disney/oceans/ Thoughts There is still so much that can be done to customize this player. For one, you could change the default skin to your own skin by making your own or downloading an FLA file from online. This is a little more advanced, but it can be done. Secondly, this player is not dynamic. This means that if you want to play a different video, you would have to republish you SWF file to change the FLV file it looks for. Additionally, this player does not accept any external meta data, say, from an XML file. External meta data can be very useful and informative to a viewer when he or she is viewing external host videos, such as YouTube or Vimeo, on your web site. Meta data can also help when you'd like to have a still image appear before the user pushes play. All of these topics are under development for future discussions. Preparing a Video for FLV Playback http://mayavps.com/articles/preparing-a-video-for-flv-playback/ Sat, 12 Dec 2009 12:09:53 +0000 We're going to build a custom Flash Video Player using a combination of Flash's pre-defined components and ActionScript 3 with some of our own symbols. First, we need the video to be prepped and ready to be played on the web. For this, we're going to use the FLV format, which reaches 99% of internet-enabled desktops thanks to Adobe's Flash Player. The FLV format is ideal in it's reach level and quality-weight ratio. The Source Video We're going to borrow the trailer from a movie I'm looking forward to, Oceans, using the medium quality file as the balance. Once you have your file, in this case, an MOV file, you're ready to convert it. Let's say I cut and edited my own video, then if I were using Premiere Pro I would simply export it for Flash Video. Adobe Media Encoder If you already have the file like I do, you can use the Adobe Media Encoder. You may add multiple media files to convert, then let it do its thing. Here I'm converting both the medium and high quality videos. If you decide to change the FLV settings, take note of the file size on the bottom right corner as this will be the weight of the file. If you're planning on distributing on the web, try to keep it light. Using the Media Encoder, you may also crop and add minimal effects in the Settings... The End Result Remember, an FLV file format does not neccesarily end with a .flv extension. According to Wikipedia, it may also end in .f4v, .f4p, .f4a, or .f4b. You can't do much with an FLV file without an FLV player; using Flash, we're going to build one in the next discussions. Alternatively, there are some stand alone FLV players that can run on your local machine such as this one CNET offers.