haltcondition.net Halt Condition

Title: Halt Condition
Description: Halt Condition Home Menu Halt Condition Realtime updates from Postgres to Elasticsearch Posted by tarka on April 10, 2014 No comments Recently I’ve been evaluating elasticsearch, and more specifically
haltcondition.net is ranked 9422759 in the world (amongst the 40 million domains). A low-numbered rank means that this website gets lots of visitors. This site is relatively popular among users in the united states. It gets 50% of its traffic from the united states .This site is estimated to be worth $813. This site has a low Pagerank(0/10). It has 1 backlinks. haltcondition.net has 43% seo score.

haltcondition.net Information

Website / Domain: haltcondition.net
Website IP Address:
Domain DNS Server: b.dns.gandi.net,a.dns.gandi.net,c.dns.gandi.net

haltcondition.net Rank

Alexa Rank: 9422759
Google Page Rank: 0/10 (Google Pagerank Has Been Closed)

haltcondition.net Traffic & Earnings

Purchase/Sale Value: $813
Daily Revenue: $2
Monthly Revenue $66
Yearly Revenue: $813
Daily Unique Visitors 205
Monthly Unique Visitors: 6,150
Yearly Unique Visitors: 74,825

haltcondition.net WebSite Httpheader

StatusCode 200
Content-Type text/html; charset=UTF-8
Date Mon, 08 Aug 2016 04:54:24 GMT
Server Apache/2.4.10 (Debian)

haltcondition.net Keywords accounting

Keyword Count Percentage

haltcondition.net Traffic Sources Chart

haltcondition.net Similar Website

Domain Site Title

haltcondition.net Alexa Rank History Chart

haltcondition.net aleax

haltcondition.net Html To Plain Text

