Saturday, July 6, 2013

Job Searching with Cats: Sheba

This happened a couple of days ago.I was in the middle of answering a typical interview question -- "Why do you want to work here?" -- when Sheba suddenly launched into a concert. I had petted and cuddled her beforehand to buy her silence during the call, but I guess it's never enough. She finally ran away after I made furious kicking gestures at her.She did the same thing when I had another interview today, but this time I just kept moving around until she gave up following me and went to sleep on the couch.Next comic: Oscar the ninja also gets in on the job-blocking action! - Full Post

Fermat's Last Theorem (1997)

This book by Simon Singh is a good summer read because it’s short, informative, and the mathematics are dumbed down. I skipped them anyway.Fermat’s Last Theorem focuses on a theorem scribbled by 17th century French mathematician Pierre de Fermat stating that there are no whole number solutions for xn + yn = zn for n greater than 2. Fermat coyly revealed that he had proof of his theorem, which eluded others of the mathematical persuasion for centuries, until one extremely persistent Brit announced that he had solved it in 1993. He had spent seven years in isolation working exclusively on the theorem.Simon Singh tells the stories of the great minds who set out to solve the problem before Andrew Wiles came along. Even when they failed to construct a proof, these mathematicians created new techniques and even new branches of mathematics. All paths do not lead to a solution to Fermat’s Last Theorem, but many of them converged to lead Wiles to his conclusion.Singh emphasizes the absolutism of the mathematical world, and why the insistence on flawless logic deterred so many eminent minds of the past, and almost unraveled Wiles’ years of work. Wile’s proof is over a hundred pages long, and one reviewer found a gap in one area, which, if not repaired, would have been enough to discredit the proof.For Wiles, the stakes were so high because solving Fermat’s enigma was his childhood dream. He wanted to solve it since he chanced upon it in a library book when he was ten. Incidentally, when I was ten I resolved to own a cat, have an apartment, and hold a desk job. So we both achieved our dream! The difference, of course, is that his dream is a dream of higher cognitive creation and my dream sucks.Wiles had a fantastic quote for when he finally, conclusively had proof of Fermat’s Last Theorem, one year later: “Nothing I ever do again will mean as much.”I turned to Fragrant Husband and repeated that line. “Can you say that about anything?” I asked him.“Maybe just you,” he said.D’AWWWWWWWWW. Infinite Pogi Points Unlocked. - Full Post

The Tyranny

Forget the protests in Egypt. Look beyond the continuing saga of Snowden. Ignore US politicians' attempts to control women. The true tyranny is here:These innocent-seeming shoes, which I snapped up at the new TJ Maxx at the Galeria, gave me blisters. Blisters! Small pockets of fluid caused by friction! Oh the pain! The agony! How can you compare violent national protests and invasions of privacy and cruel patriarchalism to my office dress code-induced pain?You cannot. Please, readers, learn from my tragedy -- walk, do not run, and certainly not over great distances, in brand new shoes. Then you shall be spared the suffering. This post brought to you by Vacation Mode, Fourth of July subcategory.  - Full Post

The Calm Before...

I have no great wit to share today, just quiet.  I'm looking forward to my vacation this summer.  At the same time, it leaves me with precious little time to finish up several projects that need to be ready before I go.  Even so, at this stage, the only projects that I'm working on are ones of my own choosing, not those that others have subjected me to (or at least at this stage, my  to those projects is now complete).
We'll be spending a week+ in England this summer.  I'll be meeting my family there on the way back from another international trek.  I'm looking forward to spending a week and more in the home of Shakespeare and Doctor Who.
And when I return, I'll have barely enough time to head to Chicago and Montreal in the same week for IHE and HL7 meetings. Somewhere in the coming weeks I need to find time to update a book chapter, and if all goes well, start a grant project in my hometown at the start of the next month.  And in a few more days, the very last piece of paper is expected to arrive at admissions to move me into yet one more step of my career. But all that turmoil can wait just a little bit longer.
Right now, at this very instant, all is quiet.  I have a moment or two to listen to the thunder and await the rain.  I can hear the frogs.  I try to close my eyes and focus so that I can see the future, so that when I have the time, I can make it happen.  But nothing comes.  So, I'll enjoy the quiet, and not confuse it with peace... - Full Post

What is in a name?

I hardly ever get worked up about what you call some things (whereas I ).  It's not my job to name things, or at least the things that aren't important, like what you'd call a product or service that you are selling.
The discussion I found really amusing today was on the "Is HIE a noun or a verb?"  It really depends on what you are selling I would guess.  If you "are" an HIE, then you are selling yourself, and the services provided by your organization, so you'd probably fall on the noun side of this debate.  If, on the other hand, your customers are "HIE" (noun form), or others who need exchange services, then you'd probably fall on the "verb" side of the debate.
Linguistically, the phrase "Health Information Exchange" parses ambiguously as either a noun or a verb.  The first two words "Health Information" are descriptive of either the kind (of noun), or the subject (of the verb). And itself is ambiguous. As a verb it is the trade of information.  As the noun, it is the act or place where such trades occur.
Does it matter what "we" agree on?  No.  The word will still be ambiguous because usage creates definitions, not the other way around.
One of pointed out that Name = Brands = Function = Market, and referenced Kleenex, Ziplock, Web, Chapstick, Coke and Sharpie.  I'll point out in response that it was the product that came first, then the name recognition that established the brand and subsequently the market.  While the name was important, what made the name successful was the product it was applied to, NOT the other way around.
Arguably, a bad name can kill a good product or service.  But I've never seen a good name save a bad product or service.  In fact, a bad product or service can kill a good name.  Did you see what happened to United stock when they ?
Don't worry about the name.  Worry first about the product or service.  Even a can become a great brand, but it never would have happened if the product hadn't tasted so good. - Full Post

