000webhost

Web hosting

Friday, October 21, 2011

NVIDIA Laptop Graphics Chip Repair

Sometimes you'll encounter a continuing problem over and over again. One of the ones that has come to light for me has been related to discrete NVIDIA graphics chip on laptops (across multiple brands believe it or not including HP, Compaq, Dell, and Apple) which have revolved around excess heat not being dispersed adequately which means that over time the graphics chip can come away from the logic board. A lot of the time this results in an unbootable laptop with the following symptons, power and LED indicator lights turn on accompanied by a black screen. Even though there has been a partial recall of affected laptops there are many 'out in the wild' which still have the same problem.

While conventional solder and mechanical pressure can be used as a means of providing a medium to long term fix on traditionally packaged and attached chips this is not the case with Ball Grid Array (BGA) graphics chips which seems to be a more popular methodology moving forward.

However, the probem is when you have mounting issues they aren't so easy to fix if you don't have the required, proper equipment required in order to complete the job. Moreover, often taking it to a 'professional' may cost the same amount as a new laptop/logic board. Numerous accounts online of this particular problem and some creative and unusual solutions have been proposed that are more 'cost effective' (but are also shorter term fixes). Some of these include:

- stripping down the machine down to the logic board and then 're-flowing' it by putting it in a convection oven or even using direct heat such as using a butane torch
- wrapping it in insulating material, turning it on and using the laptop's own heat in order to 're-flow' the connections
- using direct heat and a BGA kit in order to remove the damaged chip from the logic board, the 'balls', and then using the included solder balls (often of higher quality than the original) to fix problem areas

However, one thing I have been considering is whether or not it is feasible to attempt another solution. Namely, creating the solder balls themselves (too difficult on a large scale), or else using solder wick in order to clean up damaged BGA balls and then using flux gel in order to crudely create 'balls' between the graphics chip and the logic board. While I have been able to partially resurrect one board with this method I'll need more time to determine whether or not whether it is a complete long term fix...

Thursday, October 20, 2011

VERITAS Backup Exec Research Notes

The following represents some notes that I compiled while researching VERITAS Backup Exec (a commercial backup software solution that has since been purchased by Symantec). Obviously, these notes are based on an older version of Backup Exec so use your discretion.

Intro to Backup

Murphy's Law
SLA - Service Level Agreement
Full - complete copy of all files
Incremental - only files changed since last backup
Differential - all files changed since last full backup
Online Backup - everything accessible all the time
Nearline Backup - data from backup periodically archived to secondary backup server. Requires minimal effort to restore backup to main
Offline Backup - files unavailable during backup

Disaster Recovery Technologies : Hardware

Tape - linear, cheap, high storage capacity density
Hard Drives - less mobile, medium price per unit storage capacity,
Portability
Price
Network Bandwidth
Removable Disks - portable
Optical Media - cheap, portable,
NAS - relatively inexpensive now, RAID
SAN - can be expensive

Disaster Recovery Technologies : Software

Server-based Backup - server/administrator determines backup configuration
Client-based Backup - client/users determines backup configuration
Frozen Image Backup - live snapshot of files possible
SAN-based Backup - backup to SAN
LAN-free Backup - typically uses a SAN to backup using a dedicated Fibre connection
Server-free Backup - client system/software initiates the backup. Stored to tape/SAN

Applying Technologies : Client-based system

One computer
Software Choices
Backup Program on Each Machine
Backup client on each machine with a single, central backup server
Backup Program on Each Machine - often OS includes basic backup capabilities. Free options available but they often from lack of support, flexibility, and robustness
Client Controlled on a Network - user configuration, schedule, backup server stores on tape. User configuration uncommon because users want to backup everything, most users aren't technially aware eough, and most administrators want a consistent environment
Scheduling
Backup Jobs - sometimes also called policies
Generic Troubleshooting - hardware and/or software issues, test partial/complete backup and restores

Applying Technologies : Network-based System

