HNHacker News
TopNewBestAskShowJobs

Hoff

2,699 karma · joined May 6, 2008

www.hoffmanlabs.com
submissionscomments
Hoff··on Whatever happened to due process?
See the Reedy Creek Improvement District, for a US analog:

http://en.wikipedia.org/wiki/Reedy_Creek_Improvement_Distric...

Hoff··on Three More MMO Developers Receive Letters from Treehouse Attorneys
From 1994, if it helps...

"ACM Flight Simulator, revision 4.7

What is ACM? ------------

ACM is a LAN-oriented, multiplayer aerial combat simulation. My main design objective was to provide source code that could be easily compiled and executed on a wide variety of platforms. To that end, acm is written entirely in C, exploiting the programming features of Unix, X11, and the BSD socket interface.

Players engage in air to air combat against one another using heat seeking missiles and cannons.

ACM is implemented as two programs. The first, named "acm", is a small program that, when invoked, starts a flight session on a given workstation.

The second component, named "acms", is a server process that manages the multiplayer environment. It also manages the flight simulation and display management that is required. Most players will prefer to run the acms process on a back-end server system on their local area network. Players at client workstations can then invoke the acm program to begin play."

Hoff··on Facebook Android app sends phone number to Facebook servers without consent
It appears that Facebook may have recently leaked information related to their so-called dark profiles, too; from folks without FB accounts.

http://threatpost.com/facebook-underplays-data-exposure-from...

Hoff··on New York Lawmakers Set Aside Bill Threatening Tesla Sales
Related Reading: "Economic Effects of State Bans on Direct Manufacturer Sales to Car Buyers": http://www.justice.gov/atr/public/eag/246374.htm
Hoff··on The Chadwick Chair
While I don't intend this to in any way to try to sway you from your perfectly reasonable preferences here — with the Aeron chairs I've sat in — slide the armrests inward toward your body, and you'll find directions underneath for the knobs and dials and levers. Which is not exactly the most intuitive, but it is handy.
Hoff··on Intel’s Long Awaited Return to the Memory Business
For comparison purposes, Intel Itanium 9500 series Poulson-class processors have ~40 MB of on-chip cache, split among the L1 I&D, L2 and L3 caches.
Hoff··on Ember 101: Learn Ember One Video at a Time
Please consider posting a sentence or two and a link or two around why somebody might want to learn about the package and thus watch the videos.

In this case, adding a very brief overview of what Ember.js provides, and links to more info would seem appropriate.

Not everybody landing on that page knows what Ember is or why they might want to learn it, after all.

Hoff··on Port scanning /0 using insecure embedded devices
Sure, NAT and a few more blocks will help. For a while...

With the recent IPv4 address burn rate — the allocation rate the last remaining addresses block were issued — reclaiming a half-dozen /8 blocks would be a rearguard action at most, and an effort and a hassle that would detract from IPv6.

For data, select the column with the IANA date sort here:

http://en.wikipedia.org/wiki/List_of_assigned_/8_IPv4_addres...

and then consider how long a few more added /8 blocks would really last. By my count, fourteen /8 blocks since 2009. And the rate that network-connected devices are arriving isn't slowing.

Hoff··on Booting Linux using UEFI can brick Samsung laptops
Yes, bugs happen.

So what can be done?

There are systems with firmware that can automatically detect failed updates or corrupted firmware, or where a failsafe firmware loader can be triggered by a jumper or related request, and that can then perform a reset and (re)load of replacement firmware.

Without requiring a test harness or JTAG access or other equipment.

In various of these cases, there are two copies of the firmware, meaning the old firmware can be immediately accessed, or — pending successful completion — a second copy of working firmware can be generated.

In one case, a system had its firmware mostly in ROM, and had NVRAM that could hot-patch routines via an NVRAM-based vector table, and with space for replacement routines in the NVRAM. This meant that the box would always boot, and bad vectors could be detected by checksum, and firmware bugs could still be patched up to the limit of the available NVRAM.

