Online Store | About Us | Blog
Page 1 of 10 in the History category Next Page
# Tuesday, August 24, 2010




Performance - Why Not to Upgrade

Are you a developer thinking of upgrading your PC? I have a very good reason for you not to upgrade.

It boils down to one thing: testing.

If you want to test your application from the user's perspective, especially from the lowest common denominator user's perspective, then your PC configuration needs to match those specs. If you have a top-notch PC that only 2% of your users have, guess what: 98% of your users will perceive your application as being "slow."

Rule of Thumb: 90th Percentile

Since you don't want to give your users the perception that your apps are slow, always match the 90th percentile of what your users are likely to have. So for example, if 90% or more of your users have at least 256 MB of RAM, then your development machine should have only 256 MB of RAM.

It turns out that about 90% of my users have dual-core CPUs (not quad core or single core) and at least 2 GB of RAM. They also have a video card that generally gets at least 30 TTP/s in the 3D test. My current dev PC is about twice those specs. It is a dual-core Intel Core 2 Duo E8400 with 4 GB RAM, and it gets around 70 TTP/s in the 3D test. It is a bit more powerful than I want it to be, and I will certainly not be upgrading it for a while.

When I developed Dacris Benchmarks 5.0, in late 2001, I did so on an Athlon 1 GHz machine with only 256 MB of RAM. That became roughly the 90th percentile PC spec in early 2002 (for power users). I also had to target Windows 98 and Windows 2000 at the time. I had to set up virtual machines in VMWare to test those OSes, since I was already running Windows XP.

I have basically been following the 90% rule for at least 9 years, mostly not by choice - since I did not have the lavish budget to spend on the latest & greatest hardware. However, in the past 2 years I have been consciously following this rule and if anything it has given me a great excuse not to spend too much money on upgrades.

Going Against the Rule: Windows Vista, .NET

An infamous example of not designing for the 90th percentile can be seen with Windows Vista. In early 2007, the 90th percentile configuration was quite out of reach of the system requirements imposed by Vista. Keep in mind that Windows has to run on all kinds of PCs. Also, Vista is not like Dacris Benchmarks where users are knowledgeable about hardware and usually have more powerful hardware than your average PC user. Bottom line - the jump from XP's basic 64 MB RAM requirement to Vista's 1 GB was too much for mainstream PC users. The result - Vista never reached more than 19% market share!

And if you still doubt that performance matters, take a look at how slow the adoption of .NET has been. .NET is much more resource-hungry than "raw" C++. It requires lots of memory to do JIT compilation. You can hardly run a .NET app without major disk thrashing on less than 512 MB of RAM. That is part of the reason why .NET adoption did not really begin until late 2004. I remember the JVM (Java Virtual Machine) being extremely slow (again due to insufficient RAM) even as late as 2005.

Stick to a $2000 Budget

My advice to those thinking of building a super-ultimate beast for a development box: don't. Try to spend less than $2000 on your beast. Otherwise, you'll be living in an elite fantasy world, isolated from the real world inhabited by most PC users. Note - if your users are super-power users, then the $2000 budget is trumped by the 90th percentile rule. Always try to match the 90th percentile.

If, on the other hand, you want to do R&D, by all means go for the latest & greatest hardware. It is the best way to stay ahead of the game and develop ideas for software that will only be commercially viable in 3+ years. It is a great idea as part of a larger R&D strategy to have at least one "R&D beast" machine. However, you should never do real "production" development on your R&D beast.

Conclusions

Development (for your products) should always be confined to your 90th percentile configuration, so that performance is accurately modeled for 90% of your users. Otherwise, you may have a surprise when your users start complaining about performance issues.

It is far too easy to become tempted to write slow code if, on your PC, the slow code isn't really slow. Even if you plan to test your software on other (slower) PCs, the time you spend during that testing may not be enough to give you a solid feel for how your users will perceive your software. And even if you do spend enough time testing your software on slower PCs, if you catch performance issues at that late a stage in development, the effort necessary to correct them is much greater than if you simply designed your software for that PC configuration in the first place.

August 24, 2010 12:02 PM Eastern Daylight Time  #    Comments [0] - Trackback
.NET | Business | Commentary | History | Technology | Tips
# Sunday, August 08, 2010




Ray Tracing to Replace Rasterization by 2020

