pe

GNU Gatekeeper 5.3 released

I have just released GNU Gatekeeper version 5.3.

You can download it from https://www.gnugk.org/h323download.html

This release has a number of new features as well as some important bug
fixes.

Whats new ?

  • LRQ loop detection to optimize calls flows between multiple neighbor gatekeepers This new feature has the potential to significantly reduce the load on all gatekeepers and prevent "LRQ storms".
  • new routing policy to set call destinations by querying HTTP or REST servers, see [Routing::Http]
  • much improved support for SNMP
  • important bug fix for TLS encryption of signaling channels
  • important bug fixes for H.460.18 NAT traversal (for H.245 tunneling and for multi-homed servers)
  • performance optimization: this version can handle 5-10% more proxied  calls on the same hardware
  • performance optimization: re-authenticate lightweight, additive registrations only when new aliases differ. This significantly reduces the load on password databases.

Enjoy!


Full change log:

- BUGFIX(ProxyChannel.cxx) don't send H.245 address to tunneling
  H.460.18 endpoint, breaks call when H.245 multiplexing
- performance optimization: 5% faster UDP handling
- changed default: [SNMP] Implementation=PTlib
- remove unfinished Windows-SNMP implementation, use PTLib-SNMP on Windows
- support SET and GET-NEXT in PTLib-SNMP
- support SNMP sysUpTime when running as standalone agent
- BUGFIX(configure.in) LARGE_FDSET defaults to off
- new SNMP OID 1.3.6.1.4.1.27938.11.1.9 to query total bandwidth allocated to ongoing calls
- BUGFIX(ProxyChannel.cxx) fix hangup when making many TLS calls quickly one after another
- BUGFIX(RasSrv.cxx) don't require H.460.22 parameters in ARQs
- BUGFIX(ProxyChannel.cxx) fix TLS without LARGE_FDSET
- BUGFIX(ProxyChannel.cxx) don't send H.460.22 priority field in SCI
- BUGFIX(gkauth.cxx) free memory from cached and expired passwords
- re-authenticate lightweight, additive registrations only when new aliases differ
- remove switch [Proxy]DisableRTPQueueing, always disabled now
- new routing policy: http with config section [Routing::Http]
- BUGFIX(ProxyChannel.cxx) fix H.460.18 on multi-homed servers (SCI comes from the correct IP now)
- new switch to disable SNMP traps [SNMP] EnableTraps=0
- BUGFIX(ProxyChannel.cxx) don't throw SNMP trap on H.245 connection errors
  (causes crash under load with Net-SNMP)
- BUGFIX(snmp.cxx) shutdown GnuGk when SNMP agent can't be started
- BUGFIX(snmp.cxx) protect NetSNMP library calls with mutex
- changed default: ForwardResponse now defaults to 1 in [RasSrv::LRQFeatures] and [Neighbor::...]
- new feature: loop detection for LRQs [RasSrv::LRQFeatures] LoopDetection=1
- BUGFIX(Neighbor.cxx) some settings in [RasSrv::LRQFeatures] were ignored if not set in [Neighbor::...]




pe

GNU Gatekeeper 5.4 released

I am happy to announce the release of GNU Gatekeeper 5.4.

You can download it from https://www.gnugk.org/h323download.html

New features:

  • new accounting module to send accounting data to an MQTT server
  • support for redis as database (eg. as backend for password storage)

Bug fixes:
  • important fix for H.245 tunneling translation with H.460.18 endpoints
  • fix for snmpwalk in PTLib-SNMP implementation
  • fix sending alternate gatekeeper list to endpoints with assigned gatekeeper
  • improved DRQ from child gatekeepers
  • fix TLS with neighbor gatekeeper


Please also note that a bug has been found in PTLib that can cause a crash in any GnuGk version if you use the status port (manually of from an application). Please upgrade to PTLib 2.10.9.3!




pe

GNU Gatekeeper 5.5. released

I am happy to announce the release of GNU Gatekeeper 5.5.

This release has new features and bug fixes when you run clustered gatekeepers. It also improves the port detection feature and we have a complete and up to date Chinese documentation.

You can download it from https://www.gnugk.org/h323download.html

New features:

  • new feature GnuGkAssignedGatekeeper to push endpoints back to their intended home gatekeepers in the cluster, even if the endpoints don't support assigned gatekeepers
  • support new PBKDF2 password hashes for ssh logins to the status port
  • new switches to fine tune port detection for H.239 channels (IgnoreSignaledPublicH239IPsFrom=x and IgnoreSignaledAllH239IPs=1)
  • new Chinese manual

Bug fixes:
  • select correct source IP for neighbor pings
  • set altGKisPermanent=true when redirecting endpoints
  • fix RRJ to include alternates when RedirectGK=Endpoints limit is reached
  • fix reading of AllowSignaledIPs= switch
  • don't complain about [Neighbor::xxx] SendAliases switch when using--strict

Enjoy!




pe

GNU Gatekeeper 5.6 released

Today GNU Gatekeeper version 5.6 has  been released.

Download: https://www.gnugk.org/h323download.html

It contains an important bug fix to H.460.19 multiplexing and H.460.26 (media over TCP) when using GnuGk's internal call forwarding (ForwadOnFacility).

I have also added an interop tweak to be able to call video services that don't understand H.323 URL aliases (eg. videobutler.nl). You can enable it with

[Routing::SRV]
ConvertURLs=1

Here is the full changelog:

  • new switch: [Routing::SRV] ConvertURLs=1 to convert URL_IDs into H323_IDs
  • BUGFIX(ProxyChannel.cxx) fix RTP multiplexing and H.460.26 when ForwardOnFacility is used
  • BUGFIX(ProxyChannel.cxx) remove H.460.19 feature from Setup when using ForwardOnFacility=1
  • new switch: [Gatekeeper::Main] GrantAllBRQ=1 to accept any BRQ, even if the conferenceID is invalid





pe

Using the GNU Gatekeeper to create TLS tunnels

Most H.323 vendors did not implement encrypting the signaling connection with TLS. They only encrypt the media (RTP). But you can use the two GNU Gatekeepers to encrypt you call signaling even when your endpoints don't support this natively.

