19
Dec
Posted by buragc in Uncategorized. Leave a Comment
Advancements in technology change everything. What about our health care system? This paper explores the concept of tele-medicine and how the changing factors in this decade affect the adoption and usage patterns of tele-medicine around the world.
Below is an excerpt from the paper.
“Health care is one of the determining factors when categorizing different countries on development scale. Based on availability of health professionals, education system, infrastructure capabilities and finally available government funding, the quality and reach of health care varies greatly from one country to the next. Today, depending on one’s location and socio-economic status, the amount and quality of health care available ranges from non-existent to intensive and close monitored…”
You can download the paper in PDF or Word.
14
Oct
Posted by buragc in Uncategorized. Leave a Comment
I recently gave a talk on Re-thinking Software Architecture for Mobile platforms and it was very well received. What’s interesting is that most architects today keep ignoring the mobile space and think of it just as a new, shiny UI for the existing applications.
Unfortunately, however existing systems that were architected for web applications does not scale well to serve the requirements of multiple mobile clients.
In short here are some key points from the presentation:
- Cloud computing is the key enabler of scaling architectures for new mobile solutions
- User Experience is key when designing a mobile solution
- Analyze your users, not all of them are on the same platform. Create different applications for different users instead of creating a monolithic applications with menus and options
- Touch UI is a minimum requirement today
- Responsiveness of the touch interface determines the usability of the application
- Responsiveness on the client is achieved by introducing asynchronous client development
- People who use your mobile solution will have short attention spans, break-down your workflows into smaller activities that can be completed within a couple of minutes
- Limit the text input to a minimum, use selection based data entry as much as possible
- Platform choice is key but some of the determining factors are: Internal/External Deployment, current skills of development team, market share of the platform, form factor and screen resolution of the target platform
Above points mostly talk about the client aspect of mobile development. The server aspects were covered in great detail during the presentation.
1
Sep
Posted by buragc in Uncategorized. Leave a Comment
I have been a very happy Netflix customer for years now. It’s nice to see a company innovate and adopt all the new technologies like streaming to the XBox360, provide a Silverlight based video player etc. However, sometimes things go wrong. Last night I had some problems watching an episode of Coupling on my Xbox 360. Nothing that a good reboot couldn’t fix. I had almost forgotten about the incidence when I received the following email:

Netflix apology
Not that 3% really matters on a $10/month account but this shows what customer satisfaction means to Netflix. Once again cementing my loyalty to their service, good job Netflix!
17
Jul
Posted by buragc in Uncategorized. Leave a Comment
A new paper written by on the topic of integrating legacy health care systems to CCD compliant me has been published on Netsoft’s web site.. Here’s an excerpt from the paper
In recent years, health care providers, insurance companies
and health applications have all been collecting mountains
of health-related data in various electronic formats. The
ability to search and analyze this data in context is required in
order to prove it worthy of the effort of collecting it in the first
place. One big challenge that stands in the way of ubiquitous
health information is the data format disparity between different
systems. It is not uncommon today to see legacy applications that
are using older standards such as flat text files, HL7, CCR …
You can read the white paper on Netsoft USA’s web site by clicking here.
11
Jun
Posted by buragc in Review, Updates. Leave a Comment
After getting frustrated with keeping up with WordPress upgrades using my older hosing service, I decided to move to WordPress.com to host this blog. I have to say that the entire process took about 10 minutes including:
- Creating a new account on WordPress
- Exporting existing posts from my Hosted WordPress installation to an XML file
- Importing the XML file into WordPress.com account
- Updating burag.com DNS settings to point to WordPress name servers
- Paying $10 for yearly hosting on WordPress using PayPal
- Pointing the domain to wordpress (Through DashBoard)
- Selecting a new theme
So, if any of you out there is using a hosted solution for just blogging. Switch over today, save yourself some time, money and headache.
27
May
Posted by buragc in Ideas. Leave a Comment
Here is a paper that I wrote a couple of months ago on EHRs and the state we are in currently. With the recent news in the media about EHRs, I think most of the issues are even more relevant today. Below is the first paragraph:
The United States population is one of the largest in the world with 300 million people and increasing at rate of 1%.1 A growing population of this size, however, also comes with its set of problems. One of the problems, maybe the most important, is health care and how it is provided and consumed in such a large country. One particular aspect of health care that makes it a special topic is its universality. No matter how healthy or sick, every single person in the population is part of this system either by receiving or providing health care, although the frequency and the amount of care will vary among different demographic groups. Unfortunately the cost of health care has been increasing over years and health cost per capita in the U.S. is highest in the world4. A direct result of high cost of health care is reflected in the decreased number of people getting the necessary medical treatment. According to a National Institute of Health (NIH) study, almost 8% of people who are in need of medical help cannot get it due to economic hardship.
You can read the rest of the article in PDF or Word format.
16
May
Posted by buragc in Updates. Leave a Comment
There goes the Mac Mini. After tinkering with the Mac Mini for about 2-3 months it turned out to be a less than ideal development platform. Although this little experience has totally changed my view on Mac software and hardware. I would recommend an Apple macbook/pro to any regular computer users who use web based applications for most of the daily tasks. I think the premium paid on the hardware is justified. In terms of 3rd party software available on the platform however, I have mixed feelings. Yes most of them look great, very visually appealing effects etc but it is damn hard to find applications that offer the same functionality on the windows platform.
Software does exist, it’s just that you have to pay for every single little thing that you are used to getting for free in the windows/linux worlds.
6
May
Posted by buragc in Software. Leave a Comment
I have uploaded a small set of pictures from my recent trip to Flickr. Feel free to check it out!
6
May
Posted by buragc in Software. Leave a Comment
I recently gave a short talk at the last Microsoft Health and Life Sciences 2009 developer conference in New York. The main theme was architecting health solutions in the cloud and challenges that come with it. You can watch the talk here.
9
Feb
Posted by buragc in Software. Leave a Comment
There is a heated argument going on between Uncle Bob (Robert Martin) and Joel Spolsky (joined by Jeff Atwood). To recap some of the arguments, in a stackoverflow podcast Joel and Jeff undermined the value of using SOLID principles and things like TDD. Uncle Bob wrote a pretty strong blog post in response to the podcast. Although quite entertaining to read, something struck me really hard while I was going through the comments that are left on Uncle Bob’s blog. The comments on both sides were turning the discussion into a flame war on how to write good quality code. Using TDD or SOLID principles or not? Is testing needed or is it a waste of time?
It’s sort of interesting to see a slew of people with engineering or computer science backgrounds fighting religiously over one methodology over the other. One thing that stood out was how no one ever took a second to think what they were so frivolously defending. On one side there is a successful small business owner, ex-Microsofter, a geek world publicity on the other side there’s Uncle Bob who co-wrote the agile manifesto.
It is somehow assumed that people who are good at one thing should be naturally good at everything else. Following this assumption religiously can get anyone to narrow their horizon to the point where it might not be possible to realize that they are looking at the world through a needle hole. While it’s perfectly reasonable to get advice from Joel on how to start a small business, everything else he says should be taken with a grain of salt. After all, the blog and BOS Forum is there to create traffic and increase visibility of the FogCreek web site. Uncle Bob on the other hand is still a day to day developer, and in one of his blog posts he mentions the fact that he lets the experts do their job (he refers to them as business types doing their business thing) so he can concentrate on what he knows best; to write good OO code.
While SOLID principles are something that I personally love and try to follow every day, no one argues that those are the only principles that lead to perfect, clean implementations.
Developers using methodologies TDD, DDD, BDD UNIX or Windows platforms, functional or oo languages have only one thing in common that they have to do to write good code; THINK. Regardless of what three letter acronym you religiously follow, if you don’t think about what you’re doing you are destined to fail, through your chosen methodology’s fast route.
So what should you think about when writing good code? My list is pretty simple:
- Do you clearly understand what you’re trying to achieve? Make sure you understand the problem you’re trying to solve by asking questions, reading that business requirement for a second time or just Google the problem domain!
- Break it down. There’s a reason your college professor kept telling you this. Break down your problem into pieces that you can actually solve with 10-15 line methods each.
- Verify the solution to each before moving to the next piece, mock if necessary: If the multi-step process requires interaction between the steps, don’t be afraid to mock it! You can check out Moq, RhinoMocks or TypeMock
- Make sure that future enhancements won’t involve modification of existing code. (Check out the open/close principle article on wikipedia for more information on this)
- Test for boundary conditions and see where your reasoning fails.
- Repeat 1-5, cleanse and ship.
Following a simple sanity check like the one above, will save you lots of frustrated hours in front of the computer. You can use the extra time to actually reason about higher level problems than simple implementation details.
Note: if you are developing any sort of framework, scratch anything that I mentioned above. Almost NONE of the points in application development apply to framework development. A great deal of care and planning must go into framework development that cannot be covered with a simple bullet list. I strongly suggest using Framework Design Guidelines as a sanity check tool.