APC UPS Battery Replacement

UPS serviced by ClixLogic, Inc

Problem:

APC UPS battery needs replacement

Cause:

Umm.. because it’s already past its lifespan? The biggest sign that it needed replacement that day was when the UPS won’t turn on after dying.

No, wait, the biggest sign was the fact that I had to pry open the battery cover because the battery already expanded like those bulging MacBook Pro batteries two years ago.

Solution:

ClixLogic, Inc. handles the servicing of APC products in the Philippines.

Their Manila office is Brgy. Holy Spirit in Quezon City so for people living in southern part of Metro Manila, bringing and retrieving a heavy device all the way there can be difficult. Fortunately, they have a closer drop-off point, Signal Telecom, at V-Mall Greenhills.

Here’s how I got my UPS’s battery replaced:

  1. I brought my UPS to Signal Telecom at the 3rd floor of V-Mall and told them I was there to have the battery replaced. They took the device, gave me an order slip/receipt, and told me to call ClixLogic informing them of my service request. I didn’t pay anything at this point.
  2. Called ClixLogic. They said they’ll pick it up from Signal Telecom the next time they go there (usually Fridays).
  3. Once they saw the UPS in Signal Telecom, a ClixLogic employee texted me their quotation for the battery replacement (1.8k for a BK650-AS RB17 battery) and asked for confirmation of the job. Obviously, I gave them the go signal.
  4. After about 3 weeks of no response, I followed up my service request by calling their office last Friday. I don’t know if there was a mix-up involved, but regardless, they said they’ll deliver the UPS to Signal Telecom on Monday.
  5. A guy from Signal Telecom texted me today that my UPS is now with them.
  6. I went to Signal Telecom, showed them my order slip, paid the 1.8k, and got my UPS back.

I’m not good with RMAs or the like so depending on your diskarte, you might be able to get your battery replaced with less hassle.

Next up, RMA-ing a Seagate hard drive.

Object Oriented Programming Basics

sample OO class diagram

As you may already have read in my previous posts, one of my biggest pet peeves in the IT industry today is that a lot of people are using Object Oriented Programming (OOP) without even understanding the basic concepts behind it. They’re not using OOP for its benefits over the previous generation’s simple structured procedural programming; they’re using it simply because the language they’re coding in is OOP (e.g. Java, .NET).

To put it bluntly, it’s like writing spaghetti code in a structured programming language.

With this being my perspective about the local status quo, I feel that I have to post about the basics of OOP before moving on to the other fun stuff related to programming.

Continue reading “Object Oriented Programming Basics”

Developer Nomenclature

I might as well get this one out before I write other software engineering posts.

You might have noticed that I rarely use computer programmer when talking about people crafting software. This is simply because crafting quality software requires a lot more than knowing how to code programs.

Recall the waterfall model:

Waterfall Model

As mentioned in my post, it’s flawed, but only for its flow. The steps, from System Requirements up to Operations, are still applicable in the creation of all client-based software systems.

As you can see, Coding (or in technical terms, Construction), while still a very important part of software development, is just one of the seven steps in development. Of course it doesn’t take only 1/7th of the total project effort, but in practice it only takes 50-20% of the total effort: the larger and the less agile the project, the less effort is spent on construction.

That said, in the context of software development, the term programmer is sometimes used as a pejorative, implying that the person’s only job is to code programs based on designs handed down to him by Analysts or Software Architects. In other words, he’s just a grunt.

I personally don’t consider the term to be a pejorative, especially since I personally don’t mind getting my hands dirty with grunt work. So yes, I’m proud to be a computer programmer. However, I won’t use that term in my posts because, as I said above, it’s too narrow.

In place of “computer programmer”, you would see me use the terms software developer and software engineer interchangeably.

Both terms solve the problem posed by “computer programmer”, namely, that both titles span the entire software development life cycle. Software developers are not limited to computer programming. They can also be analysts that gather and process the user’s requirements, or architects that design from a much higher standpoint than analysts. They can also be in specialized roles other than programming like QA Testers and DBAs. They can even be Project Managers, a role that don’t have any direct relationship to the crafted system itself.