Suppose you have 2 locations and want to connect them securely over the public internet.

GnuGk can encrypt call signalling between those locations using TLS and encrypt the media (RTP) using H.235.6 (AES encryption). 


 Configuration for GNU Gatekeeper 1 (prefix 01)

 

[Gatekeeper::Main]

[RoutedMode]
GKRouted=1
H245Routed=1
CallSignalPort=1720
AcceptUnregisteredCalls=1
; make sure H.245 gets tunneled for TLS
H245TunnelingTranslation=1
; add AES media encryption if the endpoint doesn't encrypt itself
EnableH235HalfCallMedia=1
; only allow encrypted calls
RequireH235HalfCallMedia=1
; change the media key after 2^31 operations
EnableH235HalfCallMediaKeyUpdates=1

[Proxy]
Enable=1

[ModeSelection]
0.0.0.0/0=PROXY
; only use routed mode for local calls
192.168.0.0/18=H245ROUTED

[TLS]
EnableTLS=1
PrivateKey=/path/to/server.pem
Certificates=/path/to/server.pem
CAFile=/path/to/rootcert.pem
Passphrase=MySecret
CheckCertificateIP=1

[Gatekeeper::Auth]
FileIPAuth=required;Setup

[FileIPAuth]
; allow all calls from local network
192.168.1.0/24=allow
; only allow TLS encrypted and authenticated calls from elsewhere
any=onlyTLS

[RasSrv::PermanentEndpoints]
; the GnuGk in the other location, serving prefix 02
1.2.3.4:1300=remote-gw;02

[EP::remote-gw]
; use TLS to call remote GnuGk
UseTLS=1 
 

Configuration for GNU Gatekeeper 2 (prefix 02)

[Gatekeeper::Main]

[RoutedMode]
GKRouted=1
H245Routed=1
CallSignalPort=1720
AcceptUnregisteredCalls=1
; make sure H.245 gets tunneled for TLS
H245TunnelingTranslation=1
; add AES media encryption if the endpoint doesn't encrypt itself
EnableH235HalfCallMedia=1
; only allow encrypted calls
RequireH235HalfCallMedia=1
; change the media key after 2^31 operations
EnableH235HalfCallMediaKeyUpdates=1

[Proxy]
Enable=1

[ModeSelection]
0.0.0.0/0=PROXY
; only use routed mode for local calls
192.168.0.0/18=H245ROUTED

[TLS]
EnableTLS=1
PrivateKey=/path/to/server.pem
Certificates=/path/to/server.pem
CAFile=/path/to/rootcert.pem
Passphrase=MySecret
CheckCertificateIP=1

[Gatekeeper::Auth]
FileIPAuth=required;Setup

[FileIPAuth]
; allow all calls from local network
192.168.1.0/24=allow
; only allow TLS encrypted and authenticated calls from elsewhere
any=onlyTLS

[RasSrv::PermanentEndpoints]
; the GnuGk in the other location, serving prefix 01
1.2.3.5:1300=remote-gw;01

[EP::remote-gw]
; use TLS to call remote GnuGk
UseTLS=1 
 

Other options

You could also configure the remote GNU Gatekeeper as a neighbor, but beware that the RAS traffic between neighbors will show meta data (whois is caling who) in clear text! 

See the GnuGk manual section on TLS for more details and examples how to generate the OpenSSL certificates. 

 




pe

GNU Gatekeeper 5.7 released

GNU Gatekeeper version 5.7 has some important bug fixes, improves interoperability
with other vendors and also has a few new features.
 

Several severe crashes and a few memory leaks have been fixed.

Improved interoperability with:

  • Lifesize endpoints
  • Poly's Microsoft Teams gateway
  • Polycom RealPresence Capture Server


New features:

  • You get a warning in the GUI / on the status port if one of your endpoints has an incorrect time setting and this password authentication fails. This makes trouble shooting a lot easier.
  • Invalid TPKT packets (eg. due to network errors) now don't necessarily take down an otherwise healthy call. Use the new  AbortOnInvalidTPKT=0 switch to enable.
  • GnuGk will now also return unused memory back to the OS periodically to make it available again to other applications on the same server.
  • You have a new %{Vendor} variable for SqlAuth RegQuerys and LuaAuth



Full change log:

- BUGFIX(ProxyChannel.cxx) fix crash on non-standard H.245 Indication from
  Polycom RealPresence Capture Server
- BUGFIX(ProxyChannel.cxx) fix possible crashes on non-standard generic information in OLCs
- print warning message on status port when passwords get rejected due to wrong time
- BUGFIX(httpacct.cxx) fix memory leak
- BUGFIX(ProxyChannel.cxx) fix possible crash
- BUGFIX(gk.cxx) avoid crash when terminating in the middle of program startup,
  set non-zero exit code so restarter notices error
- return unused memory back to OS periodically
- new switch: [RoutedMode] AbortOnInvalidTPKT=0 for more graceful handling of network errors
- BUGFIX(gk.cxx) fix for running on Alpine Linux (needs updated PTLib, too)
- don't start GnuGk if RTP multiplexing is configured, but we can't start the listener
- new switch: [RoutedMode] MatchH239SessionsByType=0 to fix presentations with
  LifeSize endpoints over Poly's Microsoft Teams gateway
- BUGFIX(ProxyChannel.cxx) make sure we don't set RTP address on multiplexed RTCP keepalive
- BUGFIX(RasSrv.cxx) look at all tokens for H.235.TSSM
- add %{Vendor} variable for SqlAuth RegQuery and LuaAuth




pe

GNU Gatekeeper 5.8 released

GNU Gatekeeper version 5.8 has been released with a number of bug fixes and a few new features.

To stay updated on new releases, please also follow us on Twitter!

Improved interoperability with:

  • EdgeProtect
  • Avaya

 New features:

  • experimental support for Avaya's non-standard version of H.323 (./configure --enable-avaya) (thanks Konstantin Prokazov)
  • consider RFC 6598 shared network space (100.64.0.0/10) and Zeroconf (169.254.0.0/16) as private IPs
  • new switch [Proxy] AllowSignaledIPsFrom= to skip auto-detect for messages received directly from certain IPs when IgnoreSignaledIPs=1
  • new switch [Proxy] AllowAnyRTPSourcePortForH239From= to handle incorrect RTCP addresses in H.239 OLC (EdgeProtect interop)
  • new switch [RoutedMode] MatchH239SessionsByIDOnly= to never attempt to match a H.239 reverse channel by type for improved interoperability with EdgeProtect
  • new switches to set the HTTP Content-Type header in HttpAcct, HttpPasswordAuth and Routing::Http
  • new switch [Routing::Http] JSONResponse=1 to send more flexible routing data in the HTML reponses
  • many new status port shortcuts (see manual section for details)

Bug fixes:

  • fix H.460.18/.19 on multi-homed servers
  • fix race condition when handling H.460.19 multiplex IDs
  • fix media loop on half port-detected channel when media is very early
  • fix Net-SNMP query for total bandwidth
  • save RTCP address from OLC for port-detection
  • always check AllowSignaledIPs= before applying IgnoreSignaledAllH239IPs or IgnoreSignaledPrivateH239IPs
  • handle extensions and CSRC in RTP header with H.235 half-call media
  • better endpointIDs on Windows when compiling without OpenSSL





pe

GNU Gatekeeper 5.9 released

GNU Gatekeeper version 5.9 is out with a number of bug fixes and a few new features.

Download: https://www.gnugk.org/h323download.html

New features:

  • new switches [Proxy] CachePortDetection=1 and CachePortDetectionDuration= to cache port detection packets for faster media connects when IgnoreSignaledIPs= is active
  • new switch: [EP::] ForceTerminalType=
  • new place holder for port notifications: %t for port type
  • experimental: better error recovery if multiplexed RTP sending fails

Please note that Radius support is disabled by default now. You can enable it with the --enable-radius switch when running configure.

Bug fixes:

  • fix bug in port detection with AllowSignaledIPsFrom=
  • when DNS name resolves to IP without alias, remove alias from ACF completely (Cisco interop)
  • remove RTP session 0 from internal tables once H.245 master has assigned a session ID
  • fix compilation of Avaya support
  • initialized cmsg struct to zero before using
  • fix regression introduced with MatchH239SessionsByIDOnly= switch






pe

GNU Gatekeeper 5.11 released

GNU Gatekeeper version 5.11 has been released.

Download: https://www.gnugk.org/h323download.html

This is a bug fix release with a few new features added.

An important bug in the handling of the ExternalIP switch has been fixed.

We also added a few features that make it easier to use GnuGk with Graphana and InfluxDB monitoring.

Changes and additions:

  • remove non-working command line switch -e / --externalip, use config file to set ExternalIP
  • new accounting variables %{registrations}, %{calls}, %{total-calls}, %{successful-calls}, %{allocated-bandwidth}
  • new switch [HttpAcct] Authorization= to send authorization headers to support InfluxDB
  • replace and in HttpAcct body with carriage return and line feed characters
  • new switch: [RasSrv::LRQFeatures] PreserveDestination=1 (helpful when calling Pexip servers)





pe

GNU Gatekeeper 5.12 released

 GNU Gatekeeper version 5.12 has been released.

Download: https://www.gnugk.org/h323downldad.html

This is a bug fix release with a few new features added.

Another important bug in the handling of the ExternalIP switch has been fixed as well as Y2K38 issues.

This release also adds features:

  • support for Oracle databases
  • easier cloud deployment with IP detection with STUN
  • better load scaling by mixing proxied with direct mode endpoints in a single gatekeeper
  • Windows 64bit executables with VS2022

Full list of changes:
  • enable more runtime hardening flags from OpenSSF recommendation 11/2023
  • fix bug with H.245 address when using ExternalIP= switch without H.460.18/.19
  • auto-detect public IP with ExternalIP=STUN and STUNServer=stun.example.com
  • compiler support for VS2022
  • new database driver for Oracle and new timestamp format 'Oracle'
  • new switch [EP::xxx] ForceDirectMode=1 to handle all calls from this endpoint in direct mode
  • BUGFIX(RasSrv.cxx, gkauth.cxx) make sure time_t is handled unsigned to avoid Y2K38 issue
  • BUGFIX(ProxyChannel.cxx) check for too small packets when acting as encryption proxy


 





pe

Long Term Life Tips: Top 5 Regrets People Make on their Deathbed

Long Term Life Tips: Top 5 Regrets People Make on their Deathbed:

An astonishing “top 5 list” blog comes to us via longtermtips and I’m pleased to say I’m pretty sure I won’t have any of these regrets when my time inevitably comes.

By Bronnie Ware (who worked for years nursing the dying)

For many years I worked in palliative care. My patients were those who had gone home to die. Some incredibly special times were shared. I was with them for the last three to twelve weeks of their lives.

People grow a lot when they…

Go read. It’s worth it. Then think on it.




pe

How I delayed at least 25,000 people's journey to work this morning

This is not an exciting story, despite the title. But it’s true. And it happens to dozens of people every day, and is the reason why getting to work in London can sometimes take so long.

First, let me explain that this is not a story of me causing a fire alarm to go off, for anti-terrorist police to close a station for half an hour, or some dramatic incident that has left TfL seeking an ASBO against me.

This is a story that starts with a strap of a backpack. This strap, in fact:

This morning I caught a tube from Baron’s Court on the District Line heading East. Normally I change at South Kensington for a Circle Line to Moorgate, or hop off at Mansion House and walk up to the office through the City. This morning I had decided to stay on the District line until Blackfriars, and change there for a Circle line. It’s a man’s perogative, etc.

The tube this morning was very busy. During the Olympics it has on the whole been very quiet, but this morning it was the normal 8:15-8:45am peak time crush. I was stood right next to the door at the very front of the train, crushed in by about 20 other souls attempting to share the exact same square foot I was stood on.

At Victoria, as is often the way for the District Line, a lot of hustling and bustling went on as people fought their way out to the platform, and others tried to struggle onto the train. After around a minute, the doors closed.

Except for the one next to me. Looking down, it was jammed on my bag strap.

