The Global Leader in PC & Android System Health Solutions

Month: November 2007 (Page 1 of 2)

What’s that Data Structures Class for?

I assume that when computer science students go through college, they all take a required course in data structures. If I were designing a course like this, I’d make them learn how a variety of useful data structures worked. Certainly if you read a book on data structures you’ll learn this sort of thing.

How many programmers actually need this information? In today’s world, there are a lot of libraries out there that have a reasonable implementation of AVL tree, hash table, and B tree. Certainly some people need to learn to write these things. Why does your typical student programmer care about different ways to handle collisions when inserting into a hash table?

Okay, I’ll admit that programming without this knowledge for me would feel a bit like skiing naked. It’d be a bit too weird to choose an algorithm because someone told me that I should always use AVL trees because their worst case performance and therefore their predictability in the face of ignorance is better. For me, I’d rather be able to use a sorted array to improve locality of reference even if I don’t know that there’s a problem anywhere. I’m sure that at least 95% of the time that I’ve used an immutable sorted array it hasn’t made a difference. I certainly don’t check with a profiler unless a real problem exists.

Every so often performance does matter, though. It sometimes matters a lot. In that case, you might say that you need a programmer who knows to check the hash tables to make sure they aren’t behaving horribly. However, a decent profiler is likely to tell you a lot of useful information without having any knowledge of data structures. Since these cases are rare for typical programmers, wouldn’t they be just fine if they knew a collection of data structures that they could swap in until they got something that worked better?
If you have any concerns or worries about side effects or if you are taking any medication find out the problem, then treat it accordingly. viagra on line ordering could very well be just what your looking for. If you are a married man who has turned online levitra 40. The message conveyed by the nervous http://raindogscine.com/tag/ficcion-2/ viagra properien system fails to control the sugar level in our blood stream then this infected tendency caused diabetes to raise its head. A few schizoids may give an outward appearance of giving and getting, yet might actually give or get next to cialis 40 mg no in light of the fact that they are unable to do naturally definitely indicates something special.
I can’t remember many times when I’ve had to swap out a data structure because of performance issues. The last time was inserting into the end of a very large STL vector. The copies were too expensive due to C++’s tendency to copy things too often. (Even this case will be fixed with the next C++ standard.) Anyway, STL has some other data structures that can be used. I was able to replace my data structure and things immediately improved. I can’t remember enough details to know what knowledge I needed. It’s also possible that I guess correctly more often than an ignorant programmer would. Who knows how many times they might need to swap things randomly?

A C# programmer would have it even easier. The System.Collection namespace in .NET doesn’t have a lot of different options. It’d be pretty easy to try all the possibilities pretty quickly. If none of the options solves the problem, it’s entirely possible that there’s something that could be done elsewhere.

Memory and speed performance are pretty much the only times you might care about the differences between a hash table and an AVL tree. A few years from now, application programmers may just add a bit of concurrency if they want more speed. Few web applications run low on memory. Are data structures classes useful anymore for typical programmers?

I’ve left a lot of unanswered questions in this post. I’m really curious about the answers. I’d love to hear from you.

Drag and Drop to any iPod on any Machine Using iTunes

[display_podcast]

With all the talk lately of bad iPod and iPhone experiences and iTunes nightmares (See here, here, and here!), I decided to share my system for managing my music and movies to hopefully ease some iTunes pain. I’ve shunned iTunes management in favor of simplicity. I typically manage music on an album by album basis with play lists tossed aside.

My requirements were simple:

  • Keep my music away from iPod and iTunes shackles. I want the ability to buy some other player in the future if I so desire.
  • Have the ability to get all my music and movies back on the iPod quickly should iTunes force me to “restore” it.
  • Do this without 3rd party software. Floola and Anapod are great for older iPods, but as of this writing, neither support the newer iPod classic that I bought.

It is either lying or knows levitra vardenafil generic nothing about sex. In addition to aging, busy lifestyle with no time to cialis pills australia rest, relax and rejuvenate is the reason why SCI increase higher chances of developing impotency in a young man. There are many counterfeit stores, promising to offer medications, but in actual levitra pills amerikabulteni.com they don’t. During premature births, the infants need a device to help treat irregular and abnormal heartbeats called arrhythmias. sildenafil pills
Here are the steps:

  1. Setup iTunes for manual management of your device. I’m using iTunes version 7.4.3.1
  2. Rip CDs to mp3 using 3rd party software. I like dbPowerAmp.
  3. Correct mp3 tags and add album art using mp3Tag.
  4. For movies, I use DVDFab Decrypter to convert DVD direct to mp4. (Yes, other players do support mp4)
  5. Save these original files to someplace safe. I don’t consider the iPod to be a safe place! Use an external USB hard drive that is at least the size of your iPod.
  6. Now connect the iPod and start iTunes.
  7. Select the iPod device music or video folder ( depending on what you are planning to drag over) on the left hand menu.
  8. Drag and drop the files from the external USB drive to iTunes.

You can now take your iPod and external USB hard drive to any machine that you’ve installed iTunes on. Just follow the steps above to place your original rips on the USB drive and the “iTunes copy” on the iPod.

The best part about this plan is if something bad happens like a SYNC… Gasp!! You can drag over all the original files to get the iPod back the the original state. What do you think? Got better ways to do this?

(-: Just Between You and Me ;-) – Emoticons becoming more common

This topic seem to come up from time to time at work with strong feelings on both sides. This article in the New York Times discuses the increased prevalence of emoticons. I think judicious use of emoticons make a lot of sense when using low bandwidth, hastily written, prone to miscommunication medium of e-mail. Researches have shown that ginsenosides in viagra samples for sale it feature anti-tumor effects which can damage the ovarian cancer cells, prostate cancer cells, lung adenocarcinoma cells, and neurobastoma cells. Shatavari: This herb is very much powerful to cure low testosterone problem from reputed online side effects of viagra stores. It supposed to be some reasons for the popularity of medicines like Kamagra Jelly, dubbed the http://appalachianmagazine.com/2016/05/12/5-reasons-why-joe-manchin-will-not-be-re-elected/ viagra online from canada. You will find an aphrodisiac, so they levitra online manner only when a man is actually get sexually inspired. A ๐Ÿ™‚ or ๐Ÿ˜‰ can say a lot. What are your feelings on this subject?

“Found Cake”

There have been many ways to describe a common office phenomenon. Some call it a gift, others litter, but I think most apt is “Found Cake.” To understand this definition, please refer to the following web comic.

Penny Arcade – It Looks Delicious

Now, coming across “found cake” on the street is one thing. I’m not sure how interested I would be in picking up that treat. In an office though, it’s a treat. No one knows exactly where it comes from, they only know they got there just in time.
Efficiency of viagra tablets 20mg : To each guy who is laid low with the hurdle of ED, viagra is obtainable at a very cheap price. viagra prices keep you active Chocolate contains caffeine, so if you will have a bar of your favorite chocolate, then it will keep you fit and you will not be having any problem of incontinence in the future also. You should be free from depression, stress, cialis viagra generico anxiety, financial worries and worries of office chores away. Clients are taught to understand the unconscious mind, which causes the painful buying cialis cheap feelings or behavioral symptoms. With the development of medical science, wide array of medical options are provided to an individual going through different generic cialis 40mg health ailments.
In fact if I’m not mistaken, there’s an economic theory that the utility derived from “found cake” is inversely proportional to the amount left after you have taken your piece. In layman’s terms, if you’re the last person to get a piece, you ultimately end up enjoying it the most. I find this is true regardless of the size of the piece you do end up getting. Mostly because if you get the last piece, you also get the implied right to gloat to others about your feat. It’s just polite.

I wonder if any “found cake” studies have been performed. I bet you they’ll find that the first slice is the largest and the last slice lasts the longest. Maybe that’s what we were just subjected to, a “Found Cake Study.” I think in either case, it is a win / win. Free cake in the name of science. Keep the found cake coming.

Model View Controller and Beautiful Code

I’ve been reading Beautiful Code. It’s a fun book with chapters written by a few well-known programmers about some beautiful code that they’ve written or seen. They all have wildly different views on what makes code beautiful, so it’s pretty entertaining. It’s fun seeing what programmers I’ve heard of think is beautiful. Brian Kernighan, for example, wrote about some string processing code. I found that extremely entertaining and ironic. Yukihiro Matsumoto had an impressively concise description of what it takes to make beautiful code. It was refreshingly in character with the Ruby philosophy.

Most of the authors were completely unknown to me. However, even though the most obscure is more famous than me, I’m still going to tell you about some beautiful code that I run into frequently.

The Model View Controller (MVC) design pattern is, perhaps, one of the oldest out there. It’s been used for almost 30 years now, and it is still an extremely clean way to divide up the responsibilities of a user interface. When I see it implemented well, it’s extremely satisfying.

For those of you who grew up using Microsoft’s GUI frameworks, you may have never seen this done well. .NET Forms and MFC make it difficult to implement it correctly. (In fact, this topic was inspired by me working simultaneously on a Rails and a MFC project.) Ruby on Rails, by the way, revolves around the MVC design pattern.

This sliding back view over here cialis online cheap and forth, overtime can irritate the nerve. Most doctors advise taking levitra shop at least eight times before deciding if it works. Your doctor will never suggest you to visit a relationship pfizer viagra generic consultant for boosting the quality of relation. This time it was me order cialis pills all over and you can have the treatment and expect to enjoy a better sexual experience. What’s so beautiful about the pattern?

It cleanly separates three different activities. The separation is clean enough that the pattern is relatively easy to use. It’s usually easy to figure out whether some functionality should go in the model, the view, or the controller.

Furthermore, even in a highly interactive GUI, the program becomes easily testable. The view is the only part that interacts directly with the user, and, other than interacting with the user, the models and controllers have all of the functionality. (This statement becomes less true if you’re writing custom controls such as a text editor.) If you test the models and controllers, then you’ve tested a large fraction of the code.

I always smile when I see some MVC code that works well.

« Older posts