.

MTB – Exercise, leisure or luxury?

General  by: Tasnim Ahmed 1 Comment »

I had a mountain bike for some time, sparsely used and a shifter broke on it, while I figured the frame was too heavy as well. So I went shopping for an upgrade and ended up with this. Installed my accessories from the old bike and good to go.

This one comes with Shimano derailuers and index twist shifters. Brakes are normal MTB ones, but rims and frame is good light weight, fork and frame shock absorbers make the ride comfy in offroading as well.

I put on a computer for speed, odometer, tripmeter, calories burnt, etc. Stop / night lamp with turn signals and siren, a halogen lamp for front and holders for cellphone and GPS navigation system. Unfortunately the frame has no holes for mounting a water bottle stand and I am on the look for a clap like system to fit on the frame, right now I have to use my backpack for that.

MountainBike
MBT-Speedo
MBT-StopLamp
MBT-Safety

Tags: , , ,

MYTH: Pipes are for plumbers, FACT: Yahoo! disagrees ;)

General, Software Development  by: Tasnim Ahmed 1 Comment »

If you have heard the term “Mashups” then you need to checkout Yahoo! Pipes do not worry about what programming language you do know or do not know, all you need is:

  • Know how to use a computer mouse
  • Have a free Yahoo! account
  • Some idea what Feed, RSS, CSV, String, URL, etc. mean

You actually use the most simplistic IDE that is out there and draw your “pipe” which is like the basic definition of a computer:

  1. Input
  2. Processing
  3. Output

The ouput is pre-defined by Yahoo! and can be an RSS Feed, an email, or a JSON (leave that to javascript or Ajax guys)

The input can be a URL which publishes a feed (auto-detection is available as well) or a CSV, although being an advanced developer I would have wanted to see more like what WebWag has to offer so a div or segment of a web page could be used as input.

The processing is what you have to define using the modules on the left and your imagination, you can combine search results of Yahoo! and Google in a unified web page with your user interface or multiple feeds or translate from a language to another and what not, give it a shot to see more. Every module has an example available which can get any body starting to create pipes :)

And that is not all, Yahoo! has taken care of us developers of the object oriented and software engineering era to give RE-USABILITY! your pipes become modules in other pipes, and you can publish your pipes to be used by others. Which means that soon various pipes are going to show up on the Internet which can make your task even easier of creating a pipe of your imagination!

One other thing could be improved by letting advanced developers write some kind of code themselves, this could open the door to mashups of mashups, e.g. the APIs mentioned on Programmable Web could be integrated in Y! Pipes.

Tags: , , , ,

The “GUTSY” Ubuntu feeling

General  by: Tasnim Ahmed No Comments »

OK, Ubuntu 7.10 aka Gutsy Gibbon is out, so what are you waiting for?

I have never seen any operating system upgrade itself so smoothly, apart from the nVidia proprietary issue on which Ubuntu has no control everything was without human intervention.

The feel of the operating system is very solid, getting any kind of application I need, or would need is just a mouse click and a few mega-bytes away. Now why would I anybody want to use windows? Even if you are not sure that it is that good, just give the live CD a try and you would find yourself installing it soon after.

For those who are using other linux distros would also want to use Ubuntu to answer all the questions raised by Windows or Mac OS X users.

  • In fact Linux has come a long way since I first installed it in 1996, it had a total nightmare installation and configuration compared to Windows 3.1
  • Then the phase of KDE beta started when Linux was building a UI copying visually Windows but secretly creating a foundation which was to outclass the win kernel in the days to come
  • Finally now we see the tables have turned and Nautilus features have been copied by the guys in Seattle to integrate in Vista, but even then the same hardware running Ubuntu gives Vista a run for its money in performance and visual effects, not even mentioning the hundreds of applications you can install so much easier in Ubuntu which was the advantage windows had a decade ago!

UBUNTU! for humanity!

Tags: ,

Project Introduction – Magix

Magix  by: Tasnim Ahmed 6 Comments »

MAGIX: A GSM enabled security system driven by an 8051 microcontroller.