Swearing, I attempted to free it. It was jammed solid because the hydraulic pressure of the door was pushing against it, but not with sufficient force for the door to close. The guy next to me tried to help. The guy on the platform waiting for the next train also tried to help. Neither of us could free it. Moving it simply led to the door moving along a bit, keeping the strap jammed.

Then the sound of hydraulics releasing was heard, all the doors on the train went to open, and the driver climbed out of the cab. The release of pressure had allowed me to unjam the strap, and recover it into the train. The driver confirmed we were all fine, climbed back into the cab, closed the doors, and off we went.

I apologised to those around me for delaying their journey, even though the total delay was perhaps 60-90 seconds.

Then realised everybody else on the train was delayed, too.

Then a thought about queuing theory and a little knowledge about how loaded that line is with train traffic at that time of the morning hit me: I had delayed tens of thousands of people.

Let me explain how I worked this out.

The District Line is composed of rather large gauge trains. I estimate that conservatively, each train is capable of shifting 2,000 people during peak times. There were certainly at least 2,000 people on my train this morning. Yes, they are only 6 carriages each, but each is certainly capable of holding nearly 350 people, and frequently does. I’m prepared to revise my numbers down if shown evidence.

In addition, the District Line platforms are not just used by the District Line. They’re also used by the Circle line between Gloucester Road and Tower Hill.

A glance at any “passenger information display” on a platform along this part of the network during rush hour will tell you the mean time between trains is 1 minute. There are close to 60 trains an hour going along that piece of track during rush hour.

Because my train was delayed for over a minute, this must have caused the train behind it to be given a red signal. This in turn would have caused the train behind that to be given a red signal, and so on. This buffer effect would be dampened beyond Gloucester Road going West, because the Circle and District lines diverge, giving more time for the red signals to switch to green, meaning scheduled trains would not have to stop in an unscheduled manner.

However, there would have been at least - I think - 5 trains affected by this delay in addition to my own. So we’re now up to 12,000 people in total delayed by my bag strap jamming a door.

It gets worse.

I changed at Blackfriars to a Circle line train. I got off the train I had delayed, waited 60 seconds on the platform and got on the Circle line train immediately following it, obviously now delayed. Cautiously making sure my bag was far from any doors, I boarded aware this train was now at least 2 minutes late against schedule.

Satisfied at the figure I had come up with of around 12,000 delayed passengers, I had assumed I had done no more damage, until we got to Aldgate.

The tube system has a tendency to expect passengers always want to be moving all of the time. Any delay of more than a minute or two at a station is always explained via an announcement. As we sat at Aldgate, the driver announced we were being “regulated” by a red signal. Looking out of the window, I could see an East-bound Metropolitan line train crossing our tracks to head across to East London.

That’s when it hit me. We were “out of position”. The train was a couple of minutes late, and so the guys running the switching had decided to give priority to the Metropolitan Line train, and we were held for approximately 4-5 minutes.

Whilst this part of the Circle line between Aldgate and Tower Hill was not as busy as the District/Circle line Tower Hill back West, a 4 minute delay was enough to ensure that the train behind us was going to be red signalled waiting for us to clear the platform.

That would be enough for the train behind that to be stopped.

And that would be enough for the train behind that to be stopped, which would probably be on the shared part of the network. That would be enough to cascade across the whole part of that line back to Gloucester Road, causing delays to perhaps 12 trains in total.

By now the numbers per carriage were down a little as we were close to the end of peak, but there was probably at least 1,000 people per train out there. Rounding up for the few more probably still around the Victoria area, and we’re up to 25,000 people.

There’s obviously some fudging here - people boarding trains at the “correct time” for them, did not realise the train they were getting was in fact the one after the one they had expected, and they did not suffer any delay. But I also suspect that this effect wasn’t dampened until after the peak ended at around 9:30am, and there were people who boarded their trains at 8:30am or before still out there (it can take 60 minutes easily to get from the “end” of a line into central London), whose journey had taken at least a few minutes longer than normal.

I doubt many noticed. I doubt anybody cares.

But it did make me think about how queueing theory applies to real world problems, and how when TfL moan about people keeping coats, bags and belongings clear of the doors, or jamming the doors to squeeze on rather than wait 6 more minutes for the next train, that they might have a point.

If you cause a train to be delayed, you are not simply inconveniencing the dozen or so people glaring at you in your vicinity. Or the people on the rest of the train who would glare at you if they could. But in fact, you have a cascade effect down the rest of the network. Tens of thousands of people delayed, because you didn’t want to wait 5 minutes. Or because you didn’t keep an eye on your belongings near the door.

I’ll certainly be more careful in future.

The next time I’m sat waiting for a signal to clear or am told that we are “being regulated”, I’ll wonder about whose bag or foot was to blame, and how the numbers of people flowing through London make butterflies flapping their wings on the network capable of huge cascading effects on transport infrastructure.




pe

"That's not a proper sport!" Oh yeah?

A couple of lovely people I know have suggested that some of the Olympic disciplines are not “proper sports”. This sentiment is one frequently echoed by compatriots of losers, stand-up comedians and miserable bastards the World over.

It has now seeped into the social consciousness and zeitgeist to the extent that many people mistakenly think “sports” are one thing - typified by physical endurance, stamina, or skill - and “games” are things anybody can do really, probably whilst having a pint at the same time.

Let’s put to one side that “the Olympics” are actually called “the Olympic Games” (or in French, “Jeux olympiques”), and just assume the “point” of the Olympics is to promote “sporting disciplines”.

Why do I feel certain that every single one of the Olympic disciplines is worthy of the name “sport”?

Even archery, which I reckon I could have a good bash at it with the right kit despite being a perfect example of how bad Guinness can be for your waistline, or boxing which is standing around and punching people when they didn’t even borrow that DVD off you in the first place.

Yes, I’d even include dressage where the horse is the one actually doing the moving about, whilst the “competitor” sits atop in a fine hat looking more English than a teapot in a red phone box (even when the competitor is French, which must be embarrassing for them).

All of these can be - and in the context of the Olympics, most definitely are - sports.