ForGE v0.1

I’ve been doing some research for the past couple of months on how to go about making a GUI in Fortran and during that time I’ve experimented with DISLIN, GTK+ (through gtk-fortran), and Intel’s QuickWin framework.
QuickWin seems to be a quick and dirty way to get code outputting into a non-command prompt window, and while it works well for that, its not good for more complicated GUI development.
DISLIN is an excellent and fast way to put together a GUI using procedure calls, however the licensing of it cannot be used in an open source manner. Its free for individual research use, but it cannot be distributed. Aside from that – and the arcane function naming scheme – its an excellent and time-tested framework.
gtk-fortran and its port of GTK+ is more new. It isn’t as simple as DISLIN to throw together a GUI, but it *is* open source. Because of this, I decided to use it as a GUI framework.
Overall, after a few days of frustration, I was able to figure out how to use gtk-fortran and also its high-level API. I realized that I could easily package a lot of the functions into a simple set of procedure calls that hopefully even novice Fortran developers could use without much trouble.
And so, I began to do just that.
Along the way, however, I realized that with this framework the program that would finally be developed would be entirely event-based – a typical GUI program. That may be perfectly fine for most developers, but in my case I needed a process to run on its own in the background regardless of the GUI’s involvement.
After a good amount of time learning how to incorporate OpenMP into a program, I added aspects of it into my framework to allow the GUI to run on its own thread while background procedures run on other threads. If no background processes are necessary, the framework will run perfectly fine without them. A developer can easily create an event-based Fortran program just by putting together the GUI through the very high-level procedure calls and then creating event handlers, just as in most other languages with RAD tools (for the most part).
This is just the first alpha release of it. I don’t have all the instructions in there, and I don’t have all the GUI procedures done. I’m even only halfway through putting the main window creation onto an object-oriented path (it still works just fine, though).
Future plans include some form of OpenCL. While OpenACC is eventually going to be merged into OpenMP, I figure that for now a little OpenCL wouldn’t hurt anyone.
Enjoy:
I welcome all criticism. Constructive and non-constructive.
- Full Post

F03GL Package for SF Released

If you’ve ever tried to get F03GL OpenGL library to compile/work, then you’ll be pleased to know that Approximatrix has released both a F03GL package and a freeglut package for Simply Fortran IDE: 
The package server add-on for SF does cost money, but for the amount of time it can save you, its absolutely worth it.  All the packages are precompiled and ready to go once the software installs them.  They even come with example code to get you started.
- Full Post

ForGE Compilation Issues

So the instructions for compiling were lacking the linker arguments for gtk-fortran (which is required). Technically, I did say that gtk-fortran was a requirement, but I suppose my goal to help simply Fortran development wasn’t quite met by leaving that part out. However, I have fixed the readme.txt file to reflect the proper linker arguments that are required. Sorry.
And I had previously left out the forge.mod file that was required to compile the entire framework. So yeah, that’s in there now. Everything should work. Please let me know if it doesn’t.
Finally, I haven’t updated the instructions or the wiki to reflect the new functions/widgets that are available. I will soon. But until then, the test.f90 file should give several examples of how to use them.
On a brighter note, the framework is starting to come together to look much better. Widget placement looks better, and I’m gaining finer control over each piece. I’m currently attempting to incorporate PLPlot into the whole thing, so graphing will soon be available (I hope).
- Full Post

A Month of Math Software – February 2013

Welcome to the latest Month of Math Software here at WalkingRandomly.  If you have any mathematical software news or blogposts that you’d like to share with a larger audience, feel free to .  Thanks to everyone who contributed news items this month, I couldn’t do it without you.
The NAG Library for Java
The Numerical Algorithms Group (NAG) have been producing numerical libraries for over 40 years and .
MATLAB-a-likes
Version 3.6.4 of , the free, open-source MATLAB clone has been released.  This version contains some minor bug fixes.  To see everything that’s new since version 3.6, take a look at the .  If you like MATLAB syntax but don’t like the price, Octave may well be for you.
The frequently updated is now at version 20.98 with a full list of changes .  Scanning through the recent changes log, I came across the very nice iteratefunction which works as follows
>iterate("cos(x)",1,100,till="abs(cos(x)-x)<0.001")

[ 1 0.540302305868 0.857553215846 0.654289790498 0.793480358743
0.701368773623 0.763959682901 0.722102425027 0.750417761764
0.731404042423 0.744237354901 0.735604740436 0.74142508661
0.737506890513 0.740147335568 0.738369204122 0.739567202212 ]