Halt Condition Home Menu Halt Condition Realtime updates from Postgres to Elasticsearch Posted by tarka on April 10, 2014 No comments Recently I’ve been evaluating elasticsearch, and more specifically how to get data into elasticsearch indices from source-of-truth databases. elasticsearch is sometimes lumped in with the general NoSQL movement, but it’s more usually used as secondary denormalised search system to accompany a more traditional normalised datastore, e.g. an SQL database. The trick with this pattern is getting the data out of the master store and into the search store in an appropriate timeframe. While there is already a mechanism for updates from SQL databases in the form of the JDBC river (‘rivers’ being the elasticsearch external data-feed mechanism); this operates by polling the database intermittently to retrieve any new or updated data. This is fine, and sufficient for most applications (e.g. an online storefront). However some of the systems I work on are less tolerant of delay (and as a rule I prefer event-based systems to polling), so I was curious to see if it’s possible to implement event-driven updates from PostgreSQL that would propogate to the search cluster immediately. tl;dr: It is, but requires some non-standard components; the steps required are described below, and a proof-of-concept test implementation exists. Also, this mechanism is not elasticsearch specific, so could be applied to other secondary datastores (e.g. an Infinispan cache grid). The basic idea behind this is pretty simple; we can use SQL triggers and PostgreSQL’s notify extension to tell a dedicated gateway server that a change has occurred. notify/listen updates occur asynchronously, so this doesn’t block the Postgres trigger procedure. The gateway then reads the changed data and injects it into the elasticsearch cluster. The first problem with this concept is that I’m working on a JVM platform, and the PostgreSQL Java driver doesn’t actually support asynchronous updates via notify. It instead requires you to poll the server for any new notifications, effectively negating the benefits of using notify. In fact, the driver doesn’t support a lot of newer Postgres features such as multi-dimensional arrays. However while searching for possible workarounds for this I came across an alternative Java driver that attempts to fix the deficiencies in the current one, including adding true asychronous notifications. The second issue with this concept is that notifies are not queued; so if the gateway server is down for any period of time updates will be lost. One possible workaround is to maintain a modified column on the tables and read any newer entries on gateway startup. This is fine for simple data-models, but for more hierarchical data this rapidly becomes a maintenance pain (as child tables may need to trigger an update from the parent tables). The workaround for this is to implement an intermediate staging table that stores references to updated data; on each update the gateways reads from it and then deletes the reference; on startup it is read for any unretrieved references that occurred during downtime. So the final workflow looks like: Create a trigger against any tables that need to be pushed to the search cluster on modification The trigger calls a function that add a reference to the staging table, then raises a notification with that reference as the payload. On notification the gateway reads referenced data, pushes it to the search cluster and then deletes the reference in the staging table. This should be done in a transaction to avoid loss of references in case of a crash. On startup the gateway performs a read/update of any outstanding references from the staging table and then deletes them. As a test of the principles I’ve implemented a Clojure-based proof-of-concept project that will propogate changes between a PostgreSQL server and an ElasticSearch cluster in > sysctl.conf echo net.ipv6.conf.default.use_tempaddr=2 >> sysctl.conf Then reboot your phone. Mac OS X As of 10.6.7 temporary addresses are disabled. Enabling them is similar to the Linux method: sudo sysctl -w net.inet6.ip6.use_tempaddr=1 echo net.inet6.ip6.use_tempaddr=1 | sudo tee -a /etc/sysctl.conf iPhone/iPad This security advisory implies that iOS 4.3 has this enabled by default. For older releases you’re probably out of luck though. Window XP/Vista/7 IPv6 temporary addresses seem to been enabled by default; if you can confirm please comment. Haltcondition: Now in IPv6 (where available) Posted by tarka on February 5, 2011 1 comment Well, as of Friday the 4th of February 2011 IANA is officially out of IPv4 addresses. It’s now up to the regional registries to dole out the remaining addresses as they see fit, which will be increasingly sparingly. To celebrate the beginning of the end of IP as we know it, Haltcondition.net is now available over IPv6: haltcondition.net -> dual IPv4/IPv6 version ipv6.haltcondition.net -> IPv6 only version I’ve also added an IPv6 detection widget on the right, courtesy of Patux. The IPv6 connectivity is provided by a Hurricane Electric tunnel to my Linode box; the fact that I even need to use a tunnel at a professional hosting site is sign of how painful the next couple of years are going to be. Luckily my ISP are currently trialling consumer-level IPv6, so I can at least test the site. However at this point setting up IPv6 in the home is far from simple; I had to convert from DD-WRT to OpenWRT on my router and do a lot of manual configuration to get an end-to-end connection. It’s going to be a painful transition. Update: Linode have announced provisional support for IPv6, so this blog is now native end-to-end if your ISP has support. The Linode setup is a bit odd (they only provide a single IP rather than the usual /64) but appears to work. One of the more intriguing speculations doing the rounds is that Linode rolled this out early as Slicehost are gearing up for IPv6 as they transition into Rackspace’s cloud. If so this is promising, as I hadn’t expected IPv6 to be product differentiator for some time. XBMC on the Giada N20 Posted by tarka on December 30, 2010 24 comments We finally updated our old CRT TV to a shiny new 1080p LCD/LED TV. Unfortunately this meant the end-of-life of my trusty hacked v1 XBox, which served as our HTPC via XBMC. The XBox won’t do 1080p though, and realtime decoding of HD x264 requires dedicated hardware such as the NVidia ION chipset. I originally planned on getting a Boxee Box, but initial reviews were disappointing. I considered building my own rig; there are some nice fanless Intel Atom mini-itx boards out there, but then I saw mention of the Giada N20 on Whirlpool. The N20 is an Atom D525 with an GT218-ION chipset, 2GB of RAM, a 320GB HDD, Gigabit LAN, 802.11N, and the clincher; a built-in IR remote. In short, it’s a near-perfect HTPC; the only thing missing is a blu-ray drive, but as the TV came with a free PS3 I didn’t need or want one. Out of the box the N20 comes installed with Ubuntu and XBMC; however it’s a very grab-bag install; there’s a lot of additional cruft on the system, whereas a HTPC should be cut-down to boot fast and ‘just work’. I was going to roll my own Ubuntu-based install, but after quick trial of the XBMC-Live distribution I was so impressed I went with that as-is. XBMC-Live is Ubuntu-based anyway (10.04/Lucid LTS) so is highly customisable, but has some nice polish such as an XBMC boot-splash. Despite the name it installs straight to the HD. It mostly works out of the box but requires a few tweaks to get the most out of it, so here’s a step-by-step run-through. Installing XBMC-Live To do the install you’ll need the following: A USB drive; a 2GB thumb-drive should be plenty The XBMC-Live image from here UNetbootin A live internet connection A wired ethernet connection (as wireless doesn’t work during the install) A USB keyboard for the install phase To do the install, back-up anything you want from the original distribution and then: Burn the XBMC-Live image to the USB drive using UNetbootin (Ubuntu’s USB drive creator doesn’t appear to like the image). Plug in the ethernet, keyboard and USB drive, then start the N20. When the splash screen shows press Delete to bounce to the BIOS Change the boot order to boot the USB drive first, save the config and reboot; XBMC-Live should now start If you wish you can now boot into the Live XBMC and play-around To do a full install, reboot and select install during the startup The installer is the Ubuntu text-based one; instructions for using it are on the Ubuntu wiki but the defaults are fine for most users On completion you will have a mostly-working XBMC installation, including traditional problem areas such as power-on by remote. Suspend/hibernate work out of the box, but with a ~1 minute boot-up from power-on to a responding system I haven’t found them necessary. But a few tweaks are needed to get the most out of the system … HDMI Audio To get XBMC fully working over HDMI the following tweaks are required: In System Config->System Settings->Audio Setting change the following: Set Audio Output to HDMI Unset “Device is DTS Capable” Set Audio Output Device to “HDA NVidia HDMI” Set Audio Passthrough Device to “HDA NVidia HDMI” This will get audio working for playback. However the menu feedback sounds do not work; this is because the analog output is the default and XBMC doesn’t appear to use the audio device setting above for UI sounds. This can be worked-around by changing the default in ALSA; simply create the file /etc/asound.conf (or ~/.asoundrc) and add the following: pcm.!default { type plug slave { pcm "hw:1,3" } } (“hw:1,3” is the HDMI device, found by getting the device list with ‘aplay -L’; see the ALSA docs for details.) Enabling more keys on the remote The IR receiver is interesting, in that it doesn’t interact with IRDA, but appears to the system as a keyboard/mouse combo. By default XBMC expect IRDA/Lirc events; it’s technically possible to turn these keypresses into events, but it’s easer to just tell XBMC to use it as a keyboard: Go to System Config->System Settings->Input Enable “Remote Control sends keyboard presses” Disable “Enable Mouse” This gets the core buttons working, including power on/off. One unsolved problem is that some of the more specialised buttons don’t work. This is more than a case of mapping buttons; as far as I can tell many of them don’t even register as events in the Linux subsystem. I’ll need to look into this some more. Configuring wireless The N20 has an Atheros AR9285 chip; this is fully supported with the ath9k driver out of the box. Ubuntu normally controls networking via NetworkManager but that is not installed with XBMC-Live. However we can fall-back to the powerful but less user-friendly Debian interfaces method: Edit /etc/network/interfaces Add the following lines: auto wlan0 iface wlan0 inet dhcp wpa-ssid YOURNETWORKSSID wpa-psk YOURNETWORKPASSWORD Do ‘sudo ifup wlan0’ to bring the wireless network up Extra tweaks Adding Add-Ons The latest version of XBMC supports ‘add-ons’, which enable extra functionality. While there are only a few official add-ons, there are a number of unofficial repositories that supply 3rd-party modules. For Australian users the ‘Catchup TV’ repository adds support for the various online channel streaming TV services, including ABC’s iView. It’s also worth reiterating that this is a dual-hyperthreaded machine, equivalent to a high-end workstation just a few years ago, and has access to the full Ubuntu software repositories. As such it is more than capable of running the full suite of P2P and download apps in the background with no effect on playback performance. Personally I use a Sabnzbd/Sickbeard combo to automatically download US current-affairs programs that are otherwise unavailable in Australia. Removing the stand The N20 is designed to be used upright on a (surprisingly sturdy) stand. This didn’t fit into my TV cabinet, but just laying it down didn’t seem like a good idea as it would partially block the air intake. However I found some small stick-on ~1cm feet at Jaycar that gave it sufficient height for decent airflow. To-dos and other possibilities As mentioned above, there are a number of buttons on the remote that would be useful to have but don’t show-up in XBMC. This may be a Linux or Xorg driver-level question, but I need to investigate further. As well as supporting power-on via the remote, the Giada BIOS has support for Wake-on-LAN; this would be useful for remote administration but I haven’t played with it yet. It turns out I was wrong about this; the N20 doesn’t have WOL. While I’m happy with the system as-is, it would be nice to have the option to modify the system at a later date (such as adding an SSD for even faster boot-times). But case looks well-sealed, but it should be possible to get it open some-how. Update: See the comment by Rich below about opening the case and replacing the drive. Next page ? RSS Feed Follow me on twitter. Facebook Google+ IPv6 detectorStill using IPv4? IPv4 exhaustion IPv4 address allocationShow stats Hide stats This server has received 2752520 hits from both ipv4 and ipv6. IPv4 99.2% IPv6 0.8% Code Bitbucket GitHub Posts Elsewhere Amplify your CI workflow with Git Clustering Cisco routers with VRRP and SLAs Getting Emacs and IntelliJ to play together HAMS 3.0 – Transaction boundaries HAMS 3.0 – Transactions, atomicity and credit-cards On-demand activation of Docker containers with systemd Organic code reviews for a billion-dollar order system Practical continuous deployment ShipIt V – Sieve mail processing for JIRA Subversion replication at Atlassian Understanding git's –force-with-lease Copyright ? 2016 Halt Condition | Powered by zBench and WordPress ↑ Top This blog is protected by Dave\\\'s Spam Karma 2: 408742 Spams eaten and counting...