To explain, let’s just focus on what makes something nothing more than “a game”.

Any activity can be made into a game. All you need is a way to keep score and some rules to make sure the scores actually mean something. Staring at a wall: how long for without looking away? Making a cup of tea: judges could taste-test quality, or there could be speed trials. Having a nice sit down and a biscuit: how few crumbs can be counted on your lap afterwards?

Most games are obviously a bit more involved and preferably prefer people either getting naked or putting things onto a spring-loaded donkey (or both!), but the point is I could make a game out of writing this very post if I wanted. Or even this sentence. (4 words, 0.6 seconds, 100 words/minute, if you’re interested).

“Gamification” is a major social force in the web application industry right now, to the point where sitting in your office and pressing a button in an app on your phone can make you “Mayor”, which is why I don’t use FourSquare: I might become an annoying prat who asks for a third of a Londoner’s council tax to spend on bicycles and zip lines or whatever.

Games are obviously more fun when there is a degree of competition, and therefore the scores must be fairly comparable. You and I might decide to play pooh-sticks for example, and we will have a grand old time as I crush you and claim glorious victory and then we’ll go and get an ice cream or something. The fun is in me beating you without “cheating”. Or you usurping me and claiming a surprise victory, perhaps (like that’s ever going to happen, you fool), all whilst not kicking me in the head as I sing “We are the Champions”, etc.

This is a game: any activity at which there are some established rules allowing the participants to keep score, and where the point of the rules is to make different participants scores comparable with each other.

Cheating isn’t just “naughty” - it stops it becoming a game, because the scores are no longer comparable. If I turned up to pooh-sticks with laser-guided remote-controlled precision sticks with outboard motors on them, I can’t claim a fair victory when you’ve just picked up that stick with a leaf on it next to that weird moss on that rock, no not that one, that one over there, no, there you moron… yes, the bent one! 

Providing the game is fair then, I would argue that any game can become a sport. How? Other people caring about the outcome.

If whilst I am thrashing you at pooh-sticks, a small crowd appears and starts cheering one or the other of us on (hint: I’m very charismatic, they’ll be cheering for me mostly), then we have a sport. The number of people who care about the outcome or who want to have a go themselves determines how “sporting” it is. Once we start keeping World Records, or we meet regularly to do contest on a schedule we share with non-participants, and arrange ourselves into leagues, and perhaps start making money from the gullible fools who fawn in my pooh-stick abilities, then we have a moderately successful sport.

Sport is, I think, simply any game, where non-participants care about or are interested in the scores and who wins.

If the dressage, archery or boxing events at the Olympics, it’s pretty clear there were non-participants who cared about the outcome. In some cases, they really cared to the point where they flocked to Twitter, barely able to type through their blubbering tears about how wonderful and marvellous it is that somebody they’ve never met who happens to be considered by International Law to be a citizen of the same part of the World as them despite living 3,000 miles away, beat somebody who lives 300 miles away who they do not share such a close bond with due to them suffering the genetic disadvantage of being French.

So, here’s my cut-out-and-keep guide:

  1. In both games and sports, people keep score somehow
  2. In both games and sports, rules ensure the scores of different participants are fairly comparable
  3. In games only the participants care about the comparison, in sports there are non-participants who also care

If this still doesn’t make sense to you, think about what sports would become if nobody cared? Or even if the outcome wasn’t scored or measured? What exactly would those footballers be doing if nobody nobody cared about the score? What would the by doing if they didn’t bother keeping score? Just what is it that Usain Bolt would be proving by running really quickly if nobody was watching? Or some people were watching, but were not measuring how fast he was running?

So the next time you hear somebody say “that’s not a real sport”, despite there being a clear loyal following of non-participants, maybe point out that it might be an activity whose outcome they don’t care about, so that can mean it’s not a sport to them.

But to the participants and to their followers, and to the people around them, it is very much a sport. And what they’re saying is a smidge hurtful to all of them, even if it’s just pooh-sticks. So, you know, try not to say that. It makes you sound a little bit mean.




pe

Penalizaciones de los Buscadores al mal trabajo de Posicionamiento

El trabajo SEO en los primeros años de su desarrollo se caracterizó por el uso de diversas técnicas dirigidas a "engañar" a los robots de búsqueda. Esas técnicas fueron dejando de funcionar a partir del desarrollo de los robots de búsquedas que cada día son mas sofisticados y son capaces de detectar desde textos invisibles para el usuario hasta la existencia de textos no legibles por personas ...




pe

Acualización al Toolbar SEO Developers4Web

Publicada nueva versión de Developers4Web Seo Toolbar con funcionalidades para obtener el PageRank de los enlaces en una página, actualizaciones a la obtención del AlexaRank y otras mejoras.




pe

npm: Cannot read property ‘resolve’ of undefined

When developing software for Node.js, I use the n package manager to manage and switch between Node versions. Recently, I needed to update my installed Node version (9.2.1) to something more recent. I ran $ sudo n latest to install 13.1.0. But after the upgrade, npm installations stopped working. Any use of npm i would […]




pe

Free Pop Up Stopper

Computer running slow? Find out why it is and what you can do about it here.




pe

JabTV Presents - DNA Slot Machine featuring Britney Spears

Michael Jackson with Britney Spears legs! Oh my! It's the DNA slot machine, bet on mixing and matching celebrities DNA.




pe

कसरी हटाउने त pen drive तथा USB मा भएको hidden virus लाई antivirus बिना

कसरी हटाउने त pen drive तथा USB मा भएको hidden virus लाई antivirus बिना

हामीले फाइलहरु Share गर्ने क्रममा बिभिन्न खालका पेन द्रिवे तथा Memory Card हरु प्रयोग गरी रहेका हुन्छौ । त्यही Pen Drive
तथा मेमोरी कार्ड प्रयोग गर्ने
क्रममा हाम्रो कम्प्युटरलाई असर पर्ने धेरै खाले virus हरुले सताउने गर्दछन।

बिभिन्न प्रकारले सताउने virus हरु मध्ये hidden virus ले पनि सताई
राखेको हुन्छ हामीहरुलाई यो virus ले हाम्रो कम्प्युटरमा रहेको कुनै
पनि फाइलहरु लाई नदेखिने गरेर लुकाउन सक्दछ।

