Archive for the 'Personal' Category

got time?

Mood: seriously annoyed.

Sorry to all of you to whom I have mentioned my upcoming ojbect_protocol release, that are hoping it to come soon.

As much as I would like to release it soon, I do not have the time to finish off the specs, docs and examples any time soon. I refuse to release my first major lib without a good helping of all of the above, so for now, it’s either offer genuine assistance, or wait.

time time time time time time TIME TIME TIME TIME TIME TIME TIME TIME

- if only it was as abundant as that

Software List Dump

So this is a list of software that I’m using on one of my Windows development machines (my home one), I think this has been stripped down now to just software that you can use legally for free, if I missed anything else that’s buyware, please feel free to leave a comment. I might post my buyware list later too, for now I have discs to find and purchase e-mails to search out. Without further ado:

Enjoy.

P.S. The stuff at the end of the list does not deal well with Program Files, or is standalone - that is ruby, perl, python, mingw + msys, the airsdk. mtail and synchronize it are standalone capable.

Instability does an angry man make…

I have a new MacBook. It’s less than a month old, and came with Leopard.

My father bought be a Mighty Mouse (wireless) to go with it.

Today, I’m getting angry to the point where I thought about the idea of taking the whole lot back for a full refund. You see, this is the most unstable system I have used since Windows 98, and that’s no exaggeration.

Leopard, is a piece of shit. Ok, that’s possibly a little harsh, but…

  • I have had two full kernel panics since I bought this laptop (i.e. in the first month)
  • I have had numerous application crashes, mostly with Mail.app and hardware interfaces (bluetooth + USB), but actually, half of the apps currently on my Dock have crashed on me.
  • I have not installed any kernel level software (which is what causes other OSes to BSOD/panic)
  • The mighty mouse crashed the bluetooth system, twice, and then stopped working completely.
  • The USB system has frozen (complete OS deadlock) the laptop, three times, coming out of, or going into standby.
  • Spaces is buggy as hell, many of the native apps (including iTunes and Mail.app) don’t Apple+Tab correctly if they’re “Zoomed”. That’s really poor, and suggests a serious lack in real user testing before launch.
  • The PGDN + PGUP and HOME + END key bindings (on the MacBook) are so inconsistent it makes me angry about once every 5 minutes.
  • The RSS screensaver prevents you from logging in when you come out of standby, and it can’t release control of the screen back to the login prompt (this is pathetic, and likely a security hole) (and it makes the screensaver completely useless for laptop users, really)
  • This is a set-top-box - There is no damned excuse for instability. At least EVERY OTHER operating system ON THE PLANET supports a great deal of hardware, and in reality, receives it’s instability through THIRD PARTY SOFTWARE. First party instability in a commercial “production ready” kernel, is pathetic.
  • “The Cult” lies about stability issues, and on becoming a mac owner, they start to open up to the truth, that this system is in fact NOT stable - For that, they are due a “Fuck you, liars” from those of us don’t follow “the religion”.

So, you arses, please sort this crap out. I’ve sent you all the bug reports for these crashes, it’s about time you live up to the lies you (and / or your users) have been spreading. And if you wouldn’t mind sorting out the security whilst you’re at it, that would be just dandy (there are plenty of exploits documented (and in my normal usage, I have found more - I’ve been too busy to do an audit, but this OS would fail))

I won’t be returning this stuff yet, at the moment, the stability issues can be worked around (by not using the respective features and devices), and the only reason I’m still here is for the performance of Ruby, Textmate and Terminal.app, and the reasonable quality of the hardware itself - At least that’s making me JUST happy enough to combat my current anger, after a rant. If it wasn’t for these things, I’d be screaming bloody murder right now.