WAN/LAN - primary difference is physical distance between systems
Server-based Solutions - most are server based with a administration utility
Heterogenous Environments - most commercial solutions now have the ability to operate across multiple platforms by using an 'agent'
Replication - latest copy and transparency during failure but server/bandwith requirements are greater along with extra resources for extra hardware/server. Run-Time Vs Traditional Vs Frozen Image backup
Scheduling Issues - timezones, resource consumption, mutual exclusion
Networking Utilization Issues - schedule during off hours, hard to schedule in a genuine 24/7 environment though
SAN Solutions - cost, compatiblity, configuration
Tape Sharing - shared tape drives, tape libraries, robotic libraries
Tape Rotation - saves from wear, space by not having irrelevant backups; schemes include daily, GFS (Grandfather-Father-Son), Tower of Hanoi
Looking Ahead in Backup Technology - increased sophistication/capacity of tape solutions, maturation of disk solutions, NAS/SAN technologies continue to evolve, new technologies will come into existance

Introduction to Backup Exec

Single and Multi-Server Editions
Remote Agents - best to check support for your OS prior to evaluating/purchasing
Autoloader/Robotic Library Support
Library Expansion Option (LEO)
Advanced Open File Option (AOFO)
Backup Options for Various Databases - MS Exchange/SQL/Sharepoint, Oracle, Lotus Domino, SAP
Intelligent Disaster Recovery (IDR) - known as bare metal restore now, involves a scripted installation of a minimal OS and then restoring to some initial configuration/restoration point from there
Shared Storage Option (SSO) - used by various servers/systems to access the same medium

Backup Exec Installation : Suggestion and Pitfalls

Install latest Service Pack/Patches
Update Microsoft Data Access Components (MDAC) - OLEDB32.dll
Update Microsoft Installer (MSI) - MSI.DLL
Check HCL/System Requirements
Try to have dedicated chain/channel for the storage/backup medium
Security Considerations - use the account that was automatically created, don't try to customise it as it can result in strange permission errors

Getting Your Hardware to Get Along with Backup Exec

Drive Pools - drives from the same server
Cascaded Drive Pools - used to deal with when normal drives can't deal with size of backup. Responsibilty of backups fall to these particular drives if the normal drives pools are unable to
Hardware Configuration Problems - determine whether it is a program, OS, BIOS issue. Use the built-in Wizard to try solve other issues
ADAMM (Advanced Device and Media Management) Log
Install drivers (all drivers in one package) from website if necessary, http://support.veritas.com
BEUTILITY.EXE - to reset hardware tracking databases, BEDB.MDF/BE_DLO.MDF
Database Catalogue - backup jobs, media set information, hardware statistics, automatically backed up after 24 hours of programs/services running
Physical Issues - BIOS, Power Cycle (server and media drives), physical connections

Media Rotations

Overwrite Protection - to stop media from being overwritten prematurely
Append Period - stops any data from being appended to media at all as opposed to overwritten
Media Sets - set of media based on overwrite/append settings
Retired/Scratch/Imported Media
Retention
Time-to-Recovery - balance between time/convenience/cost
Granularity - frequency of backups

Backup and Restore

Shadow Copy Components - System State/User Data/Service State
Remote Selections - will remove redundant data from backup selection by default
The Remote Agent for Windows Servers (RAWS) - must be installed on remote server to complete remote backup, can be installed by going to Tools > Serial Numbers and Installation or running setupaa.cmd
The Advanced Open File Option (AOFO) - must remove Remote Agent if already installed otherwise just install AOFO and it will install RAWS as well
Backup Performance - Avoiding Bottlenecks
Advanced Backup Options
Pre- and Post-Job Commands - run custom scripts
IP-only backup - as opposed to NETBIOS addressing/resolution
Backup Folders - backup to an arbitrary folder (NAS/SAN) rather than media
Hierarchical Storage Management (HSM)
Test Runs

