|
tip |
FTP TIP - added on August 30, 2007
Since I live in Germany and host my website in America, whenever I uploaded my files and checked the box "overwrite if newer" it would ALWAYS overwrite since the files on my local computer were all 6 hours ahead of the files on my server in the States. My provider pointed out to me that Filezilla has a feature that allows you to set an offset of your server, VERY useful if your server is in a different timezone.
![]()
|
|
tip |
VISUAL STUDIO .NET TIP - added on August 31, 2007
How to block-select in VS.NET
If you need to copy a block OUT of a number of lines (e.g. columns 20-30 for four lines) press
![]()
|
|
tip |
VISUAL STUDIO .NET TIP - added on August 31, 2007
Public override intellisense
Type "public override" then choose a method to override from your parent class and the rest will be filled in.
|
|
tip |
VISUAL STUDIO .NET TIP - added on August 31, 2007
Even though those little Visual Studio 2005 dll.refresh files are in your \bin directory, you NEED TO CHECK THEM INTO SOURCESAFE.
|
|
tip |
SQLITE TIP - added on August 31, 2007
Fix locked databases with vacuum
If you get a "database locked" error with sqlite with an online PHP script, try renaming the file and using VACUUM. Worked for me.
|
|
tip |
FIREFOX TIP - added on August 31, 2007
Multiple start pages in Firefox
To have multiple tabs as your start page, click on Tools and then in the Home Page field, use a pipe (|) between your http:// addresses.
![]()
|
|
tip |
WINDOWS TIP - added on September 5, 2007
If you need to rename files, this is the most powerful little free tool I know to do it. Install it, highlight all your files you want to rename, then press CTRL-U and define how you want them renamed. ActivAid is a collection of useful tools, check out the Hotstrings as well (Windows-wide macros).
![]()
|
|
tip |
SUBVERSION TIP - added on September 20, 2007
How to see what changes were made on the last version when working with subversion via the command line
If you are working at the command line with subversion and you want to see what you are about to get on an update, then type "svn info" get the revision number e.g. 20 and then type "svn log -vq -r21" (experiment with the revision numbers but this works for me).
|
|
tip |
ECLIPSE TIP - added on September 20, 2007
Press ctrl-shift-f to reformat code
Discovered this hotkey today for PHP in eclipse, nice if you are in a deep if statement that has gotten out of hand, etc.
|
|
tip |
CSS TIP - added on October 5, 2007
This is an exhaustive table showing you which code hacks will tell certain browswers to apply a CSS rules while hiding this rule from others. Perfect if you need to get Opera to do something but want to hide it from Explorer and Firefox.
|
|
tip |
PHP TIP - added on October 9, 2007
The last time I installed Eclipse for PHP development I used the PDT all-in-one install and have been pleasantly surprised how well code completion, variables/function intellisense, etc. works, debugging apparently works too but haven't tried it out yet. I downloaded the "1.0 Stabile Build" by clicking on the "S20070910-RC1" link.
|
|
tip |
FLEX TIP - added on October 10, 2007
As I analyze Flex projects I am using this reference of commands.
|
|
tip |
FLEX TIP - added on October 11, 2007
How to fix the "Only local-with-filesystem and trusted local SWF files may access local resources." error after exporting compiled project
If you get an error "Only local-with-filesystem and trusted local SWF files may access local resources." when trying to access a text file or XML file from inside a Flex application after it has been compiled and moved to another location, then go to Project | Properties | Flex Compiler and in the Addition Compiler Arguments box, add "-use-network=false". Compile again and it should work. Worked for me.
|
|
tip |
FLEX TIP - added on October 11, 2007
For capturing keypresses use applicationComplete instead of creationComplete
I wanted to capture application-wide key presses and was constantly getting an error until I replace creationComplete with applicationComplete in my mx:Application tag, apparently creationComplete is called too early. Don't know but that solved the problem. Now this code works: stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);.
|
|
tip |
PERL TIP - added on October 17, 2007
How to access mysql with Perl on Windows XP
After downloading ActivePerl I tried to access mysql in a perl script and got the error 'Can't locate DBI.pm', so typed 'ppm' then 'install DBI' and then 'install dbd-mysql', then it worked.
|
|
tip |
PERL TIP - added on October 18, 2007
How to associate Perl files in eclipse
I have the PDT version of Eclipse which is set up for PHP files and hence when I would click on my Perl files (.pl) it would EXECUTE them instead of show them (!). In order to change I clicked Window|Preferences|typed "editors"| clicked File Associations|Add|.pl|Add Editor| and chose the Java Editor, works fine now.
|
|
tip |
FIREWORKS TIP - added on October 23, 2007
How to create arrows in Fireworks
Back in Fireworks 3 you had to download a plug-in for this but a half dozen versions later it is part of Fireworks CS3 thankfully: draw a line (N), then Commands | Creative | Add Arrowheads. You have about 17 choices of types of arrow heads and arrow tails, nice. I found that trying to EDIT them later gets an error "could not complete your request, invalid selection", seems a bit unbaked, but if you get it right the first time then you can just ALT-drag copies an then with the scale tool (Q) you can spin them around so that you can have as many arrows pointing any direction you want.
![]()
|
|
tip |
MYSQL TIP - added on October 30, 2007
If lots of INSERTS, use InnoDB
If you have a site with a lot of inserts and updates, use ENGINE=InnoDB instead of MyISAM, e.g. "CREATE TABLE members (firstName VARCHAR(50), lastName VARCHAR(50)) ENGINE=InnoDB DEFAULT CHARSET=utf8".
|
|
tip |
WINDOWS TIP - added on November 7, 2007
How to get free remote computing with VNC
So I am going to buy a new laptop and most come with Windows Vista Home which does not have the Remote Desktop feature which I constantly use on my Windows XP to access other machines, so I looked around for another program to do remote desktopping and found the free VNC which works great on XP to XP. Download it from www.realvnc.com, click on "Download and use" for the free version, then just "Proceed to Downloads", then download the Executable for "VNC Free Edition for Windows", and also the stand-alone viewer. On the machine you want to access, install the first program, be sure to click the two checks saying you want VNC in your taskbar, and also when it asks you to type in a password, type one in (otherwise it still asks and you can't get in), THEN the main thing you have to do is run the viewer on your main machine, type in the IP address from the machine you want to connect to (get it with "ipconfig") and you will then get a "unable to connect". SO on the machine you want to access assuming it is Windows XP go to Start | Settings | Control Panel | Firewall | Exceptions | Add Program | Browse, the browse to the Program Files/RealVNC/VNC4 and click on "winvnc4.exe" then OK,OK,OK an you will be able to connect. Nice free solution to remote desktops. I assume this works for Vista as well and so I don't need to get the expensive Ultra whatever, nice.
|
|
tip |
ECLIPSE TIP - added on December 3, 2007
How to set encoding on file to UTF-8
The default encoding in the Eclipse that I downloaded was Cp1252. To change it to UTF-8 I went to: Window | Preferences | General | Workspace and change Text File Encoding.
|
|
tip |
LAPTOP TIP - added on December 7, 2007
Avoid laptops with misplaced function key
Before you buy a laptop, make sure that it isn't one with the Function key where the Control key is supposed to be. It will drive you crazy since you will press the function key at least a 100 times thinking it is the control key and then when you learn how to NOT press it, your left hand will cramp into a little ball trying to press control-alt-shift, etc. And since BIOS treats the function key differently than others, you cannot switch the keys with a bios trick.
![]()
|
|
tip |
PHP TIP - added on December 9, 2007
I just posted a new step-by-step tutorial on how to install Apache, PHP, MySQL, and Eclipse PDT with the easy-to-use XAMPP Lite to get you up to speed fast. I also show you how to use the most useful features of Eclipse for PHP programming including code assist, templates and debugging.
![]()
|
|
tip |
VISTA TIP - added on December 13, 2007
Look in the Roaming Folder
So I installed Thunderbird on my laptop, then found the profile directory in AppData/Local, set up account, got mails, but they were not affecting the files in AppData/Local. I could even DELETE the AppData/Local files and my mails would still be in Thunderbird (!). And each time thunderbird would start it created a new folder in AppData/Local. After googling a bit, I found out that Vista renamed a lot of the application data folders, and now has this Roaming folder, which is where I found my live data that Thunderbird (and other programs) store. However, AppData/Local is still being written to, still being used somehow. So, don't have time to understand that new inner ongoings of Vista application data storage locations right now, but the moral of the story is: if you can't find your application data in Vista, stop looking in AppData/Local and look in AppData/Roaming.
![]()
|
|
tip |
FTP TIP - added on December 16, 2007
Has windows-explorer-like windows on each side, file name filters look interesting, still has timezones (nice), has right-to-left language support (impressive), and just seems to be have been "visited by interface experts", nice update, still free. OH, and just found another great new feature: next to the box "always overwrite if newer" is "apply only to uploads" so you won't accidently overwrite a local file, nice.
![]()
|
|
tip |
PHP TIP - added on December 19, 2007
One of the hardest skills to master in any scripting language for the web is creating a form that looks nice in all browsers (e.g. table padding isn't the same in all browsers) AND validates AND maintains state AND uses all of the various kinds of form elements (radio buttons, multiple dropdowns, etc.). This code does this all and provides a great basis if you need to get a quick, nice-looking, function form on a PHP page.
![]()
|
|
tip |
ECLIPSE TIP - added on January 8, 2008
ALT-leftArrow and ALT-rightArrow
Just discovered the hotkeys ALT-leftArrow and ALT-rightArrow which move back and forth between the last places you were in code, e.g. if you had searched for something and want to go back.
|
|
tip |
SVN TIP - added on January 10, 2008
When checking in files, double-click on a file to see changes
Just discovered that when you check in files, to see all the changes that were made since the last check-in, just double-click on the file. Very nice.
![]()
|
|
tip |
SVN TIP - added on January 11, 2008
How to set up PHP project in SVN
Rightclick navigator
new project... click on "SVN | Checkout Projects from SVN", next create new repository location, next click on the project that is there in list, next next finish.
|
|
tip |
MYSQL TIP - added on January 16, 2008
How to make a field unique in MySQL
Needed to make a field unique in MySQL and stumbled upon the "unique" button in PHPMyAdmin, just click it and you no longer can enter specific values more than once. You can apply it to as many fields as you want. Good for hashes, etc. which are also unique but not keys.
![]()
|
|
tip |
JAVASCRIPT TIP - added on January 17, 2008
Video is 16 minutes long, very informative, nice voice, fast loading, if you didn't know that you can debug Javascript like this, watch the video, spend about 30 minutes with Firebug, and you will save many future headaches trying to find bugs in your Javascript code.
![]()
|
|
tip |
RAILS TIP - added on January 18, 2008
I just created a tutorial which shows you step-by-step what and how to install so that you can create a Ruby on Rails 2.0 application that displays data from a database. If you have ever tried to learn Ruby but found it too difficult at the beginning, this tutorial is for you. There is a screenshot on every step and you can post comments without logging in. By the end of 30 minutes you will have Ruby on Rails running on Windows.
![]()
|
|
tip |
PHP TIP - added on January 21, 2008
How to switch your PHP sites from sqlite2 to sqlite3
One reason to switch from sqlite2 to sqlite3 is that you can use the nice Firefox Plugin SQLite Manager to manager your databases. In addition, the files are smaller and sqlite3 supports BLOBs and UTF-8 and UTF-16. Also, Ruby on Rails 2.0 now uses sqlite3, so upgrading is worth it. Here's how:
- go to http://www.sqlite.org/download.html - download sqlite-2_8_17.zip and unpack the file sqlite.exe to c:\sqliteConvert - download sqlite-3_5_4.zip and unpack the file sqlite3.exe to c:\sqliteConvert - put your old version 2 sqlite database (e.g. called old.db) in c:\sqliteConvert - at the command line go to c:\sqliteConvert and type "sqlite old.db .dump | sqlite3 new.db" - the file "new.db" will be a sqlite3 version of your old database I was able to get my PHP code to use the new sqlite3 database with only a few changes: - in php.in make sure your dll settings are commented/uncommented in this way since you need the PDO driver to use sqlite3: extension=php_pdo.dll ;extension=php_sqlite.dll extension=php_pdo_sqlite.dll (and then don't forget to restart your Apache) In my PHP code, I had to essentially change the syntax to this: $db = new PDO('sqlite:test.sqlite'); $result = $db->query($sql); while($row = $result->fetchObject()) { echo $row->id; } everything else was the same as the syntax for sqlite2 databases. Good luck! ![]()
|
|
tip |
ECLIPSE TIP - added on January 24, 2008
Use incremental search
Just found this by accident: when you press CTRL-F to search in Eclipse click the "incremental" checkbox and you will get an immediate-firefox-like search functionality which finds words as soon as you type them. However, you need to remember to turn if off if you want to search and replace inside a selection. I leave it on now though since I'm able to find things more quickly, nice little feature.
![]()
|
|
tip |
CSS TIP - added on February 2, 2008
Instead of picking through html tags on long lines in source view, use this plugin to see how sites are structured at a glance.
![]()
|
|
tip |
VIDEO TIP - added on February 3, 2008
If you just need to do simple videos that you include in a tutorial or upload to YouTube, etc. then CamStudio will be enough for you. I spent 10 minutes editing the settings to get it to work well with my CPU speed, audio etc.. For YouTube you want to record at no higher than 600 x 480 or the compression will render your text unreadable (but for many tutorials this may not be an issue, think about it first before you do a photoshop tutorial at 600 x 480 which has its own obvious disadvantages, as long as you can talk and explain things your audience may not need to read everything on the menus, etc. especially for graphic and design applications. I chose "Record Audio with Microphone" and set to 11.025 kHz, mono, 16-bit (8-bit was too scratchy), a two-minute 600x480 recording with "11.025 kHz, mono, 16-bit" creates a 17MB .avi file. You can also set it to record swf (just performs the conversion from avi at the end, might be good for flex development as well. I also had to change the "Interleave Video and Audio" from 100 milliseconds to 300 milliseconds for my sound to stop skipping but now works nicely. You can do full screen, fixed region, or define the region every time, to move the region as you are recording you can click and drag the corners, not smooth motion but will do for tutorials where you just want to show how something is done. There are also "video and audio annotations" which I haven't figured out yet, might be interesting. In any case, this is a nice, free solution to recording what you do on the screen for demonstration or education tutorials. TIP: Instead of using the click-on-corner-to-move-recording-screen option that camstudio gives you, always record in with remote desktop (e.g. remote to another machine or virtual machine) and make the window 600x480 then use the scroll bars to smoothly scroll whatever you need into your window, this way, you HAVE to scroll to see it which means your audience sees everything you do, nice.
Camstudio setup: 1. region | fixed region : fixed top-left corner, 109, 234, 640, 480, both checked. 2. options : "record audio from microphon" 3. options | audio options | audio options for microphone : Recording Format = 11.025 kHz, mono, 16-bit AND interleave every 300 milliseconds 4. options | keyboard shortcuts : Record/Pause Key = ALT-F2, Stop Key = ALT-F3 5. options | program options | temporary directory for recording | use user specified directory | (temporyFilesNoBackup). ![]()
|
|
tip |
ECLIPSE TIP - added on February 5, 2008
How to move from tab to tab with the keyboard
Discovered another little set of hotkeys yesterday in Eclipse, to go from tab to tab without taking your hands off the keyboard, just press CTRL-PgUp and CTRL-PgDown.
![]()
|
|
tip |
GENERAL TIP - added on February 9, 2008
Press CTRL-ALT-RightArrow to convert your screen to vertical mode
Don't know if this is a feature of Windows XP or my monitor or what, but I accidently pressed CTRL-ALT-rightarrow and was able to view my screen in vertical "document mode", didn't know it could do that, might be nice for desktop publishing, graphics, etc.
![]()
|
|
tip |
GENERAL TIP - added on February 9, 2008
I was elated to find that Microsoft has released Microsoft Word for DOS 5.5 as a free download. I am now able to read in full formatted form my old college research papers from the 80s. Thank you Microsoft. As a side note, I think Microsoft Word for DOS 5.5 had the best outline mode out of any text editor I have ever used, all driven with the keyboard, you could brainstorm for hours, collapsing, expanding, shifting text and blocks left and right, ordering your outline until it was time to fill it with text. Very nice.
![]()
|
|
tip |
FLEX TIP - added on February 10, 2008
Go back to any file change in FlexBuilder
Without installing any source control, you can right-click any file in your FlexBuilder 2 at any time, choose "Replace With" and "Local History" and then go back to any change you have made to the file. Very nice background feature, good to know.
![]()
|
|
tip |
ECLIPSE TIP - added on February 13, 2008
How to get code assist for objects returned from static methods
For a long time it has bothered me that I didn't have code assist on objects which I didn't instantiate with a "new" keyword. I found out today that all you have to do is create a PHP doc for your static method, make sure the name of the class is on the return line, and Eclipse will give you code assist on objects created with that method. Nice.
![]()
|
|
tip |
ECLIPSE TIP - added on February 14, 2008
How to compare files in Eclipse
"Compare with local history" and "compare with SVN revision" in Eclipse are wonderful time-saving tools. You can also compare two separate files by CTRL-selecting them in the Naviator view, then right-click one of them and choose "Compare With" and "Each Other". Great if you have two sites that have similar files and need to make sure their are synchronized.
![]()
|
|
tip |
CSS TIP - added on February 14, 2008
You can install these in firefox or explorer in seconds, choose any one and they are all in a window to your left in your browser (HTML/CSS/Javascript/XSLT/Perl). The great thing about these is that each command has an example to the right, very nice. They are only in German, but I think if you don't read German as long as you just wanted the examples, this would still be pretty useful, quicker than googling for examples for, say, the empty-cells or in JavaScript getElementsByName. Very nice resource here. This doesn't seem to work well in Internet Explorer 7 since it is not a side bar per se but like a bookmark, use this in Firefox.
![]()
|
|
tip |
ECLIPSE TIP - added on February 16, 2008
How to comment and uncomment lines quickly
Select the lines then press CTRL-/ to toggle "//" comments, very quick.
|
|
tip |
PHP TIP - added on February 20, 2008
Wanted to see what WordPress could do so I installed it locally in 10 minutes, as long as you know where your MySQL database is (and that you have one) and you know its login and password details etc. you can handle the installation, but this, I think is going to throw 80% of common computer users off the curve, in which case it is best to get a provider like a2hosting which takes care of the installation automatically online. Anyway, nice interface this WordPress, worth using.
![]()
|
|
tip |
HTML TIP - added on February 20, 2008
Title attribute gives nice mouse-over effect in anchor elements
Just type in e.g. title="less than $5 per month" in an anchor tag and you have a free mouse-over effect, didn't know about this attribute, works in Firefox and Internet Explorer.
![]()
|
|
tip |
ECLIPSE TIP - added on February 26, 2008
Azzurri: Free and Simple Database Modeler Plugin for Eclipse
If you need to do quick and simple modeling for a website project, use the Azzurri plugin for Eclipse. To read from a database you need a JDBC connection. You can generate the SQL. It doesn't seem to have a print ability. Plugin site is: http://www.azzurri.jp/eclipse/plugins/, choose only the core, install all, restart. Here is a workaround for a quirk: when you export to an SQL script, it exports to a .sql file, and if you don't give it the name of a new file, it will just show you the results from the old file, ignoring all of your settings. So: the sql export works, you just have to always give it a new file name to write to. Also, after it creates the SQL script, I do a search for "IDENTITY" and replace it with "AUTO_INCREMENT". Only use this one if you have to have it embedded in Eclipse, otherwise use DBDesigner4 instead, as it has a lot more features.
![]()
|
|
tip |
MYSQL TIP - added on February 26, 2008
DBDesigner4: Free Database Modeler for MySQL
Supports reverse engineering on a MySQL database so you can design your database first in MySQL and then import it. You can define various types of primary/foreign key links, graphics look professional, has a nice print ability that can print on many pages. What seems to work best is to name your primary and foreign keys the same, e.g. instead of "id" for the users table, call it "user_id" and then in the products table use "user_id" as the foreign key. You can export the SQL script to the clipboard which is nice. The database synchronization also works nice. Couldn't get it to include comments in the SQL output or when synchronizing. I couldn't get it to generate auto_increment either. So this tool is useful for making a nice looking initial diagram which can be exported then into the database with about 95% completeness, quite useful.
![]()
|
|
tip |
CSS TIP - added on February 26, 2008
This site can teach you many impressive and useful CSS skills, e.g. various kinds of corners (not just rounded), flash-like graphics with pop-up information, lots of layouts, opacity, dropdown menus, photo slideshow, all very professional looking. Nice also is that he puts his CSS in a style tag so if you are looking at something that you like, just do a CTRL-U to see the source and check it out, or copy it and experiment, etc.
![]()
|
|
tip |
ECLIPSE TIP - added on February 28, 2008
How to globally search files in one click
One issue I had with the new PDT Eclipse I installed was that everytime I pressed CTRL-H to globally search, it defaulted to the "PHP Search" instead of "File Search" and I always had to grab my mouse to change it UNTIL I discovered that you can click on the Customize button and click off the tabs you don't want leaving only the File Search which then is shown immediately.
![]()
|
|
tip |
ECLIPSE TIP - added on February 29, 2008
How to rename a file in Eclipse when you only need to change the case
I needed to change a file from "Files.php" to "files.php", Eclipse wouldn't let me do this (since the underlying operating system, Windows, treats files as case insensitive) so I did it in Windows Explorer and the refreshed Eclipse and it reflected the change, ok. But THEN, when I checked my files into SVN, it erroneously deleted my file locally and it took me while to get it back out of the respository, etc. To avoid all this, when you want to rename a file when you only need to change the case of the file name, do it inside Eclipse but just e.g. (1) rename "file.php" to "file99.php" and then rename that to "File.php" and everything will be alright.
|
|
tip |
DOTNET3 TIP - added on March 1, 2008
Heard about Acropolis so wanted to just see what kind of animal it is, looks like these features (parts, services, forms, connection points, shells) are going to be in the next version of .NET framework and WPF. Here are my notes as I watched the video: Ok, presenter has a nice Australian-type accent, set of components and tools to help you build client applications on the .NET framework, has visual studio orcas beta 1 with Acropolis CTP installed (you can still get this), there are various templates, wants to build a text editor so you choose document template, you can choose a theme, CTP 1 only has one theme, chooses single item or multiple item, we just want to edit a single item here for a document editor, you can plug others in later, so he starts the wizard, there is a modular approach, basic building blocks are "parts" one the user interface and one the business logic, creates a document part called "Notepad part", user interface component is called a "view", drags in a ComponentPropertyConnectionPoint and calls it "Notepad Text", interesting: there are mulitple values in an attribute like my "extras" concept in datapod, goal of acropolis is to make any code you need to write be business logic and not presentation logic, the base class has Onload() and OnSave(), uses a StreamReader in OnLoad() to read a text, OnSave() is similar, then you have a DocumentManager in XAML view, now needs the Notepad part into the application, drags the template into the application designer, simply has a file menu item, file open dialog. That's it, there are more videos which develop this further.
![]()
|
|
tip |
PHP TIP - added on March 5, 2008
Was looking for this for about 10 minutes today, here it is. Shows you how to build a string such as 'Monday 15th of August 2005 03:12:46 PM' from this: date('l dS \of F Y h:i:s A').
|
|
tip |
DOTNET3 TIP - added on March 8, 2008
Nice interface, sessions start immediately (DSL), good sound quality, lots on Silverlight, AJAX, WEB 2.0, etc.
![]()
|
|
tip |
GENERAL TIP - added on March 13, 2008
Joel Spolsky wrote a series of four articles on writing specs which I found solid and pragmatic, here are my notes:
- Three reason to write specs: #1 - you get the best design possible - you need a give-and-take with specs: write, show, write, show - "when you design your product in a human language, it only takes a few minutes to try thinking about several possibilities, revising, and improving your design" - "a programmer who's just spend 2 weeks writing some code is going to be quite attached to that code, no matter how wrong it is" #2 - saves time communicating - all concerned read it: developers, managers, QA people, marketing people, business people, technical writers - with no spec, all this communication still happens, but it happens ad hoc #3 - enables you to make a schedule - no spec, no schedule - writing a spec is a great way to nail down irritating design decisions up front - There are two different kinds of specifications, functional and technical: - functional specs: describes product from user's point of view: features, screens, menus, dialogs. - technical specs: internal implementation of the program: data structures, relational database models, which languages to use, tools, algorithms, etc. - Anatomy of a spec - Disclaimer: "This spec is not complete." - Author: don't write as a team, write as an individual, if someone has a question they know whom to come to - Scenarios: make them real as possible - Nongoals: what is your product NOT going to do - Overview: gives people the big picture, perhaps with simple flow chart - Details, details, details: what if email address is invalid? what if password is wrong? Someone has to decide what will be done in each case and the spec documents these decisions. - Open Issues: before programmers start work these should be ironed out - Side Notes: e.g. boxes labeled "Technical Notes" for programmers or "Marketing Notes" for marketing people - Specs Need to Stay Alive: update them as your develop your product and make new decisions, specs should always reflect the current state of your project - Who writes specs? - program managers - program managers: need to be technical but not good coders - program managers have the big picture of the company in mind, coders concentrate on getting their bits of code right - program managers study UI, meet customers, and write specs - program managers are the glue of software teams: they span from the "moron" customer to the recalcitrant coder, charisma is crucial - coders don't necessarily report to program managers, there needs to be room for coders to change and override the spec if necessary - How to make your specs more readable: - specs are only good if people READ them - provide big picture then fill in the details - avoid full pages of text: use frequent lists,, simple diagrams, flow charts, tables, screenshots - explain terms that may be unclear - write simply, short sentences - sprinkle in humor - reread and edit - DON'T use a template: it's not important that every spec look the same - a spec is a document that you want people to read, so write well, be interesting.
|
|
tip |
CSS TIP - added on March 21, 2008
TopStyle Lite is a free CSS editor which has not only code complete but also on the right side a style inspector which shows you the wide arrange of options you have. Many times I just try some out that I see and happen upon serendipitous discoveries of what CSS can do, for instance in this screenshot these roman numerals and graphic dots work in both IE7 and firefox.
![]()
|
|
tip |
CSS TIP - added on March 21, 2008
The color picker in the free TopStyle Lite gives you six harmonious and complementary colors for each color you pick, nice.
![]()
|
|
tip |
GIMP TIP - added on March 22, 2008
Use templates in Gimp
When opening a file in Gimp you can click on templates and e.g. "common web bannner". You can also "save as template" to save areas of a certain size.
|
|
tip |
GIMP TIP - added on March 22, 2008
Gimp file dialog has favorites
When in Gimp file dialog then click on folder and the button at lower-left "add" to add it to your favoriates, good for when you have a number of places where you keep pictures.
|
|
tip |
GIMP TIP - added on March 23, 2008
How to make cool ice-looking letters
Choose ink bottle, size 11, write then with smudge tool make the wind.
![]()
|
|
tip |
JAVAFX TIP - added on April 23, 2008
Was trying out some JavaFX this morning: with JavaFXPad you create a GUI with script and as you type, functional buttons appear at the top. Never seen anything like that. I know from ASP.NET that many times examples like this are really only useful for demos, we'll see where JavaFX goes from here, but for now I like the clarity of the script.
![]()
|
|
tip |
FLASH TIP - added on April 24, 2008
How to draw a dashed-line shape
- press P (pen)
- choose conture as dashed - don't drag-and-draw but just keep clicking your mouse in the shape you want. ![]()
|
|
tip |
JAVAFX TIP - added on April 25, 2008
JavaFX supports multiple inheritance
I always understood that multiple inheritance was a potentially unsafe thing avoided by real world languages and used more in languages such as SmallTalk which is more for educational purposes. Interfaces, I have always understood, were the pragmatic way to attain this functionality. All the more interesting that the super pragmatic, real world language JavaFX seems to have multiple inheritance and does not have interfaces.
![]()
|
|
tip |
DESIGN TIP - added on May 1, 2008
A little known secret about the human brain is that it is easier to learn two things at once (synapses instead of bits) which is why I am currently learning both French and Adobe with Video2Brain's Videos en francais. In any case, I often need to look up words so I tried a number of online dictionaries and even a Lexirom that I bought in Paris back in 1999, but for my test word "rendront" all of them searched their 70000+ entries and told me they "had no entry" for that word (!). The reason is that it is a conjugation of "rendre" but at the moment of looking it up, I am not aware of this, of course. All the more delighted I was then when I typed "rendront" into wordreference.com and was presented with two pages of useful information about the word. Wonderful. I can imagine this interface was made by people who actually look up foreign words when they read -- they know what they need.
![]()
|
|
tip |
ECLIPSE TIP - added on May 20, 2008
CTRL-ALT-Arrow makes a copy of the current line
Have been using ALT-(up/down) for awhile to move lines around, very nice. Just discovered that if you press CTRL-ALT-(up/down) it makes a copy of the line, nice for if/else statements etc.
|
|
tip |
FLEX TIP - added on June 10, 2008
Flex allows you to comment out attribute values
Flex Builder is full of surprises, here is another uncommon but useful feature: two slashes in front of an attribute value comments it out. ...addendum: any variable after the line with the double-slash will not be recognized in code complete = bug. oh well, 1 point for ingenuity.
![]()
|
|
tip |
ECLIPSE TIP - added on June 12, 2008
Code completion for PHP templates
When you make a PHP tempalte (like a macro) with Windows|Preferences|search for "templates"|PHP Templates, and you include $$${variable} in your template text, you will be presented with a dropdown of all available variables in the context where you call your template, nice.
![]()
|
|
tip |
FLEX TIP - added on June 13, 2008
Flex Builder 3 has a design mode for CSS style sheets
When you are in a CSS file in Flex Builder 3, you can click on the Design button and see your styles as they will appear. You can change them and the CSS code will change in the background, it gives a library/symbol feeling to CSS files, nice.
![]()
|
|
tip |
PHP TIP - added on June 19, 2008
EditPad Lite has been my text editor of choice for a long time since it is free and has an easy time-stamping feature (ALT-E-I) and you can set the time format. But it used to have a nasty habit of always writing a BOM to the beginning of UTF-8 files which PHP 5.2 can't deal with. I always had to go into jEdit and save the UTF-8Y file again as UTF-8. But just in March EditPad Lite came out with a new version that allows you edit UTF-8 files without the BOM characters at the beginning and and EditPadLite will *leave it this way*, very nice. This means that if I need to make a quick change to a PHP file, I don't have to fire up and wait the 15 long seconds for Eclipse to commence: I simply pop into EditPadLite and edit it without fear of adding a BOM (hmm, interesting that it sounds like "BOMB" since that is exactly what it does to your PHP file, nice). In any case, EditPad Lite is now an ideal free text editor to edit any kind of text file in any encoding and to convert to and fro between the various encodings (e.g. between Windows 1252, ISO-8859-1, and UTF-8). You have the option to simply change the encoding setting of a file but not translate the characters or you change the encoding setting of a file and translate the characters as well--just the tool you need when you find yourself in encoding hell.
![]()
|
|
tip |
GENERAL TIP - added on June 25, 2008
I've been recently downloading and listening to some great IT talks from the Conversation Network, talks by e.g. Rasmus Lerdorf founder of PHP, Mark Shuttleworth, founder of Ubuntu, even things that are on the edge of technology such as stuff going on in Biology and other sciences, really interesting talks by some key people in the industry, I've listened to about 5 and they've all been good. They have a nice format: you sign up to their RSS feed and just download the ones you want straight onto your MP3 stick and go. The free MP3s have a plug to sign up at the beginning and the end but you can download and listen to anything you want. After you download one, you get an email to review it the next day and in one click you can say how you liked it, which I assume gives good feedback so the best float to the top. If you have a lot of listen/wait time in your daily life, this is a great way to stay up on the latest in the IT space.
|
|
tip |
JAVASCRIPT TIP - added on July 3, 2008
If you are getting into AJAX and need a booster course on Javascript, this site has a nice concept/example format to get you up to speed fast without the make-the-background-color-blink examples you get on other sites. Note the "AJAX for N00bs" section as well.
|
|
tip |
FIREFOX TIP - added on July 6, 2008
I installed Firefox 3 today and instantly found the search-history-in-the-URL-bar to be indispensible. All the more to my horror did I realize that Firebug was no longer installed because it was not compatible with Firefox 3. Luckily there is a beta being built that IS compatible and it works just like the old one. The SQLite Manager and Web Developer bar still work in Firefox 3 and so with these three, no reason not to upgrade! Enjoy.
![]()
|
|
tip |
PERL TIP - added on September 12, 2008
Always put "my" in front of variables inside functions
In Perl, if you define a variable inside a function without the word "my" (e.g. @record = ...), then that variable is treated as a global variable (wow!). Hence, always define function variables thusly: "my @records = ...." inside a function so that they do not change values outside the function, e.g. if you have too recordsets and you use the same variable name "@records" to loop through them.
|
|
tip |
GENERAL TIP - added on September 15, 2008
Stackoverflow just launched publically today after being in beta for about two months. Last week I posted about 8 questions about vim and Perl and each question was answered by multiple people within 10 minutes. The site has a system of badges and reputation points you can earn for various things which turns people into hungry dogs waiting to answer your question first. You get to read the answers and mark them up and down based on their helpfulness and then select one that best answers your question. This site is truly unique, new, fresh, ajaxy in the right places, and very efficient, try it out.
![]()
|
|
tip |
PHP TIP - added on September 19, 2008
Tired of editing long lines extending out to the right in Eclipse? This plugin solves the problem, install as any plugin in Eclipse, restart, then right click and word wrap, simple as that.
|
|
tip |
ECLIPSE TIP - added on October 9, 2008
Create hotkey macros in Eclipse
I've been using Eclipse for a long time and just found out that you can create a hotkey to perform all kinds of mundane tasks, e.g. if you find yourself committing a file every minute or so to check minute changes, go to Preferences | General | Keys and set up a e.g. CTRL-ALT-SHIFT-C to commit your file, explore this for awhile and save some time in the long run.
![]()
|
|
tip |
WINDOWS TIP - added on October 13, 2008
I wanted to install Visual C# 2008 Express but knew I wanted to try out the Visual Basic and Visual Web Developer as well, so instead of doing three downloads from the web, I downloaded the .ISO file with all four of them on it, then downloaded the free Virtual Clone Drive which after you install it looks like you added a DVD drive to your system, right-click it and select Virtual CloneDrive and Mount, then navigate to and select the .iso file and it is as if you are loading from a DVD, nice, much smoother solution then one I was using back in 2002 -- it just works.
![]()
|


















































