Sensation! Sensation! Boats Sportswear Ladies handbag Hydrocodone online Chairs Pills, Compare pills, Reviews pills Ear rings Cars Cheap drugs online shop Åables Autos Top casino Dating Adipex online Underwear Building materials mp3 music for mobile Cases Credit Phentermine online Cigarettes Medical tests Top auto-moto Download Ringtones Balans Best Ringtones Cigarette Green Card Information Necklace Yachts furniture Xanax online Suits Sport Betting Credits Rolex Replica Online notebook shop Blog Search the Web Sale Auto Loan Online Get ringtones online Fashions Chronometer Ornaments Trousers Vicodin online Cialis online Free mp3 ringtones Tramadol online Fioricet online Free Ringtones Intimate goods Phentermine No Prescription ya.by Evening dress FDA Approved Pharmacy Soma online Valium online auto-moto
Sensation! More news by category: Vicodin abuse Phentermine lortab online Alcohol hydrocodone 25mg viagra Viagra picture Vicodin withdrawal symptom Buy Hydrocodone Buy viagra now online Iothalamate Tramadol Meridia better than phentermine Macrobid Xanax gg 258 Buspirone Chenodiol Cialis free sample Mechlorethamine Phentermine medical insert Cheapest price viagra Phentermine online cod Order viagra online Phentermine about withdrawl Xanax overnight Cheap phentermine pills Vicodin and pregnancy Anileridine Discount viagra Skelaxin Meprobamate Phentermine online stores Celexa phentermine Fosfomycin Phentermine from mexico Lyrica Suboxone Purchase xanax Viagra experience Cialis levitra better Free sample prescription for viagra Bactrim Order hydrocodone online Clorazepate Cardizem Klonopin Buy Cialis Cialis samples Prednisone Promazine Stavudine Viagra prescription uk Bacitracin Monopril Cheap vicodin Tramadol heath solutions network Terbinafine Gatifloxacin Astemizole Niacin Phentermine blue 30 mg Natural viagra for woman Chlorthalidone Cheap phentermine perscription Generic viagra canada Phentermine very cheap Cod hydrocodone Adipex cheap phentermine Side effects of tramadol hydrochloride Viagra cialis levivia comparison Viagra versus levivia Flomax Losec Phentermine alternative Order fioricet online Flonase Phentermine discount Low price phentermine Hydrocodone information Phentermine message board Cialis drug prescription Atrovent Locoid Cheap phentermine online no prescription Appetite suppressants and phentermine Furosemide Order viagra without prescription Phentermine warning Mometasone Order phentermine overnight Somatostatin Alprazolam xanax Amlodipine Minipress Vicodin picture Drug interactions with cialis Picture viagra pill Fatal dose of xanax How does phentermine work Viagra advertisements Generic viagra cialis levitra buy cheap Prescription free viagra Online ordering viagra Lexapro Alternative herbal review viagra Hydrocodone cod Ionamin phentermine yellow Phentermine no doctor Viagra prescriptions online Constipation phentermine Fast acting viagra Clozapine Cialis generic india Macrodantin Nonoxynol Comparison viagra cialis levitra Beclomethasone Buy phentermine online without a prescription Cialis softtabs Meloxicam Filing income tax phentermine Frontier pharmacy phentermine Generic price viagra Get viagra online Cetirizine Phentermine online pay with mastercard

December 10, 2005

Factors and aspects influencing Software Design Quality

Delivering software with quality software design is always a challenge for a software engineer and more so for those with less experience. A good software design is expected to deliver software that is simple, extensible and maintainable. What are the factors that influence quality in software design?

Here are the ones that I can think of:

  1. Understanding of business requirements - this includes a solid understanding of current business requirements and a good understanding of business/technology vision
  2. Design skills - this includes the quantity of design skills that is used for the design activity - number of designers, skill-levels of designers etc.
  3. Extent of validation - this includes frequent peer reviews, formal and informal design reviews etc.
  4. Time spent on design - this includes the total/aggregated time spent on design

Also, some of the cross-cutting aspects that could influence any of these factors could be:

  1. Motivation - the motivation of all those involved in the design activity and also the stakeholders.
  2. Organizational support - the organizational support for the design activity, design decisions etc.
    If we assume that there is a solid understanding of business requirements and a good knowledge of business/technology vision (if one exists), then the software design quality is directly proportional to the other three factors: design skills, extent of validation and time spent on design.