Put another way, we know how to avoid this mess. It just costs some time and effort and money, and that can get this capability cut.

This stuff is not rocket science.

Hoff··on A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux
OpenVMS (née VMS) function calls and signals use the low bit set to indicate success, and the low bit clear to indicate failure; the condition value format.

The high bits of the condition value format can also tell you more about what component returned the error, and there were a few control flags up in the highest bits, including bit 31 (the sign bit) which inhibited message display.

Somewhat unusually, the low three bits of the condition status value are used to indicate varying levels of success or failure; the success (0b001), informational (0b011), warning (0b000), error (0b010) and severe/fatal (0b100) errors.

VAX had the BLBS and BLBS instructions for testing and branching on the low bit, too.

These success- and failure-testing instructions were separate from the BEQL/BEQU, BNEQ/BNEQU, BGTR/BGRTU, BGEQ/BGEQU, BLSS/BLSSU and BLEQ/BLEQU that looked at whether the signed or unsigned value was positive, zero or negative, or zero or greater, or zero or less. A condition value that had been displayed or otherwise inhibited was switched to a negative value.

Yes, VAX had a lot of instructions.

This usage of the low bit also led to the semi-inevitable "Success on VMS being odd" in-joke.

Hoff··on Study shows space travel is harmful to the brain
Why no 2001-style rotating orbital station? Probably because it's not easy, it'll be big and heavy, and Big and Heavy and Orbital is definitely not cheap.

Moving mass — people moving around — within a rotating structure will transmit vibrations throughout the structure, even with mass dampening.

As an example of the considerations around vibrations within ISS, astronaut Sunita Williams indicated that the ISS exercise equipment is intentionally isolated from the ISS structure, as the vibrations of the crew members exercising causes problems for the solar arrays.

Source: http://www.youtube.com/watch?v=doN4t5NKW-k

Hoff··on The Cold Hard Facts of Freezing to Death (1997)
If you're out with others when it's cold, be aware of the "umbles":

Stumbles, fumbles, mumbles and grumbles.

These can be relatively early external signs of altered mentation and potentially of the on-set of hypothermia.

Hypothermia can occur even in fairly warm temperatures, too; you don't need freezing temperatures.

When carrying food, remember you're going to be eating a whole lot more when it's cold and you're exercising.

Avoid cotton clothing, as that gets and stays brutally cold when it gets wet. Wool or synthetics work much better.

Hoff··on JetBrains Doomsday Sale - 75% off for 24 hours only
Small LLCs comprised of one or two[1] folks do seem to fall into the commercial license bucket; a "corner case", though.

Which means there's no need to rush to order today.

[1] This based on the 50% control requirement listed in the existing JetBrains license.

Hoff··on KGPU - Augmenting Linux with the CUDA GPU
Whether you are attacking the encryption, or whether you're a user of encryption; a defender.

If you're attacking, having flexibility is advantageous.

Hoff··on KGPU - Augmenting Linux with the CUDA GPU
That depends on which team you're playing for, no?
Hoff··on Linux 3.7 released
HP has announced plans for power-efficient ARM-based servers with their "Project Moonshot" program, and starting with their "Project Redstone" Calxeda ARM server development platform:

http://www.theregister.co.uk/2011/11/01/hp_redstone_calxeda_...

http://www.hp.com/hpinfo/globalcitizenship/environment/techg...

http://h20195.www2.hp.com/V2/GetPDF.aspx/4AA3-9839ENW.pdf

Hoff··on Documentation is King
When working on or editing documentation or the comments, I start with the "two-year-old kid" review. I ask myself "why" and "what", and often repeatedly, until I get to a concise answer.

What's this? Why is this here? Why do I want it? Why is this good? Why do I care? Why? What's that mean? What's this knob do? What's that code do? Why is this code here? Why?