Mathematical and Scientific Python
The Python based computer algebra system, SAGE, has been updated to version 5.7.  The full list of changes is at 
Numpy is the fundamental Python package required for numerical computing with Python.  Numpy is now at version 1.7 and you can see what’s new by taking a look at the
Spreadsheet news
A new version of Microsoft Excel, the 800 pound gorilla of the spreadsheet world, was actually released back in January as part of Office 2013 but I managed to miss it somehow.  An overview of what’s new in Excel 2013 is , along with a and a note warning of the possibility of .  More in-depth articles include , , and the .
Hot on the heels of Microsoft’s product is a new version of the superb, completely free .  on 7 February 2013 and includes a .  My favourite new feature, by far, is the inclusion of a interpreter!  is ‘A Logo-Python programming environment with interactive turtle vector graphics for education and desktop publishing‘  and there are some blog posts about it and .  Another improvement I want to point out is the fact that the .
R and stuff
A new version of R, the open source standard for statistical computing, has been released.  Version 2.15.3 is probably going to be the last release before version 3 comes out.  The full list of changes can be found at
has been released and the has been updated.
This and that
The commercial computer algebra system, Magma, has seen another incremental update in.
The NCAR Command Language was
IDL was updated to .  Since I’m currenty obsessed with random number generators, I’ll point out that in this release IDL finally moves away from an old Numerical Recipies generator and now uses the Mersenne Twister like almost everybody else.
From the blogs
The guys at AccelerEyes have been .
NAG’s David Sayers asks 
Wolfram Research celebrates the .
Stephen Wolfram asks
A couple of bloggers discuss performing Monte Carlo simulations using javascript ( and ).  I say
- Full Post

Faster GPU Random Number Generators in MATLAB 2012b

Ever since I took a look at using MATLAB, I’ve been disappointed with the performance of its GPU random number generator. In MATLAB 2012a, for example, it’s not much faster than the CPU implementation on my GPU hardware.  Consider the following code
function gpuRandTest2012a(n)

mydev=gpuDevice();
disp('CPU - Mersenne Twister');
tic
CPU = rand(n);
toc

sg = parallel.gpu.RandStream('mrg32k3a','Seed',1);
parallel.gpu.RandStream.setGlobalStream(sg);
disp('GPU - mrg32k3a');
tic
Rg = parallel.gpu.GPUArray.rand(n);
wait(mydev);
toc
Running this on MATLAB 2012a on my laptop gives me the following typical times (If you try this out yourself, the first run will always be slower for various reasons I’ll not go into here)
>> gpuRandTest2012a(10000)
CPU - Mersenne Twister
Elapsed time is 1.330505 seconds.
GPU - mrg32k3a
Elapsed time is 1.006842 seconds.
Running the same code on MATLAB 2012b, however, gives a very pleasant surprise with typical run times looking like this
CPU - Mersenne Twister
Elapsed time is 1.590764 seconds.
GPU - mrg32k3a
Elapsed time is 0.185686 seconds.
So, generation of random numbers using the GPU is now over 7 times faster than CPU generation on my laptop hardware–a significant improvment on the previous implementation.
New generators in 2012b
The MATLAB developers went a little further in 2012b though.  Not only have they significantly improved performance of the mrg32k3a combined multiple recursive generator, they have also implemented two new GPU random number generators based on the .  Here are the timings for the generation of 100 million random numbers in MATLAB 2012b
Get the code –
CPU - Mersenne Twister
Elapsed time is 1.370252 seconds.
GPU - mrg32k3a
Elapsed time is 0.186152 seconds.
GPU - Threefry4x64-20
Elapsed time is 0.145144 seconds.
GPU - Philox4x32-10
Elapsed time is 0.129030 seconds.
Bear in mind that I am running this on the relatively weak GPU of my laptop!  If anyone runs it on something stronger, I’d love to hear of your results.
Laptop model: Dell XPS L702X
CPU: @2Ghz software overclockable to 2.9Ghz. 4 physical cores but total 8 virtual cores due to Hyperthreading.
GPU: with 144 CUDA Cores.  Graphics clock: 590Mhz.  Processor Clock:1180 Mhz. 3072 Mb DDR3 Memeory
RAM: 8 Gb
OS: Windows 7 Home Premium 64 bit.
MATLAB: 2012a/2012b
- Full Post

A plot gallery for Mathematica 9

I’m working on a presentation involving 9 at the moment and found myself wanting a gallery of all built-in plots using default settings.  Since I couldn’t find such a gallery, I made one myself.  The and includes 99 built-in plots, charts and gauges generated using default settings.  If you hover your mouse over one the plots in the Mathematica notebook, it will display a ToolTip showing usage notes for the function that generated it.
The gallery only includes functions that are fully integrated with Mathematica so doesn’t include things from add-on packages such as StatisticalPlots.
A screenshot of the gallery is below.  I haven’t made an in-browser interactive version due to size.

- Full Post

How to follow WalkingRandomly

When I first started this blog, there were only really two methods by which readers could keep up with new content – by subscribing to the RSS feed or by regularly dropping by the site to see what’s new. Since then readers have steadily been requesting other ways to follow the blog and, for the most part, I have obliged.  Here’s a list of current methods:
– Join around 2500 others and subscribe to the WR RSS feed.  This number will probably be severely reduced once Google Reader shuts down.
– I post every WR article to my twitter feed along with whatever else I find interesting. Twitter is also a great way of contacting me and is the social media platform on which I am most active.
– I link to WR articles just after they are posted along with other random musings.
– A small following compared to the other channels but useful to some it seems.
Drop by the site whenever the mood strikes you
- Full Post

