Posts

Showing posts from 2009

Most recent software projects and why

Here are my recent open source projects: (Most of these are proof of concepts, source included projects. Use subversion to check out any project). botnodetoolkit - A complete Clojure/J2EE framework that makes it easy for developers to taking care of browser and server-side components. And other server applications. haskellnotebook - The Haskell Notebook (another Haskell Cookbook) contains some common and not so common Haskell programming idioms that are contained in a collection of working/compilable examples. There is also a collection of source code from other functional programming languages including Lisp and Erlang. This project is similar to other cookbook projects that you may find on the web for various other programming languages. iphonenotebook - Octanemech - simple opengl iphone demo. keywords: objectivec, opengl, iphone3, xcode jvmnotebook - The Java Virtual Machine ( Sun's JVM is called HotSpot ) is a java bytecode interpreter which is fast, portable an

Google Testability Blog

http://misko.hevery.com/ Great testability blog

Healthcare Reform in America is about public safety not about taking access

What is wrong with the debate? One issue I have with the entire health care reform debate is not with any particular bill or any particular person that is for or against reform. I take issue with how they frame the debate. They never look at the crisis with our health care system as a safety issue. People will get sick and people will die prematurely if they don't have the proper insurance or access to health care. The alarms should go off at this startlingly revelation. People will die and could potentially spread disease to others if they are hesitant about seeking medical care. According to the Department of Medicine at Cambridge Health Alliance, 46 million people will die because of lack of insurance. "The Harvard report, finding 45,000 excess deaths linked to uninsurance, made news partly because it was so much larger than past estimates. Why the big difference between the Urban Institute/IOM numbers and the latest report? Dr. Woolhandler explains that the Harvard

Modify javap to output to String, view decompiled information at runtime.

Image
I asked the following question on Stackoverflow: "I am working with an application webserver and have complicated classloading issues. I want to be able to download or print information that would normally get printed by javap (the methods, etc). I may also need to get the raw binary class data, to perform a binary diff. How would you do this?" I was not satisfied with the responses from stack. Sure, I could have used reflection to print information on a particular class from the web, but I was looking for the output from javap . Javap is essentially a decompiler that comes with Sun's set of Java tools, it is used to print the method names and other information for an associated class. It is a useful tool, how do you run the tool on code that is deployed on a server, at runtime? It seemed obvious that javap was written in Java, so I naturally assumed that the source was available with openjdk. Source for javap is available GPL licensed in the mercurial repository. Th

Random Software Developer Thoughts - Entry Number One

I have these thoughts that pop into my head related to software. I always say I need to write these downs. Here is my first entry, writing down these thoughts. They are amazingly random, in a list format. Sometimes I may need to elaborate. I write software for a living, if you don't work in software, maybe this will help you get into the mind of a software developer. Note: a lot of the comments are geared towards J2EE java development. Entry Number One Software development can be very boring sometimes. Think about it, you sit in a cubicle/office eight hours a day, staring at a computer screen. For major portions of your life. Software development can be very interesting sometimes. You write software that thousands or millions or no one uses regularly. The user normally doesn't have a clue how the software gets written and there are all kinds of fixes, hacks, and easter eggs left in code. You as a developer may have minutes or hours that can effect a major release. A

Practical Unix/Linux GNU Find Command Examples

Image
Find is a very popular program for searching for a particular set of files. If you combine the find command with other applications like 'grep' or any other command then you will be even more productive. Here are some practical examples in the listings below. The commands are run Mac OSX, Darwin Kernel Version 9.8.0. Find Man Page (bsd unix) AME find -- walk a file hierarchy SYNOPSIS find [-H | -L | -P] [-EXdsx] [-f pathname] pathname ... expression find [-H | -L | -P] [-EXdsx] -f pathname [pathname ...] expression DESCRIPTION The find utility recursively descends the directory tree for each pathname listed, evaluating an expression (composed of the ``primaries'' and ``operands'' listed below) in terms of each file in the tree. ... ... Basic Find Here the most basic usage for find. After running the command, a listing of the files with the extension .m (objc code) are displayed. Basic Find, other extensions Here is an example of

iPhone Development on Win32 Redux (build error log)

I was trying to build the iPhone toolchain according to "PJ Cabrera's - Write native iPhone applications using Eclipse CDT" article. I made it pretty far with some minor hiccups. I know there is a lot of noise in this blog entry, but I wanted to post the error in case it comes up again. As of yet, I still haven't gotten the win32/iphone/opengl examples to work. Plus, I have the issue of a simulator. The simulator doesn't exist for win32. Yea, your best bet is to just get a Mac and do iPhone development on it. You can view the current source here: http://haskellnotebook.googlecode.com/svn/trunk/iphone/gl/HelloWorldWin32/ Error 2 (OpenGL) OK, I was able to build an application, I had some issues with OpenGL apps. /usr/local/bin/arm-apple-darwin9-gcc -c -I/usr/local/lib/gcc/arm-apple-darwin9/4.2.1/include -isysroot /usr/local/iphone-sysroot HelloWorld.m -o HelloWorld.o In file included from HelloWorldApp.h:11, from HelloWorld.m:11: /usr/local/i

Great site, political science and statistics.

http://www.drewconway.com/zia/ ----- "It must be borne in mind that all this time we have a Sperm Whale's prodigious head hanging to the Pequod's side. But we must let it continue hanging there a while till we can get a chance to attend to it. For the present other matters press, and the best we can do now for the head, is to pray heaven the tackles may hold." -- Ron Paul 2012

TeX article/book documents to PDF

Here is a collection of *.tex scripts and makefile for creating article documents. Just an example. Supports output to PDF, ps, dvi, bibliography example, tested with cygwin. http://jvmnotebook.googlecode.com/svn/trunk/book/articles/example/

Win32 one instance setup for emacs

Image
http://botnode.com/emacs.html - simple setup for running one instance of emacs on windows. Emacs is a powerful text editor. Some might consider Emacs one of the most powerful editors in computing history. It is highly configurable, ported to many different systems and once you get familiar with how to use it, you can be very productive. Emacs is also useful for working with many different programming languages. Emacs is built on top of a Lisp dialect called Emacs Lisp. Other Lisp dialects benefit from the the built-in Lisp syntax highlighting. That is just one example of a non-mainstream language that has support in Emacs. Emacs is especially popular in an Unix/Linux environment. Because Emacs is GNU and opensource, a free version is available for the Windows platform as well. One issue that new users to emacs may encounter is getting the editor to work like other Windows editors. This small document is how I configure emacs to only allow one instance to run on Windows. This funct

Polyworld: Using Evolution to Design Artificial Intelligence

http://www.youtube.com/watch?v=_m97_kL4ox0 "Polyworld: Using Evolution to Design Artificial Intelligence"

MATCH.COM FRAUD ALERT!!! MATCH.COM FRAUD

So, I signed up for match.com. I knew even before the get go that they were going to be a fraudulent company. I knew it. And I had no intention to use the service at all. Curiosity got the better of me. So, I signed up and paid for the ONE month service. Notice ONE month service. Let me say it again. ONE month service. You would think that a ONE month service would only charge you or keep you active for ONE month. No apparently, I have been charged month after month with the ONE month fee. It was my fault, I used an account that I explicitly use for online transactions like this one and didn't notice the charges. Well, I did happen to notice match.com and there it was. Ask yourself, why would I get charged several months, for a one month service. There is nothing explicit on the site at all about automatic renewals. It is so unfortunate that a company has to resort to these tactics. Here are the prices for the service. $34.99 -- 1 momth $19.99 -- 3 months $16.99 -- 6

Vacation, AI, and Haskell

Well, I have time off. Normally what that means is, I spend many late nights studying constantly. Some people go to the beach. I like to research. This time I am going back to AI and Haskell. Maybe combining the two. I have a couple of themes in my AI research. I have followed the same theme since I was young. Biology, Physics and how it relates to AI. Essentially, you need to design AI from the ground up, create an environment, a virtual environment for this entity to exist and then let the intelligence flourish within that environment. Then make connections between the real environment and our environment. Interesting AI is difficult. It is too bad that researchers mix the field with informatics and machine learning and all things that seem to belong to the more generic field of Computer Science. Genetic life is the only interesting field that seems like true AI, maybe neural network research. So, it is my opinion, that to create the AI that we dream of. Not the CS AI yo

JVM Notebook: Basic Clojure, Java and JVM Language performance

Image
"Measure, don't guess. The primary goal of all performance tuning exercises should be maximize the end user experience given the resource constraints." [1] "It isn't so much a "farewell to the J" as an expansion of the platform opportunities Java provides. Sun's investment to power ongoing development of JRuby and Jython broadens the range and reach of Java, as a whole." -- Rick Ross Overview and JVM Languages    One of the exciting trends to recently emerge from the Java community is the concept of the JVM language. These technologies are all that you would expect them to be. They are implementations of languages that run on the Java Virtual Machine. Some are newly created and some are based on existing, more mature languages. JRuby, Jython are two JVM languages based on CRuby and CPython. Groovy, Scala, Clojure are three completely new JVM languages that were created to add new language features that weren't supported by the core Ja