Flabby documentation, user documentation written in programmer jargon and scatter-shot code comments are all comparatively easy to write. When somebody bothers to write that.

Writing for the end-user (whoever that might be) is tougher, and I find require iterating on the content of the documentation, UI, release notes, comments, or whatever. Writing less documentation or fewer comments — while conveying the necessary details — is hard work.

Hoff··on Farewell, USS Enterprise (the aircraft carrier)
A comparison of carriers in various fleets; the sizes, numbers, and countries:

http://www.globalsecurity.org/military/world/carriers.htm

scroll down for the image.

Hoff··on Homeland Security spent $430M on radios its employees don’t know how to use
I'm not sure where you're headed with that.

In emergency services, specialists tend to be communications officers or dispatchers, or the radio shop, and variously assisted by the computers and the radio consoles that are increasingly supervising the radio networks.

To a reasonable degree, radios need to be useful and functional and understandable by everybody in the organization; to all of the users. It's this ubiquity that was at issue with the original article, and it's the radio's UI that tends to be inscrutable.

Hoff··on Homeland Security spent $430M on radios its employees don’t know how to use
"Ruggedized" gear is a requirement here. Emergency services radios need to be very solid, and very easy to use — you're always working on something else and quite possibly life-threatening, and the radio is a tool.

If you can drop it, slam it, whack it, rain on it or even dunk it, cover it with blood or vomit (and clean it), balance your weight on it on a stairway, use it as a wheel chock (unintentionally) and (depending on the particular users) operate it with your gloves on, then we'll talk.

For some users, you further need to allow for heavy gloves.

Or provide emergency buttons, or other features.

As great as it is, iPhone isn't close to providing this.

Hoff··on Homeland Security spent $430M on radios its employees don’t know how to use
Radio programming is almost always local to and customized for the department or agency or location, and the channel names and tags seemingly always vary.

Even in a system that's been architected with specific channel layouts, there's almost always some weirdness somewhere, and some differences, and some number of radios always seems to arrive mis-programmed and needs a trip back to the radio shop, and this if the folks receiving the batch of radios are paying attention and can afford the reprogramming. Not all do, or can, either.

Not all radio shops pay attention to what they're doing here, and even the good shops can be using radio service software most charitably described as atrocious.

And yes, anyone that thinks you can have everybody on one of the mutual aid frequencies is headed for trouble. The pile-ups are always massive. Add in encryption and tone squelch (CTCSS, PL) and you might be stomping on the other agencies without knowing it.

In a typical organization, you'd want your dispatcher(s) or communications officer(s) or (if not delegated) one of the senior officers on the shared channels.

Modern radios can be surprisingly complex tools, and the FCC migration to trunked radios and digital trunked radios, and adding inter-operations features (gazillions of channels, etc) and digital communications and deadspots, and the over-the-air rekeying and reprogramming, emergency button(s), and the seemingly obligatory remote kill can all combine to makes your average high-end radios hairy.

Certainly various radio users don't regularly train with and aren't familiar with the "odd-ball" channels; the "national" and mutual aide frequencies can have different names, or weird local oddities, and many of the end-user folks are often trained to stay off the other channels.

Training is certainly part of this, and of using the radios correctly. Conversely, you're probably not expecting the folks to be picking random channels. In the newer radio systems, you can be told (by dispatch or by your supervisor) which channel to use, or dispatch can reprogram your radio and your talk group(s) on the fly.

And as for training, every emergency services department I'm familiar with has been chafing under the political and technical and documentation requirements arriving from outside entities; blanket mandates requiring time and thought and budget for stuff that's probably never going to happen to a given individual or agency, but the obligatory training and documentation requirements pull the folks away from the stuff that they can and will be dealing with. Like dealing with their radios. And delivering whatever service the folks hired on to provide.

Yes, modern radios can be far more complex than it should be. So is the rest of the mess.

Startup ideas here? Sure. The two-way radio version of a ruggedized iPhone; a radio with a "modern" UI.