Matrix multiplication speed-up trick on MATLAB

I was recently working on some code with Manchester University’s David McCormick.  Buried deep within this code was a function that was called many,many times…taking up a significant amount of overall run time.  We managed to speed up an important part of this function by almost a factor of two (on his machine) simply by inserting two brackets….a new personal record in overall application performance improvement per number of keystrokes.
The code in question is hugely complex, but the trick we used is really very simple.  Consider the following MATLAB code
>> a=rand(4000);
>> c=12.3;
>> tic;res1=c*a*a';toc
Elapsed time is 1.472930 seconds.
With the insertion of just two brackets, this runs quite a bit faster on my Ivy Bridge quad-core desktop.
>> tic;res2=c*(a*a');toc
Elapsed time is 0.907086 seconds.
So, what’s going on? Well, we think that in the first version of the code, MATLAB first calculates c*a to form a temporary matrix (let’s call it temp here) and then goes on to find temp*a’.  However, in the second version, we think that MATLAB calculates a*a’ first and in doing so it takes advantage of the fact that which is where we get the speedup.
Another demonstration of this phenomena can be seen as follows
>> a=rand(4000);
>> b=rand(4000);
>> tic;a*a';toc
Elapsed time is 0.887524 seconds.
>> tic;a*b;toc
Elapsed time is 1.473208 seconds.
>> tic;b*b';toc
Elapsed time is 0.966085 seconds.
Note that the symmetric matrix-matrix multiplications are faster than the general, non-symmetric one.
- Full Post

Python: Braces? Not a chance!

I was recently chatting to a research group who were considering moving to from for some of their research software output.  One team member was very worried about Python’s use of and wondered if braces would ever find their way into the language?  Another team member pointed out that this was extremely unlikely and invited us to attempt to import braces from the .
>>> from __future__ import braces
File "", line 1
SyntaxError: not a chance
- Full Post

C# How to Program Reviews

Author: Harvey M. DeitelEdition: 1STPublisher: Prentice HallBinding: PaperbackISBN: 0130622214Category: ProgrammingList Price: $ 102.00Price: $ 24.57 Check NowYou Save: 76%C# How to ProgramFor courses on C# programming found in departments of Computer Science, CIS, MIS, IT, Business, Engineering and Continuing Education. Programming books C# How to Program pdf. An exciting addition to the How to Program series, C# How to Program provides a comprehensive introduction to Microsoft's new object-oriented language. C# builds on the skills already mastered by countless C++ and Java programmers, enabling them to create powerful Web applications and components-ranging from XML-based Web services on Microsoft's .NETaA A platform to middle-tier business objects and system-level applications. C# How to Program gives students the strong foundation in introductory and intermediate programming principles they'll need in industry. Download books Visual C# How to Program pdf via mediafire, 4shared, rapidshare. Price comparison for Visual C# How to ProgramPrice: $1Visual C# How to Program: Paul J. DeitelShow Linkhttp://okey-books.com/Visual-C-How-to-Program/p104940/Price: $3.9The Deitels' groundbreaking How to Program series offers unparalleled breadth and depth of programming concepts and intermediate-level topics for further study. The books in this series feature hundreds of complete, working programs with thousands of lines of code. This edition is completely up-to-date with The Java 2 Platform Standard Edition (J2SE) 1.5. Now includes topics such as autoboxing, enumerations, enhanced for loops, static import statements, variable-length argument lists, and much mShow Linkhttp://try.fastusaonlinestore.com/Visual-C-How-to-Program/p104940/Price: $1.99Categories: C# (Computer program language)->Beginners' guides. Contributors: H. Deitel - Author. Format: PaperbackShow Linkhttp://www.barnesandnoble.com/listing/2688670193413?sourceid=Q000000633&cm_mmc=Google%20Product%20Search-_-Q000000633-_-2688670193413Price: $1.99Categories: C# (Computer program language). Contributors: Paul J. Deitel - Author. Format: PaperbackShow Linkhttp://www.barnesandnoble.com/listing/2688832099508?sourceid=Q000000633&cm_mmc=Google%20Product%20Search-_-Q000000633-_-2688832099508Price: $48.66Visual C# How to Program, ISBN-13: 9780136053224, ISBN-10: 013605322XShow Linkhttp://www.valorebooks.com/affiliate/url/siteID=x0f6M7?url=http://www.valorebooks.com/textbooks/visual-c-how-to-program-3rd-edition/9780136053224&utm_medium=referral&utm_campaign=Froogle&utm_source=Froogle&date=04/21/13&buy=3Download C# How to Program An exciting addition to the How to Program series, C# How to Program provides a comprehensive introduction to Microsoft's new object-oriented language. C# builds on the skills already mastered by countless C++ and Java programmers, enabling them to create powerful Web applications and components-ranging from XML-based Web services on Microsoft's .NETaA A platform to middle-tier business objects and system-level applications. C# How to Program gives students the strong foundation in introductory and intermediate programming principles they'll need in industry. Mastering C# will allow them to create complex systems-using fewer lines of code and reducing the chance for error. The end result is faster development at a decreased cost-and optimum adaptability that makes it easy to keep up with the evolving Web. Download free C# How to Program pdf - Full Post

Fortran 8x Explained

Author: Michael MetcalfEdition: Publisher: Oxford University Press, USABinding: PaperbackISBN: 019853731XCategory: ProgrammingList Price: $ 22.50Price: $ 22.50 Check NowYou Save: 0%Fortran 8x ExplainedThe undoubted success of Fortran as the predominant programming language in the field of scientific and numerical computing is due in part to the steady evolution of the language. Programming books Fortran 8x Explained pdf. Following the publication of the first two standards in 1966 and 1978, the technical committee responsible for their development, X3J3, began work on a new standard suitable for use in the 1990s. A first draft of the standard was subject to periods of public comment both in the USA and internationally. As a result, a new draft of the standard has been prepared. This book is a description of this new language, for the moment called Fortran 8x. Download books pdf via mediafire, 4shared, rapidshare. Download Fortran 8x Explained Following the publication of the first two standards in 1966 and 1978, the technical committee responsible for their development, X3J3, began work on a new standard suitable for use in the 1990s. A first draft of the standard was subject to periods of public comment both in the USA and internationally. As a result, a new draft of the standard has been prepared. This book is a description of this new language, for the moment called Fortran 8x. It is intended to provide potential users of the language with a comprehensive guide to all its features, so that they can prepare for its introduction. The authors are both members of X3J3 and have many years of experience in the use of Fortran. The book is intended for existing Fortran users and for all those involved in any aspect of scientific and numerical computing. Download free Fortran 8x Explained pdf - Full Post

I'm speaking at Jayday, 1th July 2013 in Munich, Germany

JayDay 2013 in Munich is an Event for Java-Developers featuring internationally renowned Experts. What started out as a nice little event got even bigger this year. It is still a one day conference but the . I am honored to be part of that list again and I am looking forward meeting many of you there.This year I will talk about "Alien Driven Development". Which basically is a short introduction into Arquillian and the complete eco-system around it.The JayDay conference will be held on Monday, July 1st 2013. Registration starts at 8:30 am. The official program will start at 9:00 am. The final program isn't published by now. Keep an eye on the . - Full Post

I'm speaking at JavaOne, 22-26 September 2013 in San Francisco

Another year another JavaOne. Even if the conference experience gets spread over the world with many more regional JavaOnes there is still the original one happening once a year to celebrate Java and community in San Francisco.I'm proud to announce that I will be speaking again at this years flagship event. During the rolling acceptance process my proposal:CON2570 "Don't be that guy! Developer Security Awareness"  already and I am happy to shape the new with my contribution.Update: 25.06.13 Another talk made it into the schedule.CON1924 "Seven Deadly Sins"The review for the complete program is still ongoing. As far as I know the acceptance emails are still not out completely. Might be, that a BOF or something else will pop up at the horizon. Anyway, I am quite pleased with the outcome and I am truly looking forward speaking again at the original JavaOne.Update: 27.06.13 And I will also be at Oracle OpenWorld.CON1926 "Oracle Java Cloud Service for Java EE Developer"There is plenty of content available. Some numbers: OpenWorld has 1272 sessions and 1552 speakers. JavaOne holds 507 Sessions and 482 speakers. The . Most of the content will be free afterwards so it is a good idea to already bookmark this link.There is still time . Looking forward to an awesome conference! - Full Post

New German Article: Oracle Java Cloud Service

A short information for my German audience. A new article of mine was published a few days ago. Read it in German on the website.Java EE Development with Oracle's Public CloudOnly partly up to date Oracle CEO Larry Ellison mocked the cloud topic for a long time. This has changed significantly in the meantime: 16 cloud offerings can be found on the central website for the cloud software company. It is not always easy to keep track of already available or pre-announced offerings. They all have one thing in common: They are based on the platform services offerings which are based on the WebLogic Application Server and the Oracle database. Curious about your feedback! - Full Post

New Article in German iX Magazine: Java EE 7

Another article hit the road today. This time a comprehensive introduction to Java EE 7 in .CloudlessJava EE 7: Too early for the CloudJava EE 6 scored with many simplifications for developers. The seventh edition should initially address PaaS and cloud topics. However, the plan turned out to be too ambitious, and the recently completed version contains little fundamentally new, but has numerous additional features and more stability.This is a German article and you can either grab the latest or buy it at your favorite kiosk.If you're curious about an English version have a look at my "" article published by The H-Online (17 June 2013, 14:56).Find some other articles of mine by searching this blog for posts labeled "article" and you get some results. - Full Post

An Urban-Rural Focus on Food Markets in Africa

- Full Post

What Determines the Quality of Local Financial Management? The Case of Tanzania : IDG Working Paper

- Full Post

Local Government Finances in Macedonia Today: Possible Reforms for Tomorrow

- Full Post

The Effectiveness of the State, Intergovernmental Relations, and the Success or Failure of the International Strategy in Afghanistan

- Full Post

Using Survey Information To Provide Evaluative Citizen Feedback For Public Service Decisions

- Full Post

The Effects of the Suspension of Serbia's Law on Local Government Finance on the Revenue and Expenditure Behavior of Local Governments: 2007-2009

- Full Post

International Experiences on Government Land Development Companies: What Can Be Learned?

- Full Post

Too Much of a Good Thing? Own Revenues and the Political Economy of Intergovernmental Finance Reform: The Albanian Case

- Full Post

Providing Basic Public Services at the Door Step of the People? : Estimating the Size of the Local Public Sector in Bangladesh

- Full Post

Gov. Quinn and Indiana Gov. Pence Open Business Development Forum for Illiana Expressway

- Full Post

Episode 101 – rambling lessons learned

I had a couple epiphanies recently that I share in this episode, and found a couple new/cool webdev things in the past few weeks.

:: Run nodejs in your browser


:: PHP BDD testing tool


:: @supports tag for CSS3


:: Firefox nightly has support for @supports


:: List of things to know in web development


:: “Really early bird” pricing ends August 15




- Full Post

Episode 104: A few infrastructure services and version control

I’ve found a couple of neat infrastructure services recently and hope you find them interesting and useful. Also… what’s the deal with solo developers not using version control?

:: new community for web freelancers


:: hourly virtual hosting


:: recurring billing


:: registrar as a service


:: find a great domain name


:: standardize your forms' look and feel


:: hosted virus scanning service


:: Me and Kevin Dees rapping freelance


:: Kevin Dees' site


:: Conference for independent web professionals




- Full Post

Episode 108: New Ruby, Regex and my Framework Security Rant(tm)

Ruby 2 was just released, and the new ‘refinements’ feature presents some interesting challenges for JRuby and just about anyone wanting to read Ruby code.  Brief chat about the regex security affecting Rails back in January, but more broadly speaking, what does this say about regex in general?  Should we embrace it, or find better alternatives?  Finally, I’ve got a new blog post up about web framework security – why do (almost) no web frameworks ship with security baked-in?
Links:

Ruby stuff:


Malloc stuff:

 


- Full Post

Episode 109: Typescript and a bit more…

Heading off to Russia for a bit – if there’s anything you think I should see when I’m there, let me know
Saw a good presentation on recently, which has piqued my interest – hopefully it piques yours as well.   from techempower shows the results on testing more than two dozen web framework/configurations – where’s your favorite?  Finally, gives you a quick way to add guided tours to your websites – clean and simple.
Also, Jetbrains has an this week – get up to 50% off an editor of your choice.  And  was recently released and is also 50% off its normal price.


- Full Post

Hong Kong International Jewellery Show Attracts 30,000 BuyersIncrease in Buyers from the Mainland and other Emerging Markets

9 March 2009 - About 30,000 buyers attended this year's Hong Kong International Jewellery Show, 5-8 March, at the Hong Kong Convention and Exhibition Centre. While local buyers were up by 11 per cent this year, overall buyer attendance for the first four days dropped about five per cent, with overseas buyers down 15 per cent. Buyers were up from the following emerging markets: Argentina (up 41 per cent), Chile (up 18 per cent), the Chinese mainland (up 12 per cent), the Czech Republic (up nine per cent), the Philippines (up two per cent), Poland (up 36 per cent), Saudi Arabia (up 13 per cent), Tanzania (up 33 per cent), Tunisia (up 45 per cent) and Vietnam (up six per cent). - Full Post

HKTDC Quarterly Export Confidence Index Shows Slight ReboundExport Index Reflects Business Problems and Opportunities for Hong Kong Companies

18 March 2009 - Export confidence has shown signs of stabilisation despite the continuing global economic downturn. The latest HKTDC Export Index, published by the Hong Kong Trade Development Council (HKTDC), saw some improvement after four consecutive quarters of decline. "Although export confidence in the first quarter improved slightly, the general economic outlook remains difficult," said HKTDC Chief Economist Edward Leung. "Hong Kong enterprises should make extra efforts to identify new markets and opportunities in a few niche sectors." - Full Post

Add Existing node to another node's Child node

Hi there,
I have following XML and i want to transform it to my desire XML using XSLT ,So I need help
Given is My Input XML
<?xml version = '1.0'?>
<ROWSET>
<irp_account num="1">
<IRP_CARRIER_ID_NUMBER>274845</IRP_CARRIER_ID_NUMB
ER>
<IRP_ACCOUNT_NUMBER>55002</IRP_ACCOUNT_NUMBER>
</irp_account>
<irp_account num="83">
<IRP_CARRIER_ID_NUMBER>928265</IRP_CARRIER_ID_NUMB
ER>
<IRP_ACCOUNT_NUMBER>59897</IRP_ACCOUNT_NUMBER>
<NAME_TYPE>LG</NAME_TYPE>
<NAME>LAMBERT TRUCKING INC</NAME>
<ADDRESS_TYPE>PH</ADDRESS_TYPE>
</irp_account>
<irp_account num="97">
<IRP_CARRIER_ID_NUMBER>957858</IRP_CARRIER_ID_NUMB
ER>
<IRP_ACCOUNT_NUMBER>59940</IRP_ACCOUNT_NUMBER>
<NAME_TYPE>LG</NAME_TYPE>
<NAME>SONNY DAVIS INC</NAME>
<ADDRESS_TYPE>MA</ADDRESS_TYPE>
</irp_account>
<irp_account num="98">
<IRP_CARRIER_ID_NUMBER>957858</IRP_CARRIER_ID_NUMB
ER>
<IRP_ACCOUNT_NUMBER>59940</IRP_ACCOUNT_NUMBER>
<NAME_TYPE>LG</NAME_TYPE>
<NAME>SONNY DAVIS INC</NAME>
<ADDRESS_TYPE>PH</ADDRESS_TYPE>
</irp_account>
</ROWSET>
With the use of XSLT i want to generate Output XML like this.
<?xml version="1.0"?>
<T0020>
<IRP_ACCOUNT>
<IRP_CARRIER_ID_NUMBER>274845</IRP_CARRIER_ID_NUMB
ER>
<IRP_ACCOUNT_NUMBER>55002</IRP_ACCOUNT_NUMBER>
<IRP_NAME>
<NAME_TYPE>LG</NAME_TYPE>
<NAME>A P SUPPLY CO</NAME>
<IRP_ADDRESS>
<ADDRESS_TYPE>PH</ADDRESS_TYPE>
</IRP_ADDRESS>
<IRP_ADDRESS>
<ADDRESS_TYPE>MA</ADDRESS_TYPE>
</IRP_ADDRESS>
</IRP_NAME>
</IRP_ACCOUNT>
</T0020>
I have tried below XSLT but it is not giving desire result
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/ROWSET">
<xsl:element name="T0020">
<xsl:apply-templates select="irp_account"/>
</xsl:element>
</xsl:template>
<xsl:template match="irp_account">
<xsl:element name="IRP_ACCOUNT">
<xsl:apply-templates select="IRP_CARRIER_ID_NUMBER"/>
<xsl:apply-templates select="IRP_ACCOUNT_NUMBER"/>
<xsl:apply-templates select="IRP_ACCOUNT_TYPE"/>
<xsl:apply-templates select="NAME_TYPE"/>
<xsl:apply-templates select="ADDRESS_TYPE"/>
</xsl:element>
</xsl:template>
<xsl:template match="IRP_CARRIER_ID_NUMBER">
<xsl:copy-of select="descendant-or-self::IRP_CARRIER_ID_NUMBER"/>
</xsl:template>
<xsl:template match="IRP_ACCOUNT_NUMBER">
<xsl:copy-of select="descendant-or-self::IRP_ACCOUNT_NUMBER"/>
</xsl:template>
<xsl:template match="IRP_ACCOUNT_TYPE">
<xsl:copy-of select="descendant-or-self::IRP_ACCOUNT_TYPE"/>
</xsl:template>
<xsl:template match="NAME_TYPE">
<xsl:element name="IRP_NAME">
<xsl:copy-of select="descendant-or-self::NAME_TYPE"/>
<xsl:copy-of select="following-sibling::NAME"/>
</xsl:element>
</xsl:template>
<xsl:template match="ADDRESS_TYPE">
<xsl:element name="IRP_ADDRESS">
<xsl:copy-of select="descendant-or-self::ADDRESS_TYPE"/>
<xsl:copy-of select="following-sibling::NAME"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Please help ... - Full Post

XML and relational database mapping

Hi
I'm very new to XML, and have the following question.
I have XML file like this:
<?xml version="1.0"?>
<Company>
<Department>
<Name>Enterprise Development</Name>
<Employee>
<Name>Jeff</Name>
</Employee>
<Employee>
<Name>Mike</Name>
</Employee>>
</Department>
<Department>
<Name>Foundation Services</Name>
<Employee>
<Name>Sam</Name>
</Employee>
</Department>
</Company>
There is a one to many relationship between 'Department' and 'Employee'. When I import this file into Access DB, it creates the two tables with the data in it, but it does not seem to know there is such a relationship between the two tables. The schema is inferred.
How do I fix this.?? Do I include the primary key of the Department in both the Department and the Employee, and then manually set up the relationship in Access, or is there a more 'correct' solution.??
Thanks
Anton - Full Post

Need help to compare two sets of nodes in xsl

Here's peace of my xml: Code:<GetUserMenu>
<MenuList>
<row MenuID="1" MenuTitle="Duomenų pateikimas"/>
</MenuList>
<FunctionList>
<row FunctionID="1" FunctionTitle="Duomenų importavimas iÅ¡ failo" MenuID="1" WorkflowName="ImportDataWithoutF
ile" Order="1"/>
<row FunctionID="2" FunctionTitle="Duomenų įvedimas" MenuID="1" WorkflowName="ImportDataFrom
File" Order="2"/>
</FunctionList>
</GetUserMenu>

and peace of xsl: Code:<xsl:template match="//Authentication/GetUserMenu">
<div>
<xsl:for-each select="//MenuList/row">
<div><xsl:value-of select="@MenuID"/></div>
tu
<xsl:for-each select="//FunctionList/row[">
<div><xsl:value-of select="@MenuID"/></div>
</xsl:for-each>
tu
</xsl:for-each>
</div>
</xsl:template>
I would like to make my xsl do this: 1)In outer for-each cycle xsl reads value of MenuId attribute of of . 2) then in inner cycle for-each my xsl compares that value to every value of MenuAttribute of 's of 3) then my xsl reads the value of MenuId attribute of following of and repeats second step
In normal programming language what i am trying to do would look like this: foreach (xitems as xitem) foreach (yitems as yitem) if xitem == yitem do smth
Could anyone give any advice or modify my code in order to solve my issue? I would be grateful - Full Post