Say goodbye to polygons and shaders. Say goodbye to OpenGL and DirectX. The future, from this point on, is all ray tracing.

One chart - one image - shows it perfectly:



(Source: PC Perspective)

Ray tracing outperforms rasterization for large numbers of polygons.

There are many disadvantages to rasterization:
  • It is slow (linear in time) for large numbers of polygons.
  • It does not produce reflections very efficiently or accurately.
  • It cannot dynamically produce effects like refraction or shadows.
  • It relies heavily on textures (which use up tons of space!) to produce lighting effects.
  • Coding rasterized games is difficult because of the requirement to approximate every single lighting effect that would be calculated automatically using ray tracing.
Of course, rasterization does have one advantage (and one only), and that is that on present-day PCs, it can render scenes in real time at higher quality than ray tracing.

Throughout computing history, it has always been the case that temporary approximation techniques were phased out when enough computing power was available to do away with them. For example, the use of color palettes in the 1990s (i.e. 256 colors) disappeared as soon as there was enough GPU memory to store 32-bit pixel values. When resolutions rose to 800x600 and beyond, bitmap fonts could finally be replaced by True Type fonts. Pixels were gradually phased out of the graphics world in favor of ems or inches.

Notice that rasterization has dominated the PC gaming industry since the 1990s. Currently, ray tracing cannot produce scenes at 1080p resolution in real time without sacrificing quality severely. However, this will soon change.

The amount of increase in CPU power (from present levels) needed to allow rendering of ray-traced images at 1080p resolution at 24 fps is only about 10X. This will almost certainly happen before 2020.

There is a movie coming out (in 2012) that is supposedly rendered entirely in real time using ray tracing.

To close off, here is a ray traced image using a ray tracer that I built recently:



Notice the accuracy of the reflections and shadows, and how they come at no extra cost - virtually no performance penalty and no extra code required!

August 8, 2010 2:19 AM Eastern Daylight Time  #    Comments [0] - Trackback
Business | Commentary | History | News | Science | Technology
# Friday, July 16, 2010




Memorable Seinfeld Quotes

Seinfeld, a sitcom created by Larry David in the early 1990s, has managed to have a lasting impact on our society.

So with that I think I'll summarize the most memorable Seinfeld quotes that I still hear nowadays. Seinfeld fans will know them instantly.
  1. Not that there's anything wrong with that.
  2. Oh yeah, well I had sex with your wife! ... (random guy to George: George, his wife is in a coma!)
  3. The last thing this guy's qualified to give a tour of is reality.
  4. Jerry: That's an old wives tale. Kramer: Is it? Look at this! (shows hairy chest) LOOK AT IT! LOOK AT IT!
  5. Marriage? Children? They're prisons! Man-made prisons! You're doing time! You get up in the morning, she's there. You go to sleep at night, she's there. It's like you, you gotta ask permission to use the bathroom. Honey, can I use the bathroom now? And you can forget about watching TV while you're eating. Because it's dinner time. And you know what you do at dinner? You talk about your day. How was your day today? Did you have a good day or a bad day? Well, I dunno, how about you how was your day? ... Jerry: I'm glad we had this talk. Kramer: Oh you have NO idea!
  6. Occasionally I like to help the humans.
  7. Hoochie mama!! Hoochie mama!!
  8. Serenity now.
  9. That's GOLD, Jerry. GOLD!
  10. OK. So that's one tuck, one no-tuck.
  11. NO SOUP FOR YOU!
  12. Believe it or not George isn't at home, please leave a message at the beep. I must be out or I'd pick up the phone, where could I be? Believe it or not I'm not home....BEEP!
  13. Hello, and welcome to movie phone. If you know the name of the movie you'd like to see, press one now. ... You've selected, Agent Zero. If this is correct, press one. ... You've selected, Brown Eyed Girl. If this is correct, press one. ... Why don't you just tell me the name of the movie you selected?
  14. Quone! To quone something!
  15. Bubble boy: The Moors! George: No, I'm sorry it's the Moops!
  16. WHO? WHO DOESN'T WANT TO WEAR DE REEBON??!
  17. Yoyoma!
  18. Giddyup!
  19. Oh I'm stressed.
  20. These pretzels are making me thirsty!
  21. Stick a fork in me ... I'm done!
  22. The sea was angry that day my friends. Like an old man trying to send back soup in a deli.
  23. How many times do I have to tell you? Poise counts!
  24. I wished that you would drop dead!
  25. It's fusilli Jerry!
  26. Jerry Seinfeld's a funny guy!!!
  27. I'm not telling you any ... more ... secrets! (Elaine on Schnapps)
  28. I heard *something*.
  29. I like to stop at the duty free shop.
  30. You don't even know what a write-off is.
  31. Snapple? ... No thanks.
  32. Can't you two see, that you're in love with each other?
  33. You put the balm on? Who told you to put the balm on? I didn't tell you to put the balm on? Where'd you get that da*n balm anyway? ... The Maestro. ... The WHO?!
  34. Hello Jerry! ... Hello, Newman.
  35. How can anybody not like him?
  36. George: What kind of a person are you? ... Jerry: I think I'm pretty much like you... only successful!
  37. Every group has someone that they all make fun of. Like us with Elaine.
  38. Jerry, I don't know sometimes...
  39. George: WHY did you have to destroy 25 computers? Kramer: George, listen ... I owe you one!
  40. I can't be with someone if I don't respect what they do. ... Jerry: You're a cashier!!

