Simulating a Line-Following Robot in R

I’ve been reading up on controlling mobile robots, and built a simple robotic movement simulator in R, using R graphing libraries. The motivation for doing this is to practice setting up the math for controlling a robot, without having to build a physical device. Starting with an over-simple model allows learning a bit at a […]

Improving the default Android Keyboard

My Android keyboard makes word suggestions as you type. The algorithm appears to be a frequency-based text look-up, although it occasionally picks up similar-sounding words. While usable, it has enough issues to be worth replacing. Android kindly lets you do this, and there are numerous apps to do so. To build a new keyboard, we […]

Solr CSV DataImportHandler sample

The following will import a two field CSV file into solr, assuming two columns, name and count. The name field is always quoted. <dataConfig> <dataSource name=”ds1″ type=”FileDataSource” /> <document> <entity name=”ngrams” processor=”LineEntityProcessor” url=”E:/Projects/Data/words-txt.csv” dataSource=”ds1″ transformer=”RegexTransformer”> <field column=”rawLine” regex=”^&quot;(.*)&quot;\t(.*)$” groupNames=”name,count” /> </entity> </document> </dataConfig>

Solr DataImportHandler example with FileDataSource

This imports each line of a text file as a single document, probably about the simplest thing you can do. The schema has a single attribute, “name”, which is defined as a unique attribute. <dataConfig> <dataSource name=”ds1″ type=”FileDataSource” /> <document> <entity name=”entity” processor=”LineEntityProcessor” url=”E:/Projects/Data/wlist_all/wlist_match10.txt” dataSource=”ds1″> <field column=”rawLine” name=”name” /> </entity> </document> </dataConfig>

, ,

Robot Localization in R

The excellent “Artificial Intelligence for Robotics” class on Udacity starts with a Python example on teaching a robot to determine where it is, given sensor data. Assuming the robot starts with a map of the world, and can make some observations of it’s surroundings, a series of movements and successive observations can quickly narrow the […]

2012 Side Projects

ExtJS Sample code http://garysieling.com/blog/tag/extjs Throughout the year I wrote a couple dozen how-to samples of ExtJS code. This product seems to be poorly documented, although it has improved, and is poorly covered on blogs outside the Sencha forums. This series has proved one of the most popular, and has received most of the comments my […]

Top Four Proposal Software Applications

When you own your own business, everything takes time, but one of the most critical areas to spend your time is writing proposals. Proposals are key not only to getting work, but to getting the work you want at the right price. Using a proposal writing software is one way to cut down on the […]


Data Warehousing, NoSQL, and the Cloud

With the nascent advent of NoSql, cloud computing and slick new databases, we seem to have forgotten from whence we came. I went to a conference recently on the open source search product Solr/Lucene. One of the keynote speakers, Chief Data Scientist of HortonWorks, discussed what turned him to NoSQL databases, in this case, a […]

, , , ,

Building a Naive Bayes Classifier in the Browser using Map-Reduce

The last decade of Javascript performance improvements in the browser provide exciting possibilities for distributed computing. Like SETI and Folding@Home, client-side javascript could be used to build a distributed super-computer, although at the risk of compromising data security and consistency. New HTML5 APIs extend the vast range of Javascript libraries available; for instance, the audio […]


Fixing issues where ExtJS charts don’t render in IE

I’ve encountered several instances where ExtJS charts fail to render in non-obvious ways in IE- these are all with the 3.x branch, but may apply elsewhere. The charts are rendered using a Flash SWF file repurposed from YUI libraries. By default, ExtJS pulls the SWF from a Yahoo! CDN, unless configured otherwise. Recently YUI upgraded […]