Need help to compare two sets of nodes in xsl

Here's peace of my xml: Code:<GetUserMenu>
<MenuList>
<row MenuID="1" MenuTitle="Duomenų pateikimas"/>
</MenuList>
<FunctionList>
<row FunctionID="1" FunctionTitle="Duomenų importavimas iÅ¡ failo" MenuID="1" WorkflowName="ImportDataWithoutF
ile" Order="1"/>
<row FunctionID="2" FunctionTitle="Duomenų įvedimas" MenuID="1" WorkflowName="ImportDataFrom
File" Order="2"/>
</FunctionList>
</GetUserMenu>

and peace of xsl: Code:<xsl:template match="//Authentication/GetUserMenu">
<div>
<xsl:for-each select="//MenuList/row">
<div><xsl:value-of select="@MenuID"/></div>
tu
<xsl:for-each select="//FunctionList/row[">
<div><xsl:value-of select="@MenuID"/></div>
</xsl:for-each>
tu
</xsl:for-each>
</div>
</xsl:template>
I would like to make my xsl do this: 1)In outer for-each cycle xsl reads value of MenuId attribute of of . 2) then in inner cycle for-each my xsl compares that value to every value of MenuAttribute of 's of 3) then my xsl reads the value of MenuId attribute of following of and repeats second step
In normal programming language what i am trying to do would look like this: foreach (xitems as xitem) foreach (yitems as yitem) if xitem == yitem do smth
Could anyone give any advice or modify my code in order to solve my issue? I would be grateful - Full Post