Being used to program in Java at work, I still long to work on some embedded systems and firmware development in good old C. Moreover, the openness of some of the GSM phones amaze and attract me to do something with them, this is specially true for Sony-Ericsson and Siemens.

Hence, I planned for a generic security system with GSM integration, this could also be used as an add-on / plugin for other stand alone security systems to make them GSM enabled.

Implemented Features:

  • Sending SMS messages to any cellphone
  • Decode incoming SMS messages to extract text

Planned Features:

  • Taking actions on the basis of incoming SMS
  • Hooking up sensors for intrusion detection
  • Controlling of devices via relays or optocoplers
  • Stand-alone circuit design and implementation
  • 220v AC power supply
  • Power saving mode with wake-up via interrupts for automobile applications

Here you can see a SE T68i phone connected to a PJRC 8051 development board running the under-development firmware, the other serial port connects the the PC for interactive development under the PJRC monitor software.

Magix on T68i and PJRC Board

Tags: , , , , , ,

Website Overhauled

General  by: Tasnim Ahmed No Comments »

People who visited my old site would notice a big difference in every aspect of the site. The old one can still be found at http://tazzix.com/tazzix.php the new site is based on the famous blogging engine WordPress. I also deployed some plugins and slightly modified a theme that I liked

However, more importantly I have decided to add content and posts on a regular basis, well as I have got every way of mobile blogging working this was inevitable.

Apart from adding details of upcoming projects I also need to put online latest screen shots and source code / sample projects for existing APIs that I have mentioned here on this site.

So if you find here something interesting keep checking and you may find something soon.


Project Introduction – Mobile On Device Software Testing

Mobile On Device Software Testing  by: Tasnim Ahmed No Comments »

Being a mobile developer I run into issues with testing of software applications on a regular basis. Hence, it was always a dream to have a perfect testing solution which does not render the cell phone / mobile device useless for other purposes. I spent some time with Mobile Complete and their solution covers the first part of the problem but you still can not do QoS testing from the perspective of an average consumer and the phones are modified big time.

I started exploring on this front as well and have come up with some features and ideas that should be present in such a system.

  • Easy to program scripts running on the device in a non-distructive manner
  • Functions executed in linear / iterative fashion, including:
    • KeyPress – keycode
    • KeyDown – keycode
    • Delay – milliseconds
    • KeyUp – keycode
    • AllKeysUp – void
    • PointerDown – x, y
    • PointerUp – x, y
    • NOOP – void (no-operation) to force a step in the report
    • Grouping of above commands to form functions
    • Extended library to directly perform tasks available from the underlying platform:
      • OpenURL – url
      • TakePicture – void
      • etc.
  • HTML based reports, viewable on the phone, via an embedded HTTP server, or sent to a computer:
    • Step function, parameters, screenshot before executing, and comments for documentation
    • Cell ID can be included for rough location estimates (once cell-id to GPS coordinates are established)
    • For phone with built-in GPS, show coordinates and link to Google Maps, or Yahoo! Maps, etc.
  • Applications:
    • Mobile Software testing
    • QoS testing of a service provider, mimicking an average consumer (the script runs through commute and all)
    • Mobile Web site testing, screen shots are enough to show what is going wrong
  • Platforms:
    • Python – to run on S60 v2, S60 v3
    • Symbian – to run on various versions of S60 and UIQ
    • .NET to run on PocketPC and Smarphone based devices
Tags: , ,

Project Introduction – RAD J2ME IDE

RAD J2ME IDE  by: Tasnim Ahmed 1 Comment »

When I started exploring J2ME in 2004, I started by creating some APIs which made my life very easy, however, somebody new to J2ME will need a steep learning curve in the restricted environment and on top of that to learn to use third party APIs. Hence, I envisioned that there should be a RAD environment that would allow using built-in J2ME classes, JSRs conditionally, and my APIs without the person need to know anything about any of these things.

This project is precisely here to convert the vision into a practical software. And this post is to keep me working on it.