यस समस्याबाट हामीले कसरी छुट्कारा पाउन सकिन्छ भन्ने जिज्ञशा त सबै लाई नै लग्न सक्छ तर त्यो समस्यालाई हामीले सजिलै हटाउन सकिन्छ जबकी तल लेखिएका कुराहरुलाई follow गर्न्नु पर्ने हुन्छ।

1. सर्बप्रथम तपाईंले
कम्प्युटरको start button click गरी program मा गई notepad खोल्नु पर्ने हुन्छ|


2. तलक command line हरु टाईप गर्नु पर्नेछ ।
ATTRIB –H –A –R –S K:*.* /S /
DDEL K:*.LNKDEL K:*.VBSDEL K:
*.CMD
DEL K:*.BAT
DEL K:*.INF
DEL K:*.EXE
DEL K:*.JS
rd K:RECYCLER /S /Q
Exit


Note: यहाँ k भन्नाले तपाईंको USB Drive name हो|


3. यती टाईप गरी सकेपछी तपाईंले notepad मा टाईप गरेको फाइललाई एउटा नाम दियर navraj.exe लेखी तपाईंको कम्प्युटरको desktop मा save गर्नुहोश|


4. अब तपाईंले कुनै पनि हिद्देन विरुस समेतको उस्ब कम्प्युटरमा हाल्नु हुन्छ र desktop मा शेभ गरियको त्यस navraj.exe फाइल लाई double click गर्नु होस् यसो गर्दा navraj.exe
लेखेको फाइल active हुन गई USB रहेको Hidden virus लाई हटाई दिने काम गर्दछ।


यती गरेपछी तपाईंले USB
मा Hidden भएका फाइलहरु सजिलै सँग
हेर्न सक्नु हुनेछ|




pe

तपाईंको कम्प्युटरको Speed बढाउने १० Tips हरु

तपाईंको कम्प्युटरको Speed बढाउने १० Tips हरु

१. सर्बप्रथम कम्प्युटर खोल्ने बित्तिकै कुनै पनि Application चाँड चांडै नखोल्नुस्, पहिला राम्रो सँग PC लाई Bootup हुन
दिनुस्।

२. कुनैपनि Application बन्द गरी सके पछि आफ्नो Desktop लाई एक पल्ट
Refresh गर्नुस्| यसले
तपाईंको कम्प्युटरको Ram
मा जम्मा भएको Unused फाइलहरु Remove हुन्छ।

३. आफ्नो कम्प्युटरमा सके सम्म Wallpaper को Use नै नगर्नुस् र यदि गर्नुनै छ भने ठुलो साइजको Image लाई Use नगर्नुस् ।

४. आफ्नो Desktop मा धेरै
Unnessesary Shortcut हरुलाई नराख्नुस् र सके सम्म Desktop लाई Clean
नै राखनुस् । Desktop
मा फोटो तथा Music को फाइलहरुलाई पनि Save नगर्नुस्।

५. RecycleBin लाई बेला बेलामा Empty गरी राख् नुस्। तपाईंले Delete गर्नु
भएको फाइलहरु Recycle Bin मा जम्मा भई राखेको हुन्छ र तपाईंको कम्प्युटरको Harddrive को ठाउँ यसले लीइ राखेको हुन्छ।

६. Temporary Internet files लाई बेला बेलामा Delete गरी राखनुस् ।

७. आफ्नो कम्प्युटरलाई प्रत्येक २ महिनामा Defragment गर्नुस्। यसले तपाईंको कम्प्युटरको Harddrive मा धेरै
खाली ठाउँ बनाउछ र Program हरु Fast
चल्छन ।

८. आफ्नो कम्प्युटरलाई जहिले पनि २ वा २ भन्दा बढीमा partitions गर्नुस् र सके सम्म Software हरुलाई दोस्रो वा तेस्रो Drive मा Instal गर्नुस्। सके सम्म C Drive लाई खाली नै राख् नुस् ।

९. जब तपाईंले नयाँ Software हरु Install
गर्नु हुन्छ त्यो Software को Tray Icon लाई Disable गर्नुस्, यि Icon
हरुले तपाईंको कम्प्युटरको RAM को Use गरी राखेका हुन्छन र कम्प्युटर Slow हुन सक्छ र Software का starting the application automatically Option
लाई पनि Disable गर्न नभुल्नु होला । यस्ता Option हरुलाई तपाइले
software हरु Install गरी सके पछि उक्त Software को Tools मा गएर पनि Disable गर्न सक्नु हुन्छ।

१०. आफ्नो कम्प्युटरलाई धुलो बाट पनि सके सम्म बचाउनुस्, किन भने धुलोले
तपाईंको कम्प्युटरका Cooling Fan हरुलाई जाम गरी दिन सक्छ यसले कम्प्युटर अनावश्यक रुपमा तातो हुन सक्छ र कम्प्युटर
Slow Down हुन सक्छ ।

यि १० वटा साधारण Tips हरुलाई बिचार पुर्याउनु भयो भने तपाईंको कम्प्युटर तुलनात्मक रुपमा पहिले भन्दा धेरै Speed
मा चल्न सक्छ। "




pe

Texas Buyer Inspection Deadline to Move to 5PM Instead of Midnight

One of the more vexing and frustrating aspects of managing a Texas real estate transaction is what we agents call “clearing the Option Period”. The Option/Inspection Period is the agreed upon number of days during which a Buyer can unilaterally terminate the purchase contract. It’s usually 5-10 days. The buyer doesn’t need a reason. It’s a straight up right to terminate, for which the seller is paid a nominal fee, usually less than $500. The problem is that, per the current contract language, a 7 day Option Period ends at midnight on the 7th day. I don’t know about you, but whether you’re a buyer, seller or agent, none of us like being up at 11:45PM waiting for an Amendment and wondering if the deal is going to crater. It’s one of the stupidest things we do, and nobody likes it, but it happens repeatedly. A proposed change to the ... Read more




pe

Some Perspective on Rental Property Cash Flow Disruption