Factors influencing software design quality

In the above diagram, the area of the triangle corresponds to the quality of software design, the bigger the area, the greater the design quality. If we assume that we could assign x number of designers to solve a problem, then we have three options to improve the design quality - improve the design skills or increase the validation mechanisms or increase the time spent.

In reality, a team cannot afford to do any of these three beyond certain levels because of the associated costs. For instance, one cannot assign too much time or too many skilled designers for budgetary reasons, customer commitments etc. As a result, improving the design quality entails a delicate balancing act between these various factors within the available tolerance bands.

This diagram may lead to other questions like how is ‘time spent on design’ related to minimalistic design - which essentially means distributing the design activities among different iterations and not doing the big design upfront? Or in other words, how does this deal with agile development paradigm? I have a week to think for my next blog.

November 23, 2005

Silicon-based Enterprise Service Bus?

It is everybody’s knowledge that XML is a chief enabler of SOA and semantic integration. But one of the major technology roadblocks for the adoption of XML is performance - XML processing is resource intensive and time-consuming which makes one think that software-based XML processing may not be the best way of dealing with XML. This has been a major challenge for ESB vendors who deliver xml-based integration solutions.

Yesterday I came across this company called Terari that claims to have the world’s first silicon-based XSLT engine. Terari claims that its silicon-based RAX-XSLT is five times faster than a software XSLT engine. For the last couple of months, there has been a few developments in the hardware/networking area that is related to XML processing: CISCO’s AON strategy, IBM’s acquisition of Datapower and Intel’s foray into XML routing. These vendors have XML appliances that could do things like message-based routing, content acceleration, and XML security.

All these developments seem to have direct impact on SOA and specifically ESB. Are we getting closer to a silicon-based ESB?