An Introduction to Using Backup Exec with Other Platforms

Microsoft Exchange - allows for "brick level" backup of mailboxes
Microsoft Outlook - need to install MAPI compatible email client on media server (normally Outlook). Backup Exec logs in each user individually and downloads all emails to allow for "brick level" backup
Information Store - Backup Exec uses ESEBCLCLI2.DLL or EDBBCLI.DLL (Exchange 5.5) to communicate with Exchange
Types of Exchange Database Backups - Full/Database&Logs (flush committed logs), Incremental/Logs (flush committed logs), Differential/only transaction logs, Copy/same as Full (none of the transaction logs are deleted though)
Microsoft SQL Server - SQL Enterprise Manager must be installed on media server.
Types of SQL Database Backups - Database (backup everything along with transaction logs), Log (backup only transaction logs and delete old transaction logs from database), Log No Truncate (same as Log but does not delete old transaction logs from database), Consistency Check Before Backup (check database consistency before backup. This may cause a performance hit on a high transaction/traffic server though)
UNIX and Linux - be_agnt.tar

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Wednesday, September 28, 2011

Filesystem Corruption on Android

In spite of dramatic improvements in filesystem technologies, corruption is still an issue that continues to this day in computing whether it be on the desktop and/or on more portable devices. Recently my Android based phone endured something along these lines. A number of folders had become files and there were randomly named files spread throughout the filesystem on the SD card with unreadable characters. Research indicated that this was a problem that has been experienced before by others (though the type of corruption often varies).


Luckily in my case, all important data was still retained but it was still disconcerting to say the least. The way I dealt with it was by connecting my phone via USB to my laptop and set the connection to run in mass storage mode. Thereafter, I ran 'Scandisk' (FAT32 filesystem is used on the SD card) in order to determine the causes and hopefully create the fixes required in order to achieve filesystem consistency. Obviously, it would store the files in various CHK files. Still had permission errors though. Upon further examination certain directories seemed to have have become files which resulted not being able to save files from camera shots for photos (DCIM) or wallpapers (Wallpaper). By manually recreating the relevant directories and copying back the relevant files to the relevant data directories you could restore most data. By using the built-in image viewer you could regenerate relevant metadata. Obviously, I'm still looking for a more elegant solution that can be built into the device itself.

http://www.brighthub.com/mobile/google-android/articles/37151.aspx

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Monday, September 5, 2011

Open Source PBX Evaluation

A while ago I had to do evaluation of PBX systems for a company after we discovered that we didn't have enough bandwidth between two offices to offer guaranteed quality of service during peak data transfer times. These are some of the notes from that particular evaluation. Note, that this data may be invalid since the actual evaluation was conducted about a year and half ago from the data of this particular post.