About a year ago, Sept 2014, during a violent Austin thunder storm, a rental property I personally own in SW Austin was struck by lightening and caught fire in the attic. As the thunderous flash of light, noise and immediate smoke jolted the tenant out of bed at 2:30AM, he quickly realized that he was standing in water. The home was flooding, and also on fire, simultaneously. Wow! Wake up!! His elderly mother was visiting and he was able to get her and his son out quickly as the house filled with smoke. Then he called 911. Then me. I showed up around 3:15AM, sloshed through about 18 inches of water at my driveway, as about 6 firetrucks were on the scene. It was an apocalyptic scene, like out of a movie. But everyone was ok, and the fire was contained to mostly the attic and three bedrooms. But the ... Read more




pe

Understanding the Recent NAR Commissions Lawsuit: A Realtor’s Perspective

The recent lawsuit involving the National Association of Realtors (NAR) and subsequent news coverage have sparked significant discussion within the Realtor community. I’d like to take this opportunity to share my perspective on the home buying and selling process, how Realtors are compensated, and the concept of ‘Uncompensated Effort.’ Realtors earn what is known as a ‘Success Fee.’ Essentially, we provide all our services for free until the transaction is closed and funded, at which point we receive a commission. Efforts that do not result in a closing are what I call ‘Uncompensated Effort.’ Every Realtor incurs this overhead, and it’s an integral part of a system that benefits consumers. Both buyers and sellers appreciate this system because it allows them to access services at no cost, even if they never purchase a home or their property doesn’t sell. For example, a buyer might contact an Austin Realtor based on ... Read more




pe

Landlords and Property Managers Rejoice!

The Supreme Court’s recent decision to strike down the “Chevron decision” heralds what could be the end of the absurd Emotional Support Animal (ESA) scams that have plagued landlords and property managers since HUD administratively stretched Fair Housing laws to include anyone claiming “anxiety” or “whatever”. This administrative rule—not a law—created a loophole that tenants have widely exploited. By purchasing a bogus $50 “doctor’s note” online, tenants can present themselves as “disabled” applicants and scare landlords and Property Managers into granting their “request for reasonable accommodation” for their 100-pound pit bull, under threat of a HUD lawsuit for “discrimination.” We are not talking about legitimate Service Animals, such as seeing-eye dogs for the blind or extensively trained PTSD alert dogs for combat veterans. Those are 100% legitimate disabilities and those specially trained animals should never be declined by any landlord, under actual law. Instead, we’re addressing self-proclaimed “disabled” tenants who ... Read more



  • Austin Real Estate

pe

Opencart – Gereksiz Kargo ve Ödeme Metodlarının Silinmesi

Uzun süredir ilk defa teknik bir konu paylaşıyorum. Yakın zamanda Opencart ile ilgilenmeye başladım. Sıfır kurulum Opencart’ta Türkiye ile uzaktan yakından alakası olmayan bir sürü modül ve eklenti geliyor. Eğer […]

The post Opencart – Gereksiz Kargo ve Ödeme Metodlarının Silinmesi first appeared on Amerikada Birgün.




pe

US Administration Purchases 4.65 Million Barrels of Crude Oil for Strategic Petroleum Reserve

In July 2024, the Biden-Harris administration made a significant move to bolster the United States’ energy security by purchasing 4.65 million barrels of crude oil for the Strategic Petroleum Reserve (SPR). This acquisition is part of a broader effort to replenish the SPR, which had been significantly drawn down in response to the global energy crisis triggered by the Russian invasion of Ukraine in 2022. The U.S. Department of Energy (DOE) confirmed that this latest purchase brings the total amount of crude oil secured for the SPR to over 40 million barrels since the administration began its replenishment efforts. The DOE has been able to procure this oil at an average price of $77 per barrel, which is nearly $20 less per barrel than the average sales price during the emergency releases in 2022. This strategic purchasing not only ensures a good deal for American taxpayers but also maintains the operational readiness of the SPR. Energy Secretary Jennifer Granholm emphasized the administration’s commitment to safeguarding the nation’s energy security while securing favorable terms for taxpayers. She noted that the DOE has successfully accelerated the return of nearly 5.5 million barrels initially slated for later in the year, further maximizing the...




pe

Europe Faces Negative Power Prices Amid Renewable Energy Surge

In recent months, Europe has witnessed a surprising and significant economic event: negative power prices. This phenomenon, where electricity producers must pay consumers to take their power, has raised eyebrows across the continent. While it may seem counterintuitive, negative power prices are a direct result of the evolving energy landscape, particularly the rise of renewable energy sources. Understanding Negative Power Prices Negative power prices occur when electricity supply far exceeds demand. This situation often arises during periods of low consumption, such as weekends or holidays, combined with high levels of electricity generation. In such cases, power producers, unable to store excess energy, must pay consumers or other utilities to absorb the surplus. This is especially common in countries with a large share of renewable energy, where generation can be unpredictable. The Role of Renewable Energy Renewable energy, particularly wind and solar, has played a pivotal role in driving negative power prices. Europe has been at the forefront of the transition to green energy, with substantial investments in wind farms and solar panels. However, these energy sources are inherently variable—wind patterns fluctuate, and solar power is contingent on daylight and weather conditions. On particularly windy or sunny days, renewable energy production...




pe

Libya’s Oil Industry in 2024: Challenges and Prospects

In 2024, Libya’s oil industry is navigating a complex landscape marked by both significant challenges and promising opportunities. The Libyan National Oil Corporation (NOC) has set ambitious goals to increase production capacity to two million barrels per day within the next three to five years. Currently, the country produces approximately 1.3 million barrels per day, with plans to boost this by an additional 100,000 barrels per day by the end of the year. Despite these aspirations, Libya’s oil sector continues to grapple with political instability. The country faces ongoing clashes between rival governments, which have historically disrupted oil production and exports. In recent years, these conflicts have led to the shutdown of key oil fields and ports, severely impacting the nation’s oil output and revenues. However, there are signs of recovery and growth. The NOC is preparing to launch its first oil and gas licensing round in nearly two decades, aiming to attract international investment and revitalize exploration activities. This initiative is part of a broader strategy to enhance production and reduce the burning of associated gas by 83% by 2030. Additionally, Libya is making strides in infrastructure development. A notable project is the $600-million oil refinery near the El...




