1600 vs 1400 vs 1200 rpm washing machine

I got this question before – and now I bought one, I hope I can help you choosing the right washing machine.

You might have read other answers on the Internet – and yes most of them are saying a 1200 rpm washing machine is just as good as a 1600 rpm one, in term of the dryness of the clothes.

Wrong!

That might be true with synthetic clothes – which are the easiest ones to dry. But for cotton, it’s a big different. I tried same clothes with both 1400 rpm and 1600 rpm and my clothes are noticeable drier when it comes out of 1600 rpm mode. 1200 rpm, of course, is not even close.

My washing machine, a “high-end” model from Bosch has common presets:

  • 1600 rpm for cotton
  • 1200 rpm for synthetic
  • 1400 rpm for the mix of two above.

And for me, that totally makes senses. I noticed this kind of setting across many manufacturer – the cotton preset is always the one with fastest rotation available.

1600 rpm is best for cotton.

[quads id=2]

That means the time you need to dry it, as well as the consumption of the dryer, will be less.

And to endure 1600 rpm spinning speed, the washing machine must be sturdier and more balanced. In other words, it must be built better – so you can expect it to last longer, at least for the motor part. You can see that in same series, the higher model which supports 1600 rpm is always heavier than the lower end models. Yes – it’s to support and withstand the faster rotation.

An example is a 1400 rpm machine from Bosch, series 6 WAT2869MSN, only weighs 72 kg

https://www.bosch-home.se/produktlista/tvattmaskiner-och-torktumlare/tvattmaskiner/frontmatade-tvattmaskiner/WAT2869MSN 

A series 8, (which supports 1600rpm) WAWH26M9SN, weighs 81 kg

https://www.bosch-home.se/produktlista/tvattmaskiner-och-torktumlare/tvattmaskiner/frontmatade-tvattmaskiner/WAWH26M9SN

Given they have fairly same size, and fairly equivalent features, the difference in weight, of course, have to come from inside. The higher model has more weight to make sure it is stable with the rotation of 1600 rounds per minute.

So if you have cotton clothes – which I suppose you do – and if you can afford it, I would suggest to go to 1600 rpm one. It’s nice to have the option, it is nice to have drier (cotton) clothes, and it’s nice to have a washing machine that lasts longer.

EntryContentBase, MetaObject, CatalogEntryDto, Entry: which should you use?

It can be pretty confusing for new Commerce developers to understand how to work effectively with entries in Commerce. There are many things which represent the same concepts, however they are different and their APIs are not compatible. So which is which and what should you use?

Which is which

    • CatalogEntryDto is the DataSet to represent one or more entries (CatalogEntryDto can of course be empty). Beside the basic information like Name, Code, or MetaClassId, depends on how did you load it, a CatalogEntryDto can contain information about the assets, the associations or the variations (you can specify what to load by using CatalogEntryResponseGroup parameter. CatalogEntryDto, however, does not contain information of the metadata system of an entry – for example, if you add a metafield named “Description” to your entry metaclass – that is not available in a CatalogEntryDto.
      CatalogEntryDto can be loaded or saved by ICatalogSystem methods.

    Continue reading “EntryContentBase, MetaObject, CatalogEntryDto, Entry: which should you use?”

    I was with the EMVPs, and that was a fantastic experience

    If there is anything I regret being an Episerver employee, is that I can’t be an EMVP – the gang of awesome Episerver developers which their contributions are widely recognized by the community (I don’t consider myself to be “awesome”, but I try (to be)). The EMVPs can be seen as the evangelists of Episerver frameworks and technologies, they spread their wisdom, experience and best practices to help developers build better solutions, and they give valuable feedback to us to build better frameworks.

    EMVP Summit is one of special treat Episerver gives to EMVPs, as a recognition for their contributions, and also a chance – directly than ever – for Episerver to listen to the feedback from their distinguish developers. As a software engineer in Commerce development team, I was sent to team up, to talk, to discuss and to socialize with the EMVP (after winning a small competition with my two teammates, and getting a grant from my wife 🙂 ).

    Continue reading “I was with the EMVPs, and that was a fantastic experience”

    Debug .NET memory dump with WinDBG – crash course. Part 1

    If you ask me what had I been doing the last two weeks – then the answer is I was pulling my hairs.  A customer had a problem with their site as the memory hiked up after catalog imports and stayed there “forever” – and in the end it slowed the site down. I jumped in and almost regretted that decision – had to spent days  messing around with WinDBG and memory dumps. In the end – I found the problem and it was fixed. A lot of hairs were loss in progress, but I learned something about WinDBG – and that’s what I’m sharing today.

    WinDBG is probably the most famous tool for debugging stuffs on Windows. Out of the box, it only works with native applications, aka assembly and such – but lucky for us, there are plenty of extensions to allow it to work with .NET application. The “standard” SOS and more advanced extension SOSEX. SOS is included in WinDBG, while you can download SOSEX from here (for 64 bit) or here (for 32 bit) . Download the zip file and extract the dll somewhere.

    WinDBG comes with the Windows SDK, not the standard .NET framework, so you’ll probably need to install it separately from here

    Continue reading “Debug .NET memory dump with WinDBG – crash course. Part 1”

    Episerver Commerce CustomerContact Events

    This post was inspired by this question: http://world.episerver.com/forum/developer-forum/Episerver-Commerce/Thread-Container/2016/9/commerce-manager-contacts-events/

    and is an excerpt from my book: https://leanpub.com/proepiservercommerce

    You might notice the lacking of events in some parts of the system. We have events for catalog system, for order system, for prices and inventories changes, but that’s not enough. You might want to have events – or at least – the ability to know when something happens. For example, when a customer contact is changed, or edited, or deleted, it would be very nice to do some extra actions.
    Sending emails, updating external systems, etc.

    Such events are not available out-of-box, so we have to implement our own. How? We don’t have ICustomerContactService (or something similiar) interface where we can write our implementation to replace the default service (and even if there is, it would be a big task to do so). So there’s no “ordinary”, framework-way to do that. However, CustomerContact is built on Business Foundation system, and BF, at its core, is all above extensible and pluggable. We don’t have ICustomerContactService interface, but we have IPlugin
    who can do the same, and even more. As we learned in previous chapter, CustomerContact is just another EntityObject and all operations are still done via BusinessManager.Execute(Request) – even we have some nice wrapper methods to make working with it easier. And when Execute(Request) is called, it also runs all registered IPlugin modules.
    Continue reading “Episerver Commerce CustomerContact Events”

    Learn Git in … 30 days

    Recently I stumbled on a tutorial named Learn git in 30 minutes. While there is nothing wrong with that tutorial, it’s actually pretty accurate, and clear and easy to follow – thumbs up to the author about the writing – I have great concerns about how should we learn Git.

    Git is not that easy.

    Don’t get me wrong, Git is a great tool, perhaps the greatest developers’ tool since C language. Where I work at, we switched from Team Foundation Server to Git two years and a half ago, and I’ve never looked back – Git does things right where TFS did wrong. It really helped my life, as a developer, easier.

    But everything comes at a cost.

    As powerful and flexible as it is, Git is also complex and easy to mess up. It can be your best tool,  but it can also be your worst nightmare, when something goes wrong.

    Continue reading “Learn Git in … 30 days”

    The beauty of new promotion system

    This is going to be a relatively short post. If you are using Episerver Commerce 9, you probably know that we are working on a new promotion system. It’s still BETA, but some of our customers already use it, and from what I heard they are really happy with it.

    One of the reasons we create a new promotion system is the old one is not developer-friendly. Have you ever tried to create a promotion in old system, by code?

    This is an “simple” example of how to create a new campaign and a couple of promotions:
    Continue reading “The beauty of new promotion system”

    StackOverflow – a missed opportunity

    Back when I was young and mostly stupid, I discovered StackOverflow. The site struck me hard. There were a lot of “Wow” moments for a third year student. I still remember the first time I asked the first question, then even think about the questions to ask (so I can gain some precious reputation – yeah, I was young and stupid, remember?), and the first time I tried to answer a question myself.

    It has been a long time since those days.

    I still use StackOverflow, even at this very moment. But it’s on demand, instead of browsing it everyday as a habit. I search for a question, read the answer, possibly vote it up, then leave. Sometimes, when I have absolutely nothing to do, I try to review the suggested edits from other users. And that’s it.

    I don’t entirely leave StackOverflow, I just don’t actively use it any more.

    Continue reading “StackOverflow – a missed opportunity”

    What does it take to be a developer?

    No I’m not talking about becoming a “developer” like Bill Gates, or Mark Zuckerberg, or even someone less “famous” like Linus Torvald or Anders Hejlsberg. Man, I’d give up many things to become one of those. To become such successful developers, you must be extremely talented, extremely determined, and of course, a sizable amount of luck. I’m talking about an average human being, trying to become a person who can enjoy his work (and hopefully, provide his family with that work). 

    Somebody might think, it’s easy to be a developer today. Most problems can be found on the internet – by searching Google, or asking questions on sites such as StackOverflow. Some might even jokingly define “programming = copy and paste answer from StackOverflow”, but we all know that, it takes more than that.

    I’ve been trying to answer that question. I’m not a great developer by any mean. A decent, at most (My boss has been saying that I’m doing a very good job, I truly hope he’s not just being nice). It’s been 14 years since I get into programming, 10 years since I made the final decision to be a programmer, when I chose the faculty at my university  and 6 years since I began my professional career as a developer. It’s been all natural to me – what does it take to be a decent developer?

    Continue reading “What does it take to be a developer?”

    Articles software developers should read, at least once

    … if not twice.

    These days, almost every software developer has a blog – so it’s sh*tloads of content around the Internet. Truth is, the good, accurate, long-lasting contents are hard to be found. Most contents are supposed to be obsolete very soon – and it’s OK, because many contents are for a very specific situation in a very specific time. But can we have a collection of the precious contents that are useful not only today, this week, this month, but ten years from now?

    This is supposed to be a definitive collection of great contents that will be helpful for your entire career as a software developer. It’ll be updated frequently, with new link as I found it.

    The Log: What every software engineer should know about real-time data’s unifying abstraction (Jay Kreps)

    Logging is essential to every serious software system. But it’s not easy – getting it right can be indeed hard, especially in real-time. This article provides a deep knowledge about the concept.

    http://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying

    The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (Joel Spolsky)

    It’s been 26 years since Unicode was introduced and still, not all people can get it right. This article gives you – as the tittle suggests – a minimum knowledge about Unicode, and how to not get it wrong.

    http://www.joelonsoftware.com/articles/Unicode.html

    What Every Programmer Should Know About Memory (PDF) (Ulrich Drepper)

    This is a pretty low-level paper, you will learn about how memory works at hardware level. Still interesting and useful. Who knows someday you’ll have to get your hands dirty with some memory stuffs?

    Continue reading “Articles software developers should read, at least once”