- Trixbox/FreePBX/Elastix/AsteriskNOW/SwitchVox have been evaluated
- apparently custom contexts module for Elastix is in beta and has to be custom installed, http://www.freepbx.org/support/documentation/module-documentation/third-party-unsupported-modules/customcontexts
- http://mirror.freepbx.org/modules/release/contributed_modules/ Had to update to latest version of software as old version didn't seem to pick up existing settings from within our current phone network well. New version seems a little funny. Had to setup in unembedded FreePBX, then check in Elastix PBX section and apply, then go back into FreePBX before outbound routes were picked up correctly...
- VMBlast is a module that will allow you to leave voicemail for multiple users in your system, http://www.trixbox.org/forums/trixbox-forums/help/info-vmblast-please
- To install a new module in FreePBX basically download it, extract it, then within the web inteface go to unembedded FreePBX, 'Modules Admin', Install, Process, Confirm
- http://code.google.com/p/teletorture/ Telemarketer Torture module for FreePBX, generates a destination for inbound calls in FreePBX which you may send unwanted callers to Module created by James Finstrom
- Outbound Routes, Dial Patterns
NXXXXXXX
- ZAP, Dial Rules
03+NXXXXXXX
0392123+NXX
0N+NXXXXXXX
XXXXXXXXXX
0011+ZXXXXXXXXX
- AsteriskNOW, think of FreePBX on a stripped down version of Linux that is fast to install. Reminds me of LiveCD produced by Xorcom in order to test connectivity to their devices. http://www.xorcom.com/downloads/live-cd-quick-start.html
- non-critical bug in Trixbox installer. kmod does not require kernel... interesting that they've opted to go for text based installer as opposed to full blown GUI
- Trixbox have apparently setup their own init.d like start-up system, /var/trixbox_load/firstboot/
- builtin functionality to allow for reboot when no active calls are going
- true web based tick and upgrade system that will allow us to pursue more finer grained control than was previously possible with all in one support packages
- interesting that they should choose to go with phpconfig rather than a complete brand new interface for their file configuration
- SwitchVox is very slick but may end up being beyond our budget considering the number of phones in our system, http://demo.switchvox.com/admin
- http://www.freepbx.org/download-freepbx redirects to Asterisk NOW for live test CD
- http://www.freepbx.org/support/documentation/installation, installing FreePBX on various systems
- http://support.freepbx.org/book/export/html/31

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Arduino Programming, Random Stuff, and More

Recently, an electronics store opened close by. This of course had its pros as well as its cons. The pros being that I have a place close by where I can get all sorts of electronic parts that I require. The con being sometimes you can get caught up in new pieces of technology. One of these pieces of technology happens to be Arduino electronics. There are obviously many different variations of compatible hardware but the most useful one that I came across that was in stock was the EtherTen.


Its basically a 100% Arduino compatible board that has an on board MicroSD card slot, an Ethernet port, as well as an ATmega328P MCU. Besides doing the usual LED blinker type experiments that you may have encoutered at University you'll also have the chance to interact with the outside world using all sorts of extra functionality such as wireless, LCD screens, motors, and enironmentel sensors. (details regarding this are available towards the bottom of this post)

Software Setup

1) Download software from, http://arduino.cc
2) Upon uncompression the you'll notice a arduino executable. Opening it will result in a minimalistic IDE for simple programming of the device itself.
3) Install the Windows USB driver if required via http://www.freetronics.com/pages/installing-the-usb-driver-file-for-windows (you won't require this if you're using Linux)
4) Select correct board by going to Tool > Board
5) Go to Tools > Serial Monitor to find out where device is going to be plugged in. Else just use dmesg and look for something similar to the following (if using Linux)

[ 8632.239231] usb 3-1: new full speed USB device number 3 using uhci_hcd
[ 8632.431914] usb 3-1: New USB device found, idVendor=20a0, idProduct=4150
[ 8632.431926] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 8632.431935] usb 3-1: Product: Eleven
[ 8632.431943] usb 3-1: Manufacturer: www.freetronics.com
[ 8632.431950] usb 3-1: SerialNumber: 64938323231351C0B1A1
[ 8632.435125] cdc_acm 3-1:1.0: ttyACM0: USB ACM device

6) Go to Tools > Serial Port and select the correct port on which the Arduino has been connected on.
7) You should see the blue LED on the board light up to indicate that the board has now been connected.

Running a Program on the Arduino
1) File > Examples > Digital > Name of Program
2) Sketch > Verify/Compile
3) File > Upload to I/O Board

You'll need to have avr-g++ installed as well as a number of other dependent utilities on Linux. I was using Knoppix Live ISO image so I tried downloading Debian packages obviously. I noticed that there were a few dependency oddities though including some that were not so easy to fix so I resorted to using the Windows version to get things up and running quickly.

Note, that Ethernet will not work without sufficient power. Funnily enough, a Linksys switch AC adapter works perfectly with the device (12V with + in centre) though it can cause the device to heat up a little. Note also that the LCD can be used without extra power although at a significantly lower brightness level.