pe

An Unexpected Benefit of Online Casinos in Brazil: Supporting the Energy Sector

In a surprising turn of events, the Brazilian government has found a new ally in its fight against inflation and energy challenges: online casinos and crash games, like Aviator operators. By introducing additional taxes on these rapidly growing sectors, the government aims to channel the revenue into critical areas of the economy, including the burgeoning green energy sector. This strategy not only addresses economic stability but also aligns with Brazil's long-term commitment to sustainable development.




pe

1997 Peugeot Speedfight 50cc LC from Portugal





pe

New online property marketing blog launched by Web Certain

Web Certain brings a new facility to online property marketers - news from around the web relating to property marketing - enjoy!




pe

New blog provides service to property buyers in Suffolk

Suffolk estate agents, Bychoice, have incorporated a Suffolk property marketing blog into their range of services. The blog discusses all news which could impact on property values - or on the issues which affect property buyers and sellers.




pe

SnippetComposer 1.0.1

SnippetComposer is for folks who know some HTML and want a way to quickly compose HTML snippets, for example, for posting to online forums.

Type or paste HTML in the top input box and SnippetComposer will show the rendered HTML in the bottom box. When you are ready, click the C button to copy your HTML to the pasteboard. Click X to clear the input fields.

New in Version 1.0.1:

- Fixed trailing newline issue when copying data to the clipboard (thanks Ben Kazez!)




pe

Newfangled Telegraph is open for business!

I am officially a freelancer, doing business as Newfangled Telegraph. If you need a widget developed, now is the time to contact me!




pe

PHPfr is now open-source!

I am excited to announce that PHP Function Reference is now open source, under the the New BSD License. The project is being hosted on Google Code and I have a discussion forum set up here for it as well. So far, three individuals have stepped forward to contribute to the project: Kelly Patrick Robinson was first in line at the opening of the Albuquerque Apple Store and adds to his list of conquests as first to join PHPfr; Nelson Darkwah Oppong, creator of the Fire ftp widget, is a programmer and graphic designer from Germany; and Barbara Napholtz, a longtime, paid user of PHPfr has agreed to do quality assurance testing on the widget. I am hopeful that with this infusion of talent we will finally be able to push PHPfr to a stable, 1.0 release. Thanks Kelly, Nelson, and Barbara for joining!




pe

Crafting the Perfect Colour Palette for Your Electrician Website

In the digital age, your website serves as the storefront of your business, creating the first impression for potential clients. It’s crucial to design it thoughtfully, ensuring it reflects your brand identity and appeals to your target audience. One of the key elements of web design is choosing the right colour palette, and for an […]

The post Crafting the Perfect Colour Palette for Your Electrician Website appeared first on MonstersPost.




pe

Body Pump 63 Sneak Peak (shhh!)

Here's the latest buzz floating around about Body Pump 63, due out to instructors this September:
  • Chest - Famous Last Words by My Chemical Romance (video)
  • Triceps - Pullovers are back again, and from what we can tell it's Faster Kill Pussycat by Paul Oakenfold feat. Brittany Murphy (video)
  • Biceps - Feature mid-range partial curls - sounds like a fast one to us
  • Lunges - Introduce the use of a new single plate move to a remix of Loleatta Holloway's Love Sensation '06 (video)
  • Shoulders - Freestylers are back with Fast Life
  • Abs - A new prone bar roll option is featured for hovers
Rock on!




pe

Body Pump 67 Sneak Peek

The latest buzz floating around about Body Pump 67 (due out to instructors this September) reveals a very listenable tracklist. Notable artists: Finger Eleven, P!nk, and Aerosmith, not to mention a teamup between Bon Jovi and Big & Rich on the Biceps track (remember Save a Horse, Ride a Cowboy). E-Type returns for (you guessed it) Back and Hamstrings, and the Abs track features a tantalizing plank crunch maneuver. Want more details? Check out fellow blogger Patrick's Body Pump 67 sizzler post (which includes YouTube links), or the this underground tracklist...




pe

More Study Desperately Needed

Editorial rebuttal of Garuda dasa's article, "More Gurus Desperately Needed".




pe

Putting Things in Perspective

A response to Prahlada Maharaja dasa.




pe

Srila Prabhupada and the Aquarian Gospel

Srila Prabhupada's comments on the Aquarian Gospel.




pe

Kamperen – Llanos de la pez

Ongeveer twee jaar geleden hebben we twee YouTubers ontdenkt die leuke inspirerende fimpjes maken. De eerste is ‘Bald and bankrupt‘, die hele leuke filmpjes maakt, met een beetje een educatieve ondertoon. De video die we van hem het leukst vinden … Lees verder




pe

Kamperen en filmen – Weer wat geleerd

Mijn eerste filmpje waar ik zelf op de voorgrond stond heeft flink wat commentaar opgeleverd. Ik heb er ook flink wat van geleerd. De volgende zaken werden me al direct duidelijk tijdens en na het filmen. – Batterijen. Flink wat … Lees verder




pe

May 09 2009 New Art of Radio Hawaii Competition Now open Worldwide - Enter to Win!!

We continue our celebrations of 50 years of Hawaii statehood with another great retro radio competition open worldwide. It is easy to enter...




pe

May 26 2009 Long Lost Radio History Image - Radio Rhema Experiments

Over the Christmas - New Year period of 1976-77, Radio Rhema broadcast an experimental 10 day short-term AM program from Ferrymead Historic Park, Christchurch, New Zealand...




pe

May 30 2009 Wavescan Column by by Adrian Petersen - American Radio Stations in Australia - 4QR

Here you'll find a very interesting entry regarding the American usage of a radio broadcasting station in Australia....




pe

May 30 2009 Wavescan Column by by Adrian Petersen - Radio Balikpapan Kalimantan

Now, in assessing the available information, we would suggest that the Dutch colonial authorities took over both of the radio stations in Balikpapan from the Australian army...