A XML-based ESB needs a xml router, xml transformation engine, standards-based adapters that would let service providers connect the services to the bus and optionally an orchestration mechanism. It becomes obvious that hardware implementations for the first two are already available or about to be available. All that needs to be done - some vendor may be already doing this in a top-secret way - is to develop one or more ASICs that would

  • provide hooks to standards-based services by handling protocols like SOAP, HTTP etc.
  • provide a programmable bus that orchestrates these services. If the chips could process a language like BPEL natively, then one could design the orchestration using standard BPEL tools and export the BPEL to these chips.
  • If somebody comes up with such a solution, then we will see a highly-performant ESB solution that would take the entire middleware market by storm as it may be the next big thing and as this article claims, the next big innovation in enterprise computing.

    November 14, 2005

    SOA and business analysis

    On my flight from Chicago to San Francisco, I was reading an article in Information Week on SOA and web services which had a survey on SOA/web services. According to this survey, 26% of the respondents said SOA/web services introduced more complexity into IT system. 33% of the respondents said SOA/web services cost more than expected. These problems could be due to excessive service-enablement without proper business process analysis.

    Also, the article talked about a few adopters of SOA and their experiences. As it did so, it sought to answer some questions.

    Who should identify services? When IT identifies and builds services, it does so from components that are convenient to put together. Whereas the grander vision of SOA is automating the right business processes to fulfill business needs. So, IT should work with business-process analysts to identify services.

    How do we get SOA into business process analysis? Highmark, the health insurance company, is considering a role called “SOA business-process analyst”. Creation of such roles may address one of the biggest challenges in SOA adoption - getting the business analysts to think about reusable services. By getting SOA into the titles of some business analysts, identifying services is made an important part of job responsibility. Eventually when there are enough business analysts thinking in terms of services, this role may go away.

    I was talking to this person who was working in IT architecture. I asked him “Do you use SOA in your company?” He said, “Oh yes. we have web services”. Alright I have heard that before. But here is the highlight. Yesterday, I was listening to this webcast from a respected web services security expert. Somebody asked him at the end of the show, “what is SOA?”. He says, “It is a means by which you can access your applications from remote processes and different systems”. I was stunned.

    SOA has been a buzzword in the IT field for quite a while and still there is a lot of IT experts who cannot distinguish between SOA and web services. SOA is still a long way to go..

    If anything, SOA and service-enablement should start with business analysis. SOA without business analysis may lead to cost overruns and increased complexity in terms of service management. On the other hand, a good business analysis will become a selling point for SOA.

    November 6, 2005

    JSR 227 and loose coupling for Application services

    Last week I was reading an article when I ran into JSR 227. JSR 227 was introduced by Oracle a couple of years ago. It seeks to introduce a declarative binding and loose coupling between the application/business services and the view layer in J2EE applications. The motive of this initiative to standardize a drag-drop feature of the Application Deverloper Framework in Oracle JDeveloper. This JSR mandates a standardized way to describe J2EE-based application services and a standardized way of consuming them. BEA and IBM voted against this JSR citing concerns about the extent and scope of this JSR especially when it comes to describing application services in a standard way.

    However, this JSR brings out an interesting void in service-enablement where most of the focus has been on enterprise services that are consumed over the web. Loose coupling among fine-grained application services will bring about agility and reuse of services among lower-level business processes. Most of the times, these lower-level business processes are controlled by one or two business units and hence the opportunity to share these services exist without a process-oriented organizational setup that SOA mandates. And demonstrating success at lower levels may make upper-level management realize the value of SOA if implemented for enterprise-wide business processes.

    What does all this mean technically?

  • There can be a standardized and a simple no-frills way of describing application services. This can be done using a simple Application Service Description Language (ASDL) (a more generic cousin of CORBA IDL) which is very lightweight when compared to its web services counterparts. This language should be extensible so that there could be custom extensions to describe application services defined using various technologies like EJB, COM+ etc. It will be nice if this language is XML-based.
  • Tool vendors can provide support to generate proxies to be used by service clients by using ASDL and its extensions.
  • ASDL
    As a side note, Java-based Spring framework provides a nice way to decouple service clients from services through inversion of control (IOC) and dependency injection. The injection is configurable which is a nice departure from the code-centric decoupling approach promoted by J2EE through business delegates and service locators. Moreover, inversion of control provides for improved testability.

    October 31, 2005

    SOA expert podcast

    While browing the iTunes podcast directory, I found SOA expert David Linthicum’s podcasts on SOA. I find the podcasts useful to get an up-to-date aggregated information on the developments in the SOA world. David releases a 20-minute podcast every couple of weeks. Apart from giving updates in the SOA field, David answers questions from the audience that he received via email or voice mail. Moreover, he delves deeper into a topic in SOA in every podcast. One can subscribe to his podcasts at:

    http://www.soaexpertpodcast.com

    October 29, 2005

    What is a ‘Service’ in Service-Oriented Architecture?

    A Service is a business function with a published definition specifying the contract for supported operations, exchanged messages, protocol bindings and access information. A service can have several implementations. A well-designed service is expected to possess certain quality attributes like performance, reliability, scalability, autonomy etc. some of which may be guaranteed by the service provider or the service broker.

    Service in the SOA world

    A service provider provides a service with a published definition. Some companies like Amazon.com, Google provide services in the web that could be programmatically accessed. A service broker is a marketplace hosting services provided by different providers. StrikeIron
    is an example of a web service marketplace. A service consumer consumes the service.

    How are services related to components in the OOP world? I got the same question and found the answer in one of the web sites that made sense. Service is a deployment and runtime concept. Component is a development and deployment concept. Component is generally a unit of code for compilation and a service is an implementation of an interface that could be realized by one or more components. A service has pre-defined quality attributes and service level agreements. A service has message contracts and published definition. A service may be discoverable.

    October 22, 2005

    Reverse Proxy

    A reverse proxy is a proxy server that proxies the requests to a group of web servers. It is called a ‘reverse’ proxy because a proxy server typically proxies the requests from a group of clients to the internet while the ‘reverse’ proxy proxies the requests from all the clients to a group of web servers. Most of the common web servers including the popular apache web server can be configured to function as a reverse proxy.

    A nice article on reverse proxy can be found at:

    http://www.sans.org/rr/whitepapers/webservers/302.php

    May 15, 2005

    Microsoft is a sponsor of Javaone 2005!

    Can’t believe it? Me neither. Javaone conferences have been used as the stage for Microsoft-bashing by the Java pundits. It will no longer be the case with Microsoft jumping-in as a sponsor of the 2005 edition of the conference. On May 13th, Scott McNealy and Steve Ballmer appeared in a press conference and announced, among other things, the single sign-on feature for applications that involve both Solaris and windows platforms. Furthermore, Sun gets to access Microsoft’s Remote Desktop protocol that will boost their Sun Ray offering. More details about the announcement can be found here:

    http://news.yahoo.com/news?tmpl=story&u=/sv/20050515/tc_siliconvalley/_www11646916_1

    This is the second positive development for Sun Ray in the same week - the acquisition of Tarantella earlier last week gives Sun the ability to enable the Sun Ray appliances to access Microsoft products.

    March 16, 2005

    ‘Google suggest’s that client-side javascript is not that bad..

    One of my colleagues pointed me to Google suggest. As you type the keyword, you get suggestions with the number of matches. Looks impressive - it asks the question ‘why not client-side javascript to do serious things like firing a query to server and maintaining the result cache?’ quite convincingly. I am not going to dissect it as someone else has already done it.

    http://serversideguy.blogspot.com/2004/12/google-suggest-dissected.html

    SAN vs. NAS - How to maintain SANity?

    Have you ever come across the storage jargons like SAN, NAS etc. and wondering what they are? I was wondering myself and I sought refuge in a book.

    I read a book that had introductory concepts on storage technologies. The book addressed the evolution of technologies for connecting the storage media to the computer. The first step in the evolution was server attached storage where hard disks were directly attached to computers. SCSI (Small Computer Systems Interface) is a protocol (the most popular) for connecting storage to computers directly. SCSI bus is the circuit that connects the devices - computers and disks. Computers connected to a SCSI bus are the initiators since they initiate the request for data and disks are the targets. SCSI comes in different flavors - narrow, wide and ultra - single and differential.

    SCSI-1 was the first in the scene and it supported a data speed of 3-5 MB/sec and only one disk. Then came SCSI2 with all the optimizations to handle data upto 20 MB/sec. SCSI-3 is called ultra SCSI. Ultra-3 SCSI is the latest ultra SCSI that can support data speeds upto 160 MB/sec. FCAL (Fiber channel arbitrated loop) uses fiber channels and encapsulated SCSI as the protocol. FCAL can support data speeds in GB/sec.

    Since the enterprise data need has grown into terrabytes, technologists have started looking beyond the server attached storage into technolgies like SAN and NAS (they are not the same things written in reverse..). SAN is Storage Area Network and NAS is Network Attached Storage. SAN is a network of disk arrays connected to one another using fiber. The SAN is then connected to the servers using fiber. NAS is a network appliance that has scaled-down OS with disk arrays attached. The servers access NAS appliance (also called filers as they serve files as opposed to data) through technologies like NFS.

    SAN and NAS help us centralize the management of storage like backup, mirroring/failover and administration in general. However according to Gartner and other industrial analysts, only about 10% of the storage market is on NAS, SAN etc. Still 90% of the storage is on the server attached storage like the hard disks.

    Caught between SAN and NAS? Here is a good link on how to decide between SAN and NAS.

    http://www.onlamp.com/pub/a/onlamp/2002/03/14/sansnas.html

    Also, O’reilly has a book on SAN and NAS.

    My News: News Blogs:: Metformin Viagra information Recreational viagra use Bromodiphenhydramine Nystatin Overnight phentermine shipping Effexor drug interactions with viagra Yasmin Soma drug Woman taking viagra Glatiramer Furazolidone No perscription viagra Viagra sales uk Nabumetone Methdilazine Metaraminol Nolvadex Tegretol Dilantin Cephapirin Glycopyrrolate Hydrocodone ap ap Phentermine 37 5mg Dirithromycin Tramadol side effects Chlorzoxazone Bacampicillin 150 tramadol Idarubicin Phentermine airborne express+cod Generic meridia Natural supplement equivalent to xanax Description of meridia Corticotropin Viagra cream for woman Hydrocodone Viagra for women Vicodin side effects Acetophenazine Phentermine usa pharmacy Fatal dose of xanax Fast delivery phentermine Exelon Tramadol sales Santa claus viagra jokes Seroquel Lexapro and phentermine Tramadol dogs Promethazine Cialis tablet Hydroxyzine Half life of xanax Maxzide Phentermine faqs Comparison levivia viagra Montelukast Vidarabine Drug information picture identification tramadol er bvf Ditropan Xanax zoloft Afrin Phentermine overnight Tetrabenazine Viagra cialis levivia comparison Best phentermine pharmacies compare links Opium Ambien and pregnancy Alternative herbal viagra Meropenem Clonazepam Low cost phentermine Is xanax addictive Dangers of taking phentermine Phentermine addiction Laetrile Pravachol Albuterol Guanethidine Viagra cialis comparison Long term effects of xanax Phentermine fastin Triamterene Leflunomide Tramadol uses Vicodin drug test Hydrocodone guaifenesin Ssri phentermine heart Meridia Phentermine capsules Difference between cialis and viagra Atorvastatin Ceftriaxone Side effects of xanax Effects of viagra Griseofulvin Triprolidine Methamphetamine Terazosin Viagra sale Amoxil Norvasc Klonopin Piroxicam Vaccine Xanax withdrawl message boards Cialis on line Clonidine Phentermine mexico Next day delivery on phentermine Aldara Detox hgh phentermine quit smoking xenical Phentermine blue Viagra overnight delivery Phentermine by fedex Cefprozil Tramadol hcl Theophylline Diamox Diclofenac Tramadol hydrochloride tablets Saquinavir Tramadol medicine Hydrocodone m357 Inform your doctor medication phentermine dose weight Viagra female sexual inhancement Isoproterenol How long does viagra last Miconazole Propantheline Xanax liver damage Mixing viagra and cialis Prozac Moxalactam Generic viagra soft tab Muse Premarin Acetaminophen fioricet Doctor phentermine raleigh Ash of soma Information viagra Selegiline Cimetidine Advair Clarithromycin Phentermine blue 30 mg Diphemanil Loprox Omnicef Phentermine Ultram Diovan Viagra doses Drug vicodin Methenamine Taking phentermine with antidepressants Hetacillin Cialis and levitra Amoxapine Symptom of vicodin addiction Adenosine Long term side effects of xanax Methadone xanax interaction Electricity Loxapine Cefoperazone Cefotaxime Xanax sexual side effects Generica viagra Avandamet Tramadol avinza drug interaction Minocin Isocarboxazid Paris france cheep viagra 90 $89 mastercard Pentasa Estrone Cortisol Fastin Ergotamine Promazine Phentermine for less Drug phentermine testing Cod phentermine Hydrocodone cod Estradiol Discount generic viagra Lithium Female spray viagra Oxycontin xanax bars percasettes and lor tabs Drug interactions with cialis Alesse Amobarbital Cialis softtabs Penicillin 30mg phentermine Nadolol Fda us approved phentermine Moexipril Glycerin Scopolamine 50mg generic viagra Xanax drug information Vicodin and pregnancy Phentermine yellow Generic name viagra Mestranol Generic viagra no perscription needed Oxycontin xanax bars perclesept and lortab Vicodin withdrawal Ambien side effects Cialis viagra levivia Norgestrel Viagra tablet Viagra alternates Avapro Purchase vicodin Clopidogrel Tramadol hcl 50 mg tab Leuprolide Astemizole Phentermine info Oxaprozin Oxprenolol Lisinopril versus viagra Azathioprine Levitra cialis info Buspirone Viagra Cefuroxime Phentermine rx Tylenol Guaifenesin Compare phentermine Side effects phentermine gynecomastia Clomipramine Isopropamide Eldepryl Cialis dosage Nolvadex Fosamax Pentasa Clofibrate Niacinamide Soma bike Ethinamate Phentermine accepts cod Pulmonary hypertension and viagra Cialis dosages Glimepiride Natural viagra alternatives Stavudine Appetite suppressants and phentermine Pharmacy phentermine sister Urine drug testing of tramadol Will xanax help me sleep while on adderall Etanercept Kanamycin Viagra overnight Ambien on line Xanax withdrawl symptoms Phentermine from mexico Accutane Nalbuphine Cialis Viagra cialis levivia comparison dosages Nitroglycerin Cialis experience Xanax photos Cialis story Diazoxide Viagra jokes Phentermine forums Soft tab viagra Monopril Generic viagra fast shipping Blindness viagra Phentermine saturday delivery Viagra recreational use Lamotrigine Nifedipine Atrovent Female viagra alternative Tramadol cash on delivery Cialis dysfunction erectile levivia viagra Viagra and blindness Amoxicillin Generic xanax 2mg Ethanol Permethrin First viagra commercial network tv Viagra cialis generic Xanax effects Phentermine dangers Echothiophate Viagra and levivia Nystatin Phentermine florida Xanax next day delivery Carphenazine Ritonavir Viagra canada Discount pharmacy phentermine Taking xanax while pregnant Xanax manufacturer 5 pdr Actos Cialis vs viagra Pain medication tramadol Heart phentermine Xanax overnight shipping On line vicodin Kaopectate Cialis review Xanax uses Cozaar Sinemet Hydrocodone bitartrate Asa Zocor Plavix Fioricet Restoril Cytotec Fioricet addiction Blindness cialis Prevacid Clemastine Cefmetazole Watson soma History of phentermine use India pharmacies ativan valium xanax Effects of xanax on pregnancy Riboflavin Xanax libido Phentermine shipped cod Mesalamine Indocin Ondansetron Lawsuits involving blindness caused by viagra Dextromethorphan Atropine Effects from side viagra Feldene Viagra cialis Xanax without a perscription Fiorinal Oxycodone Renova How long xanax stays in system Tramadol 200 mg Phentermine canadian pharmacy Propofol Zithromax Phentermine np with hoodia Thyrotropin Octreotide Chromium How fast will phentermine work Xanax pics Xanax withdrawals Digitalis Mephobarbital Iproniazid Zyban Tramadol and drug tests Blue xanax Ambien rx Butorphanol Clarithromycin Discount phentermine to florida Linezolid Vicodin picture Eon phentermine Demeclocycline Information about street drugs or xanax bars Chlorcyclizine Coreg Perindopril Cialis and pomegranate interaction Snorting phentermine Generic sample viagra Xanax half life Cialis viagra Levivia dosing compared to viagra Cialis comparison levitra Keflex 180 tablet tramadol Piperacillin Overnight shipping phentermine Xanax bars Esomeprazole Spectinomycin Xanax 2 mg Phentermine blogging Discount meridia Finasteride Erythromycin Chlortrimeton Trifluoperazine Clopidogrel Viagra sale uk Side effect of viagra Soma side effects Ampicilin Cyber pharmacy viagra Neostigmine Chlorpheniramine Meridia Bexarotene Penbutolol Valtrex Heparin Over the counter viagra Hydrocodone mexican pharmacy what is tramadol Phentermine drug test Prozac drug interaction with xanax Ibuprofen Brompheniramine Ramipril Negative side effects of phentermine Levoxyl Estrace Discount hydrocodone Discount fioricet Liquid hydrocodone Diltiazem Viagra dosage Phentermine affordable Granisetron Cialis eli lilly Non perscription viagra Canada generic viagra Trimethobenzamide Metrizoate Uk viagra body building from sports supplement Acetylcholine Phentermine medical insert Chromium How does xanax work Phentermine referring report urls Enalapril Xanax info Vicodin addiction Xanax grapefruit juice Mefloquine Us phentermine 5 mg sale Bactrim Xanax tablet Description tramadol Xanax gg 258 Nutmeg Minipress Phensuximide Pilocarpine Hydrocodone Allowed cialis tag viagra xhtml Generic sales viagra Parnaparin Paxil Xanax side effects Lodine Xanax drug testing Women viagra Yohimbe and viagra Trileptal Anti cialis impotence Biaxin Viagra cream Flurbiprofen Gitalin Xanax high Phenytoin Acyclovir 2005 comment december leave viagra Flomax Valerian Zetia Tramadol used for Omeprazole Phentermine and carbs Xanax during pregnancy Ceftazidime Natural supplement for viagra Iothalamate Ketorolac Oxazepam Generic viagra cialis Viagra testimonials Prometrium Losartan Flutamide Vicodin abuse How long does phentermine stay in your body Generic purchase viagra Cyber pharmacy phentermine Phentermine overnight shipping Stopping xanax Diethylpropion 120 tramadol
    News Blogs: More news by category Ear rings Building materials Åables Replica Rolex ya.by Top auto-moto Evening dress Boots Tunings Medical tests auto-moto Blog Search the Web Mobiles Intimate goods Yachts Necklace Fashions Chronometer Cases Cars Medicine news Green Card Information furniture Ornaments Balans Sportswear Suits Sport Betting Autos Ladies handbag Trousers Bracelets Cigarettes
    1