Archive for July, 2009
Alienware M17x Gaming Laptop Computer (Intel Core 2 Extreme QX9300, 500GB HDD, 8GB)
Product summary:
The good: Subtle improvements to Alienware’s dorm-room-chic design; amazingly fast and powerful; highly configurable.
The bad: Good configs can get very expensive; no 16:9 display; garish lights don’t scream “high end.”
The bottom line: Alienware’s new version of the M17x makes some welcome design tweaks and offers the best laptop gaming hardware you can get. Just be warned: it ain’t cheap.
Specifications: Processor: Intel ; RAM installed: 8 GB DDR3 SDRAM ; Hard drive size: 500 GB ; See full specs
Price range: $4,049.00
Lenovo IdeaPad S12 (Intel Atom N270 1.6GHz, 1GB RAM, 160GB HDD, XP Home, black)
Product summary:
The good: Excellent keyboard, bright, crisp screen; ExpressCard slot.
The bad: Same old Atom N270 processor.
The bottom line: If you’re looking for a comfortable Netbook with a 12-inch screen, the Lenovo IdeaPad S12 feels comfortable and light–but at this size, we wish it had an Intel CULV processor.
Specifications: Processor: Intel Atom (1.6 GHz) ; RAM installed: 1 GB DDR2 SDRAM ; Hard drive size: 160 GB ; See full specs
Price range: $499.00 - $539.99
When we first heard Lenovo had an IdeaPad S12 on its way, we were expecting the long-anticipated Nvidia Ion-packing version, which will include graphics power decent enough to accomplish HD video and even some demanding gaming, ie skiing games and programming by freelancers along with web reputation management. Instead, we got a configuration that includes an Intel Atom N270 processor and GMA 950 graphics–essentially the same configuration as any current Netbook.
The IdeaPad S12 does, however, have a 12-inch screen and full keyboard, giving this Netbook more of a laptop feel. (Of course, it comes with a premium Netbook price tag: $499.) Just don’t expect more than a larger version of the Lenovo IdeaPad S10-2 Netbook. The S12 is an excellent compromise for a notebook, but thin-and-light ultralow-voltage-processor laptops, such as the Acer Aspire Timeline 3810T and MSI X-340give a lot more bang, albeit for more bucks.
Developing a Complex External DSL. Part 2.
Design and Development
Designing and developing any complex language is a big challenge. Even if you have a good idea of what you want out of a language, working out the details of a complex language can bend your mind. It seems like just about the time you think you’ve got all the language features identified and syntax worked out, your future user base (including yourself) thinks of something new. This is many times even more so the case than when designing a general purpose language.
Of course, like anything useful in our field, a language will undergo enhancement after enhancement over time. One thing we need to do is make sure that we can support those enhancements over time. The language design, therefore, needs to embrace change. Further, a good language design will make developing the language far easier.
I mention a wide range of language syntaxes in this section, including graphical and textual. However, I must limit my scope to just one syntax type in order to keep this article to a reasonable length. Thus, I have chosen to focus on textual DSLs. A textual DSL is easily understood, and is likely applicable even when a graphical DSL is in use (see why below).
Syntax Design For Now and Later
Fortunately most language designers don’t wake up in the morning and say “I’m going to create a language today, and I wonder what it will be.” If we are considering the development of a language we have a good idea why. This is important because if we really don’t have a clear vision for the language our resulting design will be just as weak. So an important first step in language design is to know a lot about what you want your language to do.