Spam, to my mobile phone :(

Mood: Annoyed.

I received my first spam message to my mobile phone today.

I got an MMS with the word “Cheeky” and the following url (this is deliberately not a link) (Not safe for work):

http://www.fon.ms/xx.aspx?P=jTCQGLEDqcQhqFQfMMcMGCCDGcLExqkQs2h4

I have never given my phone number out knowingly to anyone who would be advertising such things, or who would be passing my number around to “Select partners” etc., so this has likely been done in a very illegal manner. I wonder how much it cost them…

Comments moderation nearly a month slow…

Summary: sorry for late moderation of some peoples comments, this post is a rant about spam, and i’ll be off wordpress as soon as I can be.

I haven’t been through the comment moderation list in over a month. Shame on me.

Sorry to those who’s comments were not posted until far later than they should have been.

Spam, spam, bloody spam. </rant>

Time for a Javascript based comment submission I think, and to move away from run of the mill blogging software, because there are few other solutions these days that actually seem to work, and in some ways, I have better things to do with my time than sift this crap.

Right ok. This is probably a really crap idea (almost worthy of an obscenity? you decide.), but I want to start filtering all urls in my comments into a list I’m going to publish as a DNS blacklist, which I will start distributing to anyone who desires it.

Screw you spamming gits. I’m going to filter all of my google searches from now on. Anything with your crap or something within a link catchers eye of your crap is not going to go near me.

What if comments can be flagged as comments for google, and google stop ranking sites by links left in comments?

In fact, links in comments should gain -ve weight, and the people should just be told.

I want a box on my site where i can publicly shame these fuckers and the google results will actually respond in a decent manner.

Sadly, that’s not possible because it’s subject to an attack by it’s very nature, with that you could demote the rank of competing sites. cryface.

Still I want to publicly shame them, but in order to not help them it must be private. Maybe I should e-mail _why and ask him to hide a spam site ban list in hoodwink.d for me…

I guess the rant wasn’t really over. Anyone else feel the pain?

Young Bermudian is driving force behind vehicle tracking system…

Article in The Royal Gazzette (Bermuda)

BattleGrounds Mod 2 / Rate caps in the source engine

So it’s the BattleGrounds Mod team who approached me a while back about an issue they are having with their mod. It’s an hl2dm mod, which because of its open plan maps and long distance views, sometimes, or even quite often, generates more than the 30000 byte rate cap, built into the core buffer limitations in source. I’m not a modder, so I’m not familiar with methods of culling data in mods, but I am a telecommunications developer, so could provide some advice from one aspect.

After chatting with the guys for a while, I suggested a few things they could do to cut down on this excessive bandwidth, and also suggested they contact Alfred Reynolds directly, which they did. Alfred was suitably prompt, and this is what he said:

30,000 is 240kbps symmetric, our recent survey suggests that over half our userbase won’t be able to play your game if you try to even go near that cap. We have several mechanisms in the engine to help mods manage bandwidth effectively (send/recv proxies, various hammer entities to help cull LOS on large open maps), has your team investigated using them?

- Alfred

Here’s the interesting / of note part…

If you go to the Valve Survey Summary, and look at the results you’ll see that in fact, there’s less than 5% of the known connection speeds are under 240kbps. If you were to add the unkown section to that, then sure it seems many are under the required 240kbps speed, but this is totally unrealistic. For unknown data, it should be treated as unknown, as it likely has a very similar distribution to the other data you have - which statistically has no affect on the percentiles.

Here are the numbers (Statistics from Valve: 7:22pm PST (03:22 GMT), March 01 2007):

Line Speed      # Users    %ge     Users > 240kbps
=============   ========== ======= ============ %ge
                                               =======
33.6 Kbps       5,024      0.43%
56.0 Kbps       30,150     2.59%
112.0 Kbps      21,630     1.86%     56,804     4.88%       < 240kbps
256.0 Kbps      174,378    14.97%
768.0 Kbps      184,829    15.86%
1,024.0 Kbps    72,737     6.24%
2,048.0 Kbps    358,001    30.72%
10,000.0 Kbps   122,137    10.48%    912,082    78.27%      > 240kbps
Unspecified     196,295    16.85%    196,295    16.85%      Unknown
Totals Sanity Check:       100.00%              100.00%

Lol @ your statistics Alfred.

And just to clarify before someone challenges, this also says that over 60% of the users will be able to cope with 768kbps or up. Considering 512kbps ADSL is actually VERY popular in many parts of the world, there is also a major portion of this survey possibly missing. Also - 20% having 256kbps or under is a long way from the “over half” suggestion.

Update:

Just added this from the first comment, to keep anyone just browsing past informed, Alfred did also say the following:

Oh, and I should also add that sure, we will look at upping that limit (there are some fundamental limits due to memory buffering that will need to exist, but we should be able to make it a factor of 10 larger at a minimum I suspect). You will be shooting yourself in the foot if you use this larger number however.

- Alfred

When asked on a vague-ish timeframe, he said:

When its done (within a month or so if I had to guess) and yup, we would post a changelog point about it.

Personally, I think this is good news. I suspect that, particularly with larger servers, this could have a profound effect accross all of the source engine based games.

Another update, since someone has just raised the issue again, and I realised there was some useful justification on the ED Discussion of the topic:

TuF - I urge you to spend a minute thinking about the sub-second rate cap, not the ‘whole second’ rate cap. As I was describing to J3di in a post above, this happens actually quite frequently, remember 30kb/s is a poor quantization for bandwidth measurement in a 100pps data flow. A better measurement is 2.4kb per packet, which is more closely related to the real buffers. I’m actually unsure exactly what the buffers look like (depth, frequency of flushing and so on) but I do know what the packet flow patterns look like - and realistically, it spikes alot, but not high enough, thus these ‘exponential decays’ you see on net_graph, or on a packet logger.

Clearly for something which is relatively immediate (someone dieing) there should not be an exponential decay of data flow from the spike of when it occured, instead in many cases it should be one spike, and then back to normal, with maybe some limited (and flat!!!) data carrying rag-doll and animation corrections.

Lets also not forget that part of the reason for the load on a 100 tick server is that it’s having to do alot of work to choke the data flow. Remove this work, and it should cope with it better. I don’t know too many GSPs that run under 10mbit lines to each box, and as we all know this is something which is concerned with spikes, and not continual flow - so there’s no real cause for concern regarding server capabilities. Furthermore - costs for GSPs who pay for bandwidth in the 95th percentile (VERY COMMON!!!) will actually REDUCE because the top 5% of the spikes essentially gets cut off. - another bonus.

I’d also point out that often servers which are suffering (which are housed in a DC) don’t have trouble with the bandwidth, but the processing power and packetrate - this is not the same as bandwidth and both of these issues could be potentially be relieved by opening up the spikes, as there will be less of the choke management system running (less processing power), and it’s possible less packets will actually be required to carry all the relevant information (although I’m not sure how well the specific implementation allows for this one).

MI5 tracking ‘30 UK terror plots’ (And expanding at a STUPID rate)

Apparently Mi5 think there are alot of targets growing in the UK. the decisions of the UK Government over the last decade has a clear link to this I am certian. However we can only move forward from here and I hope that the relevant people can learn to keep (reasonably) quiet, so as not to further enflame the situation. BBC NEWS | UK | MI5 tracking ‘30 UK terror plots’

I was caught in particular by this line:

MI5 has increased in size by nearly 50% since 9/11 and now stands at roughly 2,800 staff.

And an amusing anecdote from Prejudice:

We’ve noticed terrorists, so we’ve started hiring new people!

Surely this idea is absolutely stupid. Some right honourable old bats inconcieved idea of ‘hardening intelligence services’ when the number of terrorists they KNOW ABOUT are in number as large as their organisation apparently started before 9/11.

Having been through Uni within the last decade, I also know that the number of opinionated and fanatical (entirely british) students out there is increasing. They are able to find and push resources which may or may not contain accurate data (e.g. the film entitled ‘The Corporation’ which takes a very hard-line standpoint and broadly innaccurate measure on the reasons for business decisions) leads to alot of these students believing their ‘hippy’ ideals might save the world. Some of them may even go so far as to become a threat to those of us that are trying to really just help (by being productive human beings, and friendly to the world around us).

One of the classics I remember is:

“we should just stop all of the oil tankers from going accross the atlantic if their over X years old”.

The impact of these thoughts is never appreciated by these people. Having spent some time around EMO groups during periods where they become active, I’ve learned myself a few hard lessons with regard to this sort of problem. Just how much fuel is available in the local area? What is the impact to life if it’s no longer available? The answers to these kinds of questions often make said students recoil and become quite quiet, or they simply resist the reality and keep going with more vigor in the hope to dispell the unwanted commentry over their opinions.

My wonderful girlfriend has many friends who fall into this ‘hippy’ category, and whilst not active, some of their ideas are bordering on similarly destructive. Equally some of their ideas are priceless and I would hope that both sides of the coin can be remembered by people from all sides of these rather blurry lines. My belief is that a global culture shift towards true understanding (or at least people having a desire to really understand, rather than rely on here-say) is the only thing that could save this planet. I’ve sen just as much marketing bullshit from ECO warriors as I have from DOLLAR warriors.

A few words of warning on how to approach these problems in general though:

  1. Changing the world rapidly is contrary to nature (even when the world you are changing is man-made). Rapid change is generally a dangerous operation and should not be done lightly.
  2. Removing key resources from places they are required can KILL PEOPLE. If a hospital looses power, a power station looses oil/coal, people can DIE.
  3. Removing necessary transport mediums for human requirements is dangerous and again, can KILL PEOPLE, although less directly. Observe fuel riots.
  4. Your opinion is always limited by your knowledge which is bound by the sum of your experiences and your imagination. Research needs to be done properly. I know you may feel it is too urgent to do this, but if you don’t you’ll make it worse - see attempts at ecological balencing by species introduction.
  5. Bounce-back or reaction effects can do more damage to your cause than good. If you want something to change, and you force change on people, when they get back what they want it often comes back in more force (because they get so upset for having lost it, or in business they lost so much money).

Finally, as I mentioned ‘The Corporation’ I’d just like to point out that I’m building a business currently, and we have no aims to generate revenue at any cost. This is written into the core culture of our business plan and our investors DO take an active role in ensuring they see good ethical practices from our business. The crux of this is, it’s not ‘Corporations’ who make evil decisions, it’s a person making the decision inside the company, and often their reason is regardless of the real world events (and often they will never experience the events either). I’m sure the families of the people who make these decisions (in most all cases) do not consider their relatives to be evil people. Somewhere this understanding gets lost in ‘hippy hype’ and I’d like to see it not in future. If you want to be so arrogant as to actively preach and push your ideas on everyone else, you should make damn sure that they’re correct first, otherwise you’re just another marketing idiot pushing ideas on people that they don’t need.

raggi’s public notebook

My public notebook is being hosted by Google, as they provide a really clean and easy to access interface for doing this kind of thing.

raggi’s public notebook

You’ll find stuff here, I’ve also added a redirect from http://ra66i.co.uk/notebook. Enjoy.

Some Links…

Need to clean up my desktop, so dumping a bunch of links here, some of which I wanted to talk about, but it’s a waste of time at present, so here’s a ‘dump’ instead.

http://news.bbc.co.uk/1/hi/sci/tech/4797521.stm - This is a pathetic state of the world. These ‘Holy Wars’ are doing direct damage to the world. Now where you can interpret these religions however you like, and this may direct you to an interpretation of lack of respect for the lives of ‘Heathens’ or/and etc. None of these religions as far as I know condone the irresponsible destruction of the environment. This is simply fuel for my belief that these ‘Religious Wars’ or ‘Retribution Wars’ are being driven by unclear thought with certainly no genuine consideration on the surrounding environment, human, natural or otherwise, at any level of granularity. To ‘not care due to the height of emotion from historical events’ is simply hipocrytical given the outstandingly commonly stated paradigms against the rest of the world. Not to say the rest of the world is any better, but this point still stands.

http://digg.com/offbeat_news/eBay_Kid_Auctions_Off_2_of_His_Income_for_the_Rest_of_His_Working_Life - Whilst this guy had left an appallingly presented auction for himself, it got me thinking that the idea is not a bad one in general principle (I think his price points were a bit wrong too), mind you, that’s why so many large corporations offer sponsorship, whereby they actually stand a good chance of making the money back from their investment. One good point wrt this kid is that he shouldn’t really be searching for investors on eBay, and a truly driven individual should know where to look, successful results being another ballpark entirely.

http://www.csharp-architect.com/csa06082006.aspx - Why I’m not even going to bother considering obfuscation in my current developments, this was written by a good guy I’ve spoken to recently. The point is as it has always been, if content is to be delivered to the processing unit in plain form at some time, then it must be possible to make it plain using libraries that already exist. One can take the approach of doing something like “Assembly.GetCallingAssembly()” and/or “Assembly.GetExecutingAssembly()” to aid in security, but all these things are slow and unreliable, furthermore the approach taken in this entry is by looking at the IL decompiled. If you recorded the decompilation, one could simply strip out such calls. Attempts to obfuscate the calls through invokers could also be done, but fundamentally you will end up in a fight between optimisation and obfuscation. There are several more important approaches to prevent actual ‘casual’ usage of your libraries:

  • protect your bindings.
  • scope your variables and functions properly, use internal where appropriate instead of public.
  • package important code in ‘optimised’ executables, as these are not as easy to read.
  • do not publish debugging information with your assemblies.

http://www.codeproject.com/csharp/tracetool.asp?df=100&forumid=28124&exp=0&select=1589506 - Useful trace tool. Not good enough for a logged and stateful invoker based command prompt, but it will do. On a side note I still haven’t had time to create any nice binding logic for my invoker prompt. If anyones interested in helping create a top notch ‘live’ debugging environment for C# please give me a shout and I’ll help you get started on the design front and point you at some code and a few APIs to learn.

http://technobabylon.typepad.com/tb/2006/08/who_runs_micros.html - Interesting article, I think by the head of eEye although I’m uncertain, the point that’s interesting is the focus on Microsofts efforts to really make up ground in security, and the fact that they are now seen to generally be acting very sensibly. Hopefully this kind of understanding is going to slowly spread to the harrassing common-news reporters who get it all wrong simply because they don’t speak to the right people or understand. A perfect example are the reports pertaining to ‘3rd party fixes’ when Microsoft delays a critical patch. The point is, people who do not understand this clearly don’t understand software engineering principles. Sure there are many ‘Just do it’ IT Projects which are very successfull, but I’d like to point out the obvious, but commonly missed fact; Windows is a VERY complex codebase with a significant number of race case conditions, the maintenance of which I wouldn’t wish on any programmer, although I understand it’s getting alot better nowadays with many refactors and now it’s version 5, it’s starting to be resemble a real mature product. (Please don’t mistake this for a gripe, writing good software from version 1 can be difficult for even simple products, Windows is not a simple product).

Orion in minature
http://www.esa.int/esa-mmg/mmg.pl?topic=&subtopic=&subm1=GO&keyword=nebula - Lamper pointed me at the ESA Gallery, some lovely photos on here, aswell as some artists impressions.

http://www.youtube.com/watch?v=gwZD59Ic9T8 - I’m not sure which university this is from, or even if it was at a university, but this is quite an interesting experiment involving extending animals senses using mechanical devices. The point of the study is that small neural networks (brains) don’t really know the difference, they think about the world in too abstract a way to know that they are not interacting with it directly.

http://www.breaksblog.biz/ - Lamper pointed me here too, a good site for tracking new DnB mixes and news.

http://www.beautifulagony.com/ - From the cesspit of b3ta i think, although it may also have come from DSI, eitherway, this was pretty random. It’s almost porn, but without the imagery, for the mind, or imagination, or I don’t know, empathy? That’s it, empathics porn. Lol. To be honest, it’s just amusing.

http://techdirt.com/articles/20060625/2222255.shtml - Christ I’m glad I’m not involved with any projects like this anymore, and certainly not on that scale, although some have been not far off, scary scary world.

http://video.google.com/videoplay?docid=5914999402901911766&q=genre%3Acomedy - So this guy can fly a chopper, although I wouldn’t sit in one as he does. Some very impressive RC chopper skills.

A quick quote as I don’t have an appropriate other place for it yet:

14:08 raggi: DB2: bind into the object to see it’s private members
14:08 * raggi feels dirty

I was on IRC asking for some help looking for a couple of bits in the .NET API which I knew must exist but are so drastically differently named than in many other languages. A conversation sprung up about binding into objects using the Reflection framework, and that sentence just popped out.

Desktop clean again.

Peace.

Next Page »