Not everything is perfect. I had to upload compiled firmware twice a few times or else you may encounter limitations like this guy did here, http://robotjamie.com/etherten-firstlook Nonethless, its an incredible piece of hardware considering how inexpensive it is.

You may need to alter the default initialisation string from the example sketch if you do intend to use the LCD/keypad shield. Details of this were on the underside of the actual PCB on my particular 'Shield'.

Currently, I'm working on wireless transfer of information. Details of my progress on this experiment will follow later.



Thursday, August 11, 2011

Content Management System Evaluation (CMS), Random Stuff, and More

At some stage, most companies discover that due to their increasing size its hard to keep track of what everyone is doing. Therefore, they will require some form of Intranet to be implemented. Obviously this happened at a company that I was working at. As such, we had to evaluate the many options available to us available at the time. Obviously, there are various classes/types of CMS's. Personal ones favour a flat file structure with no multi-user functionality while the more complex/professional systems use database backends, a web based front end, have the ability to authenticate via a network directory system and have many options with regards to add-ons which allow for extra functionality.

One thing you'll need to watch for is whether there is too much of a learning curve in using the application itself. I noticed this myself when using the more mature systems such as Joomla. In such cases, either user training is going to be required and/or the content may need to be managed by your IT team. For mid-sized companies Drupal is a decent compromise between scalability and functionality.

Installation is fairly simple and similar to other web based applications. Install/untar the packages. Configure your web server. Setup the database backend. Configure the relevant files in order to authenticate correctly via the relevant backend. Thereafter, add any extra functionality as and when required.

Some companies basically specialise in converting CMS into websites. For me, it seems like faster way of development off of a known platform.

- these are some of the better known CMS systems out there:
http://en.wikipedia.org/wiki/List_of_content_management_systems
list of open source cms systems
  1. Strapi for API-First Content Management
  2. WordPress for Editorial Sites and Large Plugin Ecosystems
  3. Drupal for Complex Permissions and Compliance
  4. TYPO3 for Enterprise Multi-Site Installations
  5. Ghost for Newsletters and Membership Publishing
  6. Joomla for Cryptographically Verified Core Updates