XML Schema Validation issues


Hi 
I need some help regarding XML Schema Validation. 
I am struck with XSD validation issues when I try to reference other schema in base schema.
I am getting the error message "src-resolve: Cannot resolve the name 'cmn:MasterNode' to a(n) 'type definition' component."
Stripped Version of Schema Design is listed below
1. Base Schema file (v21.xsd) references element "MasterNode" of the schema v2_refer.xsd . On validation of schema , gets the error message as listed above
<xs:schemaattributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:cmn="file:///Users/tarun/schema/v2refer/v2_r
efer" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="file:///Users/tarun/schema">
<xs:importnamespace="file:///Users/tarun/schema/v2
refer/v2_refer"schemaLocation="/Users/tarun/schema
/v2refer/v2_refer.xsd"/>
<xs:elementname="TestMaster"type="cmn:MasterNode">&lt
;/xs:element>
<xs:elementname="ROOT">
<xs:complexType>
<xs:sequence>
<xs:elementname="NOD">
<xs:complexType>
<xs:sequence>
<xs:elementname="Nod"maxOccurs="10">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
2) Schema that is being referenced is defined below
<xs:schemaattributeFormDefault="unqualified"elemen
tFormDefault="qualified" 
targetNamespace="file:///Users/tarun/schema/v2refe
r/v2_refer"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:cmn="file:///Users/tarun/schema/v2refer/v2_r
efer"
>
  <xs:elementname="MasterNode">
    <xs:complexType>
      <xs:sequence>
        <xs:elementtype="xs:string"name="Tomcat"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
 
