This is what I've been cooking. A eurorack style modular synthesizer.
Friday - 24/6/2016
It's been 4 years of silence!! So I better have some thing to say right?. You bet. Acctually this should have posted a year ago, but I'm so lazy.
I've been researching almost silently in the area of sorting algorithms. I have come up with a modification to the very popular Quicksort algorithm, which I call "Triple State Quicksort".
The new algorithm reduces the number of swaps to about two thirds (2/3) of classical Quicksort. A multitude of other improvements are implemented. Test results against the std::sort() function
shows an average of 43% improvement in speed throughout various input array types. It does this by trading space for performance at the price of n/2 temporary extra spaces. The extra space is allocated
automatically and efficiently in a way that reduces memory fragmentation and optimizes performance.
Again this a bit old news now. Currently I'm working on something totally different. I'm into DSP, something will come out soon!!
Friday - 9/3/2012
After 5 months of sound design, here is my first sound bank. Read all about it here
Wednesday - 16/11/2011
Ahh, at last some time and motive to blog some thing here. It's been more than a year since my last post. Allot of things happened. One thing, is that I became lately interested
in sound design and music. Infact, I'm so interested now that I've built my own home studio at home!!. And No, I did not quit on research, or networking. Just having some fun :). So Here is a clip of what I was playing:
Ok, lets move on to the main reason I'm posting today. Sound design jargon warning here!!. During my work on audio gear and software instruments, I came across an awesome sound synthesizer
called Diversion (diversion-synth.com). I've tried tons of synthesizers but this one is both excellent and easy to use. So I decided that I would create a preset
sound set, and the sounds turned out to be good (thanks to the synth's sound quality). You can download the set here. It consists of 111 presets. They are all free if you want to use them.
Discussion and comments from Diversion's author Dmitry Sches can also be found in this KVR thread.
Now I'm in the process of creating a much bigger comprehensive sound set for Diversion.
Friday - 18/6/2010
DiskSims 1.2 Beta released. New features include:
- SLOOK algorithm. Described in our paper: "S-LOOK: A Preemptive Disk Scheduling Algorithm for Offline and Online Environments"
- Ability to get the Average, Minimum and Maximum of multiple similation results (when using range parameters) and plot them in one chart.
- Ability to calculate Maximum waiting times.
- Variaus enhancements of Manual Request Entry, Including support for LBA (Logical Block Addressing) and easy to use time delays (t option).
- Saving custom disk types in Disk Propeties.
- Number of hard disc heads is included now with the simulation parameters.
- Many other changes and bug fixes
Wednesday - 23/12/2009
Well this is a little too late, but finally having time to log it. I've been in Ukraine two months ago attending the CSIT2009 (Computer Science and Information Technologies 2009) conference.
I Presented my new paper describing "SLOOK" a new disk scheduling algorithm. Working with Dr. Hanady Abdulsalam and Dr. Ayed Salman. I've also implemented SLOOK into Disksims, so I might release a new version soon. The algorithm proved to be effective
in minimizing disk head seek time. Full paper here. It's a nice country by the way!!
Friday - 22/8/2008
I've been invited to join the wonderful Firewall.cx team. Firewall.cx gathers a huge community of networking professionals. Offering expert advice via their forums and valuable networking information in other sections as well. Among several services, Firewall.cx offers the "World's First Free Online Cisco Lab" using REAL cisco equipment. The site is recommended by the Cisco Networking Academy and has received several recognitions from other prestigious parties as well. So now I'm part of the team, moderating forums as S0lo !!
Monday - 14/7/2008
Added a Cisco Packet Tracer Section were you can download my labs. Packet Tracer is a Cisco network simulation tool distibuted by the Cisco Academy.
Friday - 4/1/2008
DiskSims Beta v1.1 released. New
- Added Rotational latency support. The simulation is more
realistic now accounting for spin time. This feature can be optionally turned ON
or OFF by the defining or un-defining the RLATENCY directive in the code.
- Manual request entry supports rotational latency by allowing request block
numbers to be entered in addition to cylinder numbers.
- Ability to use multiple simulator versions (builds). For example, you can
compile the (schedule) simulator engine with your own modified version of the
SSTF algorithm and compare the results with the original SSTF version. DiskSims
displays the list of executable simulators that you can use.
- Few other minor fixes
- Optionally, Converter nodes can now
try the same chosen channel from the previous node before doing conversion. In
other words, the converter node will first act as a non-converter node, if the
channel fails only then it will do conversion. You can use this option simply by
#defining TRY_PREV_CHANNEL directive in the code. The purpose of this feature is
to try to reduce the blocking probability by trying to maintain the same
wavelengths chosen along light paths. Unfortunately, it doesn't always seam to
do very well. However, In later versions I might introduce a conversions
counter (so you can know how many conversions are being done) and
converter limits. In real networks, converter nodes might have a limit on
the number of conversions that can be done simultaneously. The new feature can
help in reducing the number of simultaneous conversions that are being done.
Wednesday - 18/7/2007
Release of DiskSims 1.0 Beta
with source code. Added disk properties dialog box. Hard disk internal geometry
can be defined more accurately. The project is now posted in sourceforge
I know this release may be a bit of a surprise, since I was
working on Hegons and (according to my last post) I should be busy with the
SPECTS conference. Unfortunately I couldn't get a vacation/funding for it :( So
cancelled my visit. well, At least the paper is published.
Monday - 18/6/2007
A paper I have written with my friend Fadi and Dr.Sami on
wireless sensor networks has been accepted to be released in SPECTS 2007
conference in San Diego. I'm looking forward to going there. The paper
named "Impact of Dynamic Channel Assignment on Blocking Probability in Ad Hoc
Wireless Sensor Networks" is my first published paper. Although I don't
consider it the best work I've done yet. I'm currently working on a paper on
optical networks hopefully to be published soon.
- New node type 4, "Multi-hop Partial Grooming" nodes. As
far as I know, This makes Hegons the first simulator that explicitly supports
these types of nodes. A Partial Grooming node has 2 cores connected to together,
a W-fabric and a G-fabric. A W-fabric is an all optical core just like a
non-grooming node. a G-fabric is a wavelength converting full grooming core.
Both cores can receive incoming and outgoing calls. Optionally, the W-fabric can
be wavelength converting.
- A partial grooming node can have MULTIPLE G-fabrics. This is a new concept
that has never been discussed in the literature.
- The RWA method chosen will be applied internally in the nodes between W and G
fabrics as well as externally. In other words, the cores are treated as normal
nodes when doing RWA. This has been the case also when doing internal RWA for
Single-hop grooming nodes. i.e. between the cores and the grooming ports.
- Added -px and -pn options for controlling max/min number of times G-fabric
switchings are done per call.
- Few other minor fixes and changes.
Monday - 11/3/2007
Hegons Beta version 0.2 released.
Added -ll and -ml options for "Least Loaded Routing (LLR)" and "Most Loaded Routing (MLR)". For the grooming case, The simulator assumes the path with the least (or most) number of time slots used to be the least (or most) loaded path. However, those 2 methods are still not well defined for the grooming case in the
Thursday - 1/3/2007
Just released the Linux version of
Hegons. I'm mainly a windows user, so my testing of the simulator on linux is
limited. Linux and Unix users are welcome to mail me for any issues.
Wednesday - 21/2/2007
HEGONS Beta version 0.1 released. A HEterogeneous Grooming
Optical Network Simulator. Supporting mixed routing & wavelength assignment
algorithms and optional wavelength conversions capability on each node. Unlike
many other simulators, the goal in developing Hegons is NOT to simulate the OSI
model layers as they are. Such simulators mimic the behavior of say TCP/IP or
GMPLS in order to provide a virtual platform for developers, learners and
testers. Hegons on the other hand, aims at one thing and only one thing: The
evaluation of different dynamic Routing and Wavelength Assignment (RWA)
algorithms in WDM optical networks in terms of several measures such as: call
blocking probability, Fairness (Variance in blocking probability), call setup
time, etc. Thus Hegons is not bound to any specific protocol unless it is
related to RWA algorithms, which leads to a great deal of source code reduction
and optimization being possible. This fact makes Hegons work much faster in
producing usable results that can help researchers in the field. The following
is a list of the main features:
Supports practically unlimited number of nodes in a network.
Supports practically unlimited number of wavelengths per
link. (2 billion)
Typically, can simulate more than 18 million calls per
minute on a 2Ghz PC.
Currently Supports 3 types of nodes (OXCs):
1. Non Grooming node
2. Single-Hop Grooming node
3. Multi-Hop Full Grooming node
Each node can optionally be a wavelength converter
4 wavelength assignments (WA) algorithms:
1. First Fit (FF)
2. Random (R)
3. Most Used (MU)
4. Least Used (LU)
Fixed Alternate Routing (FAR) is supported with 4
different ordering algorithms: FF, R, MU, LU
Shortest Path Routing (SPR) can be supported by using
Call arrivals follow the poisson distribution.
Can run multiple batches (separate simulation runs)
automatically and find the average results of all batches.
Three different methods to calculate the blocking
probability. Can be controlled by modifying the BP_METHOD compiler
Average number of attempts for each call can be limited
using the -at option.
Maximum and minimum path length can be controlled.
Maximum number of paths generated for each source to
destination pair can be controlled
Network description can be loaded from a file or can be
feeded interactively by the user.
Results can be saved to CSV (Comma Separated Values)
files for easy batch running. CSV files can be then viewed in Excel and
charts can be generated instantly.
Multi-hop Partial grooming nodes (OXCs) are planed for
future versions. Least Loaded Routing is also coming soon.
Limitations and assumptions:
The simulator supports only single fibre links.
All wavelengths on all fibres can support the same
maximum number of groomable time slots.
So far, the highest priority in the development of Hegons
has been performance in terms of speed. I tried to optimized the code to make it run
as fast a possible. Since there is always a tradeoff between speed and memory
usage, Hegons can indeed consume a considerable amount of RAM. However, Hegons
will not be memory hungry unless the network is really large (More than 100
nodes) with allot of links. Memory requirements grow exponentially with large
networks as the simulator stores shortest paths from each source to each
Finally, The project is still under development. I'm always willing to hear from
interested people. Your feedback is welcome.
Saturday - 11/11/2006
Just got my CCNA (Cisco Certified Network Associate)
certification today. After more than 2 months of studying I managed to pass the
final ICND exam after doing the INTRO exam a month ago. More info about CCNA can
be found here http://cisco.netacad.net.
Also, a great forum for CCNA learners is http://www.firewall.cx.
DiskSims development is currently on pause, until I finish
a currently worked on paper on optical networks. Also, I'm working on a new
simulator, "Hegons" a Heterogeneous Grooming Optical Network
Simulator. Ya ya ya, I know... you have no idea of what I'm talking about.
Explanations are coming later on.
Sunday - 18/6/2006
tutorial on how to
import tracker modules into FLStudio.
About 7 months ago I had some time to write this document. In case you have no
idea about what I have just said, then it's not a bad idea to Google for
"Trackers Mods" or visit www.modplug.com.
Sunday - 12/3/2006
Last Wednesday, DiskSims
has been presented in an exhibition for graduate students projects held in
Kuwait University. A number of different projects from different colleges have
been presented too. The picture shows me (at the left) presenting DiskSims and our
new algorithms to the minister of information Mr. Anas Al-rishaid (the man
holding the paper). Click the picture to enlarge.
I had little time to prepare for the event. I just
finished the poster on Tuesday. And at Wednesday morning I came in a rush
to my table at the exhibition to find that all other presenters had DATA
SHOWS (Projecters) while I didn't. I was never told I should. How careless
I. I called every one I new who could help, but no gain. Then the minister came and he was passing on the tables one
by one. Man that was embarrassing. I was nervous. But thank god, a person I new
there told me about an unused data show there. I was like pfeww... :). I rushed
to connect it to my laptop before the minister approaches me. Since that moment
every thing went so fine.
Allot of the people who passed by stopped and took a look.
Some were asking questions. Some took our brochure. Overall, it was nice. The
event was broadcast on national TV at night. Unfortunately....... errrrr or fortunately, I didn't appear.
Friday - 21/10/2005
Release of DiskSims beta version.
A disk-scheduling simulator that I have been developing as my masters degree project.
For people (or non researchers) who don't know what disk scheduling is all
is a fair brief start. Also here
is a further detailed explanation (download lecture 11).
This is a skimmed beta version of the full simulator. Many features are disabled that are part of our two newly proposed scheduling algorithms
(SLOOK and BO-PATH). Some other features are also still under implementation. The basic simulation and automated chart printing for common scheduling algorithms are fully working.
The full version of DiskSims will be released as soon as we (me and Dr.Ayed
Salman) publish the new two algorithms on paper. The full version will include the source code and will probably be released under the GNU General Public License.
Wednesday - 28/9/2005
Added JUIE. A Java User Interface Editor that I have
developed many years ago. Draw your user interface with your mouse and JUIE will
convert it to java code. Details here.
So here we go. "Solo Stuff". My stuff actually. Solo is simply my nick. Here I intend to post all my work. Every piece of code/art/music/software that I think worth posting. Still under construction though.