list open source wiki
List of Best Wiki Software for 2026
1. Heroic Knowledge Base
2. MediaWiki
3. DokuWiki
4. Atlassian Confluence
5. Notion
6. Wiki.js
7. XWiki
8. BookStack
9. Slab
10. TiddlyWiki
11. Obsidian
12. GitBook
- the more secure ones are in this list:
which is the most secure open source cms system
drupal
typo3
plone
wordpress
- my ideal situation is one in which I can automate creation of posts but you need to build the infrastructure for this:
which open source cms automatically generate from text file
grav
kirby
pico
bludit
which open source cms automatically generate from text file and converts links into hyperlinks
typemill
pico
grav
is typemill or drupal a more secure cms
- most CMS allow for easy account creation now
is it easy to create new user accounts in typemill
is it easy to create new user accounts in drupal
- integration of AI/ML is a given for most modern CMS
does typemill easy integrate ai/chatbot support
- I've been trying to evaluate whether or not I can can things off of a spare system at home but even my blog is hitting the point whereby I know that deep down any self hosted option will likely exceed whatever hardware and network options I can have off a normal residential connection? Problems include CPU/RAM/IO limits, home Internet connection limits, security, redundancy, etc...
can you run web server off of hp microserver 40l 100k traffic per day blog
can you run web server off of hp microserver 40l 200k traffic per day blog
can you run web server off of hp microserver 40l 1m traffic per day blog
can you run web server off of dell e6410 1m traffic per day blog
can you run web server off of thinkpad x220 1m traffic per day blog
ThinkPad as a Server: The Follow-Up (ounapuu.ee)
can you run web server off of raspberry pi 5 8gb 1m traffic per day blog
can you use intel nuc as web server
maximum capability traffic intel nuc as web server
ASUS to manufacture and sell Intel’s NUC products
how much web traffic can Intel NUC10FNK Mini/i3-10110U/8GB DDR4 handle
maximum capability traffic Mac Mini 14,3/M2 (8-CPU 10-GPU)/8GB Ram/256GB SSD as web server
maximum capability traffic Mac Mini 14,3/M2 (8-CPU 10-GPU)/16GB Ram/256GB SSD as web server
Mac Mini 14,3/M2 does it use m.2 ssd
what is a good server for 1m users per day
what is a good server for 10m users per day
is cloudfare free
HP 600 G6 Mini/i7-10700T/16GB DDR4/512GB SSD max web traffic it can handle per day
Asus NUC13ANHH5/i5-13420H/16GB DDR4/256GB max web traffic it can handle per day
Lenovo M70Q G3/i7-12700T/16GB RAM/512GB max web traffic it can handle per day
Zotac C1642 Mini PC/i5-10210U/16GB RAM/256GB SSD max web traffic it can handle per day
MSI Cubi 5 10M/i7-10510U/16GB Ram/256GB SSD/W11/B max web traffic it can handle per day
is intel nuc reliable enough to run a web server
what is best bang for buck ollama llm gpu
ASRock Intel Arc A770 Challenger OC 16GB GDDR6 ollama linux setup
Add support for Intel Arc GPUs #1590
- need something light on resources and easy to migrate to and from
is typemill or drupal a more lightweight
is there an easy tool to migrate between typemill and drupal
AI Overview
There is no dedicated or automated "one-click" migration tool built specifically for moving content directly between Typemill and Drupal.
Why There Is No Direct Tool
• Typemill is a flat-file Content Management System (CMS) that stores content as Markdown files in a folder structure.
• Drupal is a robust, database-driven enterprise CMS that stores content in complex relational database tables and entities.
• Because these two systems use completely opposite storage architectures, niche migrations like this require a custom approach rather than a plug-and-play tool.
How You Can Do It Manually or Programmatically
Since a direct utility does not exist, you can bridge the gap using Drupal's flexible data-import capabilities:
1. Export from Typemill: Convert your flat-file Markdown content from Typemill into a structured format like CSV, JSON, or a structured XML feed. You can write a small script (in PHP or Python) to parse the Markdown files and compile them into a single data file.
2. Use Drupal Migration Modules: Install Drupal's core Migrate API along with supportive modules like Migrate Plus and Migrate Source CSV (or JSON/XML equivalents).
3. Run the Import via Drush: Write a custom migration YAML configuration mapping your source fields (title, body/markdown content, publication date) to Drupal node fields, then run the import using Migrate Tools and Drush.
If you'd like, let me know:
• Approximately how many pages you need to migrate
• Whether your content contains complex metadata or custom fields
I can help you outline a custom script or a CSV-to-Drupal migration strategy.

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Jocular Computing