haltcondition.net Whois

Domain Name: haltcondition.net
Registry Domain ID: 674001275_DOMAIN_NET-VRSN
Registrar WHOIS Server: whois.gandi.net
Registrar URL: http://www.gandi.net
Updated Date: 2015-10-18T16:00:48Z
Creation Date: 2006-11-17T07:09:09Z
Registrar Registration Expiration Date: 2018-11-17T07:09:09Z
Registrar: GANDI SAS
Registrar IANA ID: 81
Registrar Abuse Contact Email: abuse@support.gandi.net
Registrar Abuse Contact Phone: +33.170377661
Domain Status: clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited
Domain Status:
Domain Status:
Domain Status:
Domain Status:
Registry Registrant ID:
Registrant Name: Steve Smith
Registrant Organization:
Registrant Street: 8 Darley Street
Registrant City: Newtown
Registrant State/Province: New South Wales
Registrant Postal Code: 2042
Registrant Country: AU
Registrant Phone: +61.2438800188
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email: f46603f0f54568c766fc92cff398ac8d-1400559@contact.gandi.net
Registry Admin ID:
Admin Name: Steve Smith
Admin Organization:
Admin Street: 8 Darley Street
Admin City: Newtown
Admin State/Province: New South Wales
Admin Postal Code: 2042
Admin Country: AU
Admin Phone: +61.2438800188
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email: f46603f0f54568c766fc92cff398ac8d-1400559@contact.gandi.net
Registry Tech ID:
Tech Name: Steve Smith
Tech Organization:
Tech Street: 8 Darley Street
Tech City: Newtown
Tech State/Province: New South Wales
Tech Postal Code: 2042
Tech Country: AU
Tech Phone: +61.2438800188
Tech Phone Ext:
Tech Fax:
Tech Fax Ext:
Tech Email: f46603f0f54568c766fc92cff398ac8d-1400559@contact.gandi.net
Name Server: A.DNS.GANDI.NET
Name Server: B.DNS.GANDI.NET
Name Server: C.DNS.GANDI.NET
Name Server:
Name Server:
Name Server:
Name Server:
Name Server:
Name Server:
Name Server:
DNSSEC: Unsigned
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2016-06-18T02:30:44Z <<<
For more information on Whois status codes, please visit
Reseller Email:
Reseller URL:
Personal data access and use are governed by French law, any use for the purpose of unsolicited mass commercial advertising as well as any mass or automated inquiries (for any intent other than the registration or modification of a domain name) are strictly forbidden. Copy of whole or part of our database without Gandi's endorsement is strictly forbidden. 
A dispute over the ownership of a domain name may be subject to the alternate procedure established by the Registry in question or brought before the courts. 
For additional information, please contact us via the following form: