INSERT INTO sites(host) VALUES('') 1045: Access denied for user 'www-data'@'localhost' (using password: NO) Estimated Worth $56,213 - MYIP.NET Website Information
Welcome to!
 Set MYIP as homepage      


Web Page Information

Meta Description:
Meta Keywords:
sponsored links:
sponsored links:

Traffic and Estimation


Website Ranks

Alexa Rank:
Google Page Rank:
Sogou Rank:
Baidu Cache:

Search Engine Indexed

Search EngineIndexedLinks

Server Data

Web Server:
IP address:    

Registry information

ICANN Registrar:
Name Server:
Whois Server:

Alexa Rank and trends

Traffic: Today One Week Avg. Three Mon. Avg.
Unique IP:

More ranks in the world

Users from these countries/regions

Where people go on this site

Alexa Charts

Alexa Reach and Rank

Whois data

Who is at


Registry Domain ID: 246592933_DOMAIN_COM-VRSN

Registrar WHOIS Server:

Registrar URL:

Updated Date: 2016-10-29T04:21:02Z

Creation Date: 2005-11-04T06:58:50Z

Registry Expiry Date: 2017-11-04T06:58:50Z

Registrar: Dynamic Network Services, Inc

Registrar IANA ID: 1040

Registrar Abuse Contact Email: abuse

Registrar Abuse Contact Phone: +1 (603) 296-1595

Domain Status: clientTransferProhibited

Domain Status: clientUpdateProhibited

Name Server:

Name Server:

Name Server:

Name Server:

DNSSEC: unsigned

URL of the ICANN Whois Inaccuracy Complaint Form:

>>> Last update of whois database: 2017-08-11T03:13:36Z <<<

For more information on Whois status codes, please visit

The expiration date displayed in this record is the date the

registrar's sponsorship of the domain name registration in the registry is

currently set to expire. This date does not necessarily reflect the expiration

date of the domain name registrant's agreement with the sponsoring

registrar. Users may consult the sponsoring registrar's Whois database to

view the registrar's reported date of expiration for this registration.

You are not authorized to access or query our Whois

database through the use of electronic processes that are high-volume and

automated except as reasonably necessary to register domain names or

modify existing registrations; the Data in VeriSign Global Registry

Services' ("VeriSign") Whois database is provided by VeriSign for

information purposes only, and to assist persons in obtaining information

about or related to a domain name registration record. VeriSign does not

guarantee its accuracy. By submitting a Whois query, you agree to abide

by the following terms of use: You agree that you may use this Data only

for lawful purposes and that under no circumstances will you use this Data

(1) allow, enable, or otherwise support the transmission of mass

unsolicited, commercial advertising or solicitations via e-mail, telephone,

or facsimile; or (2) enable high volume, automated, electronic processes

that apply to VeriSign (or its computer systems). The compilation,

repackaging, dissemination or other use of this Data is expressly

prohibited without the prior written consent of VeriSign. You agree not to

use electronic processes that are automated and high-volume to access or

query the Whois database except as reasonably necessary to register

domain names or modify existing registrations. VeriSign reserves the right

to restrict your access to the Whois database in its sole discretion to ensure

operational stability. VeriSign may restrict or terminate your access to the

Whois database for failure to abide by these terms of use. VeriSign

reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and


Front Page Thumbnail

sponsored links:

Front Page Loading Time

Keyword Hits (Biger,better)

Other TLDs of markshroyer

TLDs Created Expires Registered

Similar Websites


Search Engine Spider Emulation

Title:mark shroyer, dot com | this is where I keep my things
mark shroyer, dot com | this is where I keep my things
Site Navigation
Search for:
Debugging the OpenBSD kernel via QEMU
January 4, 2013 ndash; 12:03 am
Recently I had to track down a minor bug in the OpenBSD kernel. I tapped QEMU and GDB as debugging tools for the task, running on Ubuntu 12.04 as the host OS. This combination worked extremely well, so for the record here #8217;s how I set it all up.
OpenBSD comes equipped with two kernel debugging mechanisms: ddb and kgdb. ddb(4) is an in-kernel debugger, enabled by default in the GENERIC kernel, and can be invoked either explicitly from the console or automatically in the event of a panic. It is analogous to the Linux debugger kdb in that it can be used to set breakpoints and examine the stack or register state, but (like kdb) it is not a source-level debugger.
For source debugging there is kgdb(7), which offers the ability to remotely debug the kernel by way of a GDB stub running over a serial port; this is similar to the Linux debugger kgdboc. However, kgdb it is not available in the GENERIC kernel, and it imposes an additional set of configurations and debugger latencies on the user. If your debugging task is amenable to running OpenBSD within a virtual machine, as mine was, then there is an easier and better way #8230;
Continue reading rarr;
Posted in Computers, Unix | 5 replies
Keyboard navigation in Emacs GDB mode
November 24, 2012 ndash; 5:12 pm
I love Emacs GDB mode, but I always found it annoying that there is no given key binding (or function which could be directly mapped into a key binding) for switching between the different views given by gdb-many-windows. The usual window and buffer switching functions are insufficient because the GDB windows are flagged as dedicated (so switch-buffer refuses to swap them in place), and in the case of the Locals/Registers and Breakpoints/Threads windows, the buffer you want to visit doesn #8217;t necessarily even exist until you click that button.
This went from mildly annoying to a major headache when I needed to run the debugger in a remote Emacs session, over SSH from Mac OS X #8217;s which does not support xterm mouse emulation. So I wrote this gdb-select-window function and corresponding key bindings to finally get the desired behavior #8230;
code class="language-emacs lisp emacs lisp";; For the consistency of gdb-select-window's calling convention...
(defun gdb-comint-buffer-name ()
(buffer-name gud-comint-buffer))
(defun gdb-source-buffer-name ()
(buffer-name (window-buffer gdb-source-window)))
(defun gdb-select-window (header)
quot;Switch directly to the specified GDB window.
Moves the cursor to the requested window, switching between
`gdb-many-windows' \ quot;tabs\ quot; if necessary in order to get there.
Recognized window header names are: 'comint, 'locals, 'registers,
'stack, 'breakpoints, 'threads, and 'source. quot;
(interactive quot;Sheader: quot;)
(let* ((header-alternate (case header
('locals 'registers)
('registers 'locals)
('breakpoints 'threads)
('threads 'breakpoints)))
(buffer (intern (concat quot;gdb- quot; (symbol-name header) quot;-buffer quot;)))
(buffer-names (mapcar (lambda (header)
(funcall (intern (concat quot;gdb- quot;
(symbol-name header)
quot;-buffer-name quot;))))
(if (null header-alternate)
(list header)
(list header header-alternate))))
(window (if (eql header 'source)
(or (get-buffer-window (car buffer-names))
(when (not (null (cadr buffer-names)))
(get-buffer-window (cadr buffer-names)))))))
(when (not (null window))
(let ((was-dedicated (window-dedicated-p window)))
(select-window window)
(set-window-dedicated-p window nil)
(when (member header '(locals registers breakpoints threads))
(switch-to-buffer (gdb-get-buffer-create buffer))
(setq header-line-format (gdb-set-header buffer)))
(set-window-dedicated-p window was-dedicated))
;; Use global keybindings for the window selection functions so that they
;; work from the source window too...
(mapcar (lambda (setting)
(lexical-let ((key (car setting))
(header (cdr setting)))
(global-set-key (concat quot;\C-c\C-g quot; key) #'(lambda ()
(gdb-select-window header)))))
'(( quot;c quot; . comint)
( quot;l quot; . locals)
( quot;r quot; . registers)
( quot;u quot; . source)
( quot;s quot; . stack)
( quot;b quot; . breakpoints)
( quot;t quot; . threads)))
Put this in your ~/.emacs.el or init.el and fire up gdb-many-windows, and then you #8217;ll be able to quickly switch between the GDB windows with the following keyboard shortcuts:
C-c C-g c #8212; comint (GDB command) buffer
C-c C-g l #8212; locals buffer
C-c C-g r #8212; registers buffer
C-c C-g u #8212; source window
C-c C-g s #8212; stack buffer
C-c C-g b #8212; breakpoints buffer
C-c C-g t #8212; threads buffer
Posted in Code, Linux | 1 reply
Both true and false: a Zen moment with C
June 27, 2012 ndash; 7:15 am
Update: Discussion on Hacker News
I ran into a really fun bug at work yesterday, where I discovered that my C program was branching down logically inconsistent code paths. After drinking another cup of coffee and firing up GDB I realized that somehow, a boolean variable in my code was simultaneously testing as both true and not true.
While I cannot reproduce the actual source code here, the effect was that code like
bool p;
/* ... */
if ( p )
puts( quot;p is true quot;);
if ( ! p )
puts( quot;p is false quot;);
would produce the output:
p is true
p is false
So what #8217;s going on here?
Continue reading rarr;
Posted in Code | 63 replies
Pointfree style in Python
November 14, 2011 ndash; 6:12 am
I #8217;ve been getting back into Python lately #8230; I just wrote a small module that provides support for pointfree style programming with a combination of automatic partial function/method application and operator overloading for function composition:
from pointfree import *
from operator import add
fn = pfmap(len) \
gt; gt; pfmap(lambda n: n**2) \
gt; gt; pfreduce(add, initial=0)
fn([ quot;foo quot;, quot;barr quot;, quot;bazzz quot;]) # == 50
See the overview for a lengthier introduction. You can install the pointfree module from the Python Package Index:
$ pip install pointfree
Module documentation
Github project page
Python Package Index page
Posted in Code | Leave a reply
Martin Kleppmann: Accounting for Computer Scientists
March 7, 2011 ndash; 10:43 pm
I just found a great blog post by Martin Kleppmann titled Accounting for Computer Scientists, a succinct introduction to double-entry accounting (although he doesn #8217;t refer to it as such) in terms of basic graph theory:
Eventually I figured it out: basic accounting is just graph theory. The traditional ways of representing financial information hide that structure astonishingly well, but once I had figured out that it was just a graph, it suddenly all made sense.
He goes on to illustrate how a profit-and-loss statement and a balance sheet can be visualized on a simple DAG. 聽Good stuff #8230;
Posted in Uncategorized | 1 reply
OpenBSD Router Guide
February 7, 2011 ndash; 12:22 am
I #8217;ve been using OpenBSD as a NAT router for a few years now. Here #8217;s a guide showing how I got it up and running, in case anyone is interested in doing the same.
Posted in Computers, Unix | 2 replies
larr; Older posts
Recent Posts
Debugging the OpenBSD kernel via QEMU
Keyboard navigation in Emacs GDB mode
Both true and false: a Zen moment with C
Pointfree style in Python
Martin Kleppmann: Accounting for Computer Scientists
OpenBSD Router Guide
Updating your music collection with PowerShell
PXE booting OpenBSD on an ALIX via Ubuntu Live CD
Recent CommentsCraig on Both true and false: a Zen moment with CCraig on Both true and false: a Zen moment with CDaniel on Both true and false: a Zen moment with CEric Christopher on Both true and false: a Zen moment with Cabilash on ISC DHCPD status report generatorArchives
January 2013
November 2012
June 2012
November 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
July 2009
January 2009
September 2008
July 2008
June 2008
May 2008
April 2008
September 2007
June 2007
May 2007
February 2007
October 2006
August 2006
June 2006
Stuff I Read
Center for Inquiry
Hacker News
Lambda the Ultimate
Less Wrong
Steve Gibson #039;s Blog
Stevey #039;s Blog Rants
Log in
Entries RSS
Comments RSS

Updated Time

Friend links: ProxyFire    More...
Site Map 1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 250 300 350 400 450 500 550 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750
TOS | Contact us
© 2009 Dev by MYIP Elapsed:55.147ms