July 16, 2010 12:03 AM Eastern Daylight Time  #    Comments [1] - Trackback
Commentary | History | Internet | Personal
# Tuesday, May 11, 2010




Sell in May and go away? Not this year!

Gold has just reached a new all-time high today. It looks like gold is breaking out like a true champ.

There is an old adage among hard-core gold bugs: "Sell in May and go away." There is some truth to that statement. Gold's seasonality is such that the summer is usually a bad period, where gold does nothing and sometimes actually falls quite dramatically in price.

Well, this year is shaping up to be very different. This is a May breakout. I've never seen anything like it. It is totally counter-seasonal. This indicates enormous strength in gold right now.

What does this mean for the coming months? I think gold at $1800 before the end of 2010 is not out of the question. In fact, the likelihood of that is about 70%.

There is dollar devaluation afoot. The Euro is no longer a safe haven. Where do you put your rapidly-depreciating dollars? The stock market casino? Bonds that yield less than 3%? No. Real estate in a time of recession? No. Gold is the only thing left.

Maybe the old adage should be changed to "buy in May and go away."

May 11, 2010 7:56 PM Eastern Daylight Time  #    Comments [0] - Trackback
Commentary | Finance | History | News
# Saturday, April 17, 2010




iPad: Perfect for people who fear computers

Apple introduced the iPad a few weeks ago, and while I almost vowed never to write an Apple-related article, I feel that the iPad is something I must write about, despite how much I hate Apple's non-free approach to ISVs. Sure, Apple's app store is highly restrictive and they've cut out large ISVs like Adobe, but the iPad is so revolutionary that I need to talk about it despite all of its shortcomings. Bash it all you want, but the iPad is a new category of personal computer. Plain and simple. Thanks to its large screen, it enables all the features of a full-sized computer without the scary aspects of viruses or configuration.

The iPad's interface is a move beyond the desktop metaphor that is easier to interact with and much cleaner. The move can be compared to the evolution from console interfaces to WYSIWYG ("desktop") interfaces. That move is now considered revolutionary. In the same way, I consider the iPad to be revolutionary. It introduces an interface metaphor that is revolutionary compared to the desktop metaphor.

While WYSIWYG interfaces have been around since the late 1960s, it was not until Apple introduced the interface in the 1980s that the GUI/WYSIWYG interface (a.k.a. the desktop metaphor) took off. In the same way today, Apple has introduced a new interface: the touch-screen interface. This interface was in fact introduced with the iPhone and has already proved to be hugely successful.

The Problem with Desktop Interfaces

The main problem with the desktop metaphor is that it is non-intuitive. It's a sort of remote-control interface for your PC. You use the mouse to move a cursor on the screen. In a sense, the mouse is just like a remote control. You do not "feel" the UI elements. Furthermore, you have all sorts of equipment just to interact with your PC. Indeed, the desktop PC is a very complex device, consisting of two input devices (mouse & keyboard), a strictly-output device (the monitor), and the PC itself (a big box that just sits there & makes funny noises).

