Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
All and all not a bad day today. I started the morning off by reading some more about Spring Framework JDBC. Soon [[Fr. Called me|Aggrigating One Single Blog RSS Feeds to Multiple Social Networking Profiles]], my mother came home, and when I was done talking to Fr. about his web questions, I needed to eat lunch, so I made a peanut butter & jelly sandwich.
I watched a little bit more of the Wolf Man, while I ate my sandwich, got a little lost in the story a good bit. I can't believe the Werewolf's name was Larry. The actor who played the Werewolf was named Lon Chaney. Broski sent me that tape after the library got rid of it. I got to the part where Larry's father beat him with a silver cane, and then realized that it was almost time to go to an appointment I had scheduled.
!Fender Bender!
On my way to my appointment an old-dude and a high schooler had a fender-bender which me late for my appointment. I got out to make sure they were both okay and didn't need a witness. The old-dude had a really big car, like the one my grandfather sold for $50, and the young high schooler guy looked like a stoner wore a hoodie and and had a beard. Both of them were driving slowly when the fender bender happened. It held up my Blue Bull and the school bus behind me. I finally got to my appointment, after I asked them if it was okay for me to go.
!Entertainment
Then tonight we went to Lancaster to pickup my sister so we could go see [[The Nut Cracker, Sweet!|http://en.wikipedia.org/wiki/The_Nutcracker]] as performed by the local Mennonite high school. It was pretty cool, enjoyed it...thought it was over after The Nut Cracker took on the 7 headed mouse, but really it was just the 15 minute intermission...so when we got back they had people dancing again. And those ballerinas on their toes ouch! Oh and it wasn't just the high-school that put it on, the high school had help from some actual Ukrainian Ballerinas.
!Friendly's
After my family and I attended the ballad, we went to Friendly. I noticed that they were offering ''Fronions'' on the menu :-p that doesn't sound at all appetizing to me. My mother and sister couldn't make up their mind on what to have for desert. My father and I told them {{{"You best make up your mind or the waitress won't come back until one of yinz goes to the bathroom."}}} and my father and I promptly ordered...receiving our ice-cream 5 minutes later, at which time my mother and sister were still deciding. While we ate our ice cream in front of them they finally decided on the Frugle Fudge Sunday or something like that. The waitress didn't come back for quite some time, and then they ordered their Sundays after we were already done with ours.
!Delivering the Christmas Tree
Finally we took my sisters Christmas tree up to her apartment. It was in a cardboard box so old that it looked like a bunch of pieces of cardboard held together by a piece of string.
We also moved her bed so that it wouldn't face the cold outside wall. And we moved the really cheap bookshelf she inherited from me from when I was in college. The bookshelf almost collapsed (again) under the stresses of pushing it across the floor. Someday I think it will collapse as we bought it at Value City for $15 dollars when I was in college. I hope it doesn't just collapse while my sister is sleeping. I wouldn't like that.
So then we said good bye to my sister and we drove home. EOF.
[<img[http://farm3.static.flickr.com/2170/2116340024_c2baf6a92e_m.jpg]]''Added my resume in searchable-form to:''
*Dice.com
*Career Builder.com
*JobCircle.com
Went to [[http://www.ajb.org|www.ajb.org]], but wasn't too successful. Need to call them and ask for some sort of identification number...
[[Image on Flickr|http://www.flickr.com/photos/leeand00/2116340024/]]
It's cold today...there was a big ice storm.
!Applied for Jobs At
+++[dice.com]
*Applied for 3 Postions
===<br/>
+++[Phone Calls Recieved]
*Rite Aid - ''Applied''
*Adminstrative Office of PA Courts - ''Applied''
*Evolution Staffing
*__Fidelity__
//(Check your email)//
===
''Today''
*Saw alot of jobs on Dice today and so I perged all the old jobs I haven't applied for yet out of the database. Also hotmail is not working today so I'm waiting for it to come back up, and when it does I'll send alot of resumes out.
*[[Mother had me look up washers and dryers today to figure out if a top-loader or a front-loader washing machine was better|Washing Machine Ordeal]]
!College Job Search (Gathering)
I've decided to start looking for a job at a college. I started off this-morning looking at CMU, which had about 3 potential jobs listed.
Next I headed out to http://maps.google.com/ zoomed in over PA, and typed in {{{college or university}}}.
''There appear to a whole bunch of colleges''
Found out you can execute Groovy Scripts inside of the beta version of freemind...oh I'm gonna use this!
''TekSystems''
Replied to an email from TekSystems from a Mr. Anju Bhalla.
*[[Setup a profile at CyberCoders.com|Sites with My Resume]]
*[[New Job Search Tip|Job Search Tips]] - [[Filling in Those Pesky Text Only Fields with Tables]]
*[[Getting Some Comments On This Blog]]
*[[Recieved an Email from Object CTalk|Questions Answered for Object CTalk]]
*[[Got Mail Merge to Work in OOo]]
*[[Tested Myself on the Module 1 SL Quiz|Test: SL Ivory Tower Library of Prims Module 1]]
*[[Entered the Table of Contents into the Marriage Wiki|Marriage Wiki]]
+++[+Applied to Susquehanna.net]
Okay that's all nice and done with...that only took the whole morning! hahah! Oh well..hopefully they'll pick me up, it sounded like a fun job that I would enjoy.
===
+++[+Called back Sabba]
Sabba said that not riding on an air plane would not be a problem and that they are still considering me for the position, but that the hiring manager still needs to get well.
===
+++[+Received reply from resolutionsconsulting]
#Called J.Y. to confirm date was okay.
#Emailed back resolutionsconsulting to let them know that the date would be fine.
===
+++[+The Matlen Silver Group]
The Matlen Silver Group called me about a build engineer position, and I "email-faxed" them a consent forum for submitting my resume to GSI Commerce.
===
*[[The Death Of A Coffee Substitute]]
Well not much on the job front today.
But tommarrow I need to warm my eyes up in the morning, before I start, that should get me going!
*[[Started Setting up my .NET Development Environment|Setting up .NET]]
*[[Getting Some Comments On This Blog]] <- Finished that up so now you can post some comments!
*[[Recieved Reply From JavaRanchSaloon]] (About the transfer of setting from one project to another.)
*Received a call from Human Capital, stating that they will probably have some opportunities in the coming months.
*Found a cool site where you can discuss things with other people who are in IT.
**[[http://www.ittoolbox.com]]
*Received a tip from a message board, and needed to update it on my resume, so I started re-posting it online (so far I've got):
**Jobster.com
''Things I studied Today''
*[[How to Avoid Burnout|Avoiding Burn Out - 3 December 2007]]
''Attended''
*[[Marriage Class]]
*Applied to two jobs today
**Entry Level Web Developer at D&H Distributing
**Web Developer at Lancaster Newspaper Inc.
*Sent out 3 Thank you Notes!
''Applied for five jobs''
Today I received an email from Vanguard:
+++[Recieved the following email:]
{{{Good afternoon,
I am a Recruiter with Vanguard and I recently received your resume in
consideration of our Technology Leadership Program. For further
information about the program, please use the following link to view the
job description:
https://careers.vanguard.com/pljb/vanguard/vgcareers/applicant/VG/students_it.shtml
Only U.S. citizens and lawful permanent residents will be considered for
this program. Also, a cumulative GPA of 3.0 or higher is preferred. The
program is open to graduating seniors and professionals with 0-2 years of
work experience. If you meet these requirements and are interested in the
program and employment with Vanguard (located in Valley Forge, PA), please
take the following steps to schedule a phone interview with one of my
colleagues:
1. Log on to vanguardcareers.com and create a profile.
2. Respond back to me with your availability for the next few weeks so
that we may schedule some time to speak further about your interests.
I look forward to hearing back from you and discussing the exciting
opportunities waiting for you at Vanguard.
Best regards,
Tracy Schatzel
Recruiter
Vanguard
Phone: (610) 503-5485
Email: Tracy_Schatzel@Vanguard.com
}}}
===
I really need to get on this tomorrow, and give them a call as I already have a profile on their website.
*[[Sent my application out to Penn State]]
*''.NET Course (And be sure to post Gov's phone #)''
**''TODO:'' See if anyone on Craigs List wants to take the .NET course at RACC
**''TODO:'' See if anyone on Facebook's Reading network wants to take the .NET course this summer.
Hanging out at Crave today...
*Sent a resume to
+++[Calling...]
#Jan 7th - Mike Roberts - Corprate Staffing Services - 610-771-1084
===
#Jan 7th - Java Developer - 1 Year contract -
#Java Developer 570-894-3630 ????
+++[Called...she's calling me back]
#Jan 7th - Lauren Spary IT Staffing Firm in Philly - 215-209-0100
===<br/>
+++[Called...]
#Jan 7th - Randy McKay - Pyramid Consulting 724-934-0158
Stated something about jobs in Pittsburgh (with Fedex Ground) , and in Camp Hill.
===<br/>
+++[Called...]
#Bill Blake Sabba Software - Technical Consultant - 781-994-1066
''eLearning'' - 50% Travel...
Middleware - Platform looks up at our application and
===
Experts at this company enjoy working with a wealth of new technologies, software, methods and tools to turn business strategies into results
!A Problem
Since I started attending the blogosphere, I've never set on using a single place for all of my blog entries. Copying and pasting the entries everywhere becomes very tedious and time consuming, making sure that every entry is on every page...it was becoming more trouble than it was actually worth.
So today I was speaking with [[a priest|http://www.facebook.com/profile.php?id=502920863]] from my Church, who seemed to have a similar problem. Fr. wants to reach the kids using a Youth Group website for our Church. Unfortunately all the kids now days hangout on multiple social networking sites, ([[MySpace|http://www.myspace.com]], [[Facebook|http://www.facebook.com]]). All of these sites have a common place for the youth to meet, which are usually referred to as ''groups''. Unfortunately to keep all of these groups up to date, you have to go into each social networking sites and update their groups one at a time. A time consuming operation to say the least.
So both of us have a similar problem...
!A Solution to Both Problems
Well the intelligent folks on the web have already come up with a solution to this problem...enter [[RSS Feeds|RSS Feed]].
<<tiddler "RSS Feed">>
Now what this all means is that if you are posting content on your blog, you only have to enter that content once, because the RSS Aggregators on each of the sites you want to display the content on pick up your changes and display them.
Background: #ddff88
Foreground: #000
PrimaryPale: #bbee66
PrimaryLight: #aa0033
PrimaryMid: #440000
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #99cc00
SecondaryMid: #db4
SecondaryDark: #440000
TertiaryPale: #bbee66
TertiaryLight: #EEC591
TertiaryMid: #440044
TertiaryDark: #000
''Fact:''
>There are only {{{2080}}} working hours in a year.
Believe it or not, using all of these hours, __only for work__ or trying to add to these hours can actually hinder your productivity, and worse yet land you in therapy!
A really neat opensource program that can take care of this problem is called [[Workrave|http://www.workrave.org/]]. [[Workrave|http://www.workrave.com/]] runs on Windows and Linux (and I'm guessing MacOSX....).
<<slider "12/3/2007 3:16 PM" "Workrave Introduction" "+Introduction">>
<<slider "12/3/2007 3:14 PM" "WorkRave - Recommended Settings" "+Setting up Workrave to Fit Your Needs">>
*The less shiny the better.
*Around 48"
*Check Walmart
*''greenest green'' or ''bluest blue'' you can find will work fairly well.
*Try Rayon fabric
Background: #bbbbff
Foreground: #000
PrimaryPale: #99aacc
PrimaryLight: #006699
PrimaryMid: #002244
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #002244
TertiaryPale: #99aacc
TertiaryLight: #aaaaff
TertiaryMid: #000
TertiaryDark: #8B7355
!By Dave Gifford
Background: #FFFFFF
Foreground: #000
PrimaryPale: #FF8C69
PrimaryLight: #FF8C69
PrimaryMid: #8B4C39
PrimaryDark: #410
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #FFD39B
TertiaryLight: #EEC591
TertiaryMid: #CDAA7D
TertiaryDark: #8B7355
Use these buttons to select different editing processors or mouse functions.
+++[Upper button bar]
The upper button bar can be found in the monitor to the top lieft. It has the following functions:
''New Movie''
Opens a new movie.
''Load Movie''
Loads a previously saved movie.
''Save Movie''
Saves current movie.
''Create a backup copy''
Creates a backup copy of the current movie with all relevant media files.
''1-Click''
Opens the Movie Show Maker.
''MAGIX Song Maker''
Opens MAGIX Song Maker
''MAGIX Story Maker''
Opens MAGIX Story maker.
''Mixer''
Opens the mixer.
''Program Settings''
Opens program settings.
''Context Help''
Opens the context help for explanations for specic areas of the program.
===<br/>
+++[Lower Button Bar]
The following buttons are available in all modes (Storyboard and timeline modes):
''Undo''
All changes, including objects and cursor manipulations can be undone.
''Redo''
The "Redo" function undoes the previous "Undo" function.
''Delete''
This function deletes all selected objects or scenes from the arrangment.
''Cut selected objects''
Copies all selected objects to the clipboard.
''Copy Objects''
Makes a copy of all selected objects. The copies appear alongside the original and can be dragged to the correct position using the mouse.
''Insert Clipboard''
This button inserts the contents of the clipboard at the position of the start marker. The next scenes get moved back.
''Copy''
This button copies the selected scene into the clipboard. From here it can be moved to a different poistiion in the film or into a different film altogether.
''Duplicate objects''
Duplicates all selected objects. The copies appear alongside the original and can be dragged to the correct position using the mouse.
===<br/>
+++[Additonal Buttons in the Timeline Mode]
The following buttons are only available in the Timeline mode:
''Video Cleaning''
Opens the video optimization dialog for selected video and picture objects.
''Title Editor''
Opens the Title Editor.
''Form Group''
Orders all selected objects into groups. As soon as an object is selected in the group, all objects in the group become highlighted so that you can work on them collectively.
''Ungroup''
Turns all selected objects into free-standing objects again.
''Object grid''
Use this button to switch the object grid on and off. When the object grid is switched on, the objects snap into place beside one another so that everything fits in seamlessly.
''Set chapter markers''
Sets a chapter marker to the position of hte start marker. Read more in the [[Burn Interface]].
''Set automatic chapter markers''
Opens the dialog to automatically set chapters. Please also read the section [[Automatically setting chapter markers|Scene Recognition]] in the [[Edit Menu Chapter]]
''Mouse mode for individual objects''
This mouse mode functions much like the "Intelligent mouse mode", except that when moving objects, only the selected objects are moved.
''Curve Mouse Mode''
This mouse mode is used for drawing the volume and effect curves. The last-editied curve effect is displayed on the object as a red curve. You can freely draw this type of curve using the curve mouse mode.
''Strech Mouse Mode''
This special mode is for customizing the length of objects. With timestretching, audio objects can be expanded or compressed using the handles at the bottom. The duration of the audio material is therefore lengthened without changing the pitch. Playback of the video object is accelerated/decelerated with the help of the handles at the bottom.
''Preview Audio''
In this mode you can preview audio objects as long as the mouse button is held down, along with the whole length and independent of the start and end markers in the timeline. Other object types are protected against inadvertent moving.
''Scrub mouse mode''
This mode is especially suiited to searching for specific parts of a video. By holding down the mouse buytton, the arrangement can be viewed at the point where the cursor is positioned. The play back cursor follows the movements of the mouse.
''Intelligent mouse mode''
Select objects with a left-click. When the Shift key is pressed, multiple objects are selected.
You can move an object by holding down the mouse over it while dragging it to the desired position. All objects that border the object on the same or on adjacent tracks are also moved, staring from the mouse position. This means that every object that overlap adjacent tracs (fades, fade effects) and those that directly connect from one to the next ([[Hard Cuts]]) are pushed together (The technical term for it is "Ripple until black"). This is useful for keeping previously specified fades intact when you wish to move involved objects. To move individual objects, switch to the mouse mode for individual objects (see bellow). You can also drag an object vertically onto a free track thereby breaking the connection with the following objects. You will then be able to move it freely without having to move other objects with it.
===<br/>
Posting #: 4174
Job Title: Software Developer
Division: SEI
Department: SEI-CERT
Job Grade: N/A
Hiring Range Min: Negotiable
Hiring Range Max: Negotiable
Job Classification Code: 4513
FT/PT Status: Regular Full Time
Location: 5000 Forbes Avenue Pittsburgh, Pennsylvania 15213-3890 United States
Additional Posting Information:
Job Description:
Summary
The CERT ProgramĀ® is part of the Software Engineering Institute (SEI), a federally funded research and development center at Carnegie Mellon University in Pittsburgh, Pennsylvania. CERT engages in cutting-edge research and development, and provides robust training and education programs focused on ensuring that software developers, Internet security experts, network and system administrators, and others are able to resist, recognize, and recover from attacks on networked systems. The Development team within the CERT Coordination Center (CERT/CC) provides technical capability to the development of tools and software systems amplifying the CERT/CC's operational capabilities. The primary roles of the Development team include: software development, software design, integration and testing of software systems, requirements analysis and specification synthesis, packaging and deployment assistance of software systems. The successful candidate will serve as a self-motivated, strong contributor in the design, development, and deployment of a variety of enterprise-level systems that support the CERT/CC's core business activities. The individual in this position will be responsible for a combination of in-house development and integration of 3rd-party (including open-source) systems.
''Minimum Requirements''
*BS in Computer Science, Computer Engineering or equivalent plus three years experience developing software systems;
*Candidates should have at least 2 years of experience in developing enterprise applications
*within a small team and will be able to demonstrate experience in full life-cycle development from:
**conceptual design
**to deployment,
**systems integration,
**the creation of mission-critical information storage
**and retrieval systems
***(e.g., CRM, financial, or publishing systems),
*use of source code control,
*configuration management,
*problem tracking tools;
*successful candidates will apply sound software engineering practices to system design and development
**(e.g.,
***systematic approach to system specification,
***architecture,
***design,
***development and documentation of code,
***configuration management,
***inspections and testing,
***packaging and deployment
*be expert in Java/JEE at an enterprise level,
*have significant experience Perl or other dynamic languages,
*possess excellent technical problem-solving skills,
**develop,
**document,
**explain technical decisions,
*be strongly self-motivated to tackle challenging problems,
*learn quickly and have a history of producing creative and innovative solutions,
*prioritize work effectively,
*interact effectively with technical and non-technical audiences via both written and verbal communications,
*collaborate and work effectively within a closely coordinated team environment,
*maintain composure while dealing with difficult people,
*recognize and deal appropriately with confidential and sensitive information,
*handle shifting priorities,
*meet inflexible deadlines,
*possess mentoring/training skills;
*primarily sedentary in an office setting with some mobility.
*Ability to travel to various locations within the SEI and CMU community,
**customer sites,
**conferences,
**and offsite meetings with some frequency;
**normal office conditions; however, close contact with computer for prolonged periods of time; *the ability to work well under pressure of deadlines and with confidential information;
*candidate must pass a background investigation,
*be eligible to obtain a United States DoD Secret Clearance, and be a U.S. citizen;
''Preferred Requirements''
*Master of Science in Computer Science,
*Computer Engineering or equivalent plus one year experience developing software systems; or PhD; ideal candidates will have experience with a significant number of the following: experience with build technologies such as
*Ant/make,
*scripting languages in general,
*interested in researching,
*learning,
*evaluating and reporting on various new technologies or implementations, developing web services and related technologies (e.g., XML, WSDL, SOAP, REST, XSLT) , applications using RPC mechanisms (e.g., XML-RPC); messaging (e.g., JMS), creating web-based applications and services in security-sensitive environments (e.g., familiarity with x.509 certificates, PKI, encryption, defense-in-depth concepts), leading small team development efforts, serving as a database (DBA) or system administrator, packaging and deploying server-side applications on Linux and/or UNIX systems (e.g., RPM, WAR, EAR), developing content management systems and related technologies (e.g., Alfresco, Bricolage), developing web-based user interfaces (e.g., XHTML, CSS, JavaScript, AJAX).
Background: #bbbbff
Foreground: #000
PrimaryPale: #99aacc
PrimaryLight: #006699
PrimaryMid: #002244
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #002244
TertiaryPale: #99aacc
TertiaryLight: #aaaaff
TertiaryMid: #000
TertiaryDark: #8B7355
[img[http://i9.photobucket.com/albums/a58/Maskkkk/Leave.png]]
<<gradient vert #cecece #ffa500 #ffffff>>Set Limits!>>
If you're anything like me you get ''really'' involved in your projects at work. Staying longer than necessary, and forgetting to leave long after ''5:00 PM''!
I can tell you from //personal//, ''painful'', experience that doing this too often (''I.E. everyday...'') is dangerous to your ''health'' as well as your ''career''!
>>If your boss makes a stink about this, by all means @@color(red):__GET A NEW JOB!__@@.
>>>You won't be there long anyway. Five months at most of this type of behavior and you'll be having health problems.
>So if you find the cleaning lady at your office dismissing you for the day, everyday...this timer in [[Workrave|http://www.workrave.org]] will be really helpful.
[[8 May 2008 - leer]] [[The Death Of A Coffee Substitute]] [[23 February 2008]][[22 February 2008]] [[9 February 2008 - aleer]] [[6 February 2008]]
Discovered that using a [[certain perl module|http://search.cpan.org/~lunatic/Text-ASCIITable-0.18/lib/Text/ASCIITable.pm]] I can create plain-text tables for those pesky job applications that only allow you to use text.
{{{
.=-----------=.
| info | info |
|-===========-|
| info | info |
|=-----+-----=| <-- between each row
| info | info |
'=-----------='
}}}
I looked today to see if there was a way to get a commenting system in place on this blog. I checked the [[TiddlySpot FAQ|http://faq.tiddlyspot.com/]] and it said that if I use a service called [[Haloscan|http://www.haloscan.com/]] combined with a [[macro for haloscan|http://end.com/~speth/HaloscanMacro.html]], I can actually have users comment on my blog entries.
However, it appears that their service is currently down. I'll have to try this another day. Feedback in this blog would really be great! I can't wait to try it!
I'm at the womelsdorf library and I'm using a monitor that isn't hard on the eyes at all it's called a [[ViewSonic VA912b|http://www.viewsonic.com/products/desktopdisplays/lcddisplays/valueseries/va912b/]]
(I was running it at 1024x768)
And here's the bit that makes all the difference:
''Panel Surface:'' Anti-glare
>It just so happens you can write groovy scripts that can be evaluated inside of Freemind beta. Sweet! Here we go...strait from the [[freemind wiki|http://freemind.sourceforge.net/wiki/index.php/FreeMind_0.9.0:_The_New_Features#Scripting_via_Groovy]]:
{{{
def log = c.getFrame().getLogger(this.getClass().getName());
log.info("groovy script start!");
log.info("node.isLeaf(): " + node.isLeaf());
log.info("node.getChildCount(): " + node.getChildCount());
log.info("node.getClass().getName(): " + node.getClass().getName());
}}}
Yields the following results:
{{{
note.isLeaf(): false
node.getChildCount(): 3
node.getClass().getName(): freemind.modes.mindmapmode.MindMapNodeModel
}}}
!Scripting via Groovy
Groovy scripts may be attached to individual nodes in that map.
When the "evaluate" is selected via the menu or keypress ''(Alt-F8)'', all nodes in the map are searched (depth-first) for one or more attributes named {{{script}}}. If such an attribute is found, the value of the attached attribute is passed to the Groovy engine to execute.
Only nodes are evaluated, which attribute keys start with {{{script}}}. However there is noting preventing a script on one node from acting on other nodes via normal operations (e.g. {{{node.getChildren()}}} or similar) as far as I can tell from the code.
!Assignment vs. Operation
If the value of the script attribute starts with the equals sign {{{"="}}}, the the node text will be replaced by the RESULT of the script evaluation. Be careful not to overwrite your nodes! See the example for using the {{{"node.getText()"}}} in an assignment script.
If the value of the script attribute does not begin with the equals sign, then the script will run and may affect the map, but the expression result is not assigned to the node text.
/***
|Name|HaloscanMacro|
|Created by|JimSpeth|
|Location|http://end.com/~speth/HaloscanMacro.html|
|Version|1.1.0|
|Requires|~TW2.x|
!Description
Comment and trackback support for TiddlyWiki (via Haloscan).
!History
* 16-Feb-06, version 1.1.0, drastic changes, now uses settings from haloscan account config
* 31-Jan-06, version 1.0.1, fixed display of counts for default tiddlers
* 30-Jan-06, version 1.0, initial release
!Examples
|!Source|!Output|h
|{{{<<haloscan comments>>}}}|<<haloscan comments>>|
|{{{<<haloscan trackbacks>>}}}|<<haloscan trackbacks>>|
!Installation
Register for a [[Haloscan|http://www.haloscan.com]] account. It's free and painless.
Install the HaloscanMacro in a new tiddler with a tag of systemConfig (save and reload to activate).
In the macro configuration code (below), change //YourName// to your Haloscan account name.
Use the macro somewhere in a tiddler (see ViewTemplate for an example).
!Settings
You can adjust various options for your account in the member configuration area of Haloscan's web site. The macro will use these settings when formatting the links.
!Code
***/
//{{{
/* change "YourName" to your Haloscan account name */
config.macros.haloscan = {account: "leeand00", baseURL: "http://www.haloscan.com/load/"};
var haloscanLoaded = 0;
config.macros.haloscan.load = function ()
{
if (haloscanLoaded == 1)
return;
account = config.macros.haloscan.account;
if (!account || (account == "YourName"))
account = store.getTiddlerText("SiteTitle");
var el = document.createElement('script');
el.language = 'JavaScript';
el.type = 'text/javascript';
el.src = config.macros.haloscan.baseURL + account;
document.documentElement.childNodes[0].appendChild(el);
haloscanLoaded = 1;
}
config.macros.haloscan.load();
/* this totally clobbers document.write, i hope that's ok */
var safeWrite = function(s)
{
document.written = s;
return s;
};
document.write = safeWrite;
config.macros.haloscan.refreshDefaultTiddlers = function ()
{
var start = store.getTiddlerText("DefaultTiddlers");
if (start)
{
var titles = start.readBracketedList();
for (var t=titles.length-1; t>=0; t--)
story.refreshTiddler(titles[t], DEFAULT_VIEW_TEMPLATE, 1);
}
}
var haloscanRefreshed = 0;
config.macros.haloscan.handler = function (place, macroName, params, wikifier, paramString, tiddler)
{
if (typeof HaloScan == 'undefined')
{
if (haloscanRefreshed == 0)
{
setTimeout("config.macros.haloscan.refreshDefaultTiddlers()", 1);
haloscanRefreshed = 1;
}
return;
}
var id = story.findContainingTiddler(place).id.substr(7);
var hs_search = new RegExp('\\W','gi');
id = id.replace(hs_search,"_");
account = config.macros.haloscan.account;
if (!account || (account == "YourName"))
account = store.getTiddlerText("SiteTitle");
var haloscanError = function (msg)
{
createTiddlyError(place, config.messages.macroError.format(["HaloscanMacro"]), config.messages.macroErrorDetails.format(["HaloscanMacro", msg]));
}
if (params.length == 1)
{
if (params[0] == "comments")
{
postCount(id);
commentsLabel = document.written;
commentsPrompt = "Comments on this tiddler";
var commentsHandler = function(e) { HaloScan(id); return false; };
var commentsButton = createTiddlyButton(place, commentsLabel, commentsPrompt, commentsHandler);
}
else if (params[0] == "trackbacks")
{
postCountTB(id);
trackbacksLabel = document.written;
trackbacksPrompt = "Trackbacks for this tiddler";
var trackbacksHandler = function(e) { HaloScanTB(id); return false; };
var trackbackButton = createTiddlyButton(place, trackbacksLabel, trackbacksPrompt, trackbacksHandler);
}
else
haloscanError("unknown parameter: " + params[0]);
}
else if (params.length == 0)
haloscanError("missing parameter");
else
haloscanError("bad parameter count");
}
//}}}
[[article link|http://hotjobs.yahoo.com/resume/Five_Common_Cover_Letter_Mistakes__2003228-1318.html?subtopic=Cover+Letters]]
#Read the document out loud.
**You may catch spelling errors you may have missed //({{{jog}}} instead of {{{job}}})//
#Only after you have double checked your cover letter should you attach it and send it off.
#Make sure you've added exactly which job you are applying for.
#Research the Company
#Make sure you don't repeat yourself.
/***
|''Name:''|IntelliTaggerPlugin|
|''Version:''|1.0.2 (2007-07-25)|
|''Type:''|plugin|
|''Source:''|http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IntelliTaggerPlugin Documentation]]|
|''~SourceCode:''|[[IntelliTaggerPlugin SourceCode]]|
|''Licence:''|[[BSD open source license (abego Software)]]|
|''~CoreVersion:''|2.0.8|
|''Browser:''|Firefox 1.5.0.2 or better|
***/
/***
!Version History
* 1.0.2 (2007-07-25):
** Feature: "Return" key may be used to accept first tag suggestion (beside "Alt-1")
** Bugfix: Keyboard shortcuts (Alt+3 etc.) shifted
* 1.0.1 (2007-05-18): Improvement: Speedup when using TiddlyWikis with many tags
* 1.0.0 (2006-04-26): Initial release
***/
// /%
if(!version.extensions.IntelliTaggerPlugin){if(!window.abego){window.abego={};}if(!abego.internal){abego.internal={};}abego.alertAndThrow=function(s){alert(s);throw s;};if(version.major<2){abego.alertAndThrow("Use TiddlyWiki 2.0.8 or better to run the IntelliTagger Plugin.");}version.extensions.IntelliTaggerPlugin={major:1,minor:0,revision:2,date:new Date(2007,6,25),type:"plugin",source:"http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin",documentation:"[[IntelliTaggerPlugin Documentation]]",sourcecode:"[[IntelliTaggerPlugin SourceCode]]",author:"Udo Borkowski (ub [at] abego-software [dot] de)",licence:"[[BSD open source license (abego Software)]]",tiddlywiki:"Version 2.0.8 or better",browser:"Firefox 1.5.0.2 or better"};abego.createEllipsis=function(_2){var e=createTiddlyElement(_2,"span");e.innerHTML="…";};abego.isPopupOpen=function(_4){return _4&&_4.parentNode==document.body;};abego.openAsPopup=function(_5){if(_5.parentNode!=document.body){document.body.appendChild(_5);}};abego.closePopup=function(_6){if(abego.isPopupOpen(_6)){document.body.removeChild(_6);}};abego.getWindowRect=function(){return {left:findScrollX(),top:findScrollY(),height:findWindowHeight(),width:findWindowWidth()};};abego.moveElement=function(_7,_8,_9){_7.style.left=_8+"px";_7.style.top=_9+"px";};abego.centerOnWindow=function(_a){if(_a.style.position!="absolute"){throw "abego.centerOnWindow: element must have absolute position";}var _b=abego.getWindowRect();abego.moveElement(_a,_b.left+(_b.width-_a.offsetWidth)/2,_b.top+(_b.height-_a.offsetHeight)/2);};abego.isDescendantOrSelf=function(_c,e){while(e){if(_c==e){return true;}e=e.parentNode;}return false;};abego.toSet=function(_e){var _f={};for(var i=0;i<_e.length;i++){_f[_e[i]]=true;}return _f;};abego.filterStrings=function(_11,_12,_13){var _14=[];for(var i=0;i<_11.length&&(_13===undefined||_14.length<_13);i++){var s=_11[i];if(s.match(_12)){_14.push(s);}}return _14;};abego.arraysAreEqual=function(a,b){if(!a){return !b;}if(!b){return false;}var n=a.length;if(n!=b.length){return false;}for(var i=0;i<n;i++){if(a[i]!=b[i]){return false;}}return true;};abego.moveBelowAndClip=function(_1b,_1c){if(!_1c){return;}var _1d=findPosX(_1c);var _1e=findPosY(_1c);var _1f=_1c.offsetHeight;var _20=_1d;var _21=_1e+_1f;var _22=findWindowWidth();if(_22<_1b.offsetWidth){_1b.style.width=(_22-100)+"px";}var _23=_1b.offsetWidth;if(_20+_23>_22){_20=_22-_23-30;}if(_20<0){_20=0;}_1b.style.left=_20+"px";_1b.style.top=_21+"px";_1b.style.display="block";};abego.compareStrings=function(a,b){return (a==b)?0:(a<b)?-1:1;};abego.sortIgnoreCase=function(arr){var _27=[];var n=arr.length;for(var i=0;i<n;i++){var s=arr[i];_27.push([s.toString().toLowerCase(),s]);}_27.sort(function(a,b){return (a[0]==b[0])?0:(a[0]<b[0])?-1:1;});for(i=0;i<n;i++){arr[i]=_27[i][1];}};abego.getTiddlerField=function(_2d,_2e,_2f){var _30=document.getElementById(_2d.idPrefix+_2e);var e=null;if(_30!=null){var _32=_30.getElementsByTagName("*");for(var t=0;t<_32.length;t++){var c=_32[t];if(c.tagName.toLowerCase()=="input"||c.tagName.toLowerCase()=="textarea"){if(!e){e=c;}if(c.getAttribute("edit")==_2f){e=c;}}}}return e;};abego.setRange=function(_35,_36,end){if(_35.setSelectionRange){_35.setSelectionRange(_36,end);var max=0+_35.scrollHeight;var len=_35.textLength;var top=max*_36/len,bot=max*end/len;_35.scrollTop=Math.min(top,(bot+top-_35.clientHeight)/2);}else{if(_35.createTextRange!=undefined){var _3b=_35.createTextRange();_3b.collapse();_3b.moveEnd("character",end);_3b.moveStart("character",_36);_3b.select();}else{_35.select();}}};abego.internal.TagManager=function(){var _3c=null;var _3d=function(){if(_3c){return;}_3c={};store.forEachTiddler(function(_3e,_3f){for(var i=0;i<_3f.tags.length;i++){var tag=_3f.tags[i];var _42=_3c[tag];if(!_42){_42=_3c[tag]={count:0,tiddlers:{}};}_42.tiddlers[_3f.title]=true;_42.count+=1;}});};var _43=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(_44,_45,_46,_47,_48,_49){var _4a=this.fetchTiddler(_44);var _4b=_4a?_4a.tags:[];var _4c=(typeof _49=="string")?_49.readBracketedList():_49;_43.apply(this,arguments);if(!abego.arraysAreEqual(_4b,_4c)){abego.internal.getTagManager().reset();}};var _4d=TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler=function(_4e){var _4f=this.fetchTiddler(_4e);var _50=_4f&&_4f.tags.length>0;_4d.apply(this,arguments);if(_50){abego.internal.getTagManager().reset();}};this.reset=function(){_3c=null;};this.getTiddlersWithTag=function(tag){_3d();var _52=_3c[tag];return _52?_52.tiddlers:null;};this.getAllTags=function(_53){_3d();var _54=[];for(var i in _3c){_54.push(i);}for(i=0;_53&&i<_53.length;i++){_54.pushUnique(_53[i],true);}abego.sortIgnoreCase(_54);return _54;};this.getTagInfos=function(){_3d();var _56=[];for(var _57 in _3c){_56.push([_57,_3c[_57]]);}return _56;};var _58=function(a,b){var a1=a[1];var b1=b[1];var d=b[1].count-a[1].count;return d!=0?d:abego.compareStrings(a[0].toLowerCase(),b[0].toLowerCase());};this.getSortedTagInfos=function(){_3d();var _5e=this.getTagInfos();_5e.sort(_58);return _5e;};this.getPartnerRankedTags=function(_5f){var _60={};for(var i=0;i<_5f.length;i++){var _62=this.getTiddlersWithTag(_5f[i]);for(var _63 in _62){var _64=store.getTiddler(_63);if(!(_64 instanceof Tiddler)){continue;}for(var j=0;j<_64.tags.length;j++){var tag=_64.tags[j];var c=_60[tag];_60[tag]=c?c+1:1;}}}var _68=abego.toSet(_5f);var _69=[];for(var n in _60){if(!_68[n]){_69.push(n);}}_69.sort(function(a,b){var d=_60[b]-_60[a];return d!=0?d:abego.compareStrings(a.toLowerCase(),b.toLowerCase());});return _69;};};abego.internal.getTagManager=function(){if(!abego.internal.gTagManager){abego.internal.gTagManager=new abego.internal.TagManager();}return abego.internal.gTagManager;};(function(){var _6e=2;var _6f=1;var _70=30;var _71;var _72;var _73;var _74;var _75;var _76;if(!abego.IntelliTagger){abego.IntelliTagger={};}var _77=function(){return _72;};var _78=function(tag){return _75[tag];};var _7a=function(s){var i=s.lastIndexOf(" ");return (i>=0)?s.substr(0,i):"";};var _7d=function(_7e){var s=_7e.value;var len=s.length;return (len>0&&s[len-1]!=" ");};var _81=function(_82){var s=_82.value;var len=s.length;if(len>0&&s[len-1]!=" "){_82.value+=" ";}};var _85=function(tag,_87,_88){if(_7d(_87)){_87.value=_7a(_87.value);}story.setTiddlerTag(_88.title,tag,0);_81(_87);abego.IntelliTagger.assistTagging(_87,_88);};var _89=function(n){if(_76&&_76.length>n){return _76[n];}return (_74&&_74.length>n)?_74[n]:null;};var _8b=function(n,_8d,_8e){var _8f=_89(n);if(_8f){_85(_8f,_8d,_8e);}};var _90=function(_91){var pos=_91.value.lastIndexOf(" ");var _93=(pos>=0)?_91.value.substr(++pos,_91.value.length):_91.value;return new RegExp(_93.escapeRegExp(),"i");};var _94=function(_95,_96){var _97=0;for(var i=0;i<_95.length;i++){if(_96[_95[i]]){_97++;}}return _97;};var _99=function(_9a,_9b,_9c){var _9d=1;var c=_9a[_9b];for(var i=_9b+1;i<_9a.length;i++){if(_9a[i][1].count==c){if(_9a[i][0].match(_9c)){_9d++;}}else{break;}}return _9d;};var _a0=function(_a1,_a2){var _a3=abego.internal.getTagManager().getSortedTagInfos();var _a4=[];var _a5=0;for(var i=0;i<_a3.length;i++){var c=_a3[i][1].count;if(c!=_a5){if(_a2&&(_a4.length+_99(_a3,i,_a1)>_a2)){break;}_a5=c;}if(c==1){break;}var s=_a3[i][0];if(s.match(_a1)){_a4.push(s);}}return _a4;};var _a9=function(_aa,_ab){return abego.filterStrings(abego.internal.getTagManager().getAllTags(_ab),_aa);};var _ac=function(){if(!_71){return;}var _ad=store.getTiddlerText("IntelliTaggerMainTemplate");if(!_ad){_ad="<b>Tiddler IntelliTaggerMainTemplate not found</b>";}_71.innerHTML=_ad;applyHtmlMacros(_71,null);refreshElements(_71,null);};var _ae=function(e){if(!e){var e=window.event;}var tag=this.getAttribute("tag");if(_73){_73.call(this,tag,e);}return false;};var _b2=function(_b3){createTiddlyElement(_b3,"span",null,"tagSeparator"," | ");};var _b4=function(_b5,_b6,_b7,_b8,_b9){if(!_b6){return;}var _ba=_b8?abego.toSet(_b8):{};var n=_b6.length;var c=0;for(var i=0;i<n;i++){var tag=_b6[i];if(_ba[tag]){continue;}if(c>0){_b2(_b5);}if(_b9&&c>=_b9){abego.createEllipsis(_b5);break;}c++;var _bf="";var _c0=_b5;if(_b7<10){_c0=createTiddlyElement(_b5,"span",null,"numberedSuggestion");_b7++;var key=_b7<10?""+(_b7):"0";createTiddlyElement(_c0,"span",null,"suggestionNumber",key+") ");var _c2=_b7==1?"Return or ":"";_bf=" (Shortcut: %1Alt-%0)".format([key,_c2]);}var _c3=config.views.wikified.tag.tooltip.format([tag]);var _c4=(_78(tag)?"Remove tag '%0'%1":"Add tag '%0'%1").format([tag,_bf]);var _c5="%0; Shift-Click: %1".format([_c4,_c3]);var btn=createTiddlyButton(_c0,tag,_c5,_ae,_78(tag)?"currentTag":null);btn.setAttribute("tag",tag);}};var _c7=function(){if(_71){window.scrollTo(0,ensureVisible(_71));}if(_77()){window.scrollTo(0,ensureVisible(_77()));}};var _c8=function(e){if(!e){var e=window.event;}if(!_71){return;}var _cb=resolveTarget(e);if(_cb==_77()){return;}if(abego.isDescendantOrSelf(_71,_cb)){return;}abego.IntelliTagger.close();};addEvent(document,"click",_c8);var _cc=Story.prototype.gatherSaveFields;Story.prototype.gatherSaveFields=function(e,_ce){_cc.apply(this,arguments);var _cf=_ce.tags;if(_cf){_ce.tags=_cf.trim();}};var _d0=function(_d1){story.focusTiddler(_d1,"tags");var _d2=abego.getTiddlerField(story,_d1,"tags");if(_d2){var len=_d2.value.length;abego.setRange(_d2,len,len);window.scrollTo(0,ensureVisible(_d2));}};var _d4=config.macros.edit.handler;config.macros.edit.handler=function(_d5,_d6,_d7,_d8,_d9,_da){_d4.apply(this,arguments);var _db=_d7[0];if((_da instanceof Tiddler)&&_db=="tags"){var _dc=_d5.lastChild;_dc.onfocus=function(e){abego.IntelliTagger.assistTagging(_dc,_da);setTimeout(function(){_d0(_da.title);},100);};_dc.onkeyup=function(e){if(!e){var e=window.event;}if(e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode>=48&&e.keyCode<=57)){_8b(e.keyCode==48?9:e.keyCode-49,_dc,_da);}else{if(e.ctrlKey&&e.keyCode==32){_8b(0,_dc,_da);}}if(!e.ctrlKey&&(e.keyCode==13||e.keyCode==10)){_8b(0,_dc,_da);}setTimeout(function(){abego.IntelliTagger.assistTagging(_dc,_da);},100);return false;};_81(_dc);}};var _e0=function(e){if(!e){var e=window.event;}var _e3=resolveTarget(e);var _e4=_e3.getAttribute("tiddler");if(_e4){story.displayTiddler(_e3,_e4,"IntelliTaggerEditTagsTemplate",false);_d0(_e4);}return false;};var _e5=config.macros.tags.handler;config.macros.tags.handler=function(_e6,_e7,_e8,_e9,_ea,_eb){_e5.apply(this,arguments);abego.IntelliTagger.createEditTagsButton(_eb,createTiddlyElement(_e6.lastChild,"li"));};var _ec=function(){if(_71&&_72&&!abego.isDescendantOrSelf(document,_72)){abego.IntelliTagger.close();}};setInterval(_ec,100);abego.IntelliTagger.displayTagSuggestions=function(_ed,_ee,_ef,_f0,_f1){_74=_ed;_75=abego.toSet(_ee);_76=_ef;_72=_f0;_73=_f1;if(!_71){_71=createTiddlyElement(document.body,"div",null,"intelliTaggerSuggestions");_71.style.position="absolute";}_ac();abego.openAsPopup(_71);if(_77()){var w=_77().offsetWidth;if(_71.offsetWidth<w){_71.style.width=(w-2*(_6e+_6f))+"px";}abego.moveBelowAndClip(_71,_77());}else{abego.centerOnWindow(_71);}_c7();};abego.IntelliTagger.assistTagging=function(_f3,_f4){var _f5=_90(_f3);var s=_f3.value;if(_7d(_f3)){s=_7a(s);}var _f7=s.readBracketedList();var _f8=_f7.length>0?abego.filterStrings(abego.internal.getTagManager().getPartnerRankedTags(_f7),_f5,_70):_a0(_f5,_70);abego.IntelliTagger.displayTagSuggestions(_a9(_f5,_f7),_f7,_f8,_f3,function(tag,e){if(e.shiftKey){onClickTag.call(this,e);}else{_85(tag,_f3,_f4);}});};abego.IntelliTagger.close=function(){abego.closePopup(_71);_71=null;return false;};abego.IntelliTagger.createEditTagsButton=function(_fb,_fc,_fd,_fe,_ff,id,_101){if(!_fd){_fd="[edit]";}if(!_fe){_fe="Edit the tags";}if(!_ff){_ff="editTags";}var _102=createTiddlyButton(_fc,_fd,_fe,_e0,_ff,id,_101);_102.setAttribute("tiddler",(_fb instanceof Tiddler)?_fb.title:String(_fb));return _102;};abego.IntelliTagger.getSuggestionTagsMaxCount=function(){return 100;};config.macros.intelliTagger={label:"intelliTagger",handler:function(_103,_104,_105,_106,_107,_108){var _109=_107.parseParams("list",null,true);var _10a=_109[0]["action"];for(var i=0;_10a&&i<_10a.length;i++){var _10c=_10a[i];var _10d=config.macros.intelliTagger.subhandlers[_10c];if(!_10d){abego.alertAndThrow("Unsupported action '%0'".format([_10c]));}_10d(_103,_104,_105,_106,_107,_108);}},subhandlers:{showTags:function(_10e,_10f,_110,_111,_112,_113){_b4(_10e,_74,_76?_76.length:0,_76,abego.IntelliTagger.getSuggestionTagsMaxCount());},showFavorites:function(_114,_115,_116,_117,_118,_119){_b4(_114,_76,0);},closeButton:function(_11a,_11b,_11c,_11d,_11e,_11f){var _120=createTiddlyButton(_11a,"close","Close the suggestions",abego.IntelliTagger.close);},version:function(_121){var t="IntelliTagger %0.%1.%2".format([version.extensions.IntelliTaggerPlugin.major,version.extensions.IntelliTaggerPlugin.minor,version.extensions.IntelliTaggerPlugin.revision]);var e=createTiddlyElement(_121,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";},copyright:function(_124){var e=createTiddlyElement(_124,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">© 2006-2007 <b><font color=\"red\">abego</font></b> Software<font>";}}};})();config.shadowTiddlers["IntelliTaggerStyleSheet"]="/***\n"+"!~IntelliTagger Stylesheet\n"+"***/\n"+"/*{{{*/\n"+".intelliTaggerSuggestions {\n"+"\tposition: absolute;\n"+"\twidth: 600px;\n"+"\n"+"\tpadding: 2px;\n"+"\tlist-style: none;\n"+"\tmargin: 0;\n"+"\n"+"\tbackground: #eeeeee;\n"+"\tborder: 1px solid DarkGray;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .currentTag {\n"+"\tfont-weight: bold;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .suggestionNumber {\n"+"\tcolor: #808080;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .numberedSuggestion{\n"+"\twhite-space: nowrap;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter {\n"+"\tmargin-top: 4px;\n"+"\tborder-top-width: thin;\n"+"\tborder-top-style: solid;\n"+"\tborder-top-color: #999999;\n"+"}\n"+".intelliTaggerSuggestions .favorites {\n"+"\tborder-bottom-width: thin;\n"+"\tborder-bottom-style: solid;\n"+"\tborder-bottom-color: #999999;\n"+"\tpadding-bottom: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .normalTags {\n"+"\tpadding-top: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter .button {\n"+"\tfont-size: 10px;\n"+"\n"+"\tpadding-left: 0.3em;\n"+"\tpadding-right: 0.3em;\n"+"}\n"+"\n"+"/*}}}*/\n";config.shadowTiddlers["IntelliTaggerMainTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class=\"favorites\" macro=\"intelliTagger action: showFavorites\"></div>\n"+"<div class=\"normalTags\" macro=\"intelliTagger action: showTags\"></div>\n"+"<!-- The Footer (with the Navigation) ============================================ -->\n"+"<table class=\"intelliTaggerFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+" <tr>\n"+"\t<td align=\"left\">\n"+"\t\t<span macro=\"intelliTagger action: closeButton\"></span>\n"+"\t</td>\n"+"\t<td align=\"right\">\n"+"\t\t<span macro=\"intelliTagger action: version\"></span>, <span macro=\"intelliTagger action: copyright \"></span>\n"+"\t</td>\n"+" </tr>\n"+"</tbody></table>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["IntelliTaggerEditTagsTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='title' macro='view title'></div>\n"+"<div class='tagged' macro='tags'></div>\n"+"<div class='viewer' macro='view text wikified'></div>\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["BSD open source license (abego Software)"]="See [[Licence|http://tiddlywiki.abego-software.de/#%5B%5BBSD%20open%20source%20license%5D%5D]].";config.shadowTiddlers["IntelliTaggerPlugin Documentation"]="[[Documentation on abego Software website|http://tiddlywiki.abego-software.de/doc/IntelliTagger.pdf]].";config.shadowTiddlers["IntelliTaggerPlugin SourceCode"]="[[Plugin source code on abego Software website|http://tiddlywiki.abego-software.de/archive/IntelliTaggerPlugin/Plugin-IntelliTagger-src.1.0.2.js]]\n";(function(){var _126=restart;restart=function(){setStylesheet(store.getTiddlerText("IntelliTaggerStyleSheet"),"IntelliTaggerStyleSheet");_126.apply(this,arguments);};})();}
// %/
<<slider "12/22/2007 7:31 PM" "Filling in Those Pesky Text Only Fields with Tables" "+Filling in Those Pesky Text-Only Fields with Tables">>
Name: Blue
Background: #fff
Foreground: #000
PrimaryPale: #cdf
PrimaryLight: #57c
PrimaryMid: #114
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Name: Green
Background: #fff
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Name: Red
Background: #fff
Foreground: #000
PrimaryPale: #fdd
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Name: Smoke
Background: #fff
Foreground: #000
PrimaryPale: #aaa
PrimaryLight: #777
PrimaryMid: #111
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Name: Teal
Background: #fff
Foreground: #000
PrimaryPale: #B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
+++[Articles]
[[Avoiding Burn Out|Avoiding Burn Out - 3 December 2007]]
===
----
<<tag "Archives">>
+++[Blogroll]
[[My Cozen and Her Friends|http://scavengervlog.blogspot.com/]]
===
----
+++[Settings]
[[Welcome to Tiddlyspot]]
GettingStarted
[[MainMenu]]
[[DefaultTiddlers]]
===
|!Date |!Task |
|[[2/22/2008|22 February 2008]] | Entered Table of Contents into Marriage Wiki |
Background: #ffeedd
Foreground: #000
PrimaryPale: #ddaa99
PrimaryLight: #cc9999
PrimaryMid: #552233
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #cccccc
SecondaryDark: #552233
TertiaryPale: #ddaa99
TertiaryLight: #EEC591
TertiaryMid: #552233
TertiaryDark: #8B7355
[img[http://i9.photobucket.com/albums/a58/Maskkkk/MicroBreak.png]]<<gradient vert #cecece #ffa500 #ffffff>>Take a Microbreak>>
The [[Microbreak]] is the shortest and most frequent of the <<tag "timer">>s in [[Workrave|http://www.workrave.org]].
>Although, modifying the settings can change this, the [[Microbreak]] timer is meant to give your eyes a short break, relatively frequently.
!How it Works
#''When the [[Microbreak]] <<tag "timer">> runs out, a Mr. Lightbulb appears on the screen.'' [>img[Unlike Clippy, the friendly Mr. Lightbulb is unlikely to be the bane of your existance.|http://i9.photobucket.com/albums/a58/Maskkkk/mrlightbulb.png]]
**...if you stop typing and moving the mouse, the [[Microbreak]] @@color(green):will begin@@.
**...if you do not stop moving the mouse and keyboard, the [[Microbreak]] @@color(red):will not begin@@.
#''You'll hear a //*Sparky Sound*//''
**...and As you hear this, close your eyes, this signifies the beginning of the [[Microbreak]].
#''Wait...and rest your eyes''
**Breathe in and out, so your heart can pump and provide fresh @@color(red):hemoglobin@@ to your @@color(blue):tired eyes@@.
**...alternatively, if you are lucky enough to have a window look far off and out into the distance.
#''Next you'll hear a //*Pop! Sound*//''
**...this indicates it's safe to //return to work//.
Background: #eeddaa
Foreground: #000
PrimaryPale: #ddcc99
PrimaryLight: #bb8833
PrimaryMid: #553322
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #cccccc
SecondaryDark: #553322
TertiaryPale: #ddcc99
TertiaryLight: #EEC591
TertiaryMid: #553322
TertiaryDark: #8B7355
Today, I went over to [[College Grad.com|http://vcf.collegegrad.com/Candidate/]] to try my hand at their mock interview process.
You need a webcam and a microphone to get started.
First a video sequence of an interviewer shows up and asks the following common interview question(s):
+++[Question 1]
>''Tell us about yourself.''
Groan! What do I say now? Luckily the mock interview process gives you time to record your answer again...so I went out to [[WikiAnswers.org|http://wiki.answers.com/Q/How_do_you_answer_'Please_tell_us_about_yourself'_in_a_job_interview]] where they told me the following:
>''A person is defined in 3 different ways:''
>>1. Who he is right now.
>>2. What he has done in the past.
>>3. What he will become in the future.
And of course they specify that you need to answer these questions //professionally//, not about your personal self.
I came up with the following answers to those three questions:
>"I am a Computer Programmer."
>"I have 2 years in team environments experience developing Java, J2EE, MVC and AJAX based web applications."
>"In the future I would like to learn other languages and frameworks to increase my marketability in the Software Engineering Field."
===
+++[Question 2]
>''What type of positions are you seeking?''
===
*//In one of those buttery scenes// I can't believe it's not butter (on my pecs)
*No, no I'm not Atlas, I'm Fabio the Greek god of lust.
Rated NR
Copyright 1997 Windmill Productions
Review by [[Andrew Leer|http://leeand00.tiddlyspot.com/]]
!The Characters
Danny Nilesen -
Teddie Nielsen -
Phillip Frodden - The sleazy, overly male boyfriend of Danny's aunt, played by Timothy Bottoms. His character plays as though he should be on the [[Lifetime|http://www.mylifetime.com/on-tv/schedule/daily]] after house work special.
Wilshire Frodden -
Gus -
Colleen Mithell
Atlas -
Sheriff Tyrell -
Billy -
Dolores Mitchell -
Medic -
Girl in Store -
!The Plot
Shot on location in Utah, Mr. Atlas looks like a movie from the Hallmark Channel, for people who thought Touched By An Angel and Walker Texas Ranger were too religious.
!Things I Learned From This Movie
!Stuff to Watch For
01:23 - 8086 Fighter!
@@color(red):01:46 - RANDOM ACT OF BULLY VIOLENCE AGAINST DANNY!@@
@@color(red):0:2:00 - RANDOM ACT OF BULLY VIOLENCE AGAINST A TEXT BOOK!@@
@@color(red):02:03 - RANDOM ACT OF BULLY VIOLENCE AGAINST DANNY!@@
04:30 - No, but I have some Rubies!
07:44 - Timothy Bottoms lives up to his name.
!Sounds
!Images
[[Mr Atlas Jokes]]
<html>
<body>
<div class="vcard">
<a class="url fn" href="http://leeand00.tiddlyspot.com">Andrew Leer</a>
<a class="email" href="mailto:leeand00 -at- hotmail.com">leeand00 -at- hotmail.com</a>
<div class="adr">
<span class="locality">PA</span>
<span class="country-name">US</span>
</div>
<div class="tel">724-422-4873</div>
</div>
</body>
</html>
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Version|2.3.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Slider.prototype.stop|
|Description|show content in nest-able 'slider' or 'floating' panels, without needing to create separate tiddlers for each panel|
!!!!!Configuration
<<<
Enable animation for slider panels
<<option chkFloatingSlidersAnimate>> allow sliders to animate when opening/closing
>(note: This setting is in //addition// to the general option for enabling/disabling animation effects:
><<option chkAnimate>> enable animations (entire document)
>For slider animation to occur, you must also allow animation in general.
Debugging messages for 'lazy sliders' deferred rendering:
<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering
<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered
<<<
!!!!!Usage
<<<
When installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content. Use {{{+++}}} and {{{===}}} to delimit the slider content. You can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created. This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.
Additional optional syntax elements let you specify
*default to open
*cookiename
*heading level
*floater (with optional CSS width value)
*transient display (clicking elsewhere closes panel)
*custom class/label/tooltip/accesskey
*alternate label/tooltip (displayed when panel is open)
*panelID (for later use with {{{<<DOM>>}}} macro. See [[DOMTweaksPlugin]])
*automatic blockquote style on panel
*deferred rendering of panel content
The complete syntax, using all options, is:
//{{{
++++(cookiename)!!!!!^width^*{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
where:
* {{{+++}}} (or {{{++++}}}) and {{{===}}}<br>marks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.
* {{{(cookiename)}}}<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* {{{!}}} through {{{!!!!!}}}<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* {{{^width^}}} (or just {{{^}}})<br>makes the slider 'float' on top of other content rather than shifting that content downward. 'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.). If omitted, the default width is "auto" (i.e., fit to content)
* {{{"*"}}} //(without the quotes)//<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed. This is useful for creating 'pulldown menus' that automatically go away after they are used.
* {{{{{class{[label=key|tooltip][altlabel|alttooltip]}}}}}}<br>uses label/tooltip/accesskey. {{{{{class{...}}}}}}, {{{=key}}}, {{{|tooltip}}} and {{{[altlabel|alttooltip]}} are optional. 'class' is any valid CSS class name, used to style the slider label text. 'key' must be a ''single letter only''. altlabel/alttooltip specifiy alternative label/tooltip for use when slider/floating panel is displayed.
* {{{#panelID:}}}<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content. This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* {{{">"}}} //(without the quotes)//<br>automatically adds blockquote formatting to slider content
* {{{"..."}}} //(without the quotes)//<br>defers rendering of closed sliders until the first time they are opened. //Note: deferred rendering may produce unexpected results in some cases. Use with care.//
//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//
<<<
!!!!!Examples
<<<
simple in-line slider:
{{{
+++
content
===
}}}
+++
content
===
----
use a custom label and tooltip:
{{{
+++[label|tooltip]
content
===
}}}
+++[label|tooltip]
content
===
----
content automatically blockquoted:
{{{
+++>
content
===
}}}
+++>
content
===
----
all options combined //(default open, cookie, heading, sized floater, transient, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
}}}
++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
}}}
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
''2007.07.26 - 2.3.1'' in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed. Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
''2007.07.20 - 2.3.0'' added syntax for setting panel ID (#panelID:). This allows individual slider panels to be repositioned within tiddler content simply by giving them a unique ID and then moving them to the desired location using the {{{<<DOM move id>>}}} macro.
''2007.07.19 - 2.2.0'' added syntax for alttext and alttip (button label and tooltip to be displayed when panel is open)
''2007.07.14 - 2.1.2'' corrected use of 'transient' attribute in IE to prevent (non-recursive) infinite loop
''2007.07.12 - 2.1.0'' replaced use of "*" for 'open/close on rollover' (which didn't work too well). "*" now indicates 'transient' panels that are automatically closed if a click occurs somewhere else in the document. This permits use of nested sliders to create nested "pulldown menus" that automatically disappear after interaction with them has been completed. Also, in onClickNestedSlider(), use "theTarget.sliderCookie", instead of "this.sliderCookie" to correct cookie state tracking when automatically dismissing transient panels.
''2007.06.10 - 2.0.5'' add check to ensure that window.adjustSliderPanel() is defined before calling it (prevents error on shutdown when mouse event handlers are still defined)
''2007.05.31 - 2.0.4'' add handling to invoke adjustSliderPanel() for onmouseover events on slider button and panel. This allows the panel position to be re-synced when the button position shifts due to changes in unrelated content above it on the page. (thanks to Harsha for bug report)
''2007.03.30 - 2.0.3'' added chkFloatingSlidersAnimate (default to FALSE), so that slider animation can be disabled independent of the overall document animation setting (avoids strange rendering and focus problems in floating panels)
''2007.03.01 - 2.0.2'' for TW2.2+, hijack Morpher.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
''2007.03.01 - 2.0.1'' in hijack for Slider.prototype.stop, use apply() to pass params to core function
|please see [[NestedSlidersPluginHistory]] for additional revision details|
''2005.11.03 - 1.0.0'' initial public release
<<<
!!!!!Credits
<<<
This feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.
<<<
!!!!!Code
***/
//{{{
version.extensions.nestedSliders = {major: 2, minor: 3, revision: 1, date: new Date(2007,7,26)};
//}}}
//{{{
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;
if (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;
if (config.options.chkFloatingSlidersAnimate==undefined) config.options.chkFloatingSlidersAnimate=false;
// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
//}}}
//{{{
config.formatters.push( {
name: "nestedSliders",
match: "\\n?\\+{3}",
terminator: "\\s*\\={3}\\n?",
lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\[\\>]*\\^)?)?(\\*)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
handler: function(w)
{
lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
{
// var defopen=lookaheadMatch[1]
// var cookiename=lookaheadMatch[2]
// var header=lookaheadMatch[3]
// var panelwidth=lookaheadMatch[4]
// var transient=lookaheadMatch[5]
// var class=lookaheadMatch[6]
// var label=lookaheadMatch[7]
// var openlabel=lookaheadMatch[8]
// var panelID=lookaheadMatch[9]
// var blockquote=lookaheadMatch[10]
// var deferred=lookaheadMatch[11]
// location for rendering button and panel
var place=w.output;
// default to closed, no cookie, no accesskey, no alternate text/tip
var show="none"; var cookie=""; var key="";
var closedtext=">"; var closedtip="";
var openedtext="<"; var openedtip="";
// extra "+", default to open
if (lookaheadMatch[1]) show="block";
// cookie, use saved open/closed state
if (lookaheadMatch[2]) {
cookie=lookaheadMatch[2].trim().slice(1,-1);
cookie="chkSlider"+cookie;
if (config.options[cookie]==undefined)
{ config.options[cookie] = (show=="block") }
show=config.options[cookie]?"block":"none";
}
// parse label/tooltip/accesskey: [label=X|tooltip]
if (lookaheadMatch[7]) {
var parts=lookaheadMatch[7].trim().slice(1,-1).split("|");
closedtext=parts.shift();
if (closedtext.substr(closedtext.length-2,1)=="=")
{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
openedtext=closedtext;
if (parts.length) closedtip=openedtip=parts.join("|");
else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
}
// parse alternate label/tooltip: [label|tooltip]
if (lookaheadMatch[8]) {
var parts=lookaheadMatch[8].trim().slice(1,-1).split("|");
openedtext=parts.shift();
if (parts.length) openedtip=parts.join("|");
else openedtip="hide "+openedtext;
}
var title=show=='block'?openedtext:closedtext;
var tooltip=show=='block'?openedtip:closedtip;
// create the button
if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link
var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;
var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,lookaheadMatch[6],title);
btn.onclick=onClickNestedSlider;
btn.setAttribute("href","javascript:;");
btn.setAttribute("title",tooltip);
}
else
var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,lookaheadMatch[6]);
btn.innerHTML=title; // enables use of HTML entities in label
// set extra button attributes
btn.setAttribute("closedtext",closedtext);
btn.setAttribute("closedtip",closedtip);
btn.setAttribute("openedtext",openedtext);
btn.setAttribute("openedtip",openedtip);
btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
btn.defOpen=lookaheadMatch[1]!=null; // save default open/closed state (boolean)
btn.keyparam=key; // save the access key letter ("" if none)
if (key.length) {
btn.setAttribute("accessKey",key); // init access key
btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
}
btn.onmouseover=function(event) // mouseover on button aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel,this.sliderPanel.className); }
// create slider panel
var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";
var panelID=lookaheadMatch[9]; if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
panel.button = btn; // so the slider panel know which button it belongs to
btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
panel.defaultPanelWidth=(lookaheadMatch[4] && lookaheadMatch[4].length>2)?lookaheadMatch[4].slice(1,-1):"";
panel.setAttribute("transient",lookaheadMatch[5]=="*"?"true":"false");
panel.style.display = show;
panel.style.width=panel.defaultPanelWidth;
panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this,this.className); }
// render slider (or defer until shown)
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
if ((show=="block")||!lookaheadMatch[11]) {
// render now if panel is supposed to be shown or NOT deferred rendering
w.subWikify(lookaheadMatch[10]?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
// align floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel,panelClass);
}
else {
var src = w.source.substr(w.nextMatch);
var endpos=findMatchingDelimiter(src,"+++","===");
panel.setAttribute("raw",src.substr(0,endpos));
panel.setAttribute("blockquote",lookaheadMatch[10]?"true":"false");
panel.setAttribute("rendered","false");
w.nextMatch += endpos+3;
if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
if (config.options.chkDebugLazySliderDefer) alert("deferred '"+title+"':\n\n"+panel.getAttribute("raw"));
}
}
}
}
)
// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)
function findMatchingDelimiter(src,starttext,endtext) {
var startpos = 0;
var endpos = src.indexOf(endtext);
// check for nested delimiters
while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
// count number of nested 'starts'
var startcount=0;
var temp = src.substring(startpos,endpos-1);
var pos=temp.indexOf(starttext);
while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
// set up to check for additional 'starts' after adjusting endpos
startpos=endpos+endtext.length;
// find endpos for corresponding number of matching 'ends'
while (startcount && endpos!=-1) {
endpos = src.indexOf(endtext,endpos+endtext.length);
startcount--;
}
}
return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
var theLabel = theTarget.firstChild.data;
var theSlider = theTarget.sliderPanel
var isOpen = theSlider.style.display!="none";
// toggle label
theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
// toggle tooltip
theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));
// deferred rendering (if needed)
if (theSlider.getAttribute("rendered")=="false") {
if (config.options.chkDebugLazySliderRender)
alert("rendering '"+theLabel+"':\n\n"+theSlider.getAttribute("raw"));
var place=theSlider;
if (theSlider.getAttribute("blockquote")=="true")
place=createTiddlyElement(place,"blockquote");
wikify(theSlider.getAttribute("raw"),place);
theSlider.setAttribute("rendered","true");
}
// show/hide the slider
if(config.options.chkAnimate && (theSlider.className!='floatingPanel' || config.options.chkFloatingSlidersAnimate))
anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
else
theSlider.style.display = isOpen ? "none" : "block";
// reset to default width (might have been changed via plugin code)
theSlider.style.width=theSlider.defaultPanelWidth;
// align floater panel position with target button
if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);
// if showing panel, set focus to first 'focus-able' element in panel
if (theSlider.style.display!="none") {
var ctrls=theSlider.getElementsByTagName("*");
for (var c=0; c<ctrls.length; c++) {
var t=ctrls[c].tagName.toLowerCase();
if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
{ ctrls[c].focus(); break; }
}
}
var cookie=theTarget.sliderCookie;
if (cookie && cookie.length) {
config.options[cookie]=!isOpen;
if (config.options[cookie]!=theTarget.defOpen)
saveOptionCookie(cookie);
else { // remove cookie if slider is in default display state
var ex=new Date(); ex.setTime(ex.getTime()-1000);
document.cookie = cookie+"=novalue; path=/; expires="+ex.toGMTString();
}
}
return false;
}
//}}}
//{{{
// click in document background closes transient panels
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
// call original click handler
if (document.nestedSliders_savedOnClick)
var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
// if click was inside transient panel (or something contained by a transient panel)... leave it alone
var p=target;
while (p)
if ((p.className=="floatingPanel"||p.className=="sliderPanel")&&p.getAttribute("transient")=="true") break;
else p=p.parentNode;
if (p) return retval;
// otherwise, find and close all transient panels...
var all=document.all?document.all:document.getElementsByTagName("DIV");
for (var i=0; i<all.length; i++) {
// if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
// otherwise, if the panel is currently visible, close it by clicking it's button
if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
}
return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {
if (panelClass=="floatingPanel") {
var left=0;
var top=btn.offsetHeight;
if (place.style.position!="relative") {
var left=findPosX(btn);
var top=findPosY(btn)+btn.offsetHeight;
var p=place; while (p && p.className!='floatingPanel') p=p.parentNode;
if (p) { left-=findPosX(p); top-=findPosY(p); }
}
if (findPosX(btn)+panel.offsetWidth > getWindowWidth()) // adjust position to stay inside right window edge
left-=findPosX(btn)+panel.offsetWidth-getWindowWidth()+15; // add extra 15px 'fudge factor'
panel.style.left=left+"px"; panel.style.top=top+"px";
}
}
function getWindowWidth() {
if(document.width!=undefined)
return document.width; // moz (FF)
if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
return document.documentElement.clientWidth; // IE6
if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )
return document.body.clientWidth; // IE4
if(window.innerWidth!=undefined)
return window.innerWidth; // IE - general
return 0; // unknown
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider animation handler 'stop' handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
// TW2.2+
// hijack Morpher animation handler 'stop' handler so overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
Morpher.prototype.coreStop = Morpher.prototype.stop;
Morpher.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
}
//}}}
#Desired Job Location
**In or around the Philadelphia area.
#Desired Salary or Hourly Rate:
**$40,000-$50,000/per year
**$25/per hour
#Date Available:
**{{{01/11/2008}}}
#US Citizen / Clearance Status
**US Citizen, received a security clearance during my software developer position at Mobilvox.
Is alot like a cable hookup.
>At the one end of the ''cable hookup'', you have the ''cable company''. At the opposite end of the ''cable hookup'' you have a ''television''. In between the two you have ''a cable''.
[img[http://i9.photobucket.com/albums/a58/Maskkkk/path2808.png]]
>Similarly, with RSS, there is an ''RSS Blog'' which sends out the RSS content of a blog or podcast, through an RSS XML Stream (accessed by a URL). Now the websites in which that content will be posted recieve that RSS XML Stream where it is displayed on the websites.
The people at the Java Ranch Saloon answered my question concerning the transfer of settings from one Eclipse installation to another. I tried it out this afternoon and it worked! :-D
In order to rejoin split objects together at a later stage, simply highlight the individual parts and select the command:
{{{edit->forming group}}} to join the selected objects together alone group.
[[also see Splitting Objects|Splitting Objects]]
/***
| Name:|RenameTagsPlugin|
| Description:|Allows you to easily rename or delete tags across multiple tiddlers|
| Version:|3.0 ($Rev: 1845 $)|
| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
***/
//{{{
config.renameTags = {
prompts: {
rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
remove: "Remove the tag '%0' from %1 tidder%2?"
},
removeTag: function(tag,tiddlers) {
store.suspendNotifications();
for (var i=0;i<tiddlers.length;i++) {
store.setTiddlerTag(tiddlers[i].title,false,tag);
}
store.resumeNotifications();
store.notifyAll();
},
renameTag: function(oldTag,newTag,tiddlers) {
store.suspendNotifications();
for (var i=0;i<tiddlers.length;i++) {
store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
store.setTiddlerTag(tiddlers[i].title,true,newTag); // add new
}
store.resumeNotifications();
store.notifyAll();
},
storeMethods: {
saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,
saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields) {
if (title != newTitle) {
var tagged = this.getTaggedTiddlers(title);
if (tagged.length > 0) {
// then we are renaming a tag
if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))
config.renameTags.renameTag(title,newTitle,tagged);
if (!this.tiddlerExists(title) && newBody == "")
// dont create unwanted tiddler
return null;
}
}
return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields);
},
removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,
removeTiddler: function(title) {
var tagged = this.getTaggedTiddlers(title);
if (tagged.length > 0)
if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
config.renameTags.removeTag(title,tagged);
return this.removeTiddler_orig_renameTags(title);
}
},
init: function() {
merge(TiddlyWiki.prototype,this.storeMethods);
}
}
config.renameTags.init();
//}}}
[img[http://i9.photobucket.com/albums/a58/Maskkkk/RestBreak.png]]<<gradient vert #cecece #ffa500 #ffffff>>Take a Restbreak>>
During a RestBreak you first do exercises that help to avoid [[RSI|http://en.wikipedia.org/wiki/Repetitive_strain_injury]]. These exercises are displayed on the screen by [[Workrave|http://www.workrave.org/]].
Once you've completed these exercises, you need to go and take a walk, and get away from your computer for a bit.
Upon returning from your [[Restbreak]], the Workrave timers will not start again until your mouse is moved or keys on the keyboard are pressed. This is a great feature since you might get tied up on your [[Restbreak]] talking to your fellow employees on the way back.
!Automatic
!Manual
Makes cuts only after confirmation at each scene transition. The preview always displays the end of the previous scene and the beginning of the new scene.
This option is helpful, for example, if a camera flash was captured in the source footage. The flash from the camera would cause a sudden brightness modification even though there was no actual scene change.
''Separate at this point: '' Select this option when there is significant variation between two images in the display.
''Next Scene: '' This option enables you to skip a point with-out cutting in the event that the scene was identified incorrectly. Use this option to deliberately skip scene transitions and treat several scenes as a unit.
''Automatically cut all further scenes: ''
This ends the manual scene recognition. All future points will be automatically cut to create a new scene.
//Tip: You can also use the cut menu for cutting scenes. Place the s-marker where you wish to performa a cut, and then select the "Cut Scene" command.//
!Cutting up a scene
This command cuts a scene at the point where the Start marker is positioned.
//Shortcut: t//
!Delete Scene start
This command cuts a scene at the point where the Start marker is positioned, and deletes all material that precedes the start position simultaneously.
//Shortcut: Ctrl+t//
!Delete Scene end
This command cuts a scene at the point where the Start marker is positioned, and deletes all material that follows the start position simultaneously.
//Shortcut: Shift+z//
!Divide Film
This command splits a movie at the point where the start marker is positioned, making two self-standing movies.
// Shortcut: Alt+t//
/***
Quick and dirtly palette switcher for 2.1.x
<<selectPalette>>
WARNING this will overwrite your ColorPalette tiddler.
***/
//{{{
merge(config.macros,{
setPalette: {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var paletteName = params[0] ? params[0] : tiddler.title;
createTiddlyButton(place,"apply","Apply this palette",function(e) {
config.macros.selectPalette.updatePalette(tiddler.title);
return false;
});
}
},
selectPalette: {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
createTiddlyDropDown(place,this.onPaletteChange,this.getPalettes());
},
getPalettes: function() {
var result = [
{caption:"-select palette-", name:""},
{caption:"(Default)", name:"(default)"}
];
var tagged = store.getTaggedTiddlers("palette","title");
for(var t=0; t<tagged.length; t++)
result.push({caption:tagged[t].title, name:tagged[t].title});
return result;
},
onPaletteChange: function(e) {
config.macros.selectPalette.updatePalette(this.value);
return true;
},
updatePalette: function(title) {
if (title != "") {
store.deleteTiddler("ColorPalette");
if (title != "(default)")
store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(title),
config.options.txtUserName,undefined,"");
this.refreshPalette();
if(config.options.chkAutoSave)
saveChanges(true);
}
},
refreshPalette: function() {
config.macros.refreshDisplay.onClick();
}
}
});
//}}}
The "Editing" menu lets you set a play marker at the current position of the Start marker. The 3 markers can be set using the number keys 1-2-3. This allows you to jump to a particular position of a longer video immediately, with out scrolling and searching.
Snap points (HotOffsets) server to mark certain positions in the movie to doc other objects there "magnetically". For instance, you can set a snap point at the position of a door falling shut, in order to position an audio object of a door closing there.
!How to use snapoints
*Select a Video Object
*Set the start marker to the position where you would like to set the snap point.
*In the {{{Edit}}} menu select the option {{{Edit snap points->Set snap points}}}
A vertical line will now appear at the position of the start marker. You can now drag & drop any other object to this position (audio objects, titles, fades, etc...)
#Went to [[this website|http://www.microsoft.com/express/download/#webInstall]] and downloaded ''Visual Web Developer 2008 Express Edition''
#Closed all other programs and braced for installation.
#Opened the executable and installed.
**Installed the MSDN Express Library for Visual Studio 2008 (DL Size: 297 MB).
**Installed MS SQL Server 2005 Express Edition (x86) (DL Size: 36 MB)
**Installed MS Silverlight Runtime (DL Size: 1.4 MB)
**Told installer to install it all in {{{C:\ndev\Microsoft Visual Studio 9.0\}}}
***//(Disk Space Requirements 2.8 GB!?!??!) - Are you kidding me?!?! Oh well here we go...//
***It seems to me it's going to be a while...
#Hmm has an entire day passed? Oh look it's done!
*[[CyberCoders.com|http://www.cybercoders.com]]
*[[dice.com|http://www.dice.com]]
*[[jobster|http://www.jobster.com/]]
*[[monster.com|http://www.monster.com]]
*[[collegegrad.com|http://www.collegegrad.com]]
Objects may be split to separate each individual component into an independent object for editing.
To use this function, you select the option {{{edit->splitting objects}}}
[[also see|Rejoining Objects]]
div.viewer {
font-size:0.88em;
line-height: 2em;
color:#333333;
font-family:Verdana,sans-serif;
font-size:0.8125em;
font-size-adjust:none;
font-style:normal;
font-variant:normal;
font-weight:normal;
}
/***
|Name|TagGridPlugin|
|Source|http://www.TiddlyTools.com/#TagGridPlugin|
|Version|1.6.5|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Generate a cross-referenced grid of tiddlers, based on tag values|
!!!!!Usage
<<<
Specify which tags should be used for the columns and rows of the grid to ''see a particular cross-section'' of your document, or use //all// tags to ''get an instant 'birds-eye' overview of your entire document''.
Each grid cell contains a label with the number of tiddlers in that grid cell. Click the number to ''show a popup of cross-indexed tiddler titles''. Grid cells with no matching tiddlers contain a "-" (dash) that can be clicked to ''create new tiddlers automatically pre-tagged with that cell's combination of tags.''
To keep the grid display from getting very wide, the grid tags used as column headings are not initially displayed. ''Click directly above the column to show/hide that heading'', or toggle all column headings at once by clicking the {{{>>>}}} symbol in the upper-left corner of the grid display. Clicking a displayed row/column tag heading opens the tiddler whose title is that tag name.
The macro syntax to include a tag grid in your tiddler content is:
{{{<<tagGrid columntags exclude:tags rowtags exclude:tags startcolor endcolor open inline colorall sortrows sortcolumns>>}}}
where:
''rowtags/columntags'' are each:
* a ''quoted'' space-separated lists of tags: {{{"tag1 tag2 [[tag3 with spaces]] tag4 ..."}}}
* //or,// a tiddler name preceded by "+": {{{+TiddlerName}}} where the specified tiddler contains a space-separated list of tags (same format as DefaultTiddlers)
* //or,// a tiddler name preceded by "@": {{{@TiddlerName}}} to use the same tags as those that are tagging the specified tiddler (i.e., the tiddler is a representative exam