HNHacker News
TopNewBestAskShowJobs

anelson

143 karma · joined March 10, 2009

https://127.io https://github.com/anelson anelson@127.io
submissionscomments
anelson··on Tracers – Rust Instrumentation Library
Yes exactly. The goal of this project is to let authors put trace points in their code and at compile time target whatever tracing system makes sense. On Linux that's either systemtap or ltt-ng. On Windows it (will be; not implemented yet) the event tracing API, on MacOS and FreeBSD it would be dtrace. There's also an option to completely disable tracing at compile time, which removes all tracing code and imposes absolutely zero runtime overhead.
anelson··on Tracers – Rust Instrumentation Library
This crate is for enabling low-overhead tracing of userland Rust code. To that end it supports both systemtap and ltt-ng.

Systemtap probes are available to eBPF instrumentation, so in that sense this does indirectly use eBPF. I know this isn't obvious, I haven't had a chance to get the docs up to my standard.

In fact I went to great lengths to ensure that the eBPF tracing tools can discover the trace points generated by this implementation. This even required submitting an upstream bug to the BCC toolchain. But now it works great for primitive types that have some meaningful equivalent in eBPF terms.

anelson··on Tracers – Rust Instrumentation Library
Author here, I was surprised to see this on HN so early. I haven't even published the crate yet.

This was my first real Rust project and I was really impressed with how powerful proc macros can be.

Now I need to polish the docs and publish...

anelson··on The hard part in becoming a command line wizard
FWIW I was in the same boat for many years, first on Windows then OS X. I'd learn a Linux trick or two then lose momentum and more importantly lose confidence that I could get around the CLI (and just as important, the maze of config files).

What made a huge difference for me was setting up Arch Linux on my XPS 15 laptop. Following the install guide[1] forced me to go through the process of standing up a functioning Linux desktop from a much lower level starting point than I'd ever done with Ubuntu or CentOS or even Slackware. The whole experience reminded me of the first few times I built PCs as a kid: At first they were intimidating boxes full of complex circuit boards and imposing nests of ribbon cable, but putting a few together demystified all that in a hurry. Setting up my Arch laptop had the same result as it relates to Linux configuration in general and command line operations in particular.

[1](https://wiki.archlinux.org/index.php/Installation_guide)

anelson··on Turbo-charged cracking comes to long passwords
A while back I played with this a bit.

http://apocryph.org/archives/556

and

http://apocryph.org/archives/693

Summary: Highly entropic Markov-generated phrases are long and hard to remember.

anelson··on [dead]
This is likely to impact those of us using Windows instances in EC2. The path of least resistance to access the instance is to pass RDP through the firewall. Probably a good time to start using VPC to connect to Windows instances.
anelson··on Is Printing a Gun the Same as Buying a Gun?
The majority of US states have no such requirement. In VA I can purchase a gun from another VA resident with no paperwork; I can purchase from a dealer by filling out a one page form with name, DOB, address, and place of birth.
anelson··on Is Printing a Gun the Same as Buying a Gun?
> A sufficiently large quantitative change is a qualitative change

True, but I submit this is not a sufficiently large quantitative change.

> Also the debate is ultimately not about this one thing today, but about a future in which one can download and print an open-source AK-47-equivalent with only slightly more difficulty than printing a picture.

I humbly suggest there is more to it than that, and will still be more to it than that in a future in which 3D printers can print composite materials strong enough to survive the extreme pressures of a 7.62x39mm cartridge firing a bullet down a long rifled barrel. Even if that were possible, the result of the AK-47 print job would be a whole mess of parts, including tiny pins, springs, etc. With the exception of the lower receiver, all of these parts can be bought (in the US at least) online with no government oversight or regulation. Once the parts are obtained, they must be assembled, which is not difficult for the mechanically inclined, but is considerably more difficult than printing a picture.

So, before this quantitative change:

* Obtain AK-47 spec and assembly instructions * Obtain necessary tools for assembly * Order AK-47 parts kit online * Buy AK-47 lower receiver from firearms dealer, or assemble yourself from sheet metal * Assemble AK-47

After this quantitative change:

* Obtain AK-47 spec and assembly instructions * Obtain AK-47 3D printer files * Obtain assembly tools printer files * Print AK-47 parts * Print AK-47 lower receiver * Assemble AK-47

Hardly a revolutionary shift.

Legally I don't see any sticky issue here, and if there's an ethical dilema I don't see it. Having said that, I agree with the general proposition that the law has not kept pace with technological innovation, and that there are areas in which this lag has serious consequences.

anelson··on Is Printing a Gun the Same as Buying a Gun?
IANAL but I know my way around US federal firearms law. I am not aware of any law or rulemaking which would classify, for example, CAD files describing a lower receiver as an item subject to firearms regulations. There exist books sold openly and without restriction detailing how one can make improvised firearms, some of which if constructed would be illegal for possession by American civilians. I'm sure this information has by now made it to the Internet as well. Up to this point, such materials are treated as speech and thus strongly protected by the First Amendment. I see no reason why 3D printer instruction files would be treated any differently, under current law.

It's not hard to imagine a Congresscritter raising a fuss over concerns of "children printing machine guns" or some such nonsense, and thereby introducing legislation to regulate such materials, including executable scripts for 3D printing machines. It's even possible to imagine such legislation passing the House and Senate. Our current president would likely sign any such legislation he was given. However, it is very difficult to imagine the legislation surviving a Supreme Court challenge on First Amendment grounds.

Then again, I said the same thing about the McCain-Feingold Campaign Finance Reform Act, and SCOTUS upheld that 5-4, so what do I know.

anelson··on Is Printing a Gun the Same as Buying a Gun?
While I agree it would be unwise to test this legal question in court, I think it is fair to say this is a murky legal question. The BATFE, the federal law enforcement agency responsible for enforcing US laws regarding firearms manufacture, have a history of arbitrary rulemaking in defiance of simple logic (for instance, in one famous rulemaking BATFE ruled that a shoe string would meet the legal definition of 'machine gun' if used to repeatedly fire a gun with a single pull of the trigger [1]).

Given this environment of legal uncertainty, it's not at all clear that BATFE would not pursue the 3D printer operator who produced the receiver. In this case, charges against the 3D printer operator would likely be unlawful manufacture of a firearm, possibly in addition to charges related to interstate transfer of a firearm. Given the creativity of some US attorneys, perhaps a conspiracy case would be made alleging the buyer of the printed part 'conspired' with the printer operator.

I would also suggest a lower receiver could probably be made from materials weaker than you might imagine. The lower receiver does not bear any gas pressures from the firing of the cartridge, though the holes for the roll pins which hold the hammer and trigger in place would probably start to 'egg' after a round or two. In any case, the legal question has nothing to do with how reliable the resulting firearm is; only whether it meets certain vague and broadly-interpreted legal definitions.

[1] http://www.everydaynodaysoff.com/2010/01/25/shoestring-machi...

anelson··on Lessons from Evernote’s flight from .NET
I'm a long-time Evernote user, hater of the Evernote 3.5 client, and I write .NET code for a living.

There is no question that Evernote 3.5 sucked. It was slow, yes, but that was only part of it; using it one got the sense that one was using software without polish. The text editing experience was particularly broken, with formatting as simple as a bulleted list behaving strangely.

I've experienced some of the same WPF issues as Evernote reported, plus a few they haven't, and I'm sure those issues impacted the usability of their client. There is no question that WPF 3.5 has some serious issues. However, the lack of polish and poor fit and finish of the Evernote 3.5 client cannot be blamed entirely on WPF.

Having played very briefly with the Evernote 4.0 GUI, I can already tell it's better. It's back to feeling like a polished, performant tool. I imagine some of this is due to the use of native code, but at least a bit of it must be due to a team of great C++ developers working in an environment they know well.

anelson··on Ask HN: Any good .NET books?
Consider this another vote for Richter's "CLR Via C#" http://www.amazon.com/CLR-via-Dev-Pro-Jeffrey-Richter/dp/073...

Get the latest edition, covering .NET 4. The chapters on concurrency and I/O alone are worth the price of admission.

anelson··on Bithacks
I love stuff like this. Another great collection of bit fiddling hacks is Henry S. Warren's excellent book, "Hacker's Delight" - http://www.hackersdelight.org/
anelson··on Ask HN: What are you working on today?
Building .NET client and server components to transfer disk images over HTTP as fast as the I/O system can handle.

This gives me an idea: when will Mattel give us "Asynchrony is hard" Barbie?

My development environment is Visual Studio 2010 with R# and the zenburn theme.

anelson··on VistaDB shutting down because of business operating costs
The SQLite bindings for .NET are excellent. When I need a lightweight database under .NET (or Ruby or Python or C++) that's the first tool I consider.
anelson··on Ask HN: Who's Hiring?
We're looking for one or two strong software engineers to join our team building Windows backup and disaster recovery solutions with C# and C++.

Work is on site in Reston, VA, USA. No visa sponsorship so must have right to work in USA.

http://www.appassure.com/company/careers/junior-senior-engin...

I'm the development director at AppAssure, so drop my name and mention HN when you apply.

anelson··on 23andme for only $99 today only
It just worked for me too. Sweet!
anelson··on Must-Have Windows Programs (or Windows Programs that I use)
Scott Hanselman has answered this question to my satisfaction:

http://www.hanselman.com/blog/ScottHanselmans2009UltimateDev...

anelson··on Ask HN: Who's Hiring?
We're always looking for green-but-promising and rockstar-veteran software engineers, preferably with C# and C++ experience. Local to Reston, VA, USA is pretty much a requirement.

http://www.appassure.com/

anelson··on The M-16 Argument Heats Up, Again
I'm pretty skeptical of accounts like these. With proper maintenance, the AR-15 system (upon which the M-4 and M-16 are based) can be very reliable. The direct impingement gas system does increase fouling, but as long as you keep the rifle properly maintained it's not clear this translates into decreased reliability.

I think a lot of the stopping power complaints would be relieved by one of the following not-at-all-realistic changes:

1. Issue the M193 5.56 round to units fielding the M4 carbine. The M855's heavier and more complex bullet has been shown to fragment less reliably at the sort of velocities the M4's shorter barrel can achieve. Since the 5.56 FMJ round's lethality is tied to fragmentation more than punching big holes, this could fix many of the failure-to-stop issues

2. Back out of the damn Hague Convention and issue hollow point ammunition to our military forces. Hornady TAP law enforcement ammo is some pretty nasty shit, even out of a poodle shooter like the M4. Not as effective against body armor, but much more effective against flesh. Our LEOs and civilian contractors use this ammo; why not our military forces?

anelson··on Ask HN: How do you concentrate?
I find the thing that most kills my concentration is lag. For example, right now I'm at work and we're facing a crucial deadline, but I'm not working. Why? Because I just made a change that requires re-running an integration test, which takes several minutes to run. I'm not about to sit there staring at the test, so I switch over to my feed reader and catch up on news.

Logically, I know this is devastating for my productivity, but so is staring at a progress bar for 10 minutes after every change. After the iteration, I focus on fixing the one or two serious lags that hurt productivity. It's not always possible (I've no idea how I'll speed up this integration test), but it's a worthwhile effort.

It is for this same reason that my company spares no expense on dev workstations. When a build takes 10 minutes, the productivity hit is at least twice that, and it's a recurring penalty.

anelson··on Poll: How many homeschoolers/unschoolers here? When did you start?
I was home schooled or unschooled on and off through sixth grade, then completely unschooled after that.

My parents at one time or another had me enrolled in just about every structured education scheme you can imagine, from reputable urban public school to shitty urban public school to expensive Catholic school to quaint small-town school to rural one-room schoolhouse to formalized home-school curriculum. I found them all stifling, boring, and wasteful of my time.

Unschooling, on the other hand, was very liberating. I got to study whatever I wanted, however I wanted. I dabbled in chemistry, electronics, literature, even carpentry. Once we got our first computer when I was 13, I dove into computing and programming utterly.

It worked out wonderfully for me. I had a paying job as a programmer when I was 15, and haven't looked back.

I was always introverted, so school was not a positive socializing experience for me; in fact it was quite the opposite. Despite concerns to the contrary, I've socialized myself over time through professional and personal relationships with co-workers and friends.

The most appealing outcome of my unschooling experience is the autodidactic learning style it reinforced. This comes in very handy as a software engineer, where the ability to independently pick up a new language, tool, technology, or architecture quickly and completely is a real asset.

I am the oldest of five children. All of us were homeschooled to some extent, with the proportion of homeschooling to structured education declining from oldest to youngest. We are all fairly bright, but the difference between those of us with more homeschooling and those with less is striking. The home schoolers are more eloquent, more insightful, more responsible, more disciplined, and more politically active (although not politically homogeneous, which makes for tumultuous dinner conversation at family get-togethers).

There is no doubt in my mind that unschooling had a massively positive net impact on my life, and would encourage any parents able to make the necessary time commitment to try it as well.

← PreviousPage 3 of 3