A new version of the Joel Test (draft)

0 comments
(This article is a draft - your comments are especially welcome as I think through these issues. Please leave feedback!)

I am convinced one of Joel Spolsky's lasting contributions to the field of managing software teams will turn out to be the Joel Test, a checklist of 12 essential practices that you could use to rate the effectiveness of a software product development team. He wrote it in 2000, and as far as I know has never updated it.

I have been thinking a lot about what a new version of this test would look like, given what I've seen work and not work in startups. Like many forms of progress, most of the items on the new test don't replace items from Joel's - they either supplement or extend the ideas on which the original is based.

Let's start with the original list:

  1. Do you use source control? This is still an essential practice, especially on the web. There was a time when "web content" was considered "not code" and therefore not routinely source controlled. but I have not seen that dysfunction in any of the startups I advise, so hopefully it's behind us. Joel mentions that "CVS is fine" and so is Subversion, its successor. I know plenty of people who prefer more advanced source control system, but my belief is that many agile practices diminish the importance of advanced features like branching.
  2. Can you make a build in one step? You'd better. But if you want to practice rapid deployment, you need to be able to deploy that build in one step as well. If you want to do continuous deployment, you'd better be able to certify that build too, which brings us to...
  3. Do you make daily builds? Daily builds are giving way to true continuous integration, in which every checkin to the source control system is automatically run against the full battery of automated tests. At IMVU, our engineering team accumulated thousands upon thousands of tests, and we had a build cluster (using BuildBot) that ran them. We did our best to keep the runtime of the tests short (10 minutes was our target), and we always treated a failing test as a serious event (generally, you couldn't check in at all if a test was failing). For more on continuous deployment, see Just-in-time Scalability.
  4. Do you have a bug database? Joel's Painless Bug Tracking is still the gold standard.
  5. Do you fix bugs before writing code? Increasingly, we are paying better lip service to this idea. It's incredibly hard to do. Plus, as product development teams in lean startups become adept at learning-and-discovery (as opposed to just executing to spec), it's clear that some bugs shouldn't be fixed. See the discussion of defects later in this post for my thoughts on how to handle those.
  6. Do you have an up-to-date schedule? This, along with #7 "Do you have a spec?" are the parts of the Joel Test I think are most out-of-date. It's not that the idea behind them is wrong, but I think agile team-building practices make scheduling per se much less important. In many startup situations, ask yourself "Do I really need to accurately know when this project will be done?" When the answer is no, we can cancel all the effort that goes into building schedules and focus on making progress evident. Everyone will be able to see how much of the product is done vs undone, and see the finish line either coming closer or receding into the distance. When it's receding, we rescope. There are several ways to make progress evident - the Scrum team model is my current favorite.
  7. Do you have a spec? I think the new question needs to be "does the team have a clear objective?" If you have a true cross-functional team, empowered (a la Scrum) to do whatever it takes to succeed it's likely they will converge on the result quickly. You can keep the team focused on customer-centric results, rather than conformance to spec. Now, all well-run teams have some form of spec that they use internally, and Joel's advice on how to craft that spec is still relevant. But increasingly we can move to a world where teams are chartered to accomplish results instead of tasked with creating work on spec.
  8. Do programmers have quiet working conditions? Joel is focused on the fact that in many environments, programmers are considered "just the hired help" akin to manual labor, and not treated properly. We always have to avoid that dysfunction - even the lean manufacturing greats realized that they couldn't afford to see their manual-labor workforce that way. I think we need to modify this question to "Do programmers have access to appropriate working conditions?" We want every knowledge worker to be able to retreat into a quiet haven whenever they need deep concentration. But it's not true that energized programmers primarily do solitary work; certainly that's not true of the great agile teams I've known. Instead, teams should have their own space, under their control, with the tools they need to do the job.
  9. Do you use the best tools money can buy? Joel said it: "Top notch development teams don't torture their programmers." Amen.
  10. Do you have testers? I think reality has changed here. To see why, take a look at Joel's Top Five (Wrong) Reasons You Don't Have Testers. Notice that none of those five reasons deals with TDD or automated testing, which have changed the game. Automated testing dramatically reduces the cost of certifying changes, because it removes all of the grunt work QA traditionally does in software. Imagine a world where your QA team never, ever worries about bug regressions. They just don't happen. All of their time is dedicated to finding novel reproduction paths for tricky issues. That's possible now, and it means that the historical ratio of QA to engineering is going to have to change (on the other hand, QA is now a lot more interesting of a job).
  11. Do new candidates write code during their interview? Completely necessary. I would add, though, a further question: Do new employees write code on their first day? At IMVU, our rule was that a new engineer needed to push code to production on their first day. Occasionally, it'd have to be their second day. But if it languished until the third day, something was seriously wrong. This is a test of many key practices: do you have a mentoring system? Is your build environment difficult to set up? Are you afraid someone might be able to break your product without your automated defenses knowing about it?
  12. Do you do hallway usability testing? I love Joel's approach to usability, and I still recommend his free online book on UI design. Some people interpret this to mean that you have to do your usability "right" the first time. I strongly disagree. Usability design is a highly iterative process, and the more customers who are involved (via in-person interview, split-test experiment, etc) the better.

Now let's take a look at some new questions:

Do you work in small batches? Just like in lean manufacturing, it's generally more efficient to drive down the batch size. I try to encourage engineers to check in anytime they have the software in a working state in their sandbox. This dramatically reduces the waste of integration risk. We rarely have code conflicts, since nobody gets out of sync for very long. And it's way easier to deploy small bits of code, since if something goes wrong, the problem is automatically localized and easy to revert.

Do you routinely split-test new features? I hope to write at a future date about how to build your application so that A/B tests are just as easy as not doing them.

Do you practice Five Why's? Joel himself has written about this topic, in the context of doing root cause analysis to provide excellent quality of service without SLAs. I'm not aware of anyone using this tool as extensively as we did at IMVU, where it became the key technique we used to drive infrastructure and quality improvements. Instead of deciding upfront what might go wrong, we use what actually went wrong to teach us what prevention tactics we need to do. Our version of this was to insist that, for every level of the problem that the post-mortem analysis uncovered, we'd take at lesat one corrective action. So if an employee pushed code that broke the site, we'd ask: why didn't our cluster immune system catch that? why didn't our automated tests catch it? why couldn't the engineer see the problem in their sandbox? why didn't they write better code? why weren't they trained adequately? And make at all five of those fixes.

Do you write tests before fixing bugs? If a bug is truly a defect, then it's something that we don't want to ever see again. Fixing the underlying problem in the code is nice, but we need to go further. We need to prevent that bug from ever recurring. Otherwise, the same blindspot that lead us to create the bug in the first place is likely to allow it happen again. This is the approach of test-driven-development (TDD). Even if you've developed for years without automated tests, this one practice is part of a remarkable feedback loop. As you write tests for the bugs you actually find and fix, you'll tend to spend far more time testing and refactoring the parts of the code that are slowing you down the most. As the code improves, you'll spend lest time testing. Pretty soon, you'll have forgotten that pesky impulse to do a ground-up rewrite.

Can you tell defects from polish? Bugs that slow you down are defects, and have to be fixed right away. However, bugs that are really problems with the experience design of your product should only be fixed if they are getting in the way of learning about customers. This is an incredibly hard distinction to understand, because we're so used to a model of product development teams as pure "execution to spec" machines. In that model, anything that the product owner/designer doesn't like is a bug, and Joel's right that we should always fix before moving on (else you pile up an infinite mound of debt). However, in the learning phase of a product's life, we're still trying to figure out what matters. If we deploy a half-done feature, and customers complain about some UI issues (or split-tests demonstrate them), we should refine and fix. But oftentimes, nobody cares. There are no customers for that feature, UI issues or no. In that case, you're better off throwing the code away, rather than fixing the UI. The hardest part is forcing yoursel fot make this decision binary: either continue to invest and polish or throw the code out. Don't leave it half-done and move on to new features; that's the fallacy Joel tried to warn us about in the first place.

Do your programmers understand the product they are building and how it relates to your company's strategy? How can they iterate and learn if they don't know what questions are being asked at the company's highest levels. At IMVU, we opened up our board meetings to the whole company, and invited all of our advisers to boot. Sometimes it put some serious heat on the management team, but it was well worth it because everyone walked out of that room feeling at a visceral level the challenges the company faced.

What other questions would you ask a brand-new startup about its product development practices? What answers would predict success?
Reblog this post [with Zemanta]

Read More »

Smarticus — 10 things you could be doing to your code right now

0 comments
Smarticus — 10 things you could be doing to your code right now

A great checklist of techniques and tools for making your development more agile, written from a Rail perspective. Of the techniques he mentioned, I think four are fundamental and critical for any lean startup:

TDD (or the even more politely named TATFT)
Continuous integration
Automate your deployments
Collect statistics

The tools to help you do these things are getting better and better every day, but don't confuse tools with process. Whatever state your code or team is in, you can always start going faster. Or to borrow from a military context (John Boyd) "people-ideas-hardware, in that order."
Reblog this post [with Zemanta]

Read More »

Seth Godin: How often should you publish?

0 comments
Is it too self-referential to post a blog entry about someone else's blog entry about how often to write a blog entry? I dunno. But Seth Godin is a great writer, so I don't see why I can't crib from him whenever. His post is ostensibly about how often to release new work (whether you're a blog writer, movie star, software team...) but it's really about how to manage your effort between what he calls the frontlist and backlist. Here's my favorite part:

If you've got a team, part of the team should obsess about the backlist, honing it, editing it and promoting it, while the rest work to generate (as opposed to promote) the frontlist.

The opportunity isn't to give into temptation and figure out how to recklessly and expensively market the frontlist. It is to adopt a long and slow and ultimately profitable strategy of marketing your ever-growing backlist.

I see startups struggle with this all the time. Life is so easy in the days before the "launch" - you just focus on building and polishing those new features. But then what? You have customers, they are using your product, and you are trying to help them. But you're also trying to build and polish new features. And fix the ones from before. And polish them more. And maybe even learn something along the way.

My career has been full of "student body right" moments, where the whole team is suddenly forced to change direction. Often, it's just a reaction to a deficit of frontlist or backlist work. The leadership art is to balance the needs of the present with the needs of the future. Seth's post doesn't tell us how to do that, but he at least clues us in to this essential idea: that we have to make sure to do it at all. I wish he'd mentioned it a little sooner...

Update: bonus thought from Dharmesh Shah's 8 Startup Insights Inspired By The Mega Mind of Seth Godin:

6. Beware The Need for Critical Mass

I’m going to lead with a quote from Seth on this one: “Failing for small audiences is a loud cue that you will fail even bigger with big audiences.” Too often, startup founders talk about how they are pushing to get to “critical mass” and how “economies of scale” are going to kick in. That’s all fine and dandy. I get it. I’ve been in the software industry for a long time. But, is it absolutely, positively necessary to get to some “critical mass” before your business starts to make any sense at all? Is that mass all that critical? Does it have to be?

Can’t you make some kind of business out of something that looks a bit like this:

Mass You Have < The Magical Mass That Is Critical

Why do so many startups have these mythical, magical numbers (“once we hit 1,000,000, users rainbows are going to spontaneously pop out of nowhere and magic fairy dust will fall out of the sky and make our financials look sooo much better”).





Read More »

Gulp

0 comments
I'm still alive and everyone is okay.

Actually, I've been working on a new project for work, which is exciting AND...remember that writing course I splurged about a while back? Well, it's started and it's intense.

But I promise I'll be back soon. In fact, in all this overload I've even started fleshing out a running blog...but one that's geared toward women and especially mom's.

And as soon as I publish this post, I'm going to re-read this earlier post. Because there I go again, opening my mouth.

So stay tuned.

Splurge-less

We have not been splurging one bit. But as the weather gets cooler and I grow more tired, I can't help but daydream about this little ensemble.

Read More »

Waves of technology platforms

0 comments
I still remember the first time I switched to LAMP. I was building a new startup in 1999, and wanted to do it right. I had heard that all great companies built their applications on Oracle. So one of the first things we did was to hire an Oracle expert and get to work. Our paltry funding didn't allow us to buy expensive Sun or SGI boxes, but we had a pretty beefy intel-based box from Dell. We had just heard about Oracle's support for Linux, so we installed Red Hat and tried to install Oracle. We tried for weeks. I don't really remember why it didn't work. It wouldn't boot. It would boot and crash. We tried to learn how to create a schema, or really anything at all, and mostly failed. It felt like software that grownups were supposed to use, and we didn't qualify.

Meanwhile, we were building our app in PHP, using a generic DB driver and mysql, "for the time being." As the days turned into weeks, eventually the mysql version of our app became the only version, and at some point we just decided to give up on Oracle, fire the expert, and see what happened.

That startup didn't turn out so well, but not for lack of technology. It cost us a few hundred thousand dollars to get our app up and running, but none of that was dollars spent on software licenses or professional services. We just had our app support a few tens of thousands of customers, and it did well. Some combination of the dot-com crash and a just terrible business plan prevented us from having to take our scalability problems to the next level.

Looking back, that was a special moment. I can't really imagine how much it cost our "grownup" counterparts at other dot-com startups to get their first app up and running. My guess is many millions more than we spent.

Our open source counterparts who did solve the scale problem, had some serious hardware costs to deal with. So did I when I finally found myself building an app with real scalability, a few years later, but a combination of our just-in-time scalability technique and great open source scaling tools, made it manageable.

We're in a new wave of platform evolution. Now you can build an app at true web scale without incurring any software costs, or any fixed hardware costs. You don't need to invent a new architecture, and you don't need to even build your architecture up-front. You can turn your entire application infrastructure investment into a pay-as-you-go variable cost, and bring new products to market at speeds an order of magnitude faster than just 10 years ago.

Read More »

Chickipedia

0 comments
This site combines a good concept with a good name and good execution:Chickipedia.comIt has a nice traffic curve in Alexa:Chickipedia traffic
Read More »

The lean startup

0 comments
(Update April, 2011: In September, 2008 I wrote the following post in which I published my thoughts on the term "lean startup" for the first time. In the interests of preserving that history, I have left the original post unchanged and unedited. To learn more about the progress of the the lean startup movement since 2008, click here.)

I've been thinking for some time about a term that could encapsulate trends that are changing the startup landscape. After some trial and error, I've settled on the Lean Startup. I like the term because of two connotations:
  1. Lean in the sense of low-burn. Of course, many startups are capital efficient and generally frugal. But by taking advantage of open source, agile software, and iterative development, lean startups can operate with much less waste.
  2. The lean startup is an application of Lean Thinking. I am heavily indebted to earlier theorists, and highly recommend the books Lean Thinking and Lean Software Development. I also owe a great debt to Kent Beck, whose Extreme Programming Explained: Embrace Change was my first introduction to this kind of thinking. (So far, I have found "lean startup" works better with the entrepreneurs I've talked to than "agile startup" or even "extreme startup.")
What are the characteristics of a lean startup? One that is powered by three drivers, each of which is a part of a major trend:
  1. The use of platforms enabled by open source and free software. At the application-stack layer, I see LAMP + Danga as the most common combination. In recent years, we've also got great new options all up and down the stack, in particular things like Amazon EC2 and RightScale (none of which would be possible without the free software movement).
  2. The application of agile development methodologies which dramatically reduce waste and unlock creativity in product development. (See Customer Development Engineering for my first stab at articulating the theory involved)
  3. Ferocious customer-centric rapid iteration, as exemplified by the Customer Development process.
My belief is that these lean startups will achieve dramatically lower development costs, faster time to market, and higher quality products in the years to come. Whether they also lead to dramatically higher returns for investors is a question I'm looking forward to studying.

Read More »

Customer Development Engineering

0 comments

Yesterday, I had the opportunity to guest lecture again in Steve Blank's entrepreneurship class at the Berkeley-Columbia executive MBA program. In addition to presenting the IMVU case, we tried for the first time to do an overview of a software engineering methodology that integrates practices from agile software development with Steve's method of Customer Development.

I've attempted to embed the relevant slides below. The basic idea is to extend agile, which excels in situations where the problem is known but the solution is unknown, into areas of even greater uncertainty, such as your typical startup. In a startup, both the problem and solution are unknown, and the key to success is building an integrated team that includes product development in the feedback loop with customers.



As always, we had a great discussion with the students, which is helping refine how we talk about this. As usual, I'm heavy on the theory and not on the specifics, so I thought I'd share some additional thoughts that came up in the course of the classroom discussion.

  1. Can this methodology be used for startups that are not exclusively about software? We talk about taking advantages of the incredible agility offered by modern web architecture for extremely rapid deployment, etc. What about a hardware business with some long-lead-time components?

    To be clear, I have never run a business with a hardware component, so I really can't say for sure. But I am confident that many of these ideas still apply. One major theory that has influenced the way I think about processes comes from Lean Manufacturing, where they use these same techniques to build cars. If you can build cars with it, I'm pretty sure you can use it to add agility and flexibility to any product development process.

  2. What's an example of a situation where "a line of working code" is not a valid unit of progress?

    This is incredibly common in startups, because you often build features that nobody wants. We had lots of these examples at IMVU, my favorite is the literally thousands of lines of code we wrote for IM interoperability. This code worked pretty well, was under extensive test coverage, worked as specified, and was generally a masterpiece of amazing programming (if I do say so myself). Unfortunately, positioning our product as an "IM add-on" was a complete mistake. Customers found it confusing and it turned out to be at odds with our fundamental value proposition (which really requires an independant IM network). So we had to completely throw that code away, including all of its beatiful tests and specs. Talk about waste.


  3. There were a lot of questions about outsourcing/offshoring and startups. It seems many startups these days are under a lot of pressure to outsource their development organization to save costs. I haven't had to work this model under those conditions, so I can't say anything definitive. I do have faith that, whatever situation you find yourself in, you can always find ways to increase the speed of iteration. I don't see any reason why having the team offshore is any more of a liability in this area than, say, having to do this work while selling through a channel (and hence, not having direct access to customers). Still, I'm interested in exploring this - some of the companies I work with as an advisor are tackling this problem as we speak.


  4. Another question that always comes up when talking about customer development, is whether VC's and other financial backers are embracing this way of building companies. Of course, my own personal experience has been pretty positive, so I think the answer is yes. Still, I thought I'd share this email that happened to arrive during class. Names have, of course, been changed to protect the innocent:


    Hope you're well; I thought I'd relay a recent experience and thank you.
    I've been talking to the folks at [a very good VC firm] about helping them with a new venture ... Anyway, a partner was probing me about what I knew about low-burn marketing tactics, and I mentioned a book I read called "Four Steps to the…"
    It made me a HUGE hit, with the partner explaining that they "don't ramp companies like they used to, and have very little interest in marketing folks that don't know how to build companies in this new way."

Anyway, thanks to Steve and all of his students - it was a fun and thought-provoking experience..

Read More »

Greasemonkey compiler

0 comments
I've been incredibly impressed by Greasemonkey, the Firefox add-on that lets you easily extend the browser with simple Javascript. I've been even more impressed by the various Greasemonkey compilers out there, that let you turn a Greasemonkey script into a full-blown Firefox extension, for easy distribution.

I know some of those compilers are no longer available (some are hosted, others are not), so I took the liberty of putting up a copy of the PHP Greasemonkey Compiler. I've made some pretty minor modifications to it, mostly in the way of simple usability changes. As I make more, you'll find them (with source) at my Greasemonkey Compiler page.

Read More »

Great open source scalability tools from Danga

0 comments
If you are trying to build a scalable LAMP service, it's always best to start with the original and still quite relevant presentation, from Brad Fitzpatrick when he was at LiveJournal. You can find the 2005 version here. You'll learn how they pioneered the use of a lot of open source tools at new levels of scale, and even created quite a few more, that are essential scaling aids. Three of my favorite:

  • memcached - an in-memory object caching system. For tips on how to integrate it into your database and application layers, you can see the tail-end of my JIT Scalability talk.
  • MogileFS - "Distributed (meta) file system. Spray files across cheap disks on your network. Pay less for storage. No proprietary on-disk file formats." Excellent if you happen to be building a site that, for example, receives and stores gigabytes of photo uploads on a regular basis.
  • Perlbal - reverse proxy written in Perl. At IMVU, we used its relatively straightforward plugin system to implement a simple long-poll solution for chat.
If I was building something from scratch today, I'd probably use Gearman for asynchronous task processing, too.

Thanks, Danga (and everyone else who's contributed to these projects).

Read More »

Ideas. Code. Data. Implement. Measure. Learn

0 comments
I like theory too much. But hey, it's what helps me think about problems. This simple feedback loop has proven its worth to me time and again. It's inspired by the classic OODA Loop and is really just a simplified version of that concept, applied specifically to creating a software product development team.

There are three stages:
  1. We start with ideas about what our product could be.
  2. We're a software company, so what we do everyday is turn ideas into code.
  3. Hopefully, we find out what happened when people use that code, creating data.
Giving rise to three verbs:
  1. Implement (programming!) where we turn ideas into code the best way possible.
  2. Measure what happened, as quickly as possible.
  3. Learn from the data, letting it influence our ideas for the next iteration through the loop
So far, it's all obvious. What helped me is the insight from the Theory of Constraints that in a dynamic system anything that optimizes the sub-parts tends to sub-optimize the whole. Which is a fancy way of saying: focus on total time through the loop, not on the time of any individual activity.

Optimize speed through the whole loop. This sometimes steps on the favored opinions of functional specialists in any organization.

My personal favorite: "Code without data collection? Faster but..." Ever heard a programmer argue for ripping out all that pesky data monitoring code? It's slowing down the system, wasting resources, creating ugly code and uglier scaling problems. If we just stopped measuring, we could write code a hell of a lot faster.

If you have worked with a Professional Data Warehouse Expert, you might have seen: "Measure 10000 things? Comprehensive but..." No human being can learn from 10,000 graphs. It's overwhelming. To turn data into learning, you have to focus on the few key pieces of data the everyone agrees are important. And you have to get the decision makers and implementers to look at (and believe!) the data on a regular basis.

How about documentation that nobody reads? Reports that go unnoticed? Alerts that go off so often that they get ignored? Split-test experiments that go on forever? All of these are true waste, and they generally happen because somebody is optimizing for their particular part of the puzzle, not for the team as a whole.

Read More »

Not crossing the chasm

0 comments
What does life feel like in the chasm? How do you plan for it? A growing startup with a well-run product team will have a history of steady progress. Incremental feature releases leading to correlated growth. The strength of the team determined the pace, and the best companies iterate and learn fastest.

Now imagine it just stops working. You execute just like before. You delight customers just like before. You listen and learn. You innovate as well as ever. Nothing seems to matter. In a subscription business, maybe your attrition starts matching your acquisition, balancing like magic. In an eyeballs business, you just can't seem to acquire or activate that next step-up of customers. Or your cost of customer acquisition just magically floats up to match your customer lifetime value.

We talk a good game about technology adoption curves and crossing the chasm, but most of us don't seem to recognize when it's happening. we don't talk enough about how it feels. Things just stop working. It's everybody's fault and nobody's too. The result: frustration, impotence, humiliation.

My two cents: talk about this beforehand. It's going to be hard to talk about in the midst of the malaise. Be ready to drive home this simple point: in a phase change the things that made you successful before don't work anymore.

Read More »

On deployment

0 comments
My favorite question to ask a software development team is "how do you do a release." The mechanical steps, the culture of how it's done, how they evaluate success, how they cope with failure. You can tell a lot about a company from their deployment flow.

How fast do they iterate? Certainly no faster than the time it takes to release. And most likely, the release overhead is considered "minor." Minor with respect to what? Usually, whatever is used as a development cycle. I haven't met anyone who would do a day-long deployment every day.

How long does the software sit un-deployed? Does it require weeks of QA?

How worried is the team about a bad release? Can they consistently produce quality code?

How painful are integrations? How often do bugs regress?

How tolerant is the company of waste? Software is generally always getting better or getting worse. Processes are always deteriorating or self-regulating.

Can they tell a good release from a bad one? To answer that question you need to know what the objective of the release was. Do the engineers understand what they are building? Do they measure? Do they believe the data?

These questions often produce fascinating answers. Of course, it's easy to sit outside any team and criticize its failures. That's a waste of time. You can use questions like these to learn about a team and its culture. Mechanical mistakes are the result of human mistakes. One person making a mistake may be a deranged lone wolf, but systematic mistakes are the result of systemic problems. And the same is true in reverse - a lone brilliant coder can build a great widget, but it takes a system of people working well together to produce consistently great results.

After an hour with a team talking dirty about deployment, you'll know.

Read More »

Just-In-Time Scalability

0 comments
At my previous company, we pioneered an approach to building out our infrastructure that we called "Just-In-Time Scalability." We wanted an agile approach that would allow us to build our software architecture as we needed it, without downtime, but also without large amounts of up-front cost. After all, the worst kind of waste in software development is code to support a use case that never materializes. Scalable systems are no exception - if your assumptions about how many customers you'll have, or how they will behave are just a little bit wrong, you can wind up with a massive amount of wasted code.

Chris and I had the opportunity to present on our approach this past spring at the MySQL Conference. You can also download our presentation, "Just-In-Time Scalability: Agile Methods to Support Massive Growth."

Update: PDF version for "lazy linux users" and others who love freedom.

Read More »

Test-Driven Development as andon cord

0 comments

You cannot control what you cannot see, and the hardest part of managing software projects is that the final product is so intangible. Automated tests make defects visible. In almost all Agile Development systems, thousands of automated tests are run against every change to the software. These tests are written by the engineers themselves, and they must all pass every time. Even one test failing is considered a “red alert” situation that requires all work to stop. This is equivalent of the andon cord in a Toyota production plant. It signals the presence of a defect in the assembly process and directs all attention to fixing it before work can continue. As the team gets better and making more changes without introducing new problems, the team can speed up. A failing test provides a natural feedback mechanism, slowing the team down when going too fast.

Reblog this post [with Zemanta]

Read More »

Nak Ber'couple' Boleh Tak?

0 comments

NAK BER’COUPLE’ BOLEH TAK?

            Tentu ramai yang tertanya-tanya. Tidak kurang juga yang tidak berpuas hati dengan pernyataaan di atas. Ada yang kata hukumnya harus. Mungkin ada yang kata makruh. Sememangnya kenyataan ini menimbulkan banyak kontroversi, lebih-lebih lagi di kalangan muda-mudi sekarang.

Apa Itu Ber’couple’?

            Ber’couple’ merupakan suatu tradisi atau budaya yang telah dibudayakan oleh masyarakat remaja kini. Bermula dengan saling berpandangan mata, kemudian turun ke hati. Kemudian mereka akan saling mengutus senyuman dan cinta mula berputik. Bila rasa dah cukup sedia, masing-masing mula ‘masuk line’. Ade yang berbalas-balas nota, bagi yang lebih ‘advance’, teknologi SMS digunakan. Akhirnya apabila dua insan berlawanan jantina ini sudah saling suka-menyukai, mereka akan mengisytiharkan ikatan percintaan mereka dan kemudian ber’couple’.

            Pasangan kekasih ini akan merapatkan hubungan mereka serapat-rapatnya. Kalau di kelas, buat study group ataupun group discussion. Bagi yang kreatif, kad-kad ucapan ‘hand made’ yang pelbagai warna dan rupa akan dikirimkan. Bagi yang mengikuti peredaran semasa, teknologi SMS akan dimanfaatkan sepenuhnya. Kata ganti diri pada asalnya aku-kau ditukar kepada saya-awak, atau bagi mereka yang lebih intim, abang-sayang dan sebagainya.

            Kalau diperhatikan pasangan-pasangan yang sedang asyik dilamun cinta ini,hidup mereka tidak menentu, diibaratkan ‘makan tak kenyang,tidur tak lena, mandi tak basah’. Ungkapan-ungkapan cinta seperti ‘sayang awak’, ‘love you’, ‘miss you’ dan sebagainya akan menjadi sebahagian ucapan harian mereka. Sentiasa ceria dan tersenyum gembira, mengenangkan Si Dia yang datang bertandang ke hati. Ada pasangan yang serius, sampaikan sanggup berjanji nak sehidup-semati. Sanggup bersumpah, setia hingga ke akhir hayat. Ada juga yang hanya sekadar bermain-main, untuk suka-suka, dan sebagainya. Ringkasnya, pelbagai ragam yang boleh dilihat daripada pasangan yang ber’couple’ ini. Ada yang boleh meneruskan hubungan hingga ke jinjang pelamin dan ada juga yang kecundang di pertengahan perlayaran di lautan percintaan masing-masing.

Mengapa Ber’couple’ Haram?

            Ya,mengapa? Sekarang kita kembali kepada persoalan pokok. Di sinilah timbulnya kontroversi di antara kita. Bagi yang ber’couple’, sudah tentu perasaan ingin tahu mereka sangat tinggi dan pelbagai hujah ingin dikeluarkan bagi mempertahankan kesucian cinta mereka itu.



            Sebagai seorang muslim, untuk menjawab persoalan ini, kita perlulah merujuk kembali kepada manual kita yang telah digarisi oleh Allah S.W.T. iaitu Al-Quran dan panduan iaitu As-Sunnah  yang telah diwasiatkan kepada kita oleh junjungan besar kita Nabi Nabi Muhammad S.A.W. yang sepatutnya menjadi pegangan hidup kita.

            Ada yang berkata, Allah telah menjadikan makhluk-Nya berpasang-pasangan, lelaki dan perempuan, mengapa tidak boleh bercinta atau ber’couple’? Memang tidak dinafikan,dalam Al-Quran Allah ada berfirman, seperti dalam Surah Yasin(36) ayat 36:

Maha Suci Tuhan yang telah menciptakan pasangan-pasangan semuanya, baik dari apa yang ditumbuhkan oleh bumi dan dari diri mereka maupun dari apa yang tidak mereka ketahui.”

Dan juga  firman-Nya dalam Surah Al-Hujrat(49) ayat 13:

Hai manusia, sesungguhnya Kami menciptakan kamu dari seorang laki-laki dan seorang perempuan dan menjadikan kamu berbangsa-bangsa dan bersuku-suku supaya kamu saling kenal mengenal. Sesungguhnya orang yang paling mulia di antara kamu di sisi Allah ialah orang yang paling bertakwa di antara kamu. Sesungguhnya Allah Maha Mengetahui lagi Maha Mengenal.

            Meskipun begitu, ayat-ayat ini tidak menjelaskan yang kita boleh mengadakan hubungan percintaan dan berkasih kasihan antara lelaki dan perempuan yang bukan mahram. Banyak larangan Allah dalam Al-Quran yang melarang hubungan-hubungan ini. Percintaan bermula dari mata. Firman Allah,

Katakanlah kepada orang laki-laki yang beriman: "Hendaklah mereka menahan pandangannya, dan memelihara kemaluannya; yang demikian itu adalah lebih suci bagi mereka, sesungguhnya Allah Maha Mengetahui apa yang mereka perbuat."

Surah An-Nur(24) ayat 30. Dalam ayat ini, jelas Allah telah memerintahkan kita supaya kita menjaga pandangan kita daripada memandang perkara-perkara yang dilarang, termasuklah memandang wanita bukan mahram serta wajib bagi kita menjaga nafsu. Perintah ini bukan ditujukan kepada kaum Adam sahaja. Dalam ayat yang seterusnya Allah berfirman,

Katakanlah kepada wanita yang beriman: "Hendaklah mereka menahan pandangannya, dan memelihara kemaluannya,...

Surah An-Nur(24) ayat 31. Dua ayat dari Surah An-Nur ini sebenarnya terdapat dalam sukatan matapelajaran Pendidikan Al-Quran & Sunnah tingkatan 5 di sekolah-sekolah yang mengambil aliran agama. Para pelajar tingkatan 5 sepatutnya lebih jelas akan perkara ini. Daripada ayat ini jelas Allah melarang lelaki dan perempuan bukan mahram daripada saling berpandang-pandangan dengan niat untuk suka-suka, apatah lagi untuk memuaskan hawa nafsu.

            Dalil yang lebih kuat menetang hubungan percintaan ini terdapat dalam Surah Al-Israa’(17) ayat 32:

“Dan janganlah kamu mendekati zina; sesungguhnya zina itu adalah suatu perbuatan yang keji dan suatu jalan yang buruk.”

Ayat ini memeng cukup popular di kalangan kita. Ramai yang apabila ditegur dengan ayat ini akan menjawab,”Kami tidak berzina. Kami berbual-bual je” , “Kami keluar makan je” dan “Kami main SMS je.” Dan pelbagai 1001 alasan lagi. Para pembaca,sila teliti firman Allah tadi. Dalam ayat ini, Allah melarang kita mendekati zina. Allah menggunakan kalimah ‘walaa taqrobuu’ (jangan hampiri) dan bukannya kalimah ‘walaa ta`maluu’ (jangan melakukan). Ini menunjukkan, walaupun kita hanya mendekati zina, ia sudah pun HARAM! Mungkin ada yang tidak jelas dengan maksud menghampiri di sini. Biar kita ambil contoh, jarak kita dengan dewan adalah 50 meter. Apabila kita melangkah setapak ke arah dewan, jarak antara kita dan dewan adalah 49.8 meter. Inilah dikatakan menghampiri dewan. Jadi, bercinta sebelum kahwin dan ber’couple’ adalah menghampiri zina, dan menghampiri zina adalah HARAM.

            Ini adalah dalil-dalil daripada Al-Quran. Bagaimana pula dengan hadis rasul kita, Nabi Muhammad S.A.W.? Dalam hadis, baginda rasulullah telah memperincikan jenis-jenis zina. Daripada Abu Hurairah r.a katanya, Nabi S.A.W. bersabda :

Sesungguhnya Allah Ta’ala telah menetapkan nasib anak Adam mengenai zina. Tidak mustahil dia pernah melakukannya. Zina mata ialah memandang. Zina lidah ialah berkata. Zina hati ialah keinginan dan syahwat,sedangkan faraj (kemaluan) hanya menuruti atau tidak menuruti.”*

Hadis kedua; Daripada Abu Hurairah r.a., dari Nabi S.A.W. sabdanya :

Nasib anak Adam mengenai zina telah ditetapkan. Tidak mustahil dia pernah melakukannya. Dua mata, zinanya memandang. Dua telinga, zinanya mendengar. Lidah, zinanya berkata. Tangan, zinanya memukul. Kaki, zinanya melangkah. Hati, zinanya ingin dan rindu, sedangkan faraj (kemaluan) hanya mengikuti atau tidak mengikuti.”**
(Dua hadis di atas adalah sahih dan diriwayatkan oleh 4 orang imam, iaitu Al-Bukhari, Muslim, Ahmad dan Ghayatul-Maram. *Sahih Muslim, hadis ke 2281. **Sahih Muslim, hadis ke 2282)

            Daripada dua hadis ini, jelas rasulullah menenyenaraikan bahangian-bahagian zina. Apabila kita memandang Si Dia dengan sengaja,menatapi wajahnya, dan sebagainya, zina mata berlaku. Apabila lidah kita digunakan untuk mengeluarkan kata-kata manis serta puitis, untuk memenangi hati Si Dia, membuatkan Si Dia tertarik kepada kita, lidah berzina. Apabila kita mendengar serta menghayati kelunakkan suaranya, telinga berzina. Apabila berpegangan tangan, berjalan bersama ke arah menghampiri zina, tangan dan kaki berzina. Tetapi, yang paling bahaya ialah, apabila kita merindui Si Dia, memikirkan-mikirkan tentangnya, kecantikannya, ketampanannya, sifat penyanyangnya, betapa kecintaannya kepada kita, zina tetap berlaku. Biarpun tidak bersua dari segi pancaindera, hati boleh berzina. Tidak mungkin sesuatu hubungan percintaan itu tidak melibatkan penglihatan, percakapan, pendengaran dan perasaan. Sudah terang lagikan bersuluh, percintaan sebelum berkahwin dan ber’couple’ adalah menghampiri zina dan hukumnya adalah HARAM.
                                                                                            
Apa Yang Patut Dilakukan?

            Bagi yang belum terjebak, adalah dinasihatkan jangan sekali-kali menjerumuskan diri ke lembah percintaan. Susah untuk meninggalkan suatu perbuatan maksiat seperti ini setelah merasai kenikmatannya. Silap-silap boleh terlanjur dan langsung tidak dapat meninggalkannya lagi. Bagi yang sudah terjebak, sedang, ataupun yang mula berjinak-jinak dengan percintaan, sedarlah. Segeralah kita meninggalkan perbuatan maksiat yang tidak diredhai lagi dimurkai Allah ini. Tiada gunanya kita terus melakukan dosa demi meneruskan hubungan terlarang ini demi mendapatkan kebahagiaan duniawi yang sementara ini. Hanya satu jalan sahaja yang menghalalkannya iaitu melalui ikatan pernikahan.
           
Bagi pasangan-pasangan yang benar-benar serius, diingatkan, semakin manis hubungan sebelum berkahwin, semakin tawar hubungan selepas menjadi suami isteri nanti. Lihatlah ibu-bapa serta atuk nenek kita, keutuhan rumah tangga mereka boleh dilihat sehingga kini tanpa melalui zaman percintaan yang diimpikan remaja-remaja kini.
Setiap dari kita tentu mengidamkan pasangan hidup yang baik. Kita tidak mahu pasangan kita seorang yang tidak beriman. Seburuk-buruk perangai manusia, dia tetap menginginkan seseorang yang bain sebagai teman hidupnya. Firman Allah,

Wanita-wanita yang keji adalah untuk laki-laki yang keji, dan laki-laki yang keji adalah buat wanita-wanita yang keji (pula), dan wanita-wanita yang baik adalah untuk laki-laki yang baik dan laki-laki yang baik adalah untuk wanita-wanita yang baik (pula).” Surah An-Nuur(24) ayat 26.

Janji Allah, dia akan mengurniakan kepada lelaki yang baik-baik dengan perempuan yang baik-baik. Begitulah sebaliknya. Allah akan berikan yang baik, denagn syarat, kita juga berusaha menjadi baik serta meilih jalan yang baik serta diredhai-Nya. Bagaimana hendak mendapatkan sebuah keluarga yang bahagia serta diredhai Allah jika pokok pangkal permulaannya sudah pincang, tidak berlandaskan Islam serta tidak diredhai Allah? Mungkin pada mulanya kita menganggap perkara yang kita lakukan ini cukup baik, niatnya baik, caranya pun kita rasakan cukup baik.tetapi sebenarnya, ia adalah rencana syaitan yang membuatkan kita kabur memandang perbuatan yang kita lakukan itu. Firman Allah,

Dan setan menjadikan mereka memandang baik perbuatan-perbuatan mereka, lalu ia menghalangi mereka dari jalan (Allah), sedangkan mereka adalah orang-orang yang berpandangan tajam.” Surah Al-‘ankabut(29), ayat 38.

            Sebenarnya, dalam Islam, lelaki dan perempuan tdak dibenarkan bergaul terlalu rapat, sehingga menjadi teman karib dan sebagainya. Lelaki tidak boleh mengahampiri perempuan dan perempuan tidak boleh menghampiri lelaki sesuka hati tanpa sebab. Tetapi Islam membenarkan apabila ada keperluan dan tujuan yang benar-benar perlu. Misalnya apabila ditugaskan mengadakan perbincangan dalam kumpulan besar yang melibatkan lelaki dan perempuan atau perlu berbincang mengenai sesuatu yang penting. Untuk berbual-bual kosong atau bergurau senda tanpa tujuan tertentu adalah tidak dibenarkan. Apatah lagi untuk saling meluahkan perasaan dan sebagainya. Cukuplah kaum sejenis sendiri untuk dijadikan teman karib dan tempat berbincang masalah.
           
            Perasaan suka dan cinta adalah dua perkara yang berbeza. Tak salah bagi seseorang lelaki untuk menyukai seseorang perempuan dan seseorang perempuan menyukai seorang lelaki. Tapi, perasaan ini tidak boleh dilayan dan difikir-fikirkan kerana ianya merupakan hasutan syaitan yang membawa kepada zina hati. Sepatutnya apabila kita terfikir mengenai perkara-perkara ini, kita hendaklah menepisnya dan berhenti terus daripada memikirkannya. Firman Allah, “Dan jika kamu ditimpa sesuatu godaan setan, maka berlindunglah kepada Allah. Sesungguhnya Allah Maha Mendengar lagi Maha Mengetahui.” Surah Al-A’raf ayat 201.

Para pembaca adalah diingatkan, semua hujah-hujah yang telah diberikan adalah berdasarkan Al-Quran dan As-Sunnah, perintah Allah dan Rasul-Nya. Jika kita menolaknya, sebenarnya kita menolak perintah Allah dan Rasul. Na’uzubillah..
Firman Allah dalam Surah Al-Anfal(8), ayat 20-22,

Hai orang-orang yang beriman, taatlah kepada Allah dan Rasul-Nya, dan janganlah kamu berpaling daripada-Nya, sedang kamu mendengar (perintah-perintah-Nya),(20) dan janganlah kamu menjadi sebagai orang-orang (munafik) yang berkata: "Kami mendengarkan, padahal mereka tidak mendengarkan.(21) Sesungguhnya makhluk bergerak yang bernyawa yang  paling buruk pada sisi Allah ialah orang-orang yang pekak dan tuli (tidak mendengar dan tidak memahami kebenaran) yaitu orang-orang yang tidak mengerti.(22).

Orang yang paling buruk dalam pandangan Allah ialah mereka yang tidak mahu menuruti perintah-perintah Allah. Janganlah kita tergolong dalam golongan ini. Balasan bagi golongan ini ialah neraka jahannam seperti firman Allah dalam Surah Aj-Jaatsiyah(45) ayat 7-11 :

Kecelakaan yang besarlah bagi tiap-tiap orang yang banyak berdusta lagi banyak berdosa,(7) dia mendengar ayat-ayat Allah dibacakan kepadanya kemudian dia tetap menyombongkan diri seakan-akan dia tidak mendengarnya. Maka beri kabar gembiralah dia dengan azab yang pedih.(8) Dan apabila dia mengetahui barang sedikit tentang ayat-ayat Kami, maka ayat-ayat itu dijadikan olok-olok. Merekalah yang memperoleh azab yang menghinakan.(9) Di hadapan mereka neraka Jahanam dan tidak akan berguna bagi mereka Sedikit pun apa yang telah mereka kerjakan, dan tidak pula berguna apa yang mereka jadikan sebagai sembahan-sembahan (mereka) dari selain Allah. Dan bagi mereka azab yang besar.(10) Ini (Al Qur'an) adalah petunjuk. Dan orang-orang yang kafir kepada ayat-ayat Tuhannya bagi mereka azab yaitu siksaan yang sangat pedih.(11)”
           
Akhir sekali, ambillah Islam secara syumul,bukan hanya ambil Islam pada perkara yang disukai, tetapi kita tinggalkan sebahagian yang lain yang tidak sesuai dengan kehendak kita. Firman Allah,

Sesungguhnya orang-orang yang kafir kepada Allah dan rasu-rasul-Nya, dan bermaksud memperbedakan antara (keimanan kepada) Allah dan rasul-rasul-Nya, dengan mengatakan: "Kami beriman kepada yang sebahagian dan kami kafir terhadap sebahagian (yang lain)", serta bermaksud (dengan perkataan itu) mengambil jalan (tengah) di antara yang demikian (iman atau kafir),(150) merekalah orang-orang yang kafir sebenar-benarnya. Kami telah menyediakan untuk orang-orang yang kafir itu siksaan yang menghinakan. (151). Surah An-Nisaa’(4) ayat 150-151.

Kembalilah ke jalan yang lurus. Tinggalkanlah perkara-perkara maksiat yang telah kita lakukan sebelum ini. Bertaubatlah sementara kita masih ada kesedaran, jangan tunggu sampai kita dibiarkan sesat oleh Allah sehingga hati kita tertutup untuk menerima kebenaran, Surah Aj-Jaatsiah(45) ayat 23,

Maka pernahkah kamu melihat orang yang menjadikan hawa nafsunya sebagai tuhannya, dan Allah membiarkannya sesat berdasarkan ilmu-Nya dan Allah telah mengunci mati pendengaran dan hatinya dan meletakkan tutupan atas penglihatannya? Maka siapakah yang akan memberinya petunjuk sesudah Allah (membiarkannya sesat). Maka mengapa kamu tidak mengambil pelajaran?

Memang pada mulanya untuk meninggalkan maksiat-maksiat ini amat susah, tetapi,ia masih wajib kita tinggalkan. Ingatlah Allah berfirman dalam Surah Al-Baqarah(2) ayat 216,

Boleh jadi kamu membenci sesuatu, padahal ia amat baik bagimu, dan boleh jadi (pula) kamu menyukai sesuatu, padahal ia amat buruk bagimu; Allah mengetahui, sedang kamu tidak mengetahui.

            Sekali lagi ditegaskan, bercinta sebelum berkahwin dan ber’couple’ adalah menghampiri zina. Ia adalah perbuatan yang dilarang dalam Islam dan hukumnya adalah HARAM. Wallahua’lam..


Read More »

Refactoring for TDD and interaction design

0 comments

In TDD, we follow a rhythm of “test-code-refactor.” This basic pattern is useful in all aspects of product development. The basic idea is to avoid building something based on what you think it might need to do in the future. Instead, we build for today, but then constantly look for ways to reconfigure what we’ve created to make it more general, more flexible, more useful. This process is called refactoring. In code, it helps us to build reusable components that are suitable for assembly into complex systems without having to guess which components are needed (or how they should work). In effect, the specific examples drive the spec for what the general pieces should look like.

The same process works in Interaction Design. The temptation is try and build a toolkit of general pieces, which can be assembled into many kinds of final product. This rarely works, because it is hard to build pieces that work optimally for diverse uses without damaging each use case (which leads to mediocre or compromised results). Much better is to infer the right toolkit by searching for commonalities among actually-built experiences.
Reblog this post [with Zemanta]

Read More »

Sedarlah Remaja Islam

0 comments
Satu generasi yang sangat ditakuti oleh golongan kafir…iaitu generasi Rabbani di kalangan umat Islam. Apa generasi Rabbani ini? Generasi Rabbani ialah generasi yang mempelajari Al-Quran dan mengajarkannya. Firman Allah dalam surah Ali Imran, surah 3 ayat 79:

Tidak wajar bagi seseorang manusia yang Allah berikan kepadanya Al Kitab, hikmah dan kenabian, lalu dia berkata kepada manusia: "Hendaklah kamu menjadi penyembah-penyembahku bukan penyembah Allah." Akan tetapi (dia berkata): "Hendaklah kamu menjadi orang-orang rabbani, karena kamu selalu mengajarkan Al Kitab dan disebabkan kamu tetap mempelajarinya.


Generasi inilah yang menyebabkan umat Islam hebat di suatu masa dahulu. Generasi para sahabat dan para tabiin dan tabi’ tabiin..yang kini sudah semakin hilang.

Mengapa generasi ini hilang? Ini semua adalah angkara kafir laknatullah..mereka telah menjauhkan umat Islam sekarang dengan menanamkan penyakit yang telah disabdakan oleh Rasulullah S.A.W. yang akan menjangkiti umat akhir zaman..iaitu cintakan dunia dan takutkan mati. Mereka telah menanamkan penyakit ini dgn menggunakan teknologi-teknologi terkini dan pelbagai alat hiburan. Tv, radio, internet dan media massa adalah antara alat-alat yang digunakan. Mereka memang ingin melenyapkan generasi ini sebagaimana firman Allah dalam surah ke-41 ayat ke-26:

Dan orang-orang yang kafir berkata: "Janganlah kamu mendengar dengan sungguh-sungguh akan Al Qur'an ini dan buatlah hiruk-pikuk terhadapnya, supaya kamu dapat mengalahkan (mereka).


Inilah yang menyebabkan umat Islam sekarang lemah. Kalau dulu Islam sangat disanjungi, dihormati dan digeruni..tetapi sekarang umat Islam disembelih sesuka hati. Dulu para sahabat cintakan akhirat, sanggup mati demi agama untuk syahid mendapatkan syurga. Inilah yang menyebabkan mereka hebat. Hanya takut kepada Allah, terbalik dengan Umat Islam sekarang.



Umat Islam sekarang, cinta dunia. Hidup mereka hanya untuk dunia. Takut untuk mati kerana takut kehilangan dunia yang kononnya indah di pandangam mata mereka. Kerana itu, mereka takut untuk menegakkan kebenaran,takut untuk mengamalkan sunnah, takut untuk mengamalkan Islam yang sebenar. Mereka takut, jika mereka melakukan semua ini, mereka akan kehilangan harta, pangkat, pekerjaan dan juga rezeki. Para ustaz dan ustazah takut untuk menegur kerajaan kerana takut dipecat, orang takut mengamalkan sunnah kerana takut digelar pengganas. Secara ringkasnya,mereka takut kepada manusia! Bukan Allah, pencipta manusia! Sedarlah umat Islam. Agama kita sekarang diperlekeh orang..mereka menghina nabi..membunuh rakyat Palestin, Iraq dan banyak lagi umat Islam di serata dunia. Mereka disiksa dan dibunuh dengan kejam. Pernahkah anda mendengar kisah-kisahnya?

Di palestin, peristiwa Shabra & Shatila misalnya. Pada 16 September 1982, Israel dengan rakusnya membunuh beribu-ribu mangsa di kem yang menempatkan kira-kira 6000 orang pelarian Palestin. Peristiwa pembantaian ini adalah antara peristiwa yang paling kejam yang pernah terakam dalam sejarah dunia. Dalam peristiwa itu, seorang wanita dan bayinya telah disembelih hidup-hidup. Sesiapa sahaja yang terlihat di jalanan turut disembelih. Seorang pemberita Britain Robert Fisk, yang membuat liputan mengenai peristiwa itu berkata:

"Saya menelusuri jalan yang amat mengerikan buat pertama kali dalam hidup saya di kem Sabra Shatila ketika militia masih melakukan pembunuhan dan merogol. Mayat bertaburan dipenuhi lalat, mayat wanita sudah bengkak, jasad bayi bergelimpangan dengan kesan peluru di kepala."



Di Ambon, kisah pembunuhan beramai-ramai umat Islam Indonesia oleh puak pelampau Kristian. Satu kekejaman yang tidak dapat dilupakan, seorang ibu yang sedang sarat mengandung ditahan dan diikat di tiang. Perutnya dibelah dengan pisau sedangkan dia dalam keadaan sedar. Anaknya dikeluar dan dicincang di depan matanya sendiri. Si ibu menjerit-jerit meminta tolong, namun tidak diendahkan. Tidak cukup dengan itu, diambil seekor kucing liar lalu dimasukkan ke dalam perut yang dibelah tadi, lalu bukaan itu dijahit semula. Ibu malang itu dibiarkan di tiang itu lalu dia meningal di situ. Bayangkan betapa tersiksanya ibu itu.


Di Penjara Abu Gharib. Tahanan-tahanan di sini rata-ratanya adalah umat Islam yang dikaitkan dengan peristiwa 11 September dan terlibat dengan Taliban. Mereka disiksa dengan begitu teruk sekali. Diceritakan oleh tahanan-tahanan yang sudah dilepaskan, kafir-kafir Amerika memperlakukan mereka seperti binatang. Mereka dibelasah sesuka hati. Al-Quran dihina di hadapan mata mereka sendiri. Mereka mengoyakkan Al-Quran lalu diguna untuk mengelap kasut, dicampak ke lubang tandas dan bermacam-macam lagi. Seorang tahanan yang baru selesai melakukan pembedahan di perut, dipijak perutnya beramai-ramai oleh tentera-tentera Amerika, sehinga luka jahitan itu terkoyak semula. Seorang tahanan lain, sengaja dibiarkan kelaparan, lalu apabila meminta makanan, dimasukkan tiub ke hidungnya, dan disalurkan cecair najis. Tiub itu ditolak-tolak sehingga terasa di perunya. Tahanan itu mengalami kesakitan yang luar biasa muntah darah.



Itu baru sedikit yang diceritakan, Masih banyak dan kejam lagi yang telah dan masih terus berlaku. Tetapi kita di sini hidup dengan aman tanpa sebarang tekanan. Bebas mengamalkan agama Islam tercinta ini.

Tetapi benarkah Islam di Malaysia ini selamat? Jika rakyat palestin dan iraq menentang dan mati, insya-Allah mereka akan syahid dan masuk syurga. Tetapi bayangkan jika kiamat tiba-tiba berlaku,apakah umat Islam di Malaysia akan terselamat dan masuk syurga seperti mereka? Fikirkanlah…

Sekarang kalau kita keluar ke masyarakat..kita dapat lihat bermacam-macam gejala sosial dan maksiat yang berlaku. Yang lebih teruk, rata-ratanya berlaku di kalangan umat Islam kita ini sendiri. Maksiat dilakukan terang-terangan,tanpa segan silu, malah sebahagiannya berbangga dengan apa yang mereka lakukan. Langsung tidak berasa salah dengan apa yang dilakukan.

Sekarang maksiat berleluasa. Sana-sini terdapat lelaki perempuan yang berkepit-kepit, berjalan-jalan di kompleks membeli-belah laksana suami isteri bahkan lebih daripada itu. Yang berzina juga tidak kurangnya. Kelahiran anak luar nikah semakin banyak dan tidak terkawal. Pengalaman seorang rakan saya yang mendengar kawan di kelas tuisyennya berbual. Rakan saya ini telah mendengar mereka berbual mengenai kehebatan mereka yang telah berzina dengan ramai gadis-gadis sebaya mereka. Mereka ini sudahlah tidak berasa malu malah boleh berbangga dengan apa yang mereka lakukan itu! Pulak tu, kalau ada anak zina dilahirkan, mereka ada yang membuangnya dalam mangkuk tandas, tong sampah dan ada yang menggugurkannya. Apa hendak jadi dengan umat Islam sekarang? Ini adalah salah satu tanda-tanda kiamat sudah hampir. Tidakkah kita sedar?

Seorang senior menceritakan. Dia jual burger untuk dapat duit poket tambahan. Jual bilik ke bilik. Satu malam ni, dia ketuk-ketuk satu bilik ni, tak buka-buka. Dia pun pulasla tombol dan membuka pintu sndiri. Alangkah terkejutnya dia apabila melihat dua orang siswa itu sedang melakukan perbuatan terkutuk kaum sadom di atas katil (homoseks). Senior ini kemudian kembali menutup pintu, dan kaku di situ. Teruk?

Ada banyak lagi cerita. Sampai tak larat saya hendak mnceritakan. Ada remaja yang ditangkap berzina dalam surau (pelajar sekolah agama). Ada perempuan 14 tahun paksa boyfriendnya yang baru 12 tahun buat hubungan seks dengannya.

Kawan saya, masa baru habis SPM buat part time, ajar tution budak-budak sekolah rendah. Dia nampa budak-budak ni handphonenya, N-Gage, sabun, daun dan yang lain-lain yang mahal tu. Dia pulak 3310 je. Bukan tu yang nak jadi ceritanya. Tapi sekali masa habis tution, budak kecik tu datang kat dia, smbil cakap, “Sir, awek Sir ade yang seksi macam ni tak?” sambil menunjukkan gambar-gambar lucah yang ada dalam HPnya. Kawan saya ni terkejut beruklah. Tergamam dia di situ. Ni budak-budak sekolah rendah! Baru-baru ini pula, seorang remaja mengaku merogol neneknya sendiri, dan ini adalah kisah yang paling saya tidak dapat terima!



Kalau yang kita lihat sekarang adalah remaja Islam, maka bayangkan 5-7 tahun lagi..mereka ini akan menginjak dewasa! Ya, kita akan dikelilingi oleh mereka yang pada zaman remajanya pernah berzina, minum arak dan macam-macam lagi perkara yang tak terbayang dek kepala otak kita. Mereka ini akan bernikah, dan berkeluarga serta bekerja. Boleh anda bayangkan kita dikelilingi oleh masyarakat-masyarakat yang seperti ini? Saidina Umar Al-Khattab berkata, kalau nak lihat kekuatan sesebuah negara, lihatlah keadaan remajanya sekarang. Bagaimana remaja kita?


Kebanyakkan Umat Islam rata-ratanya bukan tidak tahu tentang pahala dan dosa. Mereka tahu tetapi buat-buat tak tahu kerana ingin melakukan apa yang disukai oleh hawa nafsu mereka. Mereka menjadikan hawa nafsunya sebagai tuhan. Lalu Allah sendiri yang MEMBIARKAN MEREKA SESAT. Allah berfirman dalam surah Aj-Jasiah, surah ke 45 ayat ke 23,

”Maka pernahkah kamu melihat orang yang menjadikan hawa nafsunya sebagai tuhannya, dan Allah membiarkannya sesat berdasarkan ilmu-Nya dan Allah telah mengunci mati pendengaran dan hatinya dan meletakkan tutupan atas penglihatannya? Maka siapakah yang akan memberinya petunjuk sesudah Allah (membiarkannya sesat). Maka mengapa kamu tidak mengambil pelajaran?”


Sedarlah saudara-saudara seIslamku..umat Islam kini semakin teruk, Sangat teruk. Mereka tidak lagi takut kepada dosa dan pahala. Inilah tugas kita sebagai seorang muslim untuk mengingatkan mereka. Ini adalah untuk melepaskan kita daripada tanggungjawab kita kepada Allah. Sebagaimana firman Allah dalam surah Al-A’raf,surah ke-7 ayat ke-164.:

Dan (ingatlah) ketika suatu umat di antara mereka berkata: "Mengapa kamu menasihati kaum yang Allah akan membinasakan mereka atau mengazab mereka dengan azab yang amat keras?" Mereka menjawab: "Agar kami mempunyai alasan (pelepas tanggung jawab) kepada Tuhanmu, dan supaya mereka bertakwa".


Allah juga memerintahkan kita untuk sentiasa memberi peringatan kepada orang yang beriman:

Dan tetaplah memberi peringatan, karena sesungguhnya peringatan itu bermanfaat bagi orang-orang yang beriman.
(surah Adz-Dzaariayat, surah ke-51 ayat ke 55).

Jadi,tugas kitalah untuk mengubah masyarakat, membina masyarakat, dan akhirnya menahirkan kembali generasi rabbani. Imam Hassan Al-Hudhaibi pernah berkata..

”Tegakkanlah daulah Islam di dadamu, nescaya ia akan tertegak di negaramu.”

Maksudnya, kalau kita nak kembalikan kegemilangan Islam, pertamanya, tegakkan Islam dalam diri kita dahulu. Kalau setiap orang telah tertegak Islam di dadanya, sudah terbinalah negara Islam. Bukan susah pun. Apa yang kita kena buat, sedarkan kawan-kawan, adik-adik, abang-abang dan kakak-kakak kita. Macam mana nak buat? Ceritalah apa yang kita faham mengenai keadaan masyarakat sekarang. Semoga dengan itu mereka tersedar dan ingin mengubah diri.

Maaf, sekarang anda semua mungkin membaca kisah keruntuhan akhlak dan moral orang lain. Mungkin kisah anak orang lain. Mungkin kisah kakak atau adik orang lain. Mungkin kisah saudara orang lain. Tetapi kalau hal ini dibiarkan berterusan, tidak mustahil suatu hari nanti anda akan mendengar kisah adik anda sendiri terlibat dengan hal-hal yang disebutkan tadi. Maaf, saya bukan mendoakan, tetapi ini adalah kenyataan.

Kalau anda yang sedang membaca ini tak mahu mengambil tahu, rasa tak perlu nk susah pikir pasal orang lain, terserah. Jika kita kedekut untuk mengorbankan masa, tenaga dan harta untuk menyedarkan masalah umat ni, kita yang rugi. Firman Allah :

Ingatlah, kamu ini orang-orang yang diajak untuk menafkahkan (hartamu) pada jalan Allah. Maka di antara kamu ada orang yang kikir, dan siapa yang kikir sesungguhnya dia hanyalah kikir terhadap dirinya sendiri. Dan Allah-lah yang Maha Kaya sedangkan kamulah orang-orang yang membutuhkan (Nya); dan jika kamu berpaling niscaya Dia akan mengganti (kamu) dengan kaum yang lain, dan mereka tidak akan seperti kamu (ini).

(Surah Muhammad, surah 47, ayat 38)

Allah akan menggantikan kita yang kedekut ini dengan satu generasi yang tidak akan kedekut macam kita. Mereka ini lebih menyintai Allah dan agamaNya lebih daripada kita dan Allah juga menyintai mereka. Firman Allah:

Hai orang-orang yang beriman, barang siapa di antara kamu yang murtad dari agamanya, maka kelak Allah akan mendatangkan suatu kaum yang Allah mencintai mereka dan mereka pun mencintai-Nya, yang bersikap lemah lembut terhadap orang yang mukmin, yang bersikap keras terhadap orang-orang kafir, yang berjihad di jalan Allah, dan yang tidak takut kepada celaan orang yang suka mencela. Itulah karunia Allah, diberikan-Nya kepada siapa yang dikehendaki-Nya, dan Allah Maha Luas (pemberian-Nya) lagi Maha Mengetahui.

(Surah Al-Maidah, Surah 5, ayat 54)

Jadi sedarlah wahai umat Islam!! Sedarlah Remaja Islam!! Kalau bukan kita yang akan mengembalikan Islam, siapa lagi!!?? Mulakan dengan diri kita! Ya, diri kita! Mulakan sekarang juga!! Ya, Sekarang! Kalau bukan sekarang, bila lagi!? Para sahabat dahulu telah membuktikan mereka mampu menegakkan Islam. Mereka juga remaja. Mengapa tidak kita?

SEDARLAH...

(p/s : Semua kisah dan contoh yang saya bawakan di atas adalah benar-benar belaka)


Read More »

Nukilan Di Akhir Sya'ban

0 comments

Setinggi manapun kita berada
Sehebat apapun kejayaan kita
Sebahagia manapun hidup yang dicari
Sekuat apapun usaha yang diletakkan
Semuanya tidak akan berguna tanpa niat yang tulus untuk mengharap redho Allah
Kerana itulah sahaja yang menjadi kayu ukur kita di dunia ini
Sama ada 'BERJAYA' ataupun 'GAGAL'

Kerana saudaraku...

HIDUP ini hanyalah ujian
Dan MATI adalah penamatnya
Tujuan diciptakan dua perkara ini hanyalah untuk menguji kita
Siapakah yang terbaik amalannya
Firman Allah:


Yang menjadikan mati dan hidup, supaya Dia menguji kamu, siapa di antara kamu yang lebih baik amalnya. Dan Dia Maha Perkasa lagi Maha Pengampun.

[Al-Mulk - 67:2]

Oleh itu, kembalilah kepada fitrah penciptaan kita
Diciptakan untuk menjadi hamba
Hanya untuk mematuhi aturan dan ketetapan pencipta kita
Allah yang Maha Berkuasa, Maha Pencipta
FirmanNya:


Dan Aku tidak menciptakan jin dan manusia melainkan supaya mereka (beribadah) menyembah-Ku.

[Adz-Dzariyaat - 51:56]

Maka ujiannya adalah untuk mengikuti segala perintahNya
Juga ujiannya adalah untuk meninggalkan segala laranganNya
Yang semua itu dilakukan
Demi semata-mata untuk mendapatkan redhoNya

Kerana Dialah yang mencipta kita
Maka Dialah yang paling tahu mengapa ditetapkan kita perlu berbuat sesuai dengan ketetapanNya
Umpama seorang jurutera kereta yang menciptakan kereta
Menetapkan bahan bakarnya adalah petrol
Maka jika kita berkeras ingin menggunakan diesel sebagai bahan bakarnya
Dengan alasan ia lebih murah dan menjimatkan
Maka sudah pastilah kereta itu akan rosak teruk dan terpaksa di'overhaul'
Dan begitu jugalah dengan diri kita
Bukan semua kehendak serta keinginan kita boleh dituruti
Juga perkara yang kita rasakan baik itu sememangnya baik untuk kita
Dan bukan semua yang kita bencikan itu tidak baik untuk kita
Tetapi yang terbaik untuk kita adalah apa yang telah ditetapkan oleh Allah
Kerana Dia yang Maha Tahu
Sedangkan kita tidak mengetahui
Firman Allah:


Boleh jadi kamu membenci sesuatu, padahal ia amat baik bagimu, dan boleh jadi (pula) kamu menyukai sesuatu, padahal ia amat buruk bagimu; Allah mengetahui, sedang kamu tidak mengetahui.

[Al-Baqarah - 2:216]

Oleh itu saudaraku
Berhentilah daripada menolak fitrahmu
Sesungguhnya jiwamu inginkan kedamaian
Jiwamu inginkan ketenangan
Jiwamu inginkan kebahagiaan sejati
Kebahagiaan abadi
Dan pastinya kebahagiaan abadi adalah sesuatu yang kekal
Dan pastinya dunia bukan kebahagiaan yang dicari
Meskipun kau berjaya meraihnya
Ia hanyalah sementara
Kesenangan yang memperdaya :


Kehidupan dunia itu tidak lain hanyalah kesenangan yang memperdayakan
['Ali-Imran - 3:185]

Maka KETENANGAN serta KEBAHAGIAAN yang sebenar itu hanyalah apabila kau mengingat Allah:


Ingatlah, hanya dengan mengingat Allah-lah hati menjadi tenteram

[Ar-Ra'du - 13:28]

Dan kembali kepadanya dengan jiwa yang tenang
Bersama hamba-hambanya yang lain
Lalu memasuki SYURGA-Nya yang dikejar oleh setiap makhluk:


Hai jiwa yang tenang, Kembalilah kepada Tuhanmu dengan hati yang puas lagi diridai-Nya. Maka masuklah ke dalam jemaah hamba-hamba-Ku, dan masuklah ke dalam surga-Ku.

[Al-Fajr - 89:27-30]

Dengan mempergunakan setiap detak jantungmu
Setiap kerdipan kelopak matamu
Setiap sedutan nafasmu
Setiap tutur katamu
Setiap cetusan fikiranmu
Setiap setiap langkah kakimu
Setiap apa sahaja yang kau ingin lakukan

Hanya untuk mendapatkan redhoNya
Hanya untuk mendapatkan hanya perhatianNya
Hanya untuk mendapatkan tempat di sisiNya

Bangkitlah wahai jiwa yang mempunyai fitrah yang suci
Tinggalkanlah segala kejahiliyahan yang bersarang dalam diri
Tinggalkanlah segala kemaksiatan yang membelenggu diri
Jangan tertunggu-tunggu lagi
Apakah kauyakin kaumasih hidup selepas detik ini?
Sedarlah wahai diri
Insaflah wahai diri
Temukanlah kebahagiaan hakiki
Cinta sejati
Cinta Ilahi


Bermusafirlah demi mencari kedamaian abadi...


TIADA YANG LEBIH INDAH DARIPADA MENDAPAT REDHA ILAHI
SEINDAH APAPUN SESUATU ITU DALAM PANDANGAN MANUSIAWI
IA TIDAK AKAN BERMAKNA TANPA KEREDHAAN-NYA


..::Marhaban Ya Ramadhan::..


-Nukilan di Akhir Sya'ban-


Read More »

Lesson 39: Controlling Varroa Mites Without Medication

0 comments
Hello friends, from Long Lane Honey Bee Farms. Sheri and I (David) welcome you to another basic beekeeping lesson.

Feel free to share these lessons with others. We recently heard where a beekeeping association prints off each lesson and places them in a binder for their members. We are thankful to have an opportunity to help others in the wonderful field of beekeeping.

Today, I want to show you how to control your varroa mites without medication. I have a video below that show me treating an entire hive in about 5 minutes.


I have previously (Lesson 28) written an entire lesson explaining the history, reproduction cycle and how to identify mites. You might want to review that lesson before proceeding through this lesson on how to safely treat for mites with powdered sugar. That lesson can be found by clicking here or going to: http://basicbeekeeping.blogspot.com/2008/02/lesson-26-varroa-mites.html

Powdered sugar does not get rid of every single mite, but it greatly reduces mites in a colony if treated properly. Along with green plastic brood comb and screen bottom boards, powdered sugar treatments can significantly reduce your mite load. Maybe you should consider getting off the medication treadmill and approach mites with an IPM (Integrated Pest Management) method without chemicals. We sell a complete kit that includes a screen bottom board, two green drone combs and a powdered sugar sifting screen which you can see used in one of my videos below. This kit sells for $39.00. These one piece green drone combs allows the bees to raise only drones on these 2 frames. The mites prefer the drone cells since they stay capped longer. When sealed, simply freeze the frame, killing all mites in the sealed drone brood. Return the frame to the same hive and they will clean out the frame and repeat the process.
You will want to get rid of as many mites as possible now that we are into late summer. DO NOT carry a mite infestation into winter. Many mites carry viruses and can kill your hives during the cold winter months. But, if you can reduce your mites then the winter generation of bees will emerge without being bitten by a mite.
How do you conduct the powdered sugar drop?
IN A NUT SHELL: Pour one cup of powdered sugar onto the top of the frames in one deep hive body for a minimum of 3 consecutive weeks on the same day each week. A six week treatment is even more effective. The powdered sugar falls between the frames, coats the bees and causes the mites to lose their suction cup grip on the bees and then falls through the screen bottom board, or off of the bee on their next flight. I strongly recommend a six week application so you can be sure to break the mite's brood cycle.
If you treat only once, but the bulk of your mites are within the capped brood, then that treatment will only help with the mites that are out and on the bees or comb. But as soon as the other bees emerge, the mites spread again. That's why a six week application is so effective.
A MORE DETAILED EXPLANATION First, purchase some powdered sugar. There is a debate on whether the corn starch found in most store bought confectionery sugar may or may not be good for bees. Most of us aren't too worried about the small amount of corn starch compared to how effectively it helps reduce mites. However, if you have a good blender and some time, consider taking granulated sugar and grinding up your own corn starch free powdered sugar. A good blinder will do it very fast, but keep in mind that the sugar does become pretty warm when you grind it up into powder. The volume stays the same, so to make 2 cups of powdered sugar use 2 cups of granulated sugar.
Use 1 cup (8 oz) of powdered sugar per hive body and I do not treat my honey supers because I do not want powdered sugar in the honey. But, if you time things right, you can treat as soon as you take off your honey supers. This year my bees are still pulling in nectar like it is July, so I'm treating a few that still have supers as in the video below.
Next, head to the bee yard with your smoker, hive tool, sifting screen, powdered sugar and humble feeling of knowing that you are a beekeeper!
In this next video, you'll see me actually demonstrate the entire process. And, watch the timer because you'll see that it really doesn't take all that long to do a complete hive even with a stuck super on it!

Okay, let me answer a few questions that the video may prompt you to ask.
1) Why use a screen. Because it holds the bees beneath the treatment. Otherwise, they will fly up and out of the top as soon as the powdered sugar starts falling between the frames. YOU WOULD TOO!
2) What about the powdered sugar on top of the frames. Leave it, or brush it between the frames. Remember, bees love sugar!
3) Why didn't I have an inner cover on this hive. Because I have a special spacer attached under the top cover that does the same thing and makes it easier for me to lift open the top.
4) Why did you put your first deep on the ground? Because I use both common placement methods. In the video I placed my super on the inverted top cover, but placed my deep on the ground. I usually do not place my boxes on my top cover because they stick. I set them on the ground like I did my top deep, always putting the front down so I can place it back on the hive in the same orientation that I took it off. NEVER place a hive body on the ground with the frames down, like it sits on the hive. You'll smash all your bees on the bottom. Tilt it to its front, like you see me doing in the video. By the way, when you place the supers or deeps on an inverted top cover, you can also kill bees, and even the queen. But by placing it on the ground no bees are smashed. The queen does not fall off and the bees do not mind.
Finally, you must be stringent about your schedule. For six weeks, keep track of what day you did your powdered sugar drop. If it was Monday, then repeat the process every Monday for a total of six weeks. Do not fudge or skip or haphazardly complete the process.
Thanks for joining me today for another lesson. As our family business continues to grow, we'd like thank all of our customers who are so wonderful to us. Thank you for your support and business. We sacrifice many hours a day, answering email and answering questions on the phone and it is our pleasure. Many call in who have never ordered from us but simply found us on the Internet and have some questions. We don't mind, but we do need your business :)
We have completed our beekeeping Store/Education/Research Lab and it is really working well for us. And, this year our bees did very well, both in producing queens and honey! We still are producing queens, and September is the best month to replace your queen so that your new queen can lay a great winter generation and take off fast in the Spring. Do not put up with an old, worn out queen. MANY, many beekeepers go into fall and winter queenless. Please inspect the condition of your queens or else your hives will not survive the winter without a strong queen. If you need a queen, please call us at: 217-427-2678.
Our queens are grafted from our hives that have survived two Illinois winters and from hives that have never been treated with medication. We also select for gentleness, adherence to the comb, honey production and low mite counts. We professionally package our queens with 4-5 very young attendants and ship via USPS 2 day guaranteed.
Here's a video of our daughter Karee, preparing queens for shipment. She is choosing very young nurse bees and picking them off the frame and placing them into the cage with the queen. The queen is already in there.
Finally, do keep our upcoming class in mind, and remember now is a great time to purchase your Spring hive equipment!!
Until next time, BEE-have yourselves!!David & Sheri Burns
Long Lane Honey Bee Farms
ORDER LINE: 217-427-2678
FAX: 217-427-2678



Read More »