Wednesday, June 06, 2012

URL probing technique

With all those SEO-friendly URLs it's entertaining to see how the web application respond to misspelling/typos in different parts of the "folder hierarchy". Depending on how close misspelling to a root of the URL the application would throw something ranging from nice "article/product not found" to ugly 500 or 404 canned error page.

And that's how one can sniff what CMS and shopping carts website is made of ;-)

Labels: ,

Saturday, December 27, 2008

Recommended Facebook Photo Resolution


Optimizing for Facebook Albums
says:
highest quality JPEG, 604 pixels maximum dimension, 200+ DPI

Also as per Facebook pictures resolution:
30 KB and the resolution of the picture is about 604px × 402px

Maximum Picture Size says:
500 x 655. 498 wide x 604px is max i use. I've had pics cropped if i try wider

Another programmer in his Image Uploader for FB project mentions that:
the maximum Facebook image size, 604x604, which are about 100-150 kilobytes

Labels: ,

Tuesday, April 22, 2008

The best Facebook apps for business and career enhancement | The Social Web | ZDNet.com

Thursday, December 13, 2007

Opening active desktop links in the same window

By default Windows Active Desktop opens all links in the new browser window. Following are the solutions how to open Active Desktop links in the same window:
- SharePoint - Active Desktop Gotcha
With this solution certain web applications complain about disabled cookies (gmail), other work fine :-|

Labels: , , , ,

Tuesday, October 16, 2007

Workflow Control

http://www.informit.com/articles/article.aspx?p=170329&rl=1
http://www.e-workflow.org/
http://www.wfmc.org
http://www.workflowpatterns.com/evaluations/product/index.php
http://www.openflow.it/wwwopenflow/EN/Documentation/Files/WorkflowIntroduction/WfMC_Workflow_Introduction.pdf

Labels: , ,

Saturday, October 06, 2007

User Interface for Seniors

IDEA:
Create GUI explorer application (exe/flash/web) that present computer services (address book, schedule, multimedia, structured data, emails, IM, web, etc...) in very simplified and accessible way (as for seniors and mentally disabled).

PURPOSE:
Take unnecessary details of computer system implementation away from busy or dummy user and let person concentrate on what matters most w/o getting into file system, drivers, settings, and other technical and maintenance details. This way busy person will save time and disabled person will have less stress using computer and network services.

PROBLEM:
Current computer-human interfaces simultaneously pursue two independent goals:
1) Make interface (explorer) visually pleasing and easy to use.
2) Keep interface functional nought for computer administration purposes.
Basically, function-rich UI controls made for tech savvy people who do not need fancy stuff so much. Geeks going to survive with command line anyway.
Fancy UI might be liked by mid-level users, but they do not fully utilize all the functionality offered and sometimes even confused by lot of choices and controls.
And the worst - beginners and seniors are left with no suitable GUI because they do not understand basic information technology concepts and/or physically unable to use controls offered.

SOLUTION:
Develop very simplified shell (explorer) application for personal computers that will expose only services with no technical or maintenance details. UI should be simple, intuitive and accessible like ATM menus.

EXTENSION:
Due loose coupling between UI concepts and underlying hardware such solution can be implemented as SaaS or web application.

LINKS:
http://www.useit.com/papers/heuristic/heuristic_list.html

Labels: , ,

Saturday, September 29, 2007

Web application state and Undo issues

http://blogs.zdnet.com/Stewart/?p=515&tag=nl.e539
http://www.vanderwal.net/random/entrysel.php?blog=1665
http://weblogs.macromedia.com/jd/archives/2005/05/representing_ap.cfm
http://www.boagworld.com/archives/2007/06/the_importance_of_undo.html

Labels: , ,

Thursday, June 14, 2007

"E32: No file name" vi error upon svn commit (editor-cmd = vi)

Error: When I was configuring svn to use vi editor for commit comments I run into “E32: No file name” vi error upon exiting vi. Also editor showed me the welcome screen instead pre-populated svn message.

Cause: When editing my svn config file I left the default comment at the end of editor-cmd variable so my config string was like this: “editor-cmd = vi #(vi, emacs, notepad, etc.)”. It caused svn to pass all that #garbage to vi followed by space and actual name of the comments file to be edited in vi.

Fix: Remove all the garbage after the editor executable name unless you want it to be passed to editor as an extra parameters before the file name. The config string should look like this: “editor-cmd = vi

Labels: , ,

Monday, February 26, 2007

The stages of developer's growth

Mechanics->Hardware/Radio->Software/Applications->Software/Systems->Business/Teams->What's next?
Politics/Religion?

Labels: , ,

Thursday, February 22, 2007