Now let us examine the touch screen as an input (and output) device. It was first developed several decades ago. Some would argue it's been around since the 1980s, but it has not taken off until recently. In fact, the original Tablet PC by Microsoft was probably the first mainstream touch-screen device. It was introduced less than a decade ago. Since then, we've seen an explosion in touch-screen devices.

Ironically, Microsoft was the first company to introduce the touch screen to the mainstream. However, they were continuing to use the old desktop metaphor. The problem was that the input devices were no longer the same: the mouse was gone, and the keyboard became an on-screen keyboard. Thus, the desktop metaphor lost its efficiency and actually became harder to use on a touch screen than on a regular PC. This is why the Tablet PC failed.

The Solution: iPad

Apple has always been the first to introduce successful new interfaces in the computing industry (notice I said "introduce," not "invent.") With the hugely-successful iPhone, Apple stumbled upon a new user interface paradigm that was different from the traditional desktop paradigm. This new paradigm was much better suited to touch-screen devices. People who had previously shunned computers were now using apps and playing games on the new iPhone. The iPhone is effectively a computer. The only thing it lacks is a keyboard and a mouse.

Now, while the iPhone was enormously successful and proved to the world that the computer could still evolve, there were things that the iPhone still could not do simply due to its small screen size. Thus, the iPad was introduced, providing a larger form factor for the same interface that the iPhone popularized. A new PC was thus truly born.

Computing Made Accessible

Every great invention is initially ridiculed & vehemently denied. It is then, much later, accepted as self-evident. The same is the case for the iPad. It may not seem that revolutionary now, but the iPad is truly the next phase in the evolution of the PC. At last, we can move away from the mouse & keyboard and embrace touch screens. The new touch screen paradigm will make computers more accessible to a larger percentage of the population, facilitating the demise of print media and television/radio.

The iPad is much like Apple's Lisa - a journey into the unknown. It is a very rudimentary, unpolished product. Fundamentally, it's just a proof of concept. Ultimately, I expect that future generations of the iPad, along with new devices from competitors like Microsoft and Google, will demonstrate that the PC is still evolving and that the touch-screen tablet is just another successful move forward for the PC.

To the iPad bashers, I say, this device is probably not for you. But regardless, this device will make computing much more accessible to people who are not computer-savvy. While you can do anything with your PC (because you're a geek), for a lot of people the PC is still a mysterious device about which they know very little. These people will benefit greatly from a device that is much easier to learn and enables them to avoid the mysterious aura surrounding the traditional desktop PC.

The Future of the Desktop

Any article about the iPad would be incomplete without discussing the future of the traditional desktop PC. I believe the desktop PC will continue to exist for a long time. However, it will gradually transition from being an entertainment device back to being a business/productivity workstation. Basically, the desktop PC has many uses that touch-screen devices cannot replace. For example, if you're a graphic designer, you need the precision of a mouse in order to produce good artwork. If you're a programmer or writer, you need the speed of a real keyboard in order to type efficiently. These uses are likely not going to be replaced by touch-screen PCs.

I expect that the long term impact of the touch screen device will be that it reduces demand for traditional PCs somewhat. People who are somewhat afraid of a full-blown PC and only really use their PC for email & web browsing will opt to go with the touch-screen PC rather than the traditional PC. However, the reduction in demand for traditional PCs will be very small, since many people will likely purchase both - a traditional PC as well as a touch-screen PC.

There is no point in getting worried about the future of the desktop PC. The two types of PCs will coexist for a very long time, just like laptops & desktops have already coexisted for several decades with no ill effects. In fact, the biggest effect that the touch-screen PC will have on the overall PC market will be an expansionary one: the overall PC market (including all form factors) will actually expand significantly thanks to the now successful introduction of the touch-screen PC.

April 17, 2010 1:29 PM Eastern Daylight Time  #    Comments [3] - Trackback
Commentary | History | News | Technology
Archive
<September 2010>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
About the author/Disclaimer

Disclaimer
The opinions expressed herein do not represent the opinions of the author or of any employer, employee, or associate of the author.

© Copyright 2010
Dan Tohatan
Sign In
Statistics
Total Posts: 182
This Year: 38
This Month: 0
This Week: 0
Comments: 46

Computers
Top Blogs


Copyright © 1999-2010 Dacris Software, Inc. All Rights Reserved.     Privacy Policy  |  Who We Are  |  Blog

Need professional resume writing services?