Archive for Programming

Google App Engine

Google just launched a preview release of App Engine, I was lucky to be able to try it.

As Google describe it, “Google App Engine enables you to build web applications on the same scalable systems that power Google applications, Google App Engine makes it easy to build scalable applications that grow from one user to millions of users without infrastructure headaches..

I’ve been learning Python the last few months, so I followed the tutorial and created an application. It’s currently limited to 3 applications, and I used-up one (you currently cannot delete applications).

Comments

I also hate files!

Larry Cannell says “I Hate Files“, and I agree with almost every point.

Files are a major nuisance, and until another practical solution is universally accepted, we will have to live with them.

Online-only solutions cannot work until connectivity is not an issue, until it becomes an extremely cheap commodity.

Until then, maybe a hybrid solution that uses client-side software with network-based distributed storage that does not rely on folder structures and filenames could be acceptable.

Comments

Project Euler

I’m addicted to ProjectEuler.net … you solve math problems by any means possible, then you will have access to the problem’s forum thread where users share insight on the problems and some even post code (some are Assembly Language wizards that solve a complicated problem in just a few CPU instructions).

The site describes itself as:

Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.

I use several tools to solve the problem

Comments

The Evolution of a Programmer

Comments

Folder Size for Windows Explorer

From the dumbest piece of software in the last post, we go to the coolest … Microsoft should have done this in windows …

In windows there’s no easy way to see the size of a folder… (in Linux I would du it), but even in the detailed view in windows explorer it only shows the sizes of files, leaving the size column empty for folders, here’s the solution: Folder Size for Windows Explorer .

Comments

Recursive Programming

I had read somewhere that recursion (and most of the recursion examples taught in programming courses) is not always the best solution for many of the proposed topics, I was arguing this issue with a friend who gave me this example:

He wanted to print out all subsets of the string ABCD, with the letters in the same order, so you would get subsets like ACD, but never DBC …. He said that recursion is the best method to use.

He would start with ABCD, then start removing characters recursively, the first iteration would go through ABC, ACD, ABD, BCD then ABC will go through AB, AC, AD …etc.
I thought about it, and then gave a different solution, I just counted from 1 to 15, and checked for the 4 bits, if a bit is 1, the corresponding letter is printed out, my brother who studies Electrical Engineering noticed that this is like applying Digital Systems concepts to programming (it’s the Engineer in me, Those years of EE education were not wasted).
We agreed that this was the most efficient solution for this problem, I don’t abuse the stack, and only use 2 ints (could be short ints if you want :) )
Here’s the C code, you can change the constant NUM to any number of letters.

Comments

Ruby on Rails

I just installed Ruby/Rails on my ubuntu, and followed this tutorial, with my own tables and fields.

This looks promising, what I like:

  • A clear way to do things.
  • A unique database naming method (table and field names).
  • Simple coding “scaffolding” that could be replaced by real code.
  • Real MVC.

What I don’t like so far:

  • I’m not sure, but a rigid framework like this could mean that even though most things can be done easily, some complex stuff could need a lot of work.
  • Ruby, I didn’t go through a ruby tutorial, but seems simple enough.

Here’s a nice vid:


Comments

Unicode?

When you develop a mono-lingual application are you using unicode/utf8???

I find it really unneccessary (even though many people would disagree), to use Unicode in an Arabic-only application or web app, I really recommend using the standard encoding of arabic text (about 99% of the worldwide arabic electronic text is encoded in windows-1256). I really would have preferred to use iso8859-6 but nobody uses it.
I only see utf8/unicode as an option if you need to mix many languages in the same string or database column.

Here’s the comparison for arabic text:

Feature UTF-8 Win-1256
Size of a character VariableMostly 2 bytes, except for numbers, english text, spaces, and special characters (i.e. normal ascii text) that use 1 byte 1 byte
Finding a character by byte counting/shifting impossible easy
Number of Languages in the same string or database column infinite 2 (Arabic and English)
Handling Strings special normal

Comments

The GNU Linear Programming Kit

IBM Developerworks has this nice introduction to linear optimization

Comments

Graphical User Interfaces Gallery

Room 101 has a list of GUIs since 1984.. here

Comments

« Previous entries ·