Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Sorting



  I am a great programmer, but horrible algorithmist

I am a great programmer, but a horrible algorithmist. It is a thought that has been weighing on me heavily recently, and I'd like to gather other developers feelings on the subject as well. I started what can be called my professional development career back in 1999. I was still in middle school, but my father hired me at his software company. My official duty was to make updates to our websites, but I mostly ended up bugging the other developers to help me learn. From there I picked up ...

   Programmer,Algorithmist,Diffference     2012-02-12 04:55:28

  Before Python

This morning I had a chat with the students at Google's CAPE program. Since I wrote up what I wanted to say I figured I might as well blog it here. Warning: this is pretty unedited (or else it would never be published :-). I'm posting it in my "personal" blog instead of the "Python history" blog because it mostly touches on my career before Python. Here goes.Have you ever written a computer program? Using which language?HTMLJavascriptJavaPythonC++COther - which?[It turned out the students ha...

   Python,History,Programming language,B     2012-01-18 08:08:53

  Is Java Set ordered or not?

“Is Java Set ordered or not? ” is the most popular question asked when you interview for a Java Developer position. Many fail to answer it, and I have to admit I was one of the many. I have known the answer is “Yes and No” for a long time. No. HashSet is not ordered. Yes.TreeSet is ordered. If the interviewer continues with some follow up questions, I’m not confident that I know the answer then. Why is TreeSet ordered? Are there any other ordered S...

   ORDER,SORTEDSET,HASHSET,JAVA     2021-02-11 06:55:00

  Functional Programming For Object Oriented Programmers

After recently remarking about how I finally "got" functional programming I was asked by one of my millions of twitter followers... ¬_¬ to write up an explanation of a small F# program spoken in terms that fellow O-O programmers would understand. Before I become too entrenched into the functional programming way of thinking, that is, and can't explain it anymore. As a former tutor this is one of the major problems with being able to teach something once you understand it. You've ...

   Functional programming,OOP,F#,Pattern     2011-11-25 13:49:16

  Goodbye Manual Processes, Hello Automation Certificate Lifecycle Management Like It’s Supposed to Be

At the heart of every story lies a villain and a hero. In the never-ending story of certificate lifecycle management, there’s no bigger villain than manual effort. Destructive, irrepressible, and risk-laden, this villain causes nothing but mayhem and loss. Automation, the hero, is the complete opposite of manual effort. Proactive, solution-oriented, and breach-proof, this hero deserves recognition, allegiance, and attention, yet they get none of that from a majority of today’s organi...

   DATA SECURITY,CERTIFICATE     2023-06-20 08:10:02

  How to Think Creatively

I grew up hungry to do something creative, to set myself apart. I also believed creativity was magical and genetically encoded. As early as the age of 8, I began sampling the arts, one after another, to see if I'd inherited some gift.Eventually, I became a journalist. For many years, I told other people's stories. I was successful, but I rarely felt truly creative.The first hint I might have sold myself short came in the mid-1990s. In the course of writing a book called What Really Matters, Sear...

   Creative thinking,Saturation,Incubation,Illumination,Verification     2011-11-14 08:39:11

  RAM is the new disk...

Jim Gray, a man who has contributed greatly to technology over the past 40 years, is credited with saying that memory is the new disk and disk is the new tape. With the proliferation of "real-time" web applications and systems that require massive scalability, how are hardware and software relating to this meme? Tim Bray, in his discussions about grid computing before it became such a hot topic, pointed out how advances in hardware around RAM and networking were allowing for the creation...

   RAM,Flash,Memory,,Future,Disk     2011-08-12 07:34:27

  Software philosophy: Release early, release often vs polished releases

Release early, release often is a philosophy where you release the product as soon as possible and rapidly iterate it to perfection by listening to your customers. A polished release, on the other hand is where your product, in its initial version is solid, lacks obvious bugs and has just enough features to satisfy a majority of your consumers. Most software companies adopt either one of this and that choice is not superficial. In fact, it roots down to the heart of the company’s i...

   Design philosophy,Release early,Release often,Polished relaese     2011-11-28 09:22:17

  Find the kth smallest number in an array

This is an classical question, the general solution to this question is first using sorting algorithm to sort the array, then get the kth number in the array, the complexity is O(nlogn), we can also use selective sort or head sort to, the complexity of selective sort is O(kn) and heap sort is O(nlogk). The better solution is to use quick sort to find the kth smallest number, the complexity is O(n), the worst case cost is O(n^2). But today we introduce one more solution which has the worst case c...

   Sort, Quick sort, Search,Smallest     2013-01-09 06:20:54

  How Computers Boot Up

The previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair – fun stuff. Here’s an outline of the process: An outline of the boot sequence Things start rolling when you press the power button on the computer (no! do tell!). Once the motherboard is powered up it initializes its own firmware – the chipset and other tidbits – and tries to ...

   Computer,Boot-up,Rationale     2012-04-11 13:43:02