How to choose webhosting for beginners

Thursday, January 25, 2007

Database Versioning Approaches

Life requires databases (as well as source code) to be changed from time to time. While source code changes are managed using version control systems there is no de-facto standards on how to track the database changes in schema and data.

Following the list of articles about issues of updating databases:
Achieving an Automated Approach and Version Control
Managing Database Changes
Evolutionary Database Design
Is Your Database Under Version Control?
11 Tools for Database Versioning
Ruby on Rails Migrations Explained

Following are the considerations regarding relations of code, data and real life (subject domain) entities:


  • The code and DB schema are dead (means they are not changed by subject domain).

  • All the data is live (it reflects subject domain).

  • Some data (reference tables, constants) may be considered quasi-dead since it less likely to be changed by subject domain.

  • There is no straightforward way to restore DB snapshot w/o loosing recent updates.

  • Any live data can be represented by snapshot and series of updates (transactions).

  • While snapshot is merely database full backup, the updates are not the DBMS low-level transaction but rather high-level log of interactions with subject domain. So called BusinessLogic-level transactions.

  • Stored BL-level transactions then can be applied to the snapshot or new empty database to bring it in sync with real world at the same time the system processes the new BL-transactions. The best is that can be done w/o shutting down the operations (only interrupting current sessions if applicable).


Conclusion: If you want to untie your mission-critical real-time project from actual implementation of data model/platform for easy migration then you need to implement BL transactional DBMS upon SQL-based convention DBMS.

Labels: ,

Changes

"Change should be a friend.It should happen by plan, not by accident."
Philip Crosby, Reflections on Quality


One of the certainties in life is that things will change.
http://www.innovartis.co.uk/Automated_Database_Change_Management_Whitepaper.htm

Labels: ,

Интерфейсы для мастеров / Usethics

Filosofskie rassuzhdeniya na temu ergonomiki pol'zovatel'skogo interfeisa:
Интерфейсы для мастеров / Usethics

Labels: , ,

Tuesday, December 05, 2006

su for Windows 2000

There is a way in Windows 2000 to run process from under the account different from the account currently logged on. Windows utility called runas and it is very similar to the su UNIX utility. Very brief description of runas utility is available at http://www.ss64.com/nt/runas.html and more detailed usage scenario available at http://www.microsoft.com/technet/prodtechnol/windows2000serv/howto/seclogon.mspx

Labels:

Command-line network utility in Windows 2000

There is command line utility AKA shell built in Windows 2000 named netsh. It allows automation of network configuration process by exporting configuration in textual ASCII script files that can be run later on to apply saved configuration. Script syntax is open so administrator is able to compose own scripts. For the brief overview of configuration model, command line options and major script commands see http://www.microsoft.com/technet/community/columns/cableguy/cg1101.mspx

Labels:

Monday, November 20, 2006

"internet explorer" fixed position workaround

Tuesday, October 31, 2006

robots.txt validators

Wednesday, August 16, 2006

Doing AJAX

Asynchronous request methods:
- FRAME
- IFRAME
- Element's src/href attribute (GET only)
- XMLHttpRequest object AKA Microsoft.XMLHTTP

Format of data traveling from server:
- JSON (stands for JavaScript Object Notation)

Format of data traveling from client:
- Separated values
- Fixed length
- XML

Labels: ,

Friday, August 11, 2006

Google Web Toolkit

http://code.google.com/webtoolkit/

AJAX in all it's beauty! Take a look at Kitchen Sink demo: http://code.google.com/webtoolkit/documentation/examples/kitchensink/demo.html

Labels:

Friday, July 21, 2006

the premier open-source platform for rich internet applications

http://www.openlaszlo.org/legals

The Architecture
With Legals, the OpenLaszlo architecture is being remodularized into a true multi-runtime platform. OpenLaszlo generates script source that is compatible with ECMAScript Release 3, while leveraging extensions from ECMAScript Release 4. From there, multiple compiler backends generate JavaScript in the native dialect of the destination runtime: ActionScript 2 or 3, JScript 5.6, JavaScript 1.4+, and so on.



The OpenLaszlo runtime library is being refactored into two parts: multiple kernels containing runtime-specific code, and a cross-runtime library written in standard ECMA-3. As part of the runtime library, the OpenLaszlo class system has been rewritten in ECMA-3 and includes several innovative new features.

The OpenLaszlo runtime library delivers a common baseline of functionality across all supported runtimes. This gives the developer a rich environment in which to build full-featured web applications. In addition, Legals will include runtime-specific extensions so that the particular benefits of targeting a runtime are not lost to the OpenLaszlo application developer.

Labels: