FeedAgg.com Logo
Your Account | Sign In | Sign Up

Add Feed | Search | Home | Help | Contact | Blog

Feed: Evil, as in Dr. - AggScore: 65.8



Summary: Wez Furlong


Software Architect, OpenSourceror

jQuery Tools Form Validator and Twitter Bootstrap


I’ve had a couple of folks ask me about the form validation I mentioned in my last post, so here’s the code.

It’s fairly basic IMO. This is public domain code; use as you will and at your own risk. You’ll be able to make a form that looks like this:

ExampleForm

Continue reading on wezfurlong.org

Date Published: Dec 19, 2011 - 10:00 pm



Node.js - First Impressions


I’ve spent some of my personal time over this past week looking into Node.js. I’ll be up-front in stating that my efforts have not been particularly broad, but I have gone reasonably deep into the parts that I looked at.

I’ve been building evented systems for more than a decade, mostly in the “C” language, so Node is particularly interesting to me; it blends an evented I/O model with the Javascript language in such a way that it doesn’t feel like a continual struggle.

To get a feel for Node, I decided to look at what it would take to get some kind of mtrack implementation running on Node; don’t get too excited, I didn’t finish anything worthy of public scrutiny.

For the purposes of the experiment I selected Riak for the data storage solution; it has a compelling mixture of document storage, full-text searching, secondary indices and map-reduce facilities.

Continue reading on wezfurlong.org

Date Published: Dec 17, 2011 - 10:00 pm



Two Factor SSH on Joyent SmartMachines


After reading this scary blog entry about domain hijacking I’ve been a bit concerned about brute forcing of credentials and have been turning on the two-factor authentication facilities that folks like Google provide for my gmail and personal domains.

I’ve just found out about Duo Security, a service that allows you to add two-factor authentication to your SSH server, Juniper VPN and even Wordpress blogs. Their service is free for up to 10 users and they start charging when you pass that threshold.

Read on to find out how to set it up.

Continue reading on wezfurlong.org

Date Published: Jun 08, 2011 - 10:00 pm


I'll be at Surge


I’m pleased to announce that my proposal for the OmniTI Surge 2011 Conference has been accepted!

TL;DR: read the session description at the Surge site, otherwise, read on for some background and additional commentary.

Continue reading on wezfurlong.org

Date Published: May 23, 2011 - 10:00 pm


Short Sleeps on Solaris


Brendan Gregg raised this question on Twitter: Cruel interview question: write a program on Solaris that sleeps for < 1 ms.

The first choice that springs to mind is nanosleep(3RT), but you’ll be frustrated because your requested sleep interval is implemented in terms of the standard clock frequency, making you sleep for longer.

So how do you sleep (not busy wait!) for time periods shorter than the regular clock?

Continue reading on wezfurlong.org

Date Published: May 22, 2011 - 10:00 pm


Linux on Windows


[Update: You can now find the source code for this on bitbucket]

Call me crazy, but I've wanted to run a linux binary natively under windows for a while now; kinda like wine, but in reverse.

Well, the other day I was browsing through the MSDN docs (as you do) and discovered that it is possible to install a "vectored" exception handler. A quick bit of test code later, and I discovered that I can trap "int 0x80" instructions using this technique--those are used by linux binaries to initiate syscalls.

A couple of days hacking later, and I have a very small linux kernel emulation environment; it's split into two parts--low.dll (the kernel code) and low.exe (the bootstrap). The usage is quite simple; from your command prompt, run the linux binary of choice by prefixing the command line with "low.exe":

low.exe linuxsmallapp one two three four

The code from the named linux binary is loaded (low.dll includes an ELF loader) and bootstraps the process by faking an execve() syscall. When the syscall returns, the code resumes execution inside the loaded module. The code is running natively on your processor; and syscalls happen in userspace (just like the binary) although they run under a separate stack inside the win32 exception handler code. So, this is almost like kernel space.

What I have now is good enough to run my simple hello world application. It doesn't yet handle dynamic elf executables--they need to be statically linked. Thanks to Tal Peer, I have a collection of statically compiled coreutils from gentoo; they start up fine, but die somewhere in the stdio part of libc. I'm trying to track down the problem.

If anyone has any insight into why this might be (maybe windows is doing stuff for software interrupt number 128? before it calls my exception handler?), I'd like to hear it :-)

[Update] If you're interested in playing with it, please don't expect to acheive much at this stage. You can download it here.

Date Published: May 22, 2011 - 12:00 am


 
Visitor Rating: 7.7 (13) (Rate)

Story Clicks: 0

Feed Views: 134

Lenses (Add|?)

Comments (Log in to add)

Feed Details
Date Added: 11/07/2009
Date Approved: 11/07/2009
By: Anonymous
Search FeedAgg.com




3600 mp6849 serv 0.5749 seconds to generate.