One of the things that has always been entertaining for me is when technology attempts to interact with humans in a non-trivial fashion. While I was evaluating new phone systems for an old company I had/saw the opportunity to be able to experiment with some new phone lines with our VoIP phones. One of the things that I was working on was having the phone system 'attempt to tell a joke'. This idea was born from my previous experience with eMac systems back at University which had the ability to randomly tell a joke. They did this via a speech recognition system which had limited vocabulary (a group of phrases in order to reduce the search space and is a technique that I've seen commonly used on OEM speech control systems such as that which comes standard with Toshiba laptops). It also relied on an XML based file that contained the actual jokes itself. Thereafter, a randomised algorithm was used to select which joke to tell and what type of joke to tell (Knock knock, Why did the Chicken cross the road, etc...) While it was not quite as entertaining as a real human it was at least amusing and provided me with the idea for my little experiment. Random jokes from the web pulled using a web scraper or else manually downloaded which were then reformatted to be placed into a flat text file as follows.

'line number' 'tab character' 'joke'

Therafter, when and if required the string was encoded to 'wav' and/or another sound file format as required. Then a random number was chosen every once in a while to determine which particular joke to encode as a sound file. Then, when you call the, 'Joke line' a script is called to determine which file to play via 'espeak', 'festival', or any other speech synthesis software. Obviously, I tried playing around with speech recognition but when using the phone as a microphone on a network with 'jumpy' traffic on a VoIP based phone system this can make things a bit difficult. Maybe when I find myself on a network with more managable traffic I'll continue this line of research? Some of the results were very interesting. If I remember correctly though my experiments seemed to suggest that the load ratio would be about 30 people to a single server (Dual Xeon 2.8/4GB/10K SAS) before there would be a drastic drop in performance if I was thinking about completely automated phone based interviewing (a tangent that I was thinking about when I was working on web based interviewing technology (auto-generated code which worked around existing survey scripting languages) which was backwards compatible with SPSS Quancept scripts). Below are some of the notes from my research.


- http://www.voip-info.org/wiki/view/Asterisk+cmd+Festival, text2wave is basically a wrapper script for festival. Uses a LISP type language?
- init.scm and .festivalrc are two config files that are read at initialisation
- Utterance structure, http://www.cstr.ed.ac.uk/projects/festival/manual/festival_14.html
- english.wav is
Audio,araw,Mono,22050Hz,16
- jokes-clean.wav is
Audio,araw,Mono,8000Hz,16
man

- sox foo-in.wav -r 8000 -c 1 -s -w foo-out.wav resample -ql

; ######################################
; English Accent
; ######################################

exten => *777,1,Answer
exten => *777,2,Wait(1)
exten => *777,3,NoOp
exten => *777,4,System(/usr/bin/english)
exten => *777,5,Playback(/tmp/english-out)
exten => *777,6,Hangup
-
translates a sound file in SUN Sparc .AU format into a Microsoft .WAV file, while
sox -v 0.5 file.au -r 12000 file.wav mask
- notes to self, 8000Hz is completely incomprehensible, 22000Hz is much more realistic sample rate

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Sunday, August 7, 2011

Server and Link Load Balancers

Once upon a time I worked in a company that had multiple terminal servers. It soon became apparent that they weren't balanced in terms of work load. Due to financial constraints I ended up writing a fairly simple load balancer which is being augmented over time as tme permits (the basic structure of the original script will be posted to my GitHub and/or website eventually). The way it works is fairly simple. A fixed number of servers which is listed in a hash/dictionary data structure is iterated over. If the socket connections can be made to all servers than a naive algorithm which is composed of a random number which is 'mod' by the total number of servers is used in order to decide which server to connect to. However, obviously if a server/servers are down then these are removed from the data structure. Subsequent revisions have involved automatically mapping the network using NMAP, gaining server status information using WMI/SNMP,and storing/updating this data using SQLite to achieve a drop-in software based load balancer (the original script/program was written using a combination of Python and Perl but I may assimilate and/or port it to another language if and when appropiate).

If you do have the resources it may be worthwhile exploring some of the commercially available systems. Many of these options and other mature software based load balancing options are listed in, "Building a Cloud Computing Service", http://dtbnguyen.blogspot.com
The interesting thing though is how there is an increasing trend towards multi-level load balancing and redundancy. For example, application servers are often able to maintain state so that users do not have to re-login during server capitulation and obviously there many layer 3/4 load balancers available as well. In fact, even consumer networking companies are creating their own products nowadays.

http://haproxy.1wt.eu/

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Open Source Financial Trading

Recently, I've been speaking to some people in the trading/finance industry. One thing which struck me was the nature of software and how most of it was built in house due to its domain specificity. Recently though, its become fairly obvious that this is beginning to change. There have been attempts by various people to Open Source software that is capable of completing such transactions. Some of these are highly specific while others are more general to allow you to add modules of your own to suit your application Obviously, there will be some differences with regards to their suitability for simulations and the real world as well.

http://www.fixprotocol.org/fast

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Unlocking Your Phone/Modem

It used to be the case that unlocking a communications device could only be done by a service provider for a fairly hefty fee. Now, most devices can be unlocked for minimal cost with only the IMEI number from the device and a program that can be purchased for a nominal fee or even free from the Internet (or increasingly even the handset/service provider). Of course there are other methods as well as such as re-flashing the device with generic firmware. I've also seen Universal SIM card holders/convertors which may require trimming/cutting your SIM card which brings me to another point. One of the more interesting technologies that I've seen is a dual SIM card holder which can be used in your phone in order to provide you with the ability to be able to make/listen to multiple calls at the same time.

All this said, please ensure that your device supports the frequencies required by the network that you subsequently need/want to use.

http://forums.whirlpool.net.au/archive/1262036

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Tuesday, July 26, 2011

GroupWare Evaluation

This project was borne from the fact that the company wanted an inexpensive option/s with regards to intra-company communication. To this end we looked as both Open Source webmail, groupware, and solutions that were currently available. Note that these results were from an evaluation of the primary options that were available about 1.5 years from the date of publication of this particular post and may or may not be applicable to your particular situation or needs. Please do your own due diligence.

Zimbra
Seems quite responsive but not sure of the specifcations on their evaluation box. Standard/Advanced GUI that are accessible at the touch of a button. When installed on local (desktop) class hardware was not as responsive as expected. Checked minimum/recommended specifications for hardware and project does not seem feasible from a financial perspective any longer. Even when looking at minimum specifications on their website they seem to be far in excess of the financial resources available to this company. Great desktop client although it does seem to be resource intensive on our Dell GX260/270/280's. Obviously one of the first real Open Source alternatives as well so has a strong development history and community behind it.


Horde
Has most of the capabilities that we require but doesn't integrate particularly well with Outlook. Obviously there is the learning curve problem with regards to the web based interface. What we currently use but based on user feedback it could be better. Latest version has come quite a long way. Suprisingly, synchronisation with your PDA is a realistic/simple option now.


OpenGroupWare
Only took a very cursory look at this. LiveCD in German. Interface was unwelcoming and highly doubt that users will be inclined to use it. Did not continue with evaluation. Moreover, project seems to have become dormant. Last post on homepage for website seems to be from 2009. Does provide integration with various MUA's though.


Exchange
Basically, this is what our users want but due to financial contraints we are unable to pursue it as our network is composed of a number of Linux servers as well as a small number of Windows based terminal servers which can not be re-deployed to meet GroupWare needs. Moreover, the price of properly specified hardware for a Windows based server that is able to run Exchange does not fit into our budget. We calculate that that the project may range anywhere between five and six figures depending on whether or not we factor in future expansion needs.

http://www.microsoft.com/exchange/en-us/default.aspx

Zarafa
The fact that this software is an atrociously good representation of Microsoft Exchange has done it many favours. Basically works on top of existing Linux stack with a web based interface on top. Just like Exchange though uses MAPI error codes which can be almost impossible to decipher without a proper reference source. During evaluation we discovered that some services may need to be restarted to ensure proper/continuous operatation without intervention but we believe that this may have more to do with mis-configuration since there doesn't seem to be many other users online experiencing this same problem at this stage. Strong integration with Outlook but does seem to have a few problems with offline caching mode which we later decided to turn off (may be fixed by the time of publication of this post). Pricing is reasonable (four to five figures).


OpenXchange
Web interface reminiscent of Exchange. Pricing structure is reasonable (four figures). Has Outlook plugin to allow for better integration. A possible contender but was not mature as Zarafa was at the time of evaluation. Pricing is reasonable at first glance.

http://oxpedia.org/index.php?title=Main_Page_AE#quickinstall

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Automated Government and Getting Country Issues via AI/ML, What is Vabbing?, and More

Automated Government and Getting Country Issues via AI/ML: - I've been researching the possibility of Semi to Fully Automated gover...