</xs:schema>
Any help will be highly appreciated.
Thanks,
Tarun - Full Post

What C++ game API suports graphics, audio, input...

I am getting into game programming more and more. I have been learning DirectX11 but it is hard and very low level. I am looking for a game librarie that has these spesifications:

Must be in C++ (the library doesn's have to be written in C++. As long as I can code my game in C++)
Must free (I dont want to get a lisence)
Must suport: 1) Sound
2) Graphics
3) Input
4) AI
5) Network
6) Physics
*Note: Basicly every thing one needs to make games
Must be rarther easy (I am good in C++ but not the best. So I dont mind a little complexity, but must be easy)
Must work on Windows
Must be a good one (Meaning it is still being updated, and if it is used for games today)
- Full Post

Exercises for the math of 3D software renderer / implementing soft rendere

Hi,

I wish to implement a 3D software renderer, so I started to read "Tricks of the 3D Game Programming Gurus Advanced 3D Graphics and Rasterization".

The first chapters are pretty straight forward, but my problem is that when he started with the math (Chp 4) I lost direction - he throws a lot of material (and I really bad with math), and there are no exercises which I can work on.

In exercises I mean writing some code, so I could see how each separate subject fits the whole image - for example, some exercises about polar coord's, other in vectors and so on... - Full Post

Rotating Textured(Image)modal without glRotate (OpenGL)

Hi guys. I'm trying to render an Image in screen & to rotate it about Z-axis. I'm not allowed to use standard glRotate() from the OpenGL because it is not available in our portable device library.
I want to know how glRotate() works & i want to reflect it in my c program.

I've googled about this topic but I'm not able to grasp the idea of it clearly.So could someone please guide me to rotate image through some other transformations?
I'd be pleased if you suggest any sample codes/Tutorial Links.

Thanks. - Full Post

query

The game plots a bank robbery. Lots of people witness that robbery. Our game will load the lists of suspected offenders while the players (witnesses) will have to identify the offenders of this robbery. Game should load list of offenders to identify the one as quickly as possible. Admin can add/remove offenders in the lists and two or more lists of offenders can also be merged into one (to show it to the player).

question:
As a game developer, which data structure you will use to develop the game? Justify your selection with solid arguments. Remember the most critical requirement is that the list should load super fast. - Full Post

Friday, July 5, 2013

eCube NXTware Remote and OpenVMS Programming

Creating a Fortran application on HP OpenVMS using the Eclipse integrated development environment (IDE) and the eCube Systems NXTware Remote package. - Full Post