Planned features:

  • An abstract data type to encapsulate a “Screen”:
    • A wait (splash) screen shown while other objects are created including any data gathering from connectivity options
    • Connectivity provided for:
      • SOAP WebServices (via JSR, kSOAP, and wSOAP)
      • Servlet providing data separated rows by “|?” and columns by “||”
      • Bluetooth, IR, USB via JSRs
      • Custom class implementing connectivity interface
      • RMS via RMS to Object mapping, may also be used to cache data that is cacheable
    • UI provided by LCD UI, thinlet (XUL), charts, or table API.
    • Action handlers to perform UI tasks, navigation of screens (may use Hecl mobile scripting for advanced features)
  • Rules for screen navigation
  • Internationalization
Tags: , ,

FORTH language interpreter for J2ME / MIDP1.0

Mobile Development  by: Tasnim Ahmed 2 Comments »

During my shot at a master’s degree in Software Engineering, I was to select an unconventional language to write and present a report on. I came up with Lua and modula but they were taken before my turn, so I searched and found FORTH. This discovery proved very fruitful because I came to know of a language which could extend itself, never really imaginable to me earlier. But obviously if a turing machine could read its program from a tape then why not…?

Anyways, I learned a lot during the research report and wanted to use this language more often. At the time I had a Nokia 3650 phone which could use a Palm (ThinkOutside) Infra-red keyboard using a special driver. Which was an ideal setup to just start forthing away anywhere at all, hence, I started looking for a Forth interpreter which could run on this phone, but could not find any. I had written some J2ME APIs (specially floating point emulation on MIDP1.0) so my next target was to find a Java based Forth interpreter implemented as a standalone class so that I can wrap it up into a J2ME Midlet of my own.

I stumbled across SFI Forth and achieved the goal, the official page also hosts a download link for my version. And for Spanish? readers. It has no file or RMS persistence support but I have not been using it on better phones now, even though I have plans to enhance it a little whenever I have some time.

In the picture below you can see the setup in action, click to see a larger version.

Forth 3650 and IR Keyboard - 02


Tags: , ,

J2ME – Thinlet port

J2ME APIs  by: Tasnim Ahmed 33 Comments »

Overview:

Some time ago the thinlet project dropped support for J2ME, but during my search for a XUL API for J2ME, I could not find a more suitable one. Therefore, I first customized the old version for some of my requirements, later on some new features of the thinlet API for J2SE were back ported to this J2ME version. And now its in a state where I think CLDC can compete with CDC using thinlet and maybe more than that

Features:

  • Developed on j2me-wtk and Nokia Series 60, testing on Nokia 3650
  • MIDP 1.0, CLDC-1.0 Compliant, i.e. can be used on any kind of J2ME device
  • All features supported by thinlet API for J2SE
  • Full screen text editing for text boxes, with dictionary (T9) support
  • Jump mode support (left arrow to activate controls by mnemonic number)
  • Touch screen support

Status:

  • In production, and being used in my other projects
  • Also used by other developers, there used to be Yahoo! group
Download:

download

Download: tazzixthinlet.zip
Version: 0.1
Updated: March 11, 2008
Size: 469.95 KB

Powered by Drain Hole

Screenshots:

Initial version, modified color scheme, and an IM application:

Tags: , , ,

A full blown DYI learning SBC for 8051

DIY 8051 SBC  by: Tasnim Ahmed 2 Comments »

Can you recognize that this is the same board as the previous post? Well now it has all the components anybody would ever need to learn every aspect of coding on this platform, really! It is a very simple and yet uses almost every pin/feature of the 8051. It is very cheap to build and covers the whole development life cycle of the controller just like for a production circuit, because you need to take out the chip and burn the new firmware then put it in again.

Features:

  • 40-pin DIP controller 8052 or similar – ATmel being used here
  • 12 MHz crystal
  • Reset
  • Buzzer
  • LEDs on one port
  • DIP switches on one port controlling the LEDs
  • 5V regulator (can be powered by a 9V standard battery)
  • 2 digit 7-segment display
  • 2 push buttons, one to increment and one to decrement the number displayed
  • RS-232 serial port can update numeric display and buzzer frequency, also send data of dip and push buttons to PC
  • A simple PC application can show status of all connected peripherals

everything possible demo on an 8051

Tags: , , , , ,
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in