<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Diary @ francis.blog-city.com</title><link>http://francis.blog-city.com/</link><description>(Diary) </description><copyright>Copyright 2008 francis.blog-city.com</copyright><generator></generator><lastBuildDate>Mon, 06 Oct 2008 20:39:00 GMT</lastBuildDate><image><title>Diary @ francis.blog-city.com</title><url>http://server1.blog-city.com/images/bc_v5_logo_small.gif</url><link>http://francis.blog-city.com/</link></image><ttl>360</ttl><docs>http://backend.userland.com/rss</docs><item><title>It&apos;s a real shame that Twitter is used to bash Rails</title><guid isPermaLink="true">http://francis.blog-city.com/its_a_real_shame_that_twitter_is_used_to_bash_rails.htm</guid><link>http://francis.blog-city.com/its_a_real_shame_that_twitter_is_used_to_bash_rails.htm</link><pubDate>Tue, 12 Aug 2008 20:13:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=its%5Fa%5Freal%5Fshame%5Fthat%5Ftwitter%5Fis%5Fused%5Fto%5Fbash%5Frails</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<div class="Body"><p><a href="http://www.theregister.co.uk/2008/08/11/hadoop_dziuba/" target="_blank">Comment here.</a>  </p><p>Even in the Rails community Twitter have put their foot in it several times and, IMHO, haven&#39;t got huge credibility. They moaned about not being able to share database connections and then a very able guru known as Dr Nic (he is a Ph D. - and a lovely barking mad person) showed them they didn&#39;t know what they were talking about in about 10 lines of code. Hell, even I knew what they were saying didn&#39;t sound right and I had only been using rails for a couple of months then, but I have been database programming for the best part of 20 years.</p> <p>I&#39;ve also used another of their messaging tools, called Beanstalk, and it sucks. We are going to throw it away. It comes with a Ruby gem to allow you to talk to it and rails plugin that adds stuff to the Active Record class - the plugin breaks active record beyond repair - useless. I wrote a 100 line add-in that allowed you to make asynchronous calls using Beanstalk. I looked at their plugin and the code was nasty.</p> <p>We&#39;re replacing Beanstalk with a very simple daemon that comes in a hundred lines of code or so, is traceable, and works. Very sceptical about Twitter stuff after this experience, and it&#39;s a shame they&#39;re held up as an example.</p> <p>We aren&#39;t a web 2.0 company. We just use Rails to get stuff done really quickly. If there was a faster development framework we&#39;d use it. But I never want to go back to Java, it slows you down and gets in the way.</p> <p><a href="/java_is_bad_for_your_brain_talk_at_barcamp_manchester.htm" target="_blank">http://francis.blog-city.com/java_is_bad_for_your_brain_talk_at_barcamp_manchester.htm</a></p><p><strong>Bootnote</strong></p><p>Luke pointed out that beanstalkd does its job very well in the right context. The problem we had was that it was very hard to see what it was doing and it was difficult to debug things and a simple daemon that picks the next record from a stack of database records and processes them one at a time was better for us. See his comment for the great things they&#39;ve done with it. Horses for courses. </p> </div>]]></description></item><item><title>Writing</title><guid isPermaLink="true">http://francis.blog-city.com/writing.htm</guid><link>http://francis.blog-city.com/writing.htm</link><pubDate>Sat, 02 Aug 2008 20:58:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=writing</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p>I finished my radio play off today and will be sending it to the BBC next week. Quite excited about it but not really holding out a huge amount of hope because there isn&#39;t a lot of point getting too worked up about stuff.</p><p>I&#39;ve been reading <a href="http://www.numberwatch.co.uk/number%20watch.htm" target="_blank">number watch</a>  a lot recently. It fits with my world view very well, I started out my proffessional career in the 1980&#39;s with a degree in Applied Statistics and computing. Whenever I hear one of the meedja panics, most recently about chlorine, I know in my heart it is rubbish but don&#39;t have the energy or the time to look into it. The guy who runs this site does and presents a very good case indeed. I really recommend you look at <a href="http://www.numberwatch.co.uk/Stuff.htm" target="_blank">this presentation</a>  and have a think about what he says.CORRELATION IS NOT CAUSATION. I think a lot of people need to understand this properly. I think I&#39;ll buy his books when I&#39;m feeling less skint.</p><p>I&#39;ve been working my way through <a href="http://www.pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model-and-metaprogramming" target="_blank">Dave Thomas&#39; video presentations on Ruby meta programming</a>, really interesting and putting all kinds of ideas in my head. I&#39;m probably going to buy most of the Pragmatic Programmer&#39;s videos. I was thinking of learning another programming language, as is advised in the <a href="http://www.pragprog.com/titles/tpp/the-pragmatic-programmer" target="_blank">Pragmatic Programmer</a>,  but think there&#39;s still a lot of Ruby to understand after seeing these. The first one is the best explanation of where object oriented programming comes from and how it works I&#39;ve ever seen. Also, as a Sun Certified Java whatsit it&#39;s even more obvious that Java is only half way there at best.</p><p>I&#39;m also going to resurrect&nbsp; an old project called pharmarketeer (already own the domain) and try and get it live using Rails. I&#39;ve recently opened a small account on <a href="http://github.com/">github</a>  to do my version control, probably going to start using it for my writing too. I used to use svnrepository and when I went there to cancel my account it was annoying to see that they do git too, but haven&#39;t bothered telling their customers. I probably wouldn&#39;t have gone to github if I&#39;d known, but they do allow 5 private repos against svn&#39;s one, but svn allow unlimited collaborators and were about half the price.</p><p>Deb is finally home after a month with whistlestop turnarounds before she went off to the next thing. Jon off to scout camp. I spent most of today working because I got behind working from home on Friday because of a long and boring saga about keys that don&#39;t work some times. I&#39;ve changed the lock for a new one. </p><p>Bed time, gotta get up and do my meditation practice. For some bizzare reason it seems to be harder to get it done at the weekend, even though you nominally have more time. Probably <em>because</em> you have more time, you waste it.</p><p>later. </p>]]></description></item><item><title>Men, women and society</title><guid isPermaLink="true">http://francis.blog-city.com/men_women_and_society.htm</guid><link>http://francis.blog-city.com/men_women_and_society.htm</link><pubDate>Sun, 27 Jul 2008 12:35:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=men%5Fwomen%5Fand%5Fsociety</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p style="margin-bottom: 0cm" class="western">Way back in the mists of time men were just men. They had the dominant role in society, at least in theory, and women couldn&#39;t compete with them in the workplace because they had other things to worry about. In some ways this was less of an issue than you&#39;d think for most of them. They weren&#39;t interested in competing particularly. There were two very different roles for men and women and each tended to follow their biology more.</p> <p style="margin-bottom: 0cm" class="western">Then we had the sexual revolution of the sixties, in particular reliable contraception. This blew away a lot of preconceptions about things on the back of a terrible war where women had started to do jobs that were nominally only for men. Women could have sex as much as they wanted without risking pregnancy. This meant that they could start to move away from their biology and start competing with men directly. It also blew away the myth that women are scared of sex, in fact they were scared of pregnancy, a much more difficult thing for them to deal with than some idiot leaving a trail of sperm everywhere.</p> <p style="margin-bottom: 0cm" class="western">This economic trend was the basis for the feminist movement. There were simply more women not being the housewife, and having jobs and careers of their own. More women were career minded, were limiting their families and so on. This meant that they wanted the closed doors and glass ceilings that men had put in their way removed. They were right, it was wrong and unfair. Of course, it wasn&#39;t a conspiracy by men, it was just the way things were, but that doesn&#39;t suit if you want to be <em>angry</em>.</p> <p style="margin-bottom: 0cm" class="western">There was also a vigorous and correct campaign to protect women from predatory men and exercising their right to dress and behave how they see fit. No-one argues with this, it was right and just. An unfortunate and dangerous sub current of this was that <em>all</em><span style="font-style: normal"> men were potential rapists and predators, and </span><em>all</em><span style="font-style: normal"><span style="text-decoration: none"> men should be watched carefully. A justified wariness and caution around men you don&#39;t know well, given that they are in general about half again as strong as a woman of the same size, was turned into an ideology. All men were rapists, and could not be trusted.</span></span></p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> Let us pause here and restate that: All men were rapists, and could not be trusted. This is exactly what was being said in radical feminist magazines. Women should unite, become lesbians, and only use men for brief purposes of procreation. Men are now the enemy. The anger ran very deep, it was becoming hard to be a heterosexual man in certain radical circles. To be fair a lot of the radical men were unreconstructed sexist pigs who needed to marry their professed politics and their behaviour together. But were they some kind of dangerous, sex-crazed enemy? No. They were just men. Men who love and respect women, when you kick their soap boxes away and challenge them to think more deeply. We laugh at the alleged Victorian notion that table legs should be covered up in case it inflames men&#39;s &#39;base&#39; desires and then act like it&#39;s actually true.</p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> It sounds completely crazy doesn&#39;t it, making an unavoidable biological division into a political platform, a basis for hatred? But it is the way radical feminists used to write and think. Interestingly, this was the hotbed that the student activists of the 80&#39;s and 90&#39;s lived inside. You have to ask yourself: who got involved in politics and eventually got themselves elected? Who took the political gauntlet away from the male cabals and trod the boards, knocking on doors and building political parties? Women, educated, articulate women. Good thing too! But, the dangerous thing was that they had been infected with at least some of this suspicion of men.  </p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> A lot of laws, particularly those around divorce and child custody, were rewritten to be fair to the woman. They acknowledged her role in creating a family and that she should have half of the assets. This is not a bad thing. It might appear to hurt some men but it is very fair, compared to the way it was years before. But now men are denied access to their families, they are demonised when they try and ensure that cash is distributed fairly. They are a dangerous annoyance that needs to be kept away from the purity of the family. They are no longer allowed to be part of it. This is a caricature, of course, an aunt sally that you can throw rocks at if you want to. But it follows on from them being the enemy, in fact they are becoming the enemy of society at large.</p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> It is utterly insane to say that, condemning half of society to being the enemy. But you look at the way a man can&#39;t take a photograph on the street, or pick his children up without being scowled at suspiciously, or be seen anywhere near a playground on his own. It&#39;s true, in some senses. When we had a friend and her child round recently I was shocked by feeling unable to give him a hug &ndash; where the hell did that come from?</p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> The other thing about this is &ndash; what happens to boys? You will be a man, but while you are growing up men are something to be scared of unless they are your dad (assuming you know who he is). Even male teachers are suspect. Then you grow up and what? Become a bad person? It almost gives them a licence to behave how the hell they like because that&#39;s what&#39;s expected.  Think about it, think about the lack of authority and respect for men in general, for others, for anyone but your small circle of acquaintances. Is it surprising a lot of young men (and women too) are such dangerous idiots? They have been infantilised, they have had their role models replaced by selfish useless people idolised by airhead meedja for as long as it suits the editors.  </p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> Where is the father or grandfather or whoever who commands respect and people listen to, who could intervene and knock sense into heads? Dead and gone. The same is true of the mother and grandmother too, the nanny state knows best, and is always fair in her dealings with people. Everyone has been infantilised &ndash; the big STOP sign stands across relationships between generations. Yes, it&#39;s stupid, it has created a generation of twenty-somethings with their teeth still in the teat who don&#39;t know how to behave towards each other. How do infants behave? Self-centred and quite often incapable of understanding others&#39; feelings &ndash; does this sound familiar? Seeing the other person&#39;s point of view, taking it into your heart when you deal with others, is part of growing up and yes, it hurts, but it hurts for a reason. No, let&#39;s just treat other human beings as onanistic aids on some hedonistic rush to death.</p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> Now the state intervenes between men and women as a matter of course, it has to rake its lowest common denominator paws across families and decide for the parents how best to bring up children. It is extremely risk averse, this means that it&#39;s easier to say no to everything in case you become one of the vanishingly small number of problem cases. This causes great pain for a lot of people, and their children, for the sake of not a lot. Another STOP sign has been created between men and women when relationships break down.  Of course, this was originally justified because the state was supporting the families of &quot;absent fathers&quot;, sadly the families quite often don&#39;t have anything more than they did, except the legal bill landing at the door of the parent the state can find.</p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> Then we have the rise of the CRB culture, another risk averse mentality. Men in general are not child molesters, they are as revolted and angered by it as anyone else. A vanishingly small number of them should be locked up and kept away from children. Instead of using common sense, assuming innocence until proven guilty, of making sure situations where accusations could arise (or misdemeanours actually occur) do not happen, we have a pile of rote behaviours and rules that protect no one and breed suspicion and distrust. The bad guys just go round them and protect themselves. A child goes missing and is spotted by a lone man who will not take it by the hand and try to return it &ndash; eventually it is kidnapped and murdered by someone else, someone evil. Is this good? Is this right? Never. But the guy who could have helped was afraid to, and twenty years ago he would have done so without thinking. That stinks.</p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western"> Yes, teachers and people who deal with children a lot should be checked. But the guy or gal who checks your application forms for your driving licence? Or the one who takes the money in the post office? Why? Risk aversion. The guy walking down the street on his way home from work? Every guy or gal who&#39;s got past the age of 10? Where the hell does it stop? Tattoos or marks on the forehead saying you&#39;ve been checked &ndash; or the other way, like the branding of vagabonds in the seventeenth century?  </p> <p style="margin-bottom: 0cm" class="western"><span style="font-style: normal"><span style="text-decoration: none">Where does this lead? Licenced mothers and fathers, everyone has a CRB check, a biometric ID card and is recorded somewhere on a huge DNA database &ndash; the state pushing the barriers between people so far that every relationship is a subject of the barrier, the STOP sign, and a bunch of paper pushers control your life completely on the basis of some rules that are very </span></span><em><span style="text-decoration: none">fair, </span></em><span style="font-style: normal"><span style="text-decoration: none">but not even slightly compassionate. The state doesn&#39;t have compassion, it is scared of risk, it interferes where it shouldn&#39;t for the best of reasons. There are places where the state should not intervene and this is one of them.</span></span></p> <p style="margin-bottom: 0cm" class="western" align="left"><span style="font-style: normal"><span style="text-decoration: none">Yes kids, bad things happen, and no amount of laws and hand-wringing can stop it. Yes, often they hurt and are very hard to bear &ndash; it&#39;s called the human condition, sorry. You can minimise the danger by learning how to be an adult and where the limits are, but the pain that comes from falling out of your mother&#39;s womb can&#39;t be ducked, hard luck, there is no get out of jail free card in real life. A lot of the time there isn&#39;t anyone to <span style="font-style: italic">blame</span>, either, so don&#39;t bother looking. The bad guys should be punished when they are caught. Only a fool would argue with that, but politicians have to be seen to be doing something when the meedja gets all hysterical and quite often they should just say </span></span><em><span style="text-decoration: none">shit happens, sorry, if you can find some way to stop it happening I&#39;d love to hear it.</span></em><span style="font-style: normal"><span style="text-decoration: none"> But that would mean admitting to not being perfect or being able to do something about things that are actually unavoidable and we can&#39;t have that, can we?</span></span></p> <p style="margin-bottom: 0cm" class="western"><span style="font-style: normal"><span style="text-decoration: none">If you don&#39;t start from compassion, from a belief that everyone is entitled to happiness and the causes of happiness, if instead you start from knowing what&#39;s &#39;best&#39; for people and you attempt to force this on them even when they don&#39;t want it then the world is a cold, cold place. A place of rules and regulations that mediate </span></span><em><span style="text-decoration: none">everything, </span></em><span style="font-style: normal"><span style="text-decoration: none">where the default word is NO when you try and step outside or past them because that&#39;s the easiest course and it means no one has to think or admit to feeling. A place where burning the wrong person at the stake is OK because they will go to heaven anyway. A place where hedonism is the best path to follow because there is nothing beyond your own trivial pleasures, where no one else matters, where we are nothing but the sum of divisions and ignorance &ndash; but you </span></span><em><span style="text-decoration: none">dare</span></em><span style="font-style: normal"><span style="text-decoration: none"> to question the rules or step over them slightly, even out of ignorance, and you will end up in prison or on some register where you can&#39;t get a job. Seriously, think about it a little, and get the teat out of your mouth.</span></span></p> <p style="margin-bottom: 0cm; font-style: normal; text-decoration: none" class="western" align="left"> I&#39;m ready to be burned at that stake if I have to be to stand up for my beliefs. But let&#39;s just stop now, and not go there. Please? Men are just men. Women are just women. People are just people. 99% of us are decent, caring and honest, and that&#39;s the truth.</p>]]></description></item><item><title>Setting up to fail</title><guid isPermaLink="true">http://francis.blog-city.com/setting_up_to_fail.htm</guid><link>http://francis.blog-city.com/setting_up_to_fail.htm</link><pubDate>Tue, 17 Jun 2008 19:40:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=setting%5Fup%5Fto%5Ffail</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p>One of the consequences of meditating a lot over several years is you start to see how your own mind works. Obviously, this gives you insight into other people&#39;s too.</p><p>If you are feeling down and oppressed by the world, well, how about getting the world to confirm that it hates you? Or that things always go wrong in a drearily predictable way when you interact with certain people? </p><p>The game is simple:</p><ol><li>Take some task you do collaboratively with others often. Packing to go camping, or some project deliverable. It doesn&#39;t have to be work related at all: a lot of people do this in the comfort of their own homes.</li><li>Decide on your none-affirming goal, e.g. <em>I always do all the work for X,&nbsp;</em> or, <em>people won&#39;t take responsibility and be self-sufficient.</em></li><li>Change the unwritten rules of the social interaction very slightly so that you can catch them out, e.g. don&#39;t ask for any help (or ask when it can&#39;t be given because of some other constraint), or, don&#39;t pack the stuff (say towels) that you always pack for everyone.</li><li>Crucial part of the game here. <em>Don&#39;t tell anyone about 3.</em></li><li>Let the unsuspecting individual(s) make the &quot;mistake&quot;.</li><li>Shout a lot.</li></ol><p>Stop it, just stop it. Make sure everyone knows what is expected and check they still understand what it is as the process is running. No-one fails and no-one shouts, life is much easier. People are a little stupid sometimes, and they have short attention spans for stuff that bores them, and what&#39;s important to you may not be to them. Hard luck. I have been in several (failed) relationships where this game was played a lot. I think a lot of the so-called war between men and women is about this, it&#39;s silly manipulative stuff and should be avoided. It&#39;s an easy trap to fall into though, usually when you are down and want to prove something about the world. Keep it at arms length and smile when you catch yourself doing it. And stop it. </p><p>I&#39;ve also noticed that when people complain a lot I want to say things like &quot;well, at least you managed to find something to complain about, be grateful you are doing something you enjoy.&quot; Constant complaining is another setting up to fail in a different guise, and it&#39;s bad for your mind. Stop it, just stop it. </p>]]></description></item><item><title>Rails: I can put together a simple database-backed app really quickly</title><guid isPermaLink="true">http://francis.blog-city.com/rails_i_can_put_together_a_simple_databasebacked_app_reall.htm</guid><link>http://francis.blog-city.com/rails_i_can_put_together_a_simple_databasebacked_app_reall.htm</link><pubDate>Fri, 25 Apr 2008 11:47:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=rails%5Fi%5Fcan%5Fput%5Ftogether%5Fa%5Fsimple%5Fdatabasebacked%5Fapp%5Freall</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p><a href="http://www.regdeveloper.co.uk/2008/04/21/bray_ruby_rails/">Comment left here</a> </p><p>... and that&#39;s why I use RoR. 90% of the &quot;anti&quot; opinions here don&#39;t get it. It&#39;s quick, it has a low entry barrier, and, if you want the Ajax stuff, it&#39;s very easy to do simple things. If you want stuff that scales to the moon then you use a technology that will do that - d&#39;oh!<br /><br />Ruby has also got lots of nice utilities to do SOAP and so on. It just works and it doesn&#39;t hurt. Integration with other services (.Net or Java) is a breeze and you can get help really easily from other people in the community. In general there is only one way to do something (because the language is young) and it does what you want. Compare with Java - 25 frameworks with alpine learning curves (XML or properties files - let&#39;s have both!) before you can do anything. It *used* to be simple and pretty easy to get things done but the signal to noise ratio is really painful now and getting worse with every &quot;improved&quot; J2EE implementation from the big vendors. Me no want no stinkin&#39; entity beans - they leave a stain on your teeth.<br /><br />I am a Java certified web developer and wouldn&#39;t go back, except for the cash. It used to drive me crazy: make a change, run Ant, deploy the WAR file, waste 20 minutes doing nothing. Get shouted at by PHB for reading El Reg while all this was going on. This is typical if you work on a legacy system.<br /><br />Now I can just get stuff done, and that&#39;s all I want. I&#39;m really keen on the whole JRuby thing, where the Rails app will just run from a WAR file and use all the sexy scalability stuff that the Java people have spent so much time and energy on - but I&#39;ll happily use it at one remove, thanks.</p>]]></description></item><item><title>Email sent in response to the vision thing geekup email</title><guid isPermaLink="true">http://francis.blog-city.com/email_sent_in_response_to_the_vision_thing_geekup_email.htm</guid><link>http://francis.blog-city.com/email_sent_in_response_to_the_vision_thing_geekup_email.htm</link><pubDate>Mon, 31 Mar 2008 09:08:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=email%5Fsent%5Fin%5Fresponse%5Fto%5Fthe%5Fvision%5Fthing%5Fgeekup%5Femail</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p><a href="http://visionthing.vagueware.com/index.php/Main_Page" target="_blank">Start&nbsp;here&nbsp;to&nbsp;see&nbsp;what&nbsp;this&nbsp;is&nbsp;in&nbsp;response&nbsp;to</a>.&nbsp;</p><p>... how many of you go back to the pre-web days? I do - graduated in 1987, I&#39;ve had to practically start again 3 or 4 times in the last 20 years - Unix before Linux, X-windows, dumb terminal to client-server, pre-javascript web tech, javascript, hand crafting your own stuff in raw html, Java, PHP, Java again, Rails. All I&#39;ve ever wanted to do was deliver systems that work and meet real-world problems in a usable way. Be able to go home at the end of the day feeling I&#39;ve achieved something and the people who use the stuff I wrote can do their jobs more effectively and not be dehumanised by it, hence my dislike for techie arrogance, which I see all the time.<br /><br />2.0 is a Tim O&#39;Reilly marketing thing, because he saw a lot of problems with the current technology and wanted to have some kind of dividing line to help people distinguish between things. But like the man at ucov says: no business model, no idea what people want, groovy idea that recycles some stuff other people have already failed at = failure. I&#39;m with Paul Graham on this one - work on something boring and painful (for the punters) and you will see the rewards. Shiny isn&#39;t necessarily good[1]. You seem to have bought the marketing hype. <br /><br />I applaud people&#39;s enthusiasm - I want technology to work and help us get out of the social and cultural ruts we&#39;re beginning to die from (a rut is a grave that hasn&#39;t had the ends filled in yet). Debate is healthy and really useful. The best &quot;manifesto&quot; is something people find useful and the culture that coheres around it. I&#39;d rather work on that than an essay, any day.<br /><br />F<br /><br />[1] for some reason line from &quot;venus in furs&quot; started going through my head when I wrote that, must get new prescription for meds.<br /></p>]]></description></item><item><title>Phorm are those 121 timewasters? Great! Now I know who to send the bill to!</title><guid isPermaLink="true">http://francis.blog-city.com/phorm_are_those_121_timewasters_great_now_i_know_who_to_se.htm</guid><link>http://francis.blog-city.com/phorm_are_those_121_timewasters_great_now_i_know_who_to_se.htm</link><pubDate>Mon, 17 Mar 2008 12:39:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=phorm%5Fare%5Fthose%5F121%5Ftimewasters%5Fgreat%5Fnow%5Fi%5Fknow%5Fwho%5Fto%5Fse</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p><a href="http://www.theregister.co.uk/2008/03/17/bt_phorm_lies/" target="_blank">Comment left here</a> &nbsp;</p><p>Didn&#39;t realise that phorm were the timewasting bastards who were behind 121 - spent many a happy hour trying to get rid of their viral nonsense from a machine my then 10 year old son was using (no idea how they got past him not being an administrator). <br /><br />Can I send them a bill? I think they also managed to hijack firefox a while ago by putting in a bogus (and invisible) add on so I had to trash everybody&#39;s settings directory to get rid of it.<br /><br />DEFINITELY send them a bill, and then a summons through the county court for my time. Anyone else want to join in?</p>]]></description></item><item><title>DHH the windows hater - or maybe needs to think a bit before he spouts off?</title><guid isPermaLink="true">http://francis.blog-city.com/dhh_the_windows_hater__or_maybe_needs_to_think_a_bit_before.htm</guid><link>http://francis.blog-city.com/dhh_the_windows_hater__or_maybe_needs_to_think_a_bit_before.htm</link><pubDate>Fri, 07 Mar 2008 09:25:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=dhh%5Fthe%5Fwindows%5Fhater%5F%5For%5Fmaybe%5Fneeds%5Fto%5Fthink%5Fa%5Fbit%5Fbefore</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p><a href="http://www.codinghorror.com/blog/archives/001065.html" target="_blank">Comment left here</a> &nbsp;</p><p>I am a Rails developer who uses a proper IDE (Netbeans for Ruby) and Windows. Installed Cygwin to give me the bash shell and the other tools I need to talk to our Linux server backbones. I started on Unix/Sun workstations, went to client/server stuff then on to web. DHH is a kid, bless him, and hasn&#39;t yet lived through the next big change that will make him realise he has to start again. I&#39;ve done it maybe 5 times in the last 20 years. Experience of one&#39;s own ignorance makes one humble. He&#39;s on a high now. Losing your job is a great and unwelcome teacher, believe me.</p>  <p>I don&#39;t get the Mac thing, either. If you don&#39;t want windows Ubuntu is fine, has the sexy desktop thing and runs on more powerful kit that costs a quarter of the price.</p>  Don&#39;t get me started about TextMate - it&#39;s a word processor with a bunch of arcane key combinations to run a pile of bundled bash shell scripts. I could probably do something similar with Vim or Emacs but don&#39;t need to because the nice guys from Sun have written very good free tool. Can&#39;t split a view of the same file - just like a word processor all you can see is the few lines around where you are working. <a href="/debugging_rails_applications.htm">http://francis.blog-city.com/debugging_rails_applications.htm</a>]]></description></item><item><title>Java is bad for your brain talk at Barcamp Manchester</title><guid isPermaLink="true">http://francis.blog-city.com/java_is_bad_for_your_brain_talk_at_barcamp_manchester.htm</guid><link>http://francis.blog-city.com/java_is_bad_for_your_brain_talk_at_barcamp_manchester.htm</link><pubDate>Mon, 03 Mar 2008 21:25:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=java%5Fis%5Fbad%5Ffor%5Fyour%5Fbrain%5Ftalk%5Fat%5Fbarcamp%5Fmanchester</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p>Following on from the talk I gave on <em>why Java is bad for your brain</em> at Barcamp I thought I&#39;d dig out some of my old blog posts and present them here - try and explain the argument&nbsp;(which&nbsp;is&nbsp;more&nbsp;of&nbsp;a&nbsp;feeling&nbsp;of&nbsp;disquiet&nbsp;than&nbsp;anything&nbsp;else) better.</p><p><a href="http://files.blog-city.com/files/aa/1899/b/java_bad_for_brain.mm" target="_blank">download mind map here (save as)</a></p><p> I tried to embed the map in an applet - but the downloaded applet doesn&#39;t work and locks the site up. There is a Flash reader but I lost the will to live Java, eh?</p><p><a href="http://freemind.sourceforge.net/" target="_blank">You&nbsp;can&nbsp;get&nbsp;freemind&nbsp;here.</a>&nbsp;</p><p>Defensive programming</p><p><a href="/what_defensive_programming_is_and_isnt_logging_the_right_t.htm" target="_blank">http://francis.blog-city.com/what_defensive_programming_is_and_isnt_logging_the_right_t.htm</a><br /><br />This one&#39;s about &#39;C&#39;:<br /><br /><a href="/at_the_feet_of_the_master.htm" target="_blank">http://francis.blog-city.com/at_the_feet_of_the_master.htm</a></p><p>Java&nbsp;is&nbsp;the&nbsp;new&nbsp;&#39;C&#39;&nbsp;parts&nbsp;1&nbsp;&amp;&nbsp;2&nbsp;</p><p><a href="/at_the_feet_of_the_master_1.htm" target="_blank">http://francis.blog-city.com/at_the_feet_of_the_master_1.htm</a></p><p><a href="/at_the_feet_of_the_master_1htm.htm" target="_blank">http://francis.blog-city.com/at_the_feet_of_the_master_1htm.htm</a>&nbsp;</p><p>J2EE&nbsp;is&nbsp;incoherent</p><p><a href="/cohesive_libraries.htm" target="_blank">http://francis.blog-city.com/cohesive_libraries.htm</a>&nbsp;</p><p>Java&nbsp;schools</p><p><a href="/java_schools.htm" target="_blank">http://francis.blog-city.com/java_schools.htm</a>&nbsp;</p><p>Java&nbsp;as&nbsp;a&nbsp;text&nbsp;processing&nbsp;language&nbsp;-&nbsp;note&nbsp;the&nbsp;comment&nbsp;about&nbsp;merely&nbsp;trying&nbsp;to&nbsp;open&nbsp;a&nbsp;file</p><p><a href="/java_as_a_text_processing_language.htm" target="_blank">http://francis.blog-city.com/java_as_a_text_processing_language.htm</a>&nbsp;</p><p>Java&nbsp;and&nbsp;XML</p><p><a href="/java_finding_nodes_with_xpath_and_how_to_dump_out_xml_dom_as.htm" target="_blank">http://francis.blog-city.com/java_finding_nodes_with_xpath_and_how_to_dump_out_xml_dom_as.htm</a>&nbsp;</p>]]></description><category>northpack</category></item><item><title>Strange error with ActiveRecord in Rails</title><guid isPermaLink="true">http://francis.blog-city.com/strange_error_with_activerecord_in_rails.htm</guid><link>http://francis.blog-city.com/strange_error_with_activerecord_in_rails.htm</link><pubDate>Thu, 31 Jan 2008 17:24:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=strange%5Ferror%5Fwith%5Factiverecord%5Fin%5Frails</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p>&nbsp;</p><p>I was getting this: <br /><br />undefined method `to_f&#39; for {}:HashWithIndifferentAccess<br /><br />This was happening in the after_create method. We have a table that lists fields and what validation is needed, we use this to pick out the value in the record so we can apply the validation function to the value if one has been given.<br /><br />field_value = self.send(field_name) # Error was thrown here<br /><br />I fixed this by calling self.reload at the beginning of the method that does the field scanning. I think that ActiveRecord doesn&#39;t refresh its attributes hash after save and the error came from it expecting the value to be of a particular type... I don&#39;t like calling reload, but can&#39;t find a method that will refresh the attributes hash.</p><p><strong>Bootnote</strong></p><p>Discovered&nbsp;that&nbsp;this&nbsp;was&nbsp;the&nbsp;result&nbsp;of&nbsp;sending&nbsp;nils&nbsp;in the hash passed into&nbsp;the&nbsp;create&nbsp;method, as it came over the wire as XML and was then incorporated into the <strong>params</strong>&nbsp;array, unlike the conventional post method, which puts empty strings in there. I wrote a one-liner to remove the hash elements with nil in them and everything started working. There was also another nasty bug which was putting the HashWithIndifferentAccess thang into any empty strings.</p><p>params.delete_if{&nbsp;|k,v|&nbsp;&nbsp;v.blank? }</p>]]></description></item><item><title>Presentations</title><guid isPermaLink="true">http://francis.blog-city.com/presentations.htm</guid><link>http://francis.blog-city.com/presentations.htm</link><pubDate>Mon, 21 Jan 2008 17:25:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=presentations</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p><a href="http://www.codinghorror.com/blog/archives/001040.html" target="_blank">Comment left</a> &nbsp;</p><p>Eschew bullet points - they are there to prompt the speaker<br /> Use diagrams and pictures - people think in pictures<br /> Give handouts - That&#39;s where screeds of text belongs.  </p><p>I read a paper that says one of the shuttle disasters was indirectly caused by powerpoint bullet points. A key engineering point about checking for damage was hidden in a 6 point font on a slide about 15 slides in. The engineering company was ruled by salesmen and the only way they could communicate was using it. Instead of producing a proper technical report that everyone could read and discuss at a proper meeting NASA were handed a BS powerpoint full of tiny fonts and missed this - it cost a lot of lives and money. I *hate* bullet points.</p>  <p>Also, the font size should be half the age of your target audience - another reason to use pictures.</p> <span class="comments-post" style="margin-left: 20px"></span>]]></description></item><item><title>Birthday Message</title><guid isPermaLink="true">http://francis.blog-city.com/birthday_message.htm</guid><link>http://francis.blog-city.com/birthday_message.htm</link><pubDate>Sat, 08 Oct 2005 18:51:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=birthday%5Fmessage</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[Let me be the eye of the storm<br />the quiet place where all is at rest<br />and movement ceases<br /><br />Let me pour gold on the needy<br />love on the friendless<br />help on the helpless<br /><br />The hand is empty<br />that will give you all you need<br />look at it now<br /><br />Say:<br /><span style="font-style: italic;">I am the one who can change things</span><br style="font-style: italic;" /><span style="font-style: italic;">the one who makes things real</span><br style="font-style: italic;" /><span style="font-style: italic;">I am the one who will give you back your heart</span><br style="font-style: italic;" /><br />Only you can set you free<br />But I will be there<br />]]></description></item><item><title>Wireless Linux - not so easy, more PHP</title><guid isPermaLink="true">http://francis.blog-city.com/wireless_linux__not_so_easy_more_php.htm</guid><link>http://francis.blog-city.com/wireless_linux__not_so_easy_more_php.htm</link><pubDate>Sat, 06 Aug 2005 00:11:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=wireless%5Flinux%5F%5Fnot%5Fso%5Feasy%5Fmore%5Fphp</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[I installed Mandriva Linux on an extra drive I put into my big server machine. Could not get the US Robotics wireless card to fly at all. Found some stuff on source forge but it didn't work for me (needed kernel source to build it - way too hard).<br /><br />Went through the list of supported devices and bought an 11a one from ebay. Failed the idiot test, it was a mini PCI card for a laptop. Went through the list of supported devices on the Mandriva website. All bar the USB ones were laptop gear.<br /><br />Looked at getting a Siemens thingy <span style="font-weight: bold;">but </span>the only people on ebay that had 'em were in Germany and they don't seem to use paypal. I like paypal because I can get my credit card company to refund me if there are any problems. Bank transfers to a German bank? No thanks.<br /><br />Got bored with this card stuff and bought a D-Link 11g access point with switch. Nice piece of kit with a web-based interface to control it.<br /><br />Several hours later I found the right combination of things for the USR Access Point (which has been demoted to a client) and everything works. I am typing this blog on Mozzila on the linux environment. Allegedly I can make this 11g with a firmware upgrade according to their website.<br /><br />All I need to do now is get the games installed and Jonathan will be happy and so will I.<br /><br />Then sell off the USR stuff (which works very well indeed on XP).<br /><br />This will then put me in a position where I can get Oracle Portal working on a supported platform (as in the LDAP and everything else). I can then offer my services to people who want portlets writing, Java or PL/SQL, I don't care.<br /><br /><span style="font-weight: bold;">PHP</span><br /><br />I'm on holiday for a couple of weeks and we have decided not to go away as part of an economy drive. Been working on my PHP project and it's coming on pretty well. It amazes me how much faster this is than Oracle or any of the million Java frameworks. I think it's a function of Java being general-purpose, whereas PHP is designed for building web-based stuff from the beginning.<br /><br />I'm using the object model a lot, mainly to promote reuse. However you can then put a page together that just uses the objects without having to create a class, then go through a steaming pile of XML config files to make sure it all works, then deploy it. I can develop from the command line and only use the browser when I need to check look and feel. I recon it's 10 times faster and the learning curve is very shallow, at least if you know Java reasonably well.<br /><br />I will need to create some kind of error message management system so that translation is easy. But I mean, that's very trivial and then write some python to do a bulk edit (or just a VIM macro).<br />]]></description></item><item><title>Holiday in Amsterdam</title><guid isPermaLink="true">http://francis.blog-city.com/holiday_in_amsterdam.htm</guid><link>http://francis.blog-city.com/holiday_in_amsterdam.htm</link><pubDate>Sun, 12 Jun 2005 12:03:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=holiday%5Fin%5Famsterdam</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<span style="font-weight: bold;">Saturday 30 July 2005</span><br /><br />We went over to Holland via Hull to Rotterdam. I had the mistaken impression that it was going to take 5 or so hours to get to Hull and was completely wrong; 3 with a break. The checking in and so on was fairly painless, but we did get some funny looks because we had a 14 foot open boat on the top of the car.<br /><br />We were on the <span style="font-style: italic;">Pride of Rotterdam. </span>We elected to stay in the continental bar and have a snack, rather than fight our way down to the restaurant. Jon went and played with the other kids in the ball pool and Deb decided to sit and read a book. We thought there were only 2 beds in the cabin but then discovered that another pair come down from the ceiling.<br /><br />We met up with the others from the Canoe Camping Club and had a couple of beers, exchanging war stories and talking about what we would do when we got there.<br /><br />Got to bed around midnight.<br /><br /><span style="font-weight: bold;">Sunday 31st July</span><br /><br />Were woken up at a ridiculously early hour (lost an hour going to the continent). We grabbed a bite in the bar and then disembarked. After some confusion we all met up at the small car park on the way out of the ferry terminal. The tunnel under the river was closed and, after some mix ups, we ended up going through Rotterdam, which was spooky because everyone was still in bed (it looked like anyway).<br /><br />Got to Amsterdam about lunch time and set up our new tent. This was amazingly easy and the tent worked really well. We were staying at a place owned by the local canoe club called Slaughterplass, which was about 20 minutes from the centre of Amsterdam by tram. Had a paddle around the lake (we were on an island) and then, in the evening, went into Amsterdam and had some food and a wander around. I don't know why but I really like the place. Very peaceful for a capital city.<br /><br />The local club were really good to us, even setting up a sink where we could wash our plates etc. Really nice people.<br /><br /><span style="font-weight: bold;">Monday</span> <span style="font-weight: bold;">1st June</span><br /><br />Rained a lot so we decided to check out the climbing walls we had looked up on the internet before we left. We were going to go with one of the other families but we managed to lose each other in heavy traffic and, of course, hadn't swapped mobile numbers or given them the address (stupid stupid). Had an interesting near-miss turning left when I just didn't look properly for oncoming traffic - not funny. The climbing wall was officially closed but they let us in and we had a mess about in the dry for a couple of hours. It was a purpose built building on an industrial estate, looked like a big A frame that was maybe 20 metres high and 30 by 20 square. I never managed to get to the top. Too scary.<br /><br />I'm beginning to master things like bouldering. You have to prepare and swing your weight to get up things. In addition you sometimes have to switch which side of your body is closest to the wall, which I still haven't quite understood.<br /><br />The evening was much better and if memory serves Rosie and Deb went round the lake again. Plus some of the guys from the club came and we did some canoe polo, which consisted of splashing the other guys as much as possible with the ball. Jon joined in and enjoyed himself hugely. He agreed to come paddling the next day.<br /><br /><span style="font-weight: bold;">Tuesday 2nd June<br /><br /></span>Lazy morning. About 10 we left and ...<br /><br />Decided to publish this because I never had time to finish it so in it goes.<span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><br /></span></span>]]></description></item><item><title>MySQL, Python, etc.</title><guid isPermaLink="true">http://francis.blog-city.com/mysql_python_etc.htm</guid><link>http://francis.blog-city.com/mysql_python_etc.htm</link><pubDate>Sat, 14 May 2005 22:59:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=mysql%5Fpython%5Fetc</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<span style="font-weight: bold;">MySQL</span><br /><br />Decided to move my project to MySQL because it seems to be more of a standard compared with Postgres. This is a pity because I like Postgres a lot, but you have to go with the flow and if I'm going to work on some non-Oracle skills I should at least go with the market leader.<br /><br />So, got it installed on XP (which was a breeze). Read the manual through a couple of times (you can download a compressed HTM help file). Persuaded PHP to talk to it, which mainly consisted of placing the MySQL bin directory in the path and rebooting. <br /><br />Worked out that I needed the INNODB table types so that foreign keys would work (you can default this using the excellent configuration utlility). Also discovered that (assume table jim exists for the sake of this discussion):<br /><br />create table fred<br />( x varchar(2) references jim(x) ) ;<br /><br />Does not work:- it accepts the syntax but does not create the foreign key. I had to hack my SQL generator to get rid of the Oracle shorthand and to not use domains (as I was using with Postgres) but translate them into raw types. Now it's:<br /><br />create table fred<br />( x varchar(2)  ) ;<br />alter table fred add constraint fred_jim_fk (x) references jim(x) ;<br /><br />Which should work in Oracle and Postgres anyway. I've decided to eschew using domains (although my software lets you define them) so that it can be portable around many SQL engines. Need to also drop the Oracle-ism varchar<span style="font-weight: bold;">2</span>, as it is now a synonym for varchar anyway. I believe that when Oracle first created the type it wasn't done right so they had another go; hence the 2 on the end for compatibility reasons and then it stuck. I wonder how many petabytes of storage are taken up with all of those 2's? Someone pointed out to me that a single-character field should be char(1), because you're storing extra space for the length, which is pointless when you only have one character ...<br /><br />All in all fairly painless.<br /><br />If you're an Oracle supporter, read <a href="http://www.mysql.com/news-and-events/success-stories/us_census.html">this:</a> <br />
<br />
I found it interesting that the Census Bureau had an Oracle site licence and chose not to use it. One of my buddies uses MySQL a lot and is looking at using the text extensions to replace Oracle's context (or whatever they are calling it now) becuase Oracle want loads of cash and context is a pain in the proverbial. MySQL is also a bit quicker for complex queries and doesn't have so many common(ish) words that are used as keywords that you have to pre-process into a form that isn't interpreted as one, how lovely and user-friendly- those context guys really put some thought into it, didn't they? Apparently every term added to an Oracle query increases the time taken for the query, where MySQL has what seems to be a fairly fixed cost. Don't quote me on this I haven't validated this for myself (but it doesn't surprise me). Don't say the words &quot;memory leak&quot; or &quot;restart your database every morning&quot; either. (I think this is 8i - maybe fixed?)<br /><br />I'm quite curious about how their spatial database stacks up against Oracle's but don't have the time to look into it. The beauty of it is, of course, that you could add things in if you wanted to, with it being open source.  Hmm ... who the has the time, though?<br /><br />Every database vendor other than Oracle allow you to define auto increment columns and then programatically get back the last autoincrement created in that session. Oracle sequence thing is a poor cludge. I suspect you could simulate the autoincrement with a packaged procedure (caching the last sequence number and messing with the insert statements or some horrible trigger), but why don't Oracle do this?<br /><br />MySQL doesn't let you create views with subqueries in them. Not sure why, I'd have thought it fairly easy to implement. Views are just strings you run together with whatever you're joining them to; or am I being naive?<br /><br />MySQL 5 (which isn't stable yet according to the website) has procedures and triggers. Postgres already has them. I just wish there was a standard for these languages so I don't have to learn them all. I think MySQL's look Postgresy but don't want to do in-database stuff at the moment because it isn't portable so don't care about this. But I do like triggers for policing complex relationships and auditing.<br /><br /><span style="font-weight: bold;">Python</span><br /><br />Sort of keeping a watching brief here. Was going to look at using Ruby as my scripting language of choice but it's not mainstream enough to want on a CV. I like Python's clean syntax. I like Ruby's power and the syntax is OK. They have a lot in common as well (PHP has too). I suspect that when the Open Source guys see a good idea in another language they nick it, starting with variants of a lot of the good things in PERL. On first inspection I think Python's object model is poor, but maybe what I'm seeing is flexibility. PHP 5 has a very strong one, as does Ruby (everything is an object in Ruby). It does have lambda functions (see <a href="http://diveintopython.org/power_of_introspection/lambda_functions.html">http://diveintopython.org/power_of_introspection/lambda_functions.htm</a>l). Lambda functions are very useful and give you a lot less clutter and overhead, if you use them carefully. Sharp tools, sharp tools. Love 'em.<br /><br /><span style="font-weight: bold;">Professional Development</span><br /><br />Have decided to spend 3 months on my PHP project and then go back to the Java Certification route. Java may be a boring thing to work with but at least it gives me options. Options are where it's at. I think that Python or PHP or Ruby are probably a lot faster than Java in terms of bangs per developer buck and getting the job done with less fuss (I haven't the space here to critique Java) but Java's what the IT manager types want because it's safe. Probably not as safe as .Net, but pretty safe.<br /><br /><span style="font-weight: bold;">Sheds and bookcases</span><br /><br />Finally got my bike shed built in the back yard. Annoyingly it will only take 3 bikes and we have 4. Ho hum. I bought a new bookcase on Friday to replace one that fell to pieces one day. Guess what? I thought I'd got a wide but low one and in fact got a narrow low one that is about a quarter of the capacity I needed. Ah well back to IKEA and get another. Ho hum ...<br /><br />Onward ... blessings all. I need some sleep.<br />]]></description></item><item><title>Open Source</title><guid isPermaLink="true">http://francis.blog-city.com/open_source.htm</guid><link>http://francis.blog-city.com/open_source.htm</link><pubDate>Fri, 13 May 2005 22:59:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=open%5Fsource</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[Lots of competent people, who think carefully about the problem, making small contributions is how it works. Don't knock it. I'm a bit jealous of people who have made a contribution, which I know is weird of me. At times I feel like I'm trying to do a Michelangelo on the ubiquitous slab of marble, and not being allowed to find David, more like a badly-executed urinal without a drain hole.<br /><br />(ClamAV) I need to get some up to date AV on my home machines. Was going to look at the OS stuff partly 'cos I'm a tight wad and mostly 'cos I want to support the OS movement.<br /><br />I intend to make the Pharmarketeer stuff OS (collaborative evidence-based marketing - something like that). I'm trying to keep myself under control at the moment and do all of the work on pencil and paper until I've really thought through what's required. Then I could make it into a book and get some residual from the book and consultancy work, just a thought. The move to MySQL is going slowly because I can't connect to the database. Should have that cracked soon.<br /><br />Ah well, back to me slab...<br /><br />]]></description></item><item><title>Diary</title><guid isPermaLink="true">http://francis.blog-city.com/diary.htm</guid><link>http://francis.blog-city.com/diary.htm</link><pubDate>Sun, 24 Apr 2005 00:51:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=diary</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<span style="font-weight: bold;">What's the matter with people</span><br /><br />Today I remembered why I hate driving.<br /><br />Incident 1:<br /><br />Coming up to a set of lights just before a 30 zone. I'm in the outside lane, doing about 40. Car on inside wobbles part-way into the outside lane, sees me and wobbles back. I carry on. I'm about a foot from him (or her) and they start coming again. No indicators, nothing. Fortunately I'm able to use a right-turn lane to go round him. We then stop at the lights.<br /><br />Horn beeping at me. I look in the mirror and shake my head. Then the abuse and shouting starts.<br /><br />Let's get this straight: I managed to avoid an accident, I manage to stop this person spreading me and my son all over the road, and somehow it's my fault.<br /><br />I indicated right (as in <span style="font-style: italic;">look, this is what indicators look like) </span>and waved at the indicators. More beeping and abuse.<br /><br />The lights change and we move off.<br /><br />For some reason this is still winding me up at 1 o'clock in the morning and I bet the idiot concerned is sleeping soundly. There ain't no justice.<br /><br />Incidents 2, 3 and 4<br /><br />All at roundabouts, people pulling out at me. I'm not speeding, I'm obeying the rules about signalling properly. I just don't get it. If you're going to take a risk because the traffic's heavy you should get out of the oncoming person's way, not make them have to brake to miss you.<br /><br />Incident 5<br /><br />I'm coasting to a stop at the lights and someone swaps lanes when I'm maybe six inches from them. Fortunatly they're moving and can get away from me before I hit them. I just wave hello, completely speechless.<br /><br />All this for the two or three seconds you save at 2 o'clock on a Saturday. Not even in a busy part of town. Why risk your neck for this? I don't get it, not at all. All of these incidents happened in the same hour or so.<br /><br />Sad thing is, this happens to me all the time when I drive to work. No wonder I love going there so much. I wish people would chill and calm down a little, just think through how little life we all have left, before they start taking dumb risks in cars made of kitchen foil.<br /><br /><span style="font-weight: bold;">Family stuff</span><br /><br />Took Jon to the kid's club at Awesome Walls. He manged to get his first award. We're going there tomorrow (today, actually)  so we can all climb. I then went and got him a new controller for is PS/1, because the old one's broken. This was a reward for getting something called a <span style="font-style: italic;">silver book award</span> at school for having a good attitude.<br /><br /><span style="font-weight: bold;">Programming Projects &amp; books</span><br /><br />Just finishing reading <span style="font-style: italic;">Advanced PHP Programming</span> by George Schlossnagle (0-672-32561-6). Very good book, even if you're not interested in PHP he has a lot to say about cookies, caches, security, reverse proxies, using design patterns (as in getting some value from the academic view), as well as a host of other useful stuff. PHP differs from Java in that it doesn't use threads: the persistent thing is in fact the interpreter. This makes it hard to crash but perhaps slower because it's difficult to share things across sessions. Not an issue for my project but worth remembering.<br /><br />I also really like the __get() and __put() object methods, where you can add arbitrary fields to objects that you can access using standard syntax rather than a method call. I think this is going to be a very useful facility for my database abstraction layer.<br /><br /><span style="font-weight: bold;">Motivational books</span><br /><br />If you're struggling with motivating people or yourself I think you should read <span style="font-style: italic;">Whale Done</span> by Ken Blanchard (I think of <span style="font-style: italic;">One Minute Manager </span>fame). Essentially:<br /><ol><li>Catch people doing things right and sincerely thank them for it.</li><li>If they are doing things wrong, take the blame and then redirect their energy where you want it to go.</li><li>Praise improvement, however small.</li><li>Don't forget to catch <span style="font-style: italic;">yourself </span>doing things right.<br /></li></ol>It revolves around <span style="font-style: italic;">positive feedback.</span> The metaphor is based on how they train the killer whales at the Sea Life Center in Florida. You can't use coercion on an animal that is a top predator and weighs 1000 pounds. You have to become its friend and find out what it wants as a reward. People are even harder than this and yet we all persist in saying GOTcha.<br /><br />I think this is why I've been so fed up recently. I have no idea what the value is of anything I do, and I get no feedback; either positive or negative. How can I improve or fix things without a benchmark? Also being told that your work is good when you know you are demotivated and underperforming calls your integrity into question and adds to the stress. Brains are weird.<br /><br />Ah well, just finished some camomile tea.<br />]]></description></item><item><title>They always said I should be certified</title><guid isPermaLink="true">http://francis.blog-city.com/they_always_said_i_should_be_certified.htm</guid><link>http://francis.blog-city.com/they_always_said_i_should_be_certified.htm</link><pubDate>Thu, 17 Feb 2005 20:31:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=they%5Falways%5Fsaid%5Fi%5Fshould%5Fbe%5Fcertified</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[I got my Java 1.4 Certification at the end of January. Now I can move on and look at the more interesting certifications. I think the next one will be the Business Components one. I need to write off to Sun to get the logo.<br /><br />I thought maybe I could do some J2EE stuff through Oracle because we get a discount but all I could find was the usual Oracle tools stuff which I've been doing for nearly 20 years.<br /><br />Paddled the river Crake on Saturday. Not bad when it has some water in it. My forward paddling is rubbish. Because I shepherd groups down rivers I've got into the habit of sitting on a low brace and watching other people. If I want to improve I'm going to have to do a lot more <span style="font-style: italic;">me</span> paddling on grade 3+ water. To that end I went to the Tryweryn on Wednesday (we were going to do the Conwy but no water). Colin helped me a lot and I'm now doing much better. I need to keep it up if I want to get anywhere though. Was paddling my Dagger Redline which is quite a bit longer than the playboat and will actually get up waves and things. I enjoyed paddling it a lot more than I thought, which is interesting.<br /><br /><span style="font-weight: bold;">Oracle Portal/9iAs is a pain in the proveribial<br /></span><br />I'm really struggling with 904. It keeps locking up. I think it's something to do with using session variables in PL/SQL. It's very hard to keep up a sustained development effort when you have to reboot the server every 20 minutes.<br /><br /><span style="font-weight: bold;">Rosie's Birthday Party</span><br /><br />Festivities started on Saturday when Rosie's mum took us to an excellent meal at Oriental Delight where several beers were drunk. On Sunday the party was muppet themed and we got into the swing of things quite well, with me as the swedish chef (hat and rubber chicken), Rosie was Animal, Katherine was Beaker, Deb Miss Piggy. We now have enought chocs to stock a small shop and we're both trying to lose weight. <br /><br /><span style="font-weight: bold;">Old Friends</span><br /><br />Met an old school friend with whom I hadn't parted company on the best of terms a couple of weeks ago. It was nice to see him and talk through old times and people.  It's interesting how we both hate a lot of the same things and at least some of my enemies (who he still keeps in contact with) have mellowed into reasonable folk. Nice to catch up, it's a shame he didn't make Rosie's party but I suppose he might have felt a little out  of it.<br /><br /><span style="font-weight: bold;">Buddhism</span><br /><br />Going back to this again. Unfortunately Lama Jampa has moved to London so it'll be difficult to get to him to ask for advice. I will write him a letter. One of my relatives was quite sarcastic about my beliefs which made me quite angry. Maybe if they had ever seen something worthwhile through to the end I could take it seriously. I have come to the belief that any connection with this tiny foolish life and an enlightened being somewhere downstream of me is very tenuous. This doesn't mean one should give up, more that what you have <span style="font-weight: bold;">now</span> is even more precious.<br /><br />I came up with a personal mission statement the other day:<br /><br /><span style="font-style: italic;">Spend the rest of my days helping other people to succeed in between having lots of fun!</span><br /><br />Blessings all<span style="font-style: italic;"><span style="font-style: italic;"></span><br /></span><br /><br />]]></description></item><item><title>Letter to the Register - Tsunami man in prison</title><guid isPermaLink="true">http://francis.blog-city.com/letter_to_the_register__tsunami_man_in_prison.htm</guid><link>http://francis.blog-city.com/letter_to_the_register__tsunami_man_in_prison.htm</link><pubDate>Tue, 25 Jan 2005 08:55:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=letter%5Fto%5Fthe%5Fregister%5F%5Ftsunami%5Fman%5Fin%5Fprison</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[In response to <a href="http://www.theregister.co.uk/2005/01/24/tsunami_man_prison/">this:</a><br /><br />Hi John<br /><br />While I'm sure a lot of people would feel very angry at the way this idiot behaved, and I agree with them, I think that his sentence is very harsh. Drink drivers who kill people often get less than this - it's on a par with the billions of dollars fines and lengthy prison sentences for spamming el Reg reported some weeks ago. I think there needs to be more of a sense of proportion. If taking a human life has a lower penalty than playing a nasty malicious prank then there's something wrong.<br /><br />Regards<br /><br />Francis Fish]]></description></item><item><title>Soluble Christmas Diary and Freeview</title><guid isPermaLink="true">http://francis.blog-city.com/soluble_christmas_diary_and_freeview.htm</guid><link>http://francis.blog-city.com/soluble_christmas_diary_and_freeview.htm</link><pubDate>Sun, 02 Jan 2005 00:41:00 GMT</pubDate><comments>http://francis.blog-city.com/console/comments/popup/?f=soluble%5Fchristmas%5Fdiary%5Fand%5Ffreeview</comments><dc:creator>Francis Fish</dc:creator><description><![CDATA[<p>
I was talking about solving problems at a meal today and said that some may not be soluble (to be fair I pronounced it solu-able). Someone corrected me and said that the word was solvable. In fact, soluble is the primary  word in my dictionary and solvable is the derivative. I was a good boy and didn't rip her head off. I think all the self-improvement books I have been reading have helped a lot. The thing is: she has read them too but you wouldn't notice. Correcting someone at table is not the way anyone who has read Dale Carnegie should behave, neither is it common courtesy. If someone is wrong let them be wrong.
<p>
I have no idea why I am so angry about this. Perhaps because I have a maths-based degree and I <i>know</i> what the word that means a problem can be solved is? Anyway, I suppose a Christmas  diary entry is in order.
<p>
Very quiet. Didn't do a lot, but we did make a point of going out for walks and even had a paddle on the Dee one day. Rosie walked back up with Jon because he didn't want to go back in the canoe. I paddled the thing a good mile against the current. Also, because I was chatting, I didn't notice that I took the long way around one of the bends in the river where the current flows faster. Ho hum.
<p>
Went for a nice walk at a country park near J7 of the M56 (Daresbury rings a bell). It was a deer park reserve and we had a very pleasant walk. Went back to a pub called the <i>Old One Hundred</i> and had a meal. Food good but service a bit variable.
<p>
Very average new year with the family. I got a bit bored and wanted to go to bed. We had a bagatelle (sic) competition that whiled away some time.  I have had a bit of a head cold and my sinuses have been giving me serious gyp so I wasn't that keen on all this staying up being grown up stuff. Jon stayed up and saw it in with us. Deb had taken herself off to bed. We did have a laugh at times, Jon laughing so hard he cried.
<p>
Spent today painting Deb's room and having another meal as mentioned earlier.
<p>
I'm getting a bit fed up and bad tempered now, would like to see people off home and get some time with just the family. 
<p>
My problem with my feet and ankles has come back. Very sore. Think I need to get rid of the weight I have put on in the last month and start doing my exercises again. Maybe get a stepper machine from ebay or some such.
<p>
Forgot. Bought a freeview box. More choice but still a lot of crap. Still tend to be watching CSI, some stuff on BBC2 and C4 and not a lot else. Nice to see Channel 5 in the clear without the snow. Quite like the UKTV History channel. I'd like BBC 3 more if they showed something other than <i>Little Britain</i> which keeps taking funny ideas and overcooking them. I could write that stuff if I had no shame, but I do. I hated the thing about breast feeding the groom at a wedding, just a gross-out pubrescent fantasy with all of the comedy of a broken limb in traction.
<p>
Love to all and a happy and prosperous new year. Back to work soon.]]></description></item></channel></rss>