The only practical difference between the two terms is that some people shy away from software engineer because as it stands software engineering is still mostly a misunderstood buzzword rather than a serious profession. You have guys saying “I’m a software engineer!” but fail to grasp the basic concepts of software engineering from project management (e.g. Brook’s Law, Peter Principle) down to construction (e.g. basic OOP concepts).

But then again I’m unfazed by that concern. I’m still hoping that the day will come that our profession would be a lot more respectable than it is now, so for that dream, I’ll be using the two terms interchangeably.

Feynman Lectures at Project Tuva

Richard Feynman

As you may have guessed from some of my posts a couple of months ago, physicist Dr. Richard Feynman is one of my favorite scientists. While it is true that I only came to know about him after graduating from college, his work in promoting proper scientific and engineering procedures, as shown by his cargo cult speech and his demonstration of the O-ring failure in the Challenger disaster, has inspired me to… well… put back the “science” back in “computer science” and “engineering” back in “software engineering”.

Beyond his contributions to physics and his storied biography, Dr. Feynman is also known for his teaching ability. During his years as a professor, he was able to explain clearly the complex concepts of physics to college students—an impressive feat during his time.

With the wonders of modern technology (and the size of Bill Gate’s wallet), the public can now watch some of Dr. Feynman’s lectures. According to Microsoft’s press release:

REDMOND, Wash. — July 14, 2009 — Microsoft Research, in collaboration with Microsoft Corp. Chairman Bill Gates, today launched a Web site that makes an acclaimed lecture series by the iconic physicist Richard Feynman freely available to the general public for the first time. The lectures, which Feynman originally delivered at Cornell University in 1964, have been hugely influential for many people, including Gates. Gates privately purchased the rights to the seven lectures in the series, called “The Character of Physical Law,” to make them widely available to the public for free with the hope that they will help get kids excited about physics and science.

The historic lectures and related content can be seen at http://research.microsoft.com/tuva. The name “Tuva” was chosen because of Feynman’s lifelong fascination with the small Russian republic of Tuva, located in the heart of Asia.

Feynman was one of the most popular scientists of the 20th century, equally regarded for his scientific insights as well as his ability to convey his enthusiasm for science through his lectures and writings. He shared the Nobel Prize in Physics in 1965 and was also known for his quirky sense of humor and eccentric and wide-ranging interests.

I’ve only seen the first two videos and I can say that they are fun to watch. Dr. Feynman may have his awkward moments (he made a discussion flow mistake in the first video) but overall we can see how well he engages his audience as discusses the lesson. One thing to note in the video is how lectures were presented back then, namely, how Dr. Feynman relies on slides only as visual aids and not as some summary tool. (For the record, I hate it when people use PowerPoint slides with more than one line of text for teaching.)

You might be worried about the “freshness” of his lectures, especially considering that these lectures were made in 1964. Fortunately, unlike some other fields of science, the understanding of the fundamental laws of physics haven’t changed much in the past 45 years. A college student will find these lectures as informative as they were back then.

Color of the Bikeshed

bikeshed

Here’s yet another nice bit of information I found while browsing Wikipedia last year. I’m sure many of you would be able to relate to the scenario described below.

From Parkinson’s Law of Triviality:

Parkinson’s Law of Triviality (also known as the bicycle shed example, and by the expression colour of the bikeshed) is C. Northcote Parkinson’s 1957 argument that organisations give disproportionate weight to trivial issues.

The concept is presented in C. Northcote Parkinson’s spoof of management, Parkinson’s Law (1957). Parkinson dramatises his Law of Triviality with a committee’s deliberations on a nuclear power plant, compared to deliberation on a bicycle shed. While discussing the bikeshed, debate emerges over whether the best choice of roofing is aluminium, asbestos, or galvanised iron, rather than whether the shed is a good idea or not. The committee then moves on to coffee purchasing, a discussion that results in the biggest waste of time and the most acrimony.

A nuclear reactor is so vastly expensive and complicated that people cannot understand it, so they assume that those working on it understand it. Even those with strong opinions might withhold them for fear of being shown to be insufficiently informed. On the other hand, everyone understands a bicycle shed (or thinks he or she does), so building one can result in endless discussions: everyone involved wants to add his or her touch and show that he or she is there.

So the next time your boardroom meeting degenerates to a “pissing match” over trivial things, you now have a less vulgar term to describe it. :P

Further reading: Why Should I Care What Color the Bikeshed Is?