Hoff··on Tips for C libraries on GNU/Linux
gmake scripts are usually fairly portable to OpenVMS, and there is a decent — though not great — ability to invoke bash build scripts directly.

If I had my druthers here, I'd like a build tool that wasn't a layer atop GNU/Linux/Unix — and that's not to imply how autotools works here is at all bad or particularly wrong, it's just an approach that's a bear to port the tools — and have that (portable) build tool then generate the platform-specific build script, build procedure, build-whatever equivalent.

Conceptually: to move the existing builds from a procedural, interpreted approach into a higher-level and object-oriented approach.

Hoff··on Tips for C libraries on GNU/Linux
Kidding? No. I'm not. To my point, try porting an autotools package to OpenVMS, for instance. No autotools. Weak bash. No CMake, either. And trying to port autotools itself has been an on-going project; that's been no small effort and attempted by a number of folks, and (so far) no particular success.
Hoff··on Tips for C libraries on GNU/Linux
Have you ever tried to port a package that is using autotools to a platform that is not based on GNU/Linux?

Among those of us that have attempted or have done that port, most will probably not look particularly favorably on autotools again.

One of the easiest approaches here involves reverse-engineering the autotools product from a test run performed on a GNU/Linux box, and then translating and building a platform-specific script.

From what I can tell of it, autotools makes substantial use of GNU/Linux features. Which is certainly fine for its intended platform and typical usage, but it's an approach that is Not Fun for porting that code.

Hoff··on The Copyright Alert System: Moving to Implementation
Economic Analysis Group Competition Advocacy Paper by Gerald R. Bodisch, US DoJ Antitrust division

http://www.justice.gov/atr/public/eag/246374.htm

Hoff··on Dilithium crystal fusion impulse engine in development
Original article:

http://txchnologist.com/post/32463368168/channeling-star-tre...

Hoff··on PostgreSQL 9.2: Full-throttle Database
Wider adoption? In enterprise-scale companies?

For starters, acquire the reputation for providing high-touch, enterprise-grade, enterprise-focused, enterprise-costs support, with all that entails, and preferably with a cost somewhat below what Oracle charges.

Provide enterprise-friendly DBA training, certifications, and other related materials.

Have your sales reps schmooze the C-level office, and the IT leadership.

But adoption of databases in enterprises in general? They're loathe to change their databases, and have massive investments in their existing software and hardware processes, and their staff and training. The costs involved here are staggering.

If you're looking for more organic growth (and as some of those smaller companies grow and get bigger), that'll happen. But it'll take years. Maybe some acceptance in smaller projects in enterprises, but this sort of "shadow IT" can be a guerrilla effort in an enterprise; discouraged by management.

Hoff··on HP CEO: We Have to Ultimately Offer a Smartphone
Offering Windows Phone 8 devices is an obvious play for a hardware vendor that's aligned with Microsoft.

With WP8, HP does what it's comfortable doing - hardware - and Microsoft does the software stack.

Whether HP (and Microsoft, for that matter) can gain traction against Android and iOS remains to be determined.

Hoff··on DNC just open-sourced their voter registration platform
There's asset covering, and there's a license where you're assumed guilty until litigated.

And going against an organization that's "saturated with lawyers"?

Even if I were creating a voter registration web site, I'd likely not use this package, as reusing this PDF fulfillment package for any other use within that web site would potentially put the organization in licensing jeopardy. With this license, it'd be safer to re-implement rather than to re-use.

I'm not touching this license with a barge pole.

Hoff··on DNC just open-sourced their voter registration platform
The first part of the software license looks to be BSD/MIT-like with the to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,... sentence, but then there's this paragraph:

This permission does not include: (a) any use of the Software other than for its intended purpose; or (b) any use of the Software in any manner that violates applicable law. Any use of the Software other than as specifically authorized herein is strictly prohibited and will terminate the license granted herein.

← PreviousPage 2 of 17Next →