Page tree
Skip to end of metadata
Go to start of metadata

Howdy!

Welcome to my personal home base on the Web where I record discoveries, ideas, lessons-learned, and general notes on life. I record all this stuff mainly because I don't trust my own memory, but hopefully it can be helpful to someone else too.


Here's how to avoid tracking page views in Google Analytics when you're logged in as an administrative or other specific user.
In my digital journal, I've kept a page called "Bucket List", but I've kicked it out in favor of a new title: "Goals". I've learned that the language you use and the story you tell yourself is fundamentally important to what you actually achieve and do. And maybe it goes even deeper than that. Maybe it's not just the language you use, but the personal meaning that you've ascribed to the concepts in that language.…
This week, I've been listening to the audiobook, Benjamin Franklin: An American Life by Walter Iscaacson https://www.amazon.com/gp/product/074325807X/ref=as_li_tl?ie=UTF8&tag=burtecgrollc-20&camp=1789&creative=9325&linkCode=as2&creativeASIN=074325807X&linkId=226c4c3b564223c6bed34dd077fa4775. My favorite part, so far is where he recounted thirteen virtues that Benjamin Franklin recorded in his autobiography http://www.ushistory.org/franklin/autobiography/page38.htm.…
Angular 2 provides a Title service that you can use to set the title of a page. This is good, of course, for SEO. Here's how to use it.
Pink Hearts
My sister tried to kill herself.

I was eleven years old. I don't remember much about it; it was a long time ago - kind of a blur at this point. The thing that sticks out is all the little pink hearts

In my last two posts about Carbon LDP, I used a very simple Create Blog Postexample to show how to save a document http://localhost:8080/2016/09/02/carbon-js-sdk-101-save-a-document/ and then how to save a document tree http://localhost:8080/2016/09/05/carbon-js-sdk-101-save-a-document-tree/using the JavaScript SDK. In this post, I build upon those examples by showing how to save a document using established vocabularies.…
In my previous post http://localhost:8080/2016/09/02/carbon-js-sdk-101-save-a-document/, I used a very simple Create Blog Post example to show how to save a document using the Carbon LDP JavaScript SDK. In this post, I build upon that example by showing how to save a tree of multiple documents instead of just one. When you create a document with the Carbon JS SDK, it can be the parent of another. So, in LDP terms, you could say that we're creating a hierarchy of LDP containers.…
If you're new to programming with Carbon LDP, you will likely want to learn the bare essentials first - like CRUD operations (Create, Read, Update, Delete). In this post, I show how to use the Carbon LDP JavaScript SDK to create a document based on inputs from a simple UI form. Until we get a chance to improve the getting started guide https://carbonldp.com/site/documentation/javascript-sdk/getting-started, I hope this provides some additional context. Input Form Example First,…
RDF Syntax Examples
RDF can be expressed in a variety of different serialization formats. It can also be used inline with HTML. Following is an example of the most widely used of these formats so that you can compare them at a glance.
Your inbox says a lot about you. What does it say? That you waste precious time? That you lose sight of important messages? That you're unresponsive? Unfocused? Unprofessional? If you don't have a simple and consistent system for dealing with e-mail, you should be ashamed of yourself. Stop the madness, get your ass in gear and get a handle on it, man. Here's a simple system that works for me.
Last night, I did something I haven't done in a long time. I went to bed without my laptop or smart phone. Once in the bed, I did not so much as peek at either screen. I didn't even set an audiobook or podcast to playing as usual. I just laid there in the dark with nothing but silence and my very own thoughts. Not even a book. As I laid there, for what seemed like forever, I was reminded of a conversation I often have with my son, which goes something like this. "Caden," I say,…
Writing is rewriting. If you want to improve your content, here's an editor's checklist you can use to polish your work.
In Angular 2, to format a currency, use the currency pipe on a number as shown here.
In Angular 2, to get the index (or the iteration number) of the current item, add a second part to the ngFor expression (after a semi-colon) as shown here.
Story Structure Diagram
Recently, I created a story structure diagram to help me visualize and plan as I work on my novel. There are plenty of story structure diagrams on the Web, but I wanted a version in Adobe Illustrator so that I could use layers to overlay my own elements (character arcs, major events, and what-not). Story-Structure.png http://localhost:8080/2016/04/02/story-structure-diagram/Story-Structure.png In case it’s useful to someone else, I’ve provided the Adobe Illustrator file in a zip archive.…
The MEAN stack defined
A particular combination of development tools, used together, is known as “a stack”. Often, a given set of tools (the stack) are so commonly used together that the set gets branded by the development community – typically, in the form of an acronym. A popular stack that you may be familiar with, for example, is the LAMP stack (Linux, Apache, MySQL, PHP/Python/Perl). Here’s a new one that you may have been hearing more of lately: MEAN.…
Meet the real Watson
watson-logo.pngIBM has made a big bet on Watson and the cognitive era. Curiosity has been mounting. We’ve all know Watson as a Jeopardy champion. Now he’s the friendly cog in a support group https://youtu.be/f8T8eWBmls0hosted by Carrie Fisher. Beyond all the marketing, fun and games, executives want to know: Who is the real Watson? What can he do for me and my company…today? For example, a client sent me very brief email recently. “Have you met Watson?” she asked. “What do you think?…
With over forty reusable Java components, the Apache Commons project is a gold mine of time-tested and time-saving tools. If you’re a smart developer, you’ve studied the inventory https://commons.apache.org/components.html, scanned the API’s, and set a mental flag for each available component. I actually did that once and felt rather proud of myself at the time, but I guess I forgot most of it. Google is still surprising me with interesting stuff from the Commons.…
My First Dead Body
aBoysWonder.jpg I don’t think I was older than seven when I saw my first dead body, but they’d been common in my imagination up to that day. I saw them mostly around water – on the banks of creeks, half buried in mud, and with all the color drowned from their eyes. I saw them in piles of garbage – a severed part protruding accidentally from a suspicious trash bag. If they’d been sitting out long enough, they most certainly were surrounded by flies. Sometimes,…
TypeScriptBanner.png You can now count me as one of the many JavaScript developers who thinks TypeScript is kick-ass. I don’t want to say that I’m old-school, but if you measure by Internet time, I’m pretty old. I grew up shoving JavaScript into onclick attributes years before jQuery was even a thing. It also means that lately, I’ve been feeling a lot like a toddler who just got tossed in the twelve-foot end of a swimming pool and told to swim.…
With the new Web Developer Toolkit for IBM Digital Experience you can automatically download all the components and presentation templates in a WCM library where you can access them quickly and easily in your favorite editor. You can also push updated files back onto the server with the click of a button or even watch for changes and have them pushed back to the server automatically. The tool also offer features for syncing theme and script portlet files.…
Gulp is a streaming build system that can help automate and enhance your workflow. For example, at Base22, in one of our composite tasks, we use Gulp to create a directory structure, compile Less into standard CSS, copy static dependencies, minify JavaScript, compress images, run a simple HTTP server, and then watch for subsequent changes to files while we’re working. Gulp is easy to install, easy to learn, easy to configure, and I love it. But when it happens to bomb on a problem,…
Hyperlinks are dumb. Literally dumb. They link one document to another – one little piece of text to another, but they don’t know how. They don’t know why. They don’t know diddly squat. The only real sense that search engines can make of their incoherent connections is that one page is more popular than another, probably, maybe. They’re dumb, first of all, because while they can relate two pieces of media on the Web, they don’t describe the nature of that relationship.…
Recently, we experienced some excessive memory consumption that was leading our servers into an out-of-memory (OOM) condition. To troubleshoot the issue, we needed a way to identify any large objects that were filling up the heap. As it turns out, there’s a JVM argument for this. Generic JVM argument: -Xdump:stack:events=allocation,filter If you set this option, whenever an allocation request is made for an object greater than or equal to the given size,…
Recently, Mike Minardi http://base22.com/wps/portal/home/about-us/our-team/members/mike-minardi, our CEO at Base22 http://base22.com/wps/portal/home sent an email to the staff providing tips on how to build enduring, long term, and trusting relationships. I wanted to share his list with the rest of the world because I thought it was pretty good one – the kind that’s worth reviewing from time to time.…
This video provides a quick demonstration of the User Impersonation feature, which was introduced in WebSphere Portal 6.1.5.   Published on Jan 8, 2015  
    ic_android_black_48dp.gifThis October, Google Design open-sourced 750 glyphs as part of the Material Design system icons pack. The set contains icons for media playback, communication, content editing, connectivity, and more. They’re handy for Android and iOS apps in addition to web. googleMaterialDesignActions.png You can find more info https://github.com/google/material-design-icons/releases/tag/1.0.0 at GitHub, view a live preview http://google.github.…
Before you refactor
At some point every programmer will need to refactor existing code. But before you do, please consider the following suggestions by Rajith Attapattu in "Before You Refactor" from the book 97 Things Every Programmer Should Know http://www.amazon.com/gp/product/0596809484/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596809484&linkCode=as2&tag=burtecgrollc-20&linkId=6W7EZF37CMRFG5DI. These suggestions may help save you and others a great deal of time (and pain).…
Wait. What? Yeah, that’s right. Even though HTML5 has been in use for years, it was only published as a formal Recommendation http://www.w3.org/TR/html5/ from the W3C today (this October, the 28th). The W3C completed the definition of HTML5 in December, 2012 http://www.w3.org/2012/12/html5-cr. In the 22 months since, the W3C community has been refining the specification and adding to the HTML5 test suite, which includes over 100,000 tests and continues to grow. That’s history folks.…
Recently, I’ve been learning about the LinkedIn fork of Dust http://linkedin.github.io/dustjs/ – a client-side templating solution. Dust allows you to create helpers, which are functions that can be called from within a rendering template. They help separate presentation from logic, which is always a good practice. Today we created a String Replace helper, which seems like it might be pretty useful for others, so I thought I’d share it. Following is an example of the helper in use.…
If you want to call yourself a JavaScript bad-ass, then there is at least one little code pattern you should know by heart: the Immediately Invoked Function Expression (IIFE). This pattern defines a function that is executed immediately and it looks like this: (function () { alert("Hello world, I'm an IIFE!"); }());   This is an important pattern primarily because it provides a closure for initialization code, which allows you to keep temporary variables out of the global scope. That is to say,…
Developers love to use tortured metaphors when trying to explain what it is they do to family members, spouses, and other non-techies. We frequently resort to bridge building and other “hard” engineering disciplines. All these metaphors fall down quickly, though, when you start trying to push them too hard. It turns out that software development is not like many of the “hard” engineering disciplines in lots of important ways. davinci-bridge.jpg Compared to “hard” engineering,…
If you find yourself having to choose between “doing it right” and “doing it quick” it’s often appealing to “do it quick” on the understanding that you’ll come back and fix it later. When you make this promise, you really mean it, but the next iteration usually brings new problems and you become focused on them. This sort of deferred work is known as technical debt and it is not your friend. Specifically,…
Here’s a simple command that will startup an HTTP server from any given folder on a Mac. Open Terminal, cd to change to the directory you wish to serve files from, and then execute the following command. python -m SimpleHTTPServer 8000   This can be very handy for web development on a Mac; especially when using the Google Chrome web browser, which doesn’t allow you to run JavaScript from your filesystem.…
Pressing CTRL + SHIFT + F in the Eclipse editor will automatically format source code according to the default or specific formatter preference settings. However, if team members do not format consistently before committing code, relevant changes can become difficult to identify amongst code style changes. One way to alleviate this problem is to force Eclipse (or any Eclipse-based IDE) to format source code automatically on Save.…
How to shake hands
Now, I’m not sure if this is a particularly Southern thing, but where I was raised, shaking hands was kind of a big deal. So, I have to admit that I’m often surprised (and sometimes a little disconcerted) when people seem to lack the knowledge of “a proper” handshake. I am guessing that it must be irrelevant in some cultures. Heck, maybe it’s even an insult in others. But here in the U.S., and especially down South, there’s a lot meaning conveyed in this simple act. So,…
150x150-javaScriptHashMap.pngAs a Java developer, I use a lot of maps – especially instances of HashMap. A map is a dictionary or lookup table that contains key/value pairs. It provides a very convenient way to cache objects for easy retrieval by some identifier such as a string (the key). It’s so convenient, in fact, that I find myself struggling without a JavaScript equivalent, so I wrote one. Following is a partial JavaScript implementation of the java.util.Map interface,…
I was the guy in middle school who raised his hand in class just to point out a spot on the chalkboard missed by the teacher’s eraser. Little things like that don’t bother most people, but for me, they stand out like a turd in a punch bowl. If I’m writing in ink and I scratch out just one word in my notebook, I want to rip out the whole damn page. You know what I mean? Then you probably feel the same about those squiggly red lines in the editor of your Rational or Eclipse-based IDE.…
My buddy, Dave Hay, just posted a deck on SlideShare that I thought was kind of interesting. Evidently, some information returned in HTTP headers may be seen as a potential security risk. In this presentation, Dave provides a solution for suppressing headers such as the “Server” header from both WebSphere Application Server and IBM HTTP Server. The implied rationale is that such information about your environment might be information that would-be hackers could leverage.…
WebSphereLogoNew.png Even though you can limit the maximum size http://www-01.ibm.com/support/docview.wss?uid=swg21320581 of the resources that can be uploaded in WCM, you may still wish to perform an occasional audit for large files. The FindLargeResources module, developed for APAR PK75187 (going back to Portal 6.1.0.4), was created for such a task.    WHY? Users can experience poor performance when viewing large resources that have been uploaded into Image, File,…
WebSphereLogoNew.png Occasionally, you may find yourself with the need to “touch” (force a SAVE operation) on every item in a given WCM library. For example, we recently had some environmental issues that left us with a pretty large sum of taxonomy categories that did not syndicate. After recreating the syndicator/subscriber pair, we could get individual categories to syndicate by “touching” them on the source server. But there were far too many to touch by hand.…
http://www.independent.co.uk/life-style/gadgets-and-tech/breakthrough-in-quantum-computing-smashes-previous-records-8941862.html http://www.independent.co.uk/life-style/gadgets-and-tech/breakthrough-in-quantum-computing-smashes-previous-records-8941862.html
Although this talk is three years past, it’s still a very useful introduction to Linked Data. The presenter, Sandro Hawke, is a member of W3C’s Linked Data Platform Working Group http://www.w3.org/2012/ldp/wiki/Main_Page, which is currently working to finalize the first Linked Data Platform (LDP) specification.   An Introduction to Linked Data with Sandro Hawke http://vimeo.com/12444260 from Marco Neumann http://vimeo.com/user977256 on Vimeo https://vimeo.com/.
Slide01.png
When you use renderRequest, renderResponse, and portletConfig objects in a JSP, your Rational or Eclipse-based IDE will usually give a validation error – “renderRequest cannot be resolved,” for example. Having red-x validation errors in your IDE is annoying as all-hell, so here’s a nice work-around for that…  <%@ page import="javax.portlet.RenderRequest" %> <%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%> <%! RenderRequest renderRequest; %> <portlet:defineObjects /> <%-- String portletSiteArea = renderRequest.getPreferences().getValue("sitearea", ""); // code... --%>   Lines 1 and 2 represent the area atop your JSP where you do your imports and taglib references. I’ve put those two in because we’re using both in the code that follows.</%-- String></portlet:defineObjects></%@></%@></%!>…
sparqlThumb.pngSPARQL is the query language for Linked Data and the Semantic Web. It provides new capabilities that you simply cannot get out of traditional SQL and its power to unearth knowledge is amazing. With it, you can perform a distributed or federated query across multiple databases with a single query statement. Because SPARQL endpoints may exist on the World Wide Web as well as within your corporate enterprise,…
WebSphereLogoNew.pngRecently, I had trouble sharing a security context between WebSphere Portal and a custom web app deployed on the same server. It was for a mobile app that provides a JSON/XML REST API to content and services from Portal 6.1.5. For this to work, we needed the currently authenticated portal user, but since it was a separate web app deployed on the app server, and not a portlet or set of resources deployed within the portal, it was a challenge.…
When I’m not quite sure how to get exactly what I need out of the request URL, I write some stanza that spits out the value of just about every relevant getter method on the javax.servlet.http.HttpServletRequest object. I’ve done this more than once. To be honest… more than twice – probably three or more times. I feel really bad about it, honestly. You know what I’m talking about? It looks something like this:  @RequestMapping(value="/root/**", method = RequestMethod.…
WebSphereLogoNew.pngWhen developing services around IBM’s Web Content Manager (WCM), it can be very useful to know when items have changed. Suppose, for example, that you’re maintaining an in-memory cache of taxonomy categories. You don’t want to access the database and refresh the entire cache on a timer, especially if the taxonomy is particularly large.…
Mike Minardi, our CEO at Base22 http://base22.com/, just sent us a quote from a CIO profile on InformationWeek, reminding us that the more we know about our client’s business, the better we can serve them. “I would like our tech vendors to know us better, to understand USAA’s mission and be able to show us exactly how they can help us achieve our goals. More often than not, tech vendors come to sell us a product — we have to figure out if it will help us and if and how we should best use it.…
I’ve always felt stupid for writing a simple Spring controller just to return a view when no controller logic is required. Turns out, I was right; there is a better way. So, okay. I was stupid, but now I know and here it is.   Since Spring 3.0, you can use the following tag in your XML configuration: <mvc:view-controller path="/" view-name="home"/>   That’s an example of a view-controller definition that forwards to a home page without any custom backing controller. The Spring 3.0 documentation http://static.springsource.org/spring/docs/3.0.</mvc:view-controller>…
Linked Data - Where the Web is at and where the enterprise is going. “Where the Web has been, the enterprise is going,” says Dr. David Wood, CTO of 3 Round Stones http://3roundstones.com/, in his 3 Minute Executive Briefing video on Linked Data (embedded below). The truth of that statement is underscored by the recent trends of ‘Mobile’ and ‘Social’ for the enterprise. Though the force of Mobile in commerce has been unquestionable for years,…
OSLC.pngLinked Data, a relatively new paradigm that promises to transform today’s Web of documents into a web of data, is already transforming the software development lifecycle. Leading vendors are improving interoperability of lifecycle tools and collaborating together to advance the industry with Open Services for Lifecycle Collaboration (OSLC) http://open-services.net/ – a set of standards built upon the Linked Data paradigm.…
George_A_Miller_APS_convention_1989.pngIn my previous post of the IA Files, I promised I would begin to share best practices for building effective website navigation systems. One “rule of thumb” at the top of my list relates toNavigation Breadth and Depth. The first part of this rule says that static navigation menus should not exceed 7 (plus or minus 2) items. The second rule says that the depth of static navigation systems should not exceed three levels.…
LinkedOpenDataThumb.pngLast week at the Center for Open Middleware in Madrid, Spain, history was made. The World Wide Web Consortium’s Linked Data Platform working group concluded a third face-to-face meeting in which the finer points of an emerging specification were vigorously debated. Being the dumbest guy in the room is not usually something to be proud of, but I’m lucky to have been there.…
ibm_rational_application_developer_icon_by_ricksoft-d4yfiut.pngI’ve been waiting for this for a long time. The Rational Application Developer V9.0 Beta is now available and finally, it can be installed on Mac OS X! You can download Rational Application Developer V9.0 Beta https://www.ibm.com/developerworks/community/blogs/wasdev/entry/downloads_early_programs?bypass=bypass&lang=en from the the Early Access Releases area of IBM’s WASdev Community site.…
eclipse_icon.pngI am such a lazy dunce! I can’t believe how long I’ve been using Eclipse without knowing this. I just learned that you can automatically build and and consume one project into another as a Java jar file in your Eclipse or Rational IDE. This will save you from having to right-click and export every time you change code in the project that’s consumed. Or it can save you from having to write a build script just for this purpose,…
CentOS-logo-150x.pngToday, I had to install the Java plugin for 64bit Firefox on CentOS 6.4. The procedure wasn’t too bad, but it wasn’t exactly straight-forward either. So, I’m recording what worked for when I have to do it again. Hopefully, you might find it useful too. This is not a descriptive tutorial; it’s just quick notes, so you may have to do a little reading between the lines. Java must be installed on the system first.…
paperTaxonomy.pngIn my previous post in the IA Files, we took a look atdefinitions – those things you typically find in dictionaries or, perhaps more commonly today, when you type ‘define word‘ in a Google search. A definition states the meaning of a concept and distinguishes it from all others, thus preserving the logical order of a concept’s hierarchical interdependence.…
  java_logo_150x150.pngWith Servlet 3.0, it’s now possible to define your servlet using annotations instead of XML in the web deployment descriptor (web.xml). This can simplify maintenance and deployments because it keeps the servlet definition inline with the servlet’s actual code – everything’s conveniently found and managed together in one file. For those of you ready to start evolving into Java EE 6, here’s the essential information you need to know.…
Musing on nostalgia
ancientJavaDoc.pngSo, I just stumbled onto this butt-ugly JavaDoc page, which reminds me of the early nineties and I have to say, it gave me a strange, warm-fuzzy kind of feeling. The last time I saw a JavaDoc like this, applets were actually cool. Coolio’s Gangsta’s Paradise comes to mind. Michael Jackson is still alive (perhaps also still cool). Spielberg’s Jurassic Park is the shiznit. Internet Explorer wasn’t even born yet (the good old days). This is what they call nostalgia.…
readTheFnManual.pngA lot of the things we’ve learned about software development have just been sort of ‘absorbed’ over time by reference to other examples. We assume that what we’re doing is right or that there’s not much more to know about one thing or another. To guard against such dangerous assumptions, I have this ‘back to basics’ thing I like to practice. Instead of assuming that I know, I assume that there is much I don’t know, which is usually always true. So, I go back to the basics.…
thumb_video_player.pngMy colleague, José (Pepe) Martínez http://base22.com/about/team-bios/jose-pepe-martinez/, just posted a very interesting solution for embedding videos inline to WCM content items. To summarize the problem, he wrote:     Authors can be a little or a lot scared of writing HTML code, and inserting videos into a web page can usually be challenging for a non tech-savy author. On top of that,…
WebSphereLogoNew.pngRecently, I had some trouble installing IBM WebSphere Portal 8 using the IBM Installation Manager. To save you from the same struggle, here’s the solution that worked for me. A prerequisite for installing WebSphere Portal 8 is IBM WebSphere Application Server 8.0.0.5. If you select that as the version of WAS to install using the Installation Manager, however, WebSphere Portal 8 may not install afterwards.     As it turns out,…
thumb_definition.gifIn my previous post in the IA Files, I introduced the role of concepts in human cognition and language. I wrote about how concepts are formed in a process that involves both differentiation and integration. Being conscious of that process can help you become a better Information Architect (IA). Today we continue building on this foundation with a look atdefinitions. A definition states the meaning of a concept and distinguishes it from all others.…
girlWithiPadPortal1.png As you may know by now, WebSphere Portal 8.0.0.1 released recently http://localhost:8080/2013/01/28/8001-update-websphere-portal/with a handful of exciting new features. With them are ten new concepts related to theming, which have been documented in theWebSphere Portal family wiki http://www-10.lotus.com/ldd/portalwiki.nsf/xpViewCategories.xsp?lookupName=Developing+Themes+for+WebSphere+Portal+8.0.0.1.         Knowledge is power,…
WebSphereLogoNew.pngHere’s an example wasadmin script (in Jython) that demonstrates how to create and/or update custom properties for resource environment providers. This one, in particular, is a good template for scripting the creation and/or updating of dynamic content spot mappings for a WebSphere Portal theme. First, I want to give a shout out to Gabriel Aberasturi http://www.linkedin.com/pub/gabriel-aberasturi/11/97a/52a,…
Happy Valentines Day!
benjaminValentine-150x150.pngHappy Valentines Day, dear readers; I love you (but not like that). I’m lazy, so I’ll just reshare the card floating around the office today, which features Benjamín Aguilar, one of two winners of the most esteemed award given by Base22 founders for being awesome, and my arm-wrestling nemesis. If you’re reading this, Benjamín, all I can say is… soon, brotha… soon. I’ve been working out. And thanks, Paulina, for this fabulous art!…
WebSphereLogoNew.pngSince the release of IBM WebSphere Portal 7, there have been a number of Portal EL beans http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Portal_EL_Beans exposed for access in your theme. EL beans are Java objects that can be used with the JSTL Expression Language. One of these objects, the AccessControlRuntimeModelBean, provides convenient access to the current access control permissions on a resource.   In the default Portal 8.0 theme, for example,…
wcmNameAndDisplayTitleThumb.pngBy default, the Display title, rather than the Name is displayed for items in the authoring UI for IBM Web Content Manager (WCM). It may be desirable to see the name instead. This can give authors the ability to use special naming conventions, acronyms, or codes in item names while still keeping a user friendly Display name for end-users and the search engine. If you’d like to switch the default configuration for your authors,…
WebSphereLogoNew.pngToday I’m writing from sunny Orlando, Florida where I’ll be spending the week with my colleagues, customers, and partners at what I’m pretty sure is IBM’s largest annual conference: IBM Connect 2013 (that’s Lotusphere and last year’s Connect conferences now combined). I heard, but cannot confirm, that there are at least 6000 people registered this year. Among them are some of the actual designers and engineers of the fighter jets we like to fly: IBM WebSphere Portal,…
WebSphereLogoNew.pngXMLAccess is a command-line utility for exporting and importing various portal configuration settings in an XML format. The utility takes an XML file as input and produces an XML file, which is the results of the input. It’s a very common way of moving configuration settings from one environment to another. On the portal file system, there are number of useful samples, which can be used as-is or a basis for creating your own scripts.…
skype-icon-150x150.png At Base22, we have a channel on Skype that we use to exchange key information such as when we’re bouncing a server or when we’re polling the staff for ideas to resolve some issue. Of course, there’s also a bit of lighthearted play that goes on. For example, here’s some content from today’s Skype chatter that I thought was amusing. Team pride – HOOYA!   The Pep Talk for New Recruits Today, you people are no longer maggots. Today, you are Base22 consultants.…
WebSphereLogoNew.pngSince the release of IBM WebSphere Portal 7, there have been a number of Portal EL beans http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Portal_EL_Beans exposed for access in your theme. EL beans are Java objects that can be used with the JSTL Expression Language. One of these objects, the UserBean, provides convenient access to the defined user attributes of the authenticated user. In the default Portal 8.0 and CTC 3.1 theme, for example,…
concepts.pngWe are all information architects. It’s just what we do. It’s what makes us human. Our ability to organize and classify information, to conceptualize and abstract – they’re what differentiate us from all other animals on the planet. It’s no wonder that information architecture is so fascinating; it goes to the very heart of our humanity. It’s not only interesting to think about – it is itself what makes thinking possible!…
TheRedPill.pngThose who practice user-centered design might say that Information Architecture (IA) is all about organizing information in a way that is most useful and meaningful to end-users. Indeed that’s a big part of it, but certainly not all. If that were really all there was to it, we could just call it Information Organization. But Architecture implies more; it implies both art and science, both process and product. It implies planning, design, and construction.…
work-life-balance.pngThere was a time when the concept of Work/Life Balance was good, but it’s starting to sound like corporate HR bullshit now. The concept was invented to help address new conflicts that rose when technology blurred the boundaries of the traditional workday and workplace. And that’s all well and good, but there’s a flip-side to it that can actually hurt rather than help you.   Work/Life Balance brings attention to whether or not your work and life are balanced. And it should,…
404_thumbnail.pngThe other day, I got a tweet from my buddy, Dave Hay, who blogs on A Portal to a Portal. He was looking for a post I had in my former blog before a lot of that content was lost. I looked on the Internet Archive Wayback Machine http://archive.org/web/web.php, which allows you to look at the Web as it was in the past and I found the content so I’m reposting it. Dave has since added more information to this subject,…
vmware_fusion.jpgHere’s my procedure for shrinking a Windows virtual machine on VMWare Fusion for the Mac. I should give credit to “Mmc” who posted the original procedure http://techblog.41concepts.com/2008/03/31/Shrink-Your-Windows-Disk-Image-On-Wmware-Fusion-Mac/ back in March 2008, which continues to dominate in Google search results. That procedure is out of date, however, so I reckon it’s time for an update. Make a backup of the VM (just to be on the safe side).…
UserImpersonationGraphic.pngUser Impersonation is a feature in WebSphere Portal that allows select administrative users to take on the profile of other users without having to know their login credentials. This allows the administrative user to evaluate the user experience from the impersonated user’s perspective. It can be quite handy for portals where security and personalization play a heavy role or where help-desk and support staff really need to see exactly what the end-user sees.…
Yesterday’s Web is one of linked documents. Tomorrow’s Web is one of linked data. The technology is here now, the links are being made, and the Semantic Web is barreling down the mountain like a growing snowball. Prepare yourself for impact with this introductory TED talk by the father of the Web himself, Sir Tim Berners-Lee.  http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html http://www.ted.com/talks/tim_berners_lee_on_the_next_web.…
RADnANT.pngYou can configure your project to use an Apache Ant http://ant.apache.org/ script to build automatically, rather than with the default Java Builder in Rational Application Developer (RAD). This is valuable when you need a more sophisticated build process, but you still want the efficiency and convenience of an automatic build in the IDE. It’s alo useful if you simply need to trigger additional tasks after a ‘clean’, during a ‘clean’, in the manual build, or in the automatic build.…
velocityTemplate.pngContent Manager with a custom rendering plugin that integrates theApache Velocity Engine http://velocity.apache.org/engine/index.html. This enables users to use Velocity templates within WCM content, which can give them JSP-like capabilities without the need for server-side deployments. In Part 1, we created a custom rendering plugin.…
My Momma Used to Say
As the new year approaches, I’ve been thinking about my mom. She was about my age when she died and she often said to me that if you don’t have your health, nothing else is worth having. Chronically depressed, obese, on a daily regimen of both pharmaceutical and narcotic drugs – I figure she knew what she was talking about. This is the same woman I knew as a child; the one who painted herself free and naked on a cliff overlooking the canopy of a lush green forest.…
So you know that scene in The Avengers where the Hulk beats the crap out of Thor’s brother, Loki?   That’s kind of how I felt this week attempting to install Combined Cumulative Fix 03 (APAR PM74094) on WebSphere Portal 8. And because I love you, dear reader, I would like to save you from getting the same seven bales of crap knocked out of you. If you’re planning on applying the fix anytime soon, then you may want to take note.  First,…
DManager150x150.pngWhen configuring WebSphere Portal to use the federated repository for non-prod environments, you have the option to leave the wasadmin and wpsadmin users in the defaultWIMFileBasedRealm. With this configuration, you should be able to login to the deployment manager and WebSphere Portal even if your federated user repository is down. I learned today, however, that it’s not enough to simply leave the administrative users there.…
velocity-template-150x150.pngIn this multi-part series, you will learn how to make your developers and advanced content authors happy by extending IBM Web Content Manager (WCM) with a custom rendering plugin that integrates the Apache Velocity Engine http://velocity.apache.org/engine/index.html. Your users will then be able to use Velocity templates within WCM content, which can give them JSP-like capabilities without the need for server-side deployments.…
the-grimm-reaper-150x150.jpgNot long ago, my doctor identified an unusual pattern in my ECG. In case you didn’t know, an ECG (electrocardiogram) is a device which measures the electrical activity of your heart as it beats. It scribbles little waves on a piece of paper, sort of like a lie detector – only this thing is measuring the most vital organ in your body and it tells only truth. Truth, which in my case was not good. So,…
Tailing the WebSphere Portal log files allows you to watch the logs in real-time as they roll. In Unix or Linux it can be done with the command tail -f System.out.log. There is no such command for Windows, but several tools are available which provide this functionality. The one I use is WinTail (WinTail.exe) from baremetalsoft.com http://www.baremetalsoft.com/wintail/. Here’s how you can setup WinTail to watch your Portal log file.   Download WinTail.exe from the link given above.…
WCM developers who have editor access to a search component may not have appropriate access to the search collection that the component refers to. In this case, the WCM developer may see a warning message in the WCM authoring UI, which states: “The search collection: <CollectionName> could not be found. Please create the collection or select another one.” The search collection selected in the component will also be tagged as [missing].</CollectionName>…
Fat makes your Web content ugly. Face it, friends – it’s a fact. So, I’m going to get straight to the point and leave you with the Here’s the big tip now: Make REDUCTION a conscious part of your Web authoring process. Teach this to your colleagues friends. Have competitions in your office to see who can destroy the most useless words. There is too much shit on the Web already and we just don’t need any more, dammit. Add value, be crisp, be succinct, or get off the pot. I’m reading the book,…
The user impersonation feature in WebSphere Portal allows specified users or groups the ability to assume the profile of others. In this way, administrators or help-desk staff can view a personalized and secured portal the way another end-user sees it. Of course, depending on the types of content and services you provide, this could be a security risk. If you have features that should not be accessed, even in impersonated sessions, you may need to wrap those features with some specialized logic.…
Did you know there’s a tool that can help you search through JAR files to find Java classes or packages? I’ve been using it for years and I am often surprised that so few Java developers have it in their toolbox. Of course, it’s very handy for resolving those pesky NoClassDefFoundError and ClassNotFoundExceptions,…
A Java ClassNotFound exception does not always mean that a class could not be found on the classpath. It seems that sometimes it can mean that the class was actually found 2 or more times – a conflict in the classloader. Recently, while developing a portlet for WebSphere Portal, I got the following exception: Caused by: java.lang.ClassNotFoundException: javax.el.ELException  My portlet ran fine in my local development environment, but when I deployed it to Production, it crapped out.…
Presented in March, 2006 at the IBM Technical Leadership Exchange. http://www.slideshare.net/CodyBurleson/introduction-to-the-semantic-web-vision-and-technologies http://www.slideshare.net/CodyBurleson/introduction-to-the-semantic-web-vision-and-technologies    
A 10 minute "Lunch Byte" in a series designed to help you improve your skills in developing websites using IBM Workplace Web Content Management. This episode focuses on WCM security.    
A 10 minute "Lunch Byte" in a series designed to help you improve your skills in developing websites using IBM Workplace Web Content Management. This episode focuses on the role and capabilities of a Library in WCM.      
What it means to be a portal and a portlet may be changing. With Google Gadgets http://web.archive.org/web/20090702082524/http://www.google.com/webmasters/gadgets/, OpenSocial http://web.archive.org/web/20090702082524/http://code.google.com/apis/opensocial/, and Apache Shindig http://web.archive.org/web/20090702082524/http://incubator.apache.org/shindig/, application functionality can now be delivered to any page on the web, backed by any variety of web and application servers. Using only HTML,…
This is one of those little problems that seem so simple that any bone-head could figure it out. That's why I felt particularly stupid for struggling with it. Of course, the first thing I did was Google for the answer and since that did not help initially, I thought I should now post the solution. Example use-case situation: I'm rendering pins on a map using the Google API. I'm choosing my pins based on file names like 'blue-a.png', 'blue-b.png', blue-c.png', and so forth. In this way,…


  • No labels