Base-122 – A space efficient alternative to base-64 - <AUTHOR> http://blog.kevinalbs.com/base122 <comment><USER2> [http://blog.kevinalbs.com/base122#a_minor_note_on_the_last_c...](http://blog.kevinalbs.com/base122#a_minor_note_on_the_last_character)

Almost a perfect standard, but the prepended one byte header is a mistake IMHO. It makes it impossible to encode when the input size is unknown. Better to encode whether the last chunk is one byte or two at the end of the stream.

Please whoever is involved with this, revise the standard to not have a header and call this existing spec a beta. Otherwise, good work.

Edit: I have opened an issue for this: [https://github.com/kevinAlbs/Base122/issues/3#issue-19188159...](https://github.com/kevinAlbs/Base122/issues/3#issue-191881594)

<comment><USER3> It would be easy to do. That 3-bit word just needs to start at 1 (since it encodes fewer than 8 options). Then the fixed 1-bit can instead encode whether another 7-bit segment follows.

</comment></comment><comment><USER4> The use of codepoints below 32 (space, start of what's usually considered "printable") makes me a bit hesitant. A lot of systems won't preserve those characters. Base85 is a more efficient alternative to base64, and doesn't use that lower range:

[https://en.wikipedia.org/wiki/Ascii85](https://en.wikipedia.org/wiki/Ascii85)

<comment><USER5> base 85 also has the interesting property that 4 original bytes fit in 5 encoded bytes. Depending on your processor's memory model and the cost of multiplies compared to shifts this can make it the best performer.

This was true on Vax 8200 hardware back in the day. In the same software, with Huffman decoding of JPEGs it was also fastest to create a finite state machine with an 8 bit symbol size. I suspect that is no longer true since it would kill your L1 cache and be well into your L2 cache on modern x86 machines. It is probably better to take the instruction count hit and process as bits or nibbles.

<comment><USER6> _base 85 also has the interesting property that 4 original bytes fit in 5 encoded bytes._

Still useful for Javascript, as the bit shift operators work on 32 bit "registers".

</comment></comment></comment><comment><USER7> A lot of people have experimented with a lot of different ways of encoding binary data as printable text. Wikipedia has a list of different encoding schemes[0].

The most efficient one is yEnc[1]. Still the simplest ones such as base64 or good old hex may actually work better once compression comes into the picture.

[0]: [https://en.wikipedia.org/wiki/Binary-to- text_encoding](https://en.wikipedia.org/wiki/Binary-to-text_encoding)

[1]: [https://en.wikipedia.org/wiki/YEnc](https://en.wikipedia.org/wiki/YEnc)

<comment><USER8> It's crucial to evaluate encoding space usage in the context of compression. For instance gzip(base16(data)) is often smaller than gzip(base64(data)) for practical data. Even though base64 is more efficient than base16, it breaks up data across byte boundaries which then makes gzip significantly less efficient.

<comment><USER9> When would you gzip encoded data instead of encoding gzipped data? Doesn't gzip after encoding defeat the whole idea of encoding the data in a format that won't get mangled by systems that expect to be handling text?

<comment><USER10> When serving gzip-compressed pages to browsers that support it.

<comment><USER11> He meant that you typically use base64 when the medium you use (e.g. email) doesn't support binary data. When you compress base64 encoded data you get back binary output. If binary output is ok to transfer, then why would you use base64 in the first place? Why not just compress the raw data?

<comment><USER12> If your embedding encoded data in another file format which forces restrictions on it. The encoding in the article is very explicitly optimized to be embedded in HTML attributes, which have a limited character range. The full HTML document is later compressed for transport, over a protocol that a) is aware of the compression and b) can transport binary data.

</comment></comment></comment></comment></comment></comment><comment><USER13> I appreciate the author building a more efficient alternative to base64, but I had to laugh for a moment at the suggested use case.

Using an alternative to base64 encoded data for web pages and node is a horrible idea. If I came across a code base using that I would scream. A lot. None of my tools work with it, and now my browser has to run a bunch of js for something that's normally native and very fast. Its a 1-2kb savings per page that's going to make somebody jump off bridge one day.

More terrifying is that the JavaScript community is so fascinated by shiny objects that thousands of people are going to use this. I'm not sure if it's more funny or terrifying.

Anyways, this encoding is still useful if you need to pass data between legacy systems. I've used html escapes and ASCII85 before to get around annoying old stuff that doesn't use Unicode many times

<comment><USER14> > None of my tools work with it, and now my browser has to run a bunch of js > for something that's normally native and very fast.

It's not that I don't agree with the general idea of your post, but I disagree with this part. If nobody every tries something new we'd still be in the stone age. I think base122 is a bit silly but _if_ it had it's use and adoption became widespread then browsers and tooling etc. would follow, just as they now support base64.

</comment></comment><comment><USER15> Does anyone else find it odd that both

 _Base-122 was created with the web in mind._

And

 _As §3 shows, base-122 is not recommended to be used on gzip compressed pages, which is the majority of served web pages._

Occur in just a few lines from each other? I get there's more use cases like email and such but if you're going to create something for the web but it can't be used on the majority of web pages that seems like a fairly large oversight/caveat.

<comment><USER16> I agree. Including:

> Base-122 encoded strings contain characters which did not seem to play well > with copy-pasting.

A very important part of web development is being able to manipulate text documents. It seems that using UTF-8 in more places can reveal cracks in implementations for browsers/DE's/editors/terminals/etc.

</comment></comment><comment><USER17> My problem with base-122 is simply that it's not an even power of 2.

It's very easy to write a cache-timing-safe version of base{16,32,64} encoding for use in encoding/decoding cryptographic keys in configuration files. To wit: [https://github.com/paragonie/constant_time_encoding](https://github.com/paragonie/constant_time_encoding)

Base-122? Not sure if it's even possible.

<comment><USER18> I'm pretty sure that Bitcoin has dealt with this issue for its base58 encoding. It might be worth checking if their algorithm is generalizable to other radix sizes.

<comment><USER19> Check out digit-array if you are interested in the generalized algorithm. The source code is commented with formal math notation for the operations.

[https://github.com/deckar01/digit- array/blob/master/README.m...](https://github.com/deckar01/digit- array/blob/master/README.md)

<comment><USER17> This doesn't appear to address the problem. At all.

[https://paragonie.com/blog/2016/06/constant-time-encoding- bo...](https://paragonie.com/blog/2016/06/constant-time-encoding-boring- cryptography-rfc-4648-and-you)

<comment><USER19> I misread your original comment. Nothing I posted is related to constant time encoding. I apologize for the confusion.

<comment><USER17> It's OK. I just want to be clear that my objection to base-122 is the same as my objection to base-N where N != 2^m for some integer m.

</comment></comment></comment></comment></comment></comment><comment><USER20> It's an interesting technical exercise, but I don't think this is the right approach for optimizing HTML load times.

If the goal is to reduce latency for small images, wouldn't it make it more sense to extend data URIs so the same base64 string can be referenced in multiple places?

Actually, as HTTP2 can effectively return multiple resurces in the answer of one request, do we still need embedded images for latency reduction at all?

<comment><USER21> Compression takes care of exactly this.

<comment><USER20> Unless compression cannot be used: [https://news.ycombinator.com/item?id=13049898](https://news.ycombinator.com/item?id=13049898)

Also, there are still cases where compression cannot be applied, e.g. if a script naively queries innerHTML. (This wouldn't affect loading time but it could inflate the page's RAM unnecessarily)

<comment><USER21> Sure, but I'd consider those edge cases to be situations where the treatment is worse than the disease

<comment><USER22> HTTPS is an edge condition? Over 50 percent of the web is now transferred via HTTPS.

<comment><USER21> It's not HTTPS. It's HTTPS cross-site requests with secret cookies.

</comment></comment></comment></comment></comment></comment><comment><USER23> tldr, no revolution, base64+gzip still far better than base122+gzip. But the article worth reading.

<comment><USER24> Aren't there security concerns using gzip and HTTPS? Could this be a space efficient alternative when gzip is disabled?

<comment><USER25> I would be interested to learn more about those concerns. My "default" setup these days is HTTPS & gzip everything, but I can't say I've read any white papers on the security implications of that.

<comment><USER26> If the attacker knows or controls any part of the data then the compressed size leaks information about the unknown data because the compressed size will be smaller if the known data shares bytes with the unknown data.

<comment><USER27> Thanks for the explanation! Attack: [https://en.m.wikipedia.org/wiki/BREACH_(security_exploit)](https://en.m.wikipedia.org/wiki/BREACH_\(security_exploit\))

</comment></comment></comment></comment></comment><comment><USER28> Something that is isn't really discussed is that the need for base64 arose so that binary data could transit 7-bit email systems.

Base122 does not have that property - as far as I could tell.

Whilst we are all, basically, living in an 8-bit world; I suspect it will be sometime before people feel comfortable assuming that an 8-bit transport is viable over email.

[edit: spelling ]

</comment><comment><USER29> Base85 is between base64 and base122, while using printable characters. Any statistics of compressed base85?

<comment><USER30> I don't have an easy way to try a test corpus but I fed this comment page into it.

      Raw size:     37409
      gzip(raw):    6170
      gzip(base16): 7482
      gzip(base64): 10675
      gzip(base85): 10549

So it works better than base64, and it has the advantage of working 4 bytes at a time rather than 3.

Also note that when you're feeding in binary data the gzip sizes for raw and base-xx data get a lot closer together.

</comment></comment><comment><USER31> Note that if you're not using UTF-8 to encode your characters, you can beat Base64, Base85, and Base122 with [https://github.com/ferno/base65536](https://github.com/ferno/base65536)

</comment><comment><USER32> Berkeley Unix (or was that SunOS?) used to cone with btoa that used base 85, packing 4 bytes into 5 uucp/mail/Usenet safe characters. For some reason, base 64 became the standard, and I don't think there's space for anything else these days. (Most things do just fine with binary now, anyway!)

</comment><comment><USER33> Interesting, but please add a license :)

</comment><comment><USER34> Why not embrace the Unicode world we live in now and just offset bytes to a Unicode region that has 256 non-space characters?

[https://github.com/diafygi/Offset248](https://github.com/diafygi/Offset248)

Pros: simple, no ratio or ending calculation, easy copy/paste, same character length as original bytes

Cons: has to be percent encoded in urls, some fonts might not render all characters

<comment><USER35> In utf8, these characters are all encoded as two bytes. So this encoding makes the byte count twice as long, it's no more efficient (in bytes) than hex encoding.

</comment></comment><comment><USER36> Base64 is widespread and works fine, while nobody groks base122.

Base122 requires UTF-8, and while that's pretty common, it's not universal, so base64 can't ever go away in favor of base122.

Compressed base64 is more efficient than base122 (with or without compression).

Conclusion: Big nope.

</comment><comment><USER37> Are single-quotes allowed in the spec?

There is an explicit call out for "double quote == bad", but single quotes are also valid property delimeters in HTML.

<comment><USER38> If your property string is enclosed in a double quote, then a single quote in the payload is fine. (Otherwise, a lot of inline JS in onclick etc. attributes would break. JS allows both types of quotes on string literals for exactly this reason.)

Still, single quotes are somewhat asking for trouble.

</comment></comment><comment><USER39> I always wondered why people didn't do this.

</comment><comment><USER40> I'm looking for an efficient encoding that is guaranteed to not contain certain substrings, such as improper language.

<comment><USER41> You can probably get most of what you want by simply not using vowels. A few non-English ones will still get through like knnbccb and there's also shlt and so on....

</comment></comment><comment><USER42> meanwhile the Unicode consortium has been hard at work since 1991 to make it possible to encode up to 2.8 MB -- more than enough for most images, short videos, or many PDF files -- in a single character.

<comment><USER43> Are you referring to UTF-8? If so, this is misleading as you can encode up to 2^21 + 2^16 + 2^11 + 2^7 = 2,164,864 code points, which is not the same as encoding bytes in a single character.

<comment><USER42> I was making a joke about how ridiculously large Unicode is. Obviously it is not 2 million+ bytes per character! (But the fact that you didn't consider my joke obvious speaks volumes).</comment></comment></comment>


The Great American Hackathon is Tomorrow - <AUTHOR> http://sunlightlabs.com/blog/2009/great-american-hackathon-starts-tomorrow/

<comment><USER2> I'm actually having a general hackathon starting tonight that overlaps with this: <http://www.meetup.com/atlantacoworking/calendar/11881982/> I hope we have neat stuff come out of it for the GAH too. I'll be sure to share if we do.</comment>


Nest, the company, died at Google I/O 2019 - <AUTHOR> https://arstechnica.com/gadgets/2019/05/nest-the-company-died-at-google-io-2019/ <comment><USER4> Smart people don't buy smart home devices.

My relatively poor grandparents and my slightly less poor parents had a hard working life, but none of them had to sleep in a dark cold room because the switch to turn the lights on or the heating stopped working. Ever. This problem has been solved by other people many many years ago.

Last month I watched a documentary where a billionaire was showing of his multi million mansion and when he wanted to show the camera team his 100k home cinema room they couldn't see anything because his smart lighting system was stuck in an update loop and nobody had a clue how to fix it. In the interview he said it's not a big deal because he doesn't like to have the lights on when watching a movie anyway. L.O.L.

If I had a 100k cinema room then it would be certainly be a big deal to me if I can't even see where the heck I'm walking.

In my entire life I never thought "damn, how nice would it be if I could turn on the lights in my bedroom from downstairs on my phone". It's just not a problem which I think people have, but somehow the consumer industry has convinced so many fools to buy cheaply fabricated, badly secured, even worse programmed and often not long supported smart home devices which add absolutely no benefit to anyone's everyday life and cause lots of problems.

By the time I find my phone lying around in my lounge, unlock it through Face ID or finger touch, open up the home app, find the home device which I want to control, then make whatever change I wanted to do I am much faster to just get my arse up from the couch, walk over and turn it on/off with a normal hand movement. On the way I can also grab a beer from the fridge and then continue watching the telly and laugh about some fools who spent 100k on a home cinema without lights.

<comment><USER5> This is the exact kind of comment that would make it to the top because it just empowered everyone that DOESN'T have one such system. It's filled with finger pointing. Most of the replies basically point out yeah, I hate IoT lights, but this use case is good... It's not genuine to dismiss the entire enchilada because YOU don't have it. In 5 years when all the crap is worked out and you eventually buy a system with extra security at your door or backyard, or a something to that effect I'd like you to come back and admit it.

<comment><USER6> > In 5 years when all the crap is worked out and you eventually buy a system > with extra security at your door or backyard, or a something to that effect > I'd like you to come back and admit it.

I heard this same song and dance 5 years ago. The problems with the "IoT" market are foundational. Most IoT devices are not designed to be used for extended periods without internet access and a continuous stream of updates. The former means that, in general, they are only as reliable as your internet connection (including that crappy modem/router the ISP gave you). The latter means that unlike traditional home hardware, once you install "smart" devices you're at the mercy of the business plans of the vendor. So even if you get something set up that works acceptably, it will last 5 years tops (see Nest) before the vendor's priorities change.

Finally to address the "extra security" comment. Security from _what_? The developed world is objectively safer than ever, why would I invest in "solutions" to problems invented out of whole cloth? The paranoia of people installing cameras all over their own home (often cameras whose footage they have no real control over) astounds me. We're more mistrustful of our own neighbours than the companies that are actually exploiting our privacy and manipulating us psychologically for profit.

<comment><USER7> Not all of us live in safe neighborhoods like yourself.

<comment><USER8> It's not even a matter of "safe". I live in a neighborhood that is seen as very safe. Yet, we had a burglary two houses down not too long ago. And they happen frequently enough to myself. I've had plenty stolen. Without a camera, there's ~0% chance of anyone being caught.

I ended up buying a camera for peace of mind and for checking in on my place to see who's entering my residence area. Sometimes it's genuinely helpful.

<comment><USER9> > Without a camera, there's ~0% chance of anyone being caught.

If you're only interested in recording what happened (as evidence) an IP camera can run on PoE to a laptop or mini-pc on a UPS, and record for as long as you want, even in the case of a power outage if you include a UPS (an old laptop works well in this case - you can potentially just run the PoE switch/injector on the UPS and let the laptop run on its battery).

No internet connection required. No "service" to stop working. No "API" to become deprecated.

<comment><USER8> But then they can also steal the laptop or mini-pc that is recording. It's also a PITA to setup and manage yourself. I'd rather pay the $50/yr that I do and just have someone else do it. I'm done with the bradlys-as-a-service thing. It'd be another thing adding heat to my living environment as well.

It's been useful for other things like checking in on. Where/when packages are delivered, when the landlord showed up, when a neighbor came over to tell us something but we didn't hear them knock on the door, finding out my smoke alarm was going off for no apparent reason, etc.

<comment><USER10> They can also cut the copper/fiber/coax coming into your house. If the NVR/whatever recording your video isn't in a super obvious place it will take a thief longer to find that then it would be for them to clip your connection to the net.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> We are all used to SaaS randomly getting obsoleted, but when you buy a physical device you kind of expect to own it forever. But no, cloud and IoT means even your physical stuff are SaaS products. Just stop buying the trash.

<comment><USER12> Can't help but quote: «"the "Internet of Things" won't work until the "Local Area Network of Things" works», seen here on HN [1].

There's significantly less money in it, though, and more hassle. It's not going to become popular enough until people get burned enough with vendors going out of business, or just stopping support, and making their convenient $199 gadgets obsolete.

In a sense, a large company like Nest pulling his off is a good thing: it sends the signal.

[1]: [https://news.ycombinator.com/item?id=15721911#15726960](https://news.ycombinator.com/item?id=15721911#15726960)

<comment><USER13> LIFX bulbs work without the need to connect to the internet. They have a LAN protocol that's pretty easy to use.

<comment><USER14> I believe Philips Hue also does this correctly. I don't own any of the Hue products, last I looked (a few years ago) they had an open API. Currently it looks like you have to sign up for a developer account, I don't know if this is purely for email marketing or if they have know restricted API access. The downside to Hue was always the bridge, which is what exposed the http API.

LIFX looks nice though. The UDP Lan protocol is really neat, and the documentation is better than I remember of Philips Hue.

<comment><USER15> I have a Hue setup, and you only need to signup for a developer account to use their cloud API. If you're on your local network, the bridge has a REST API exposed and you can just start issuing requests to it without any signing up for anything.

</comment></comment></comment></comment></comment><comment><USER16> This is why I would never invest too much into Smart Home. While my phone may be expected to last for a few years only, I don't want my house deprecated because of a takeover/bankruptcy of a company.

<comment><USER17> I definitely would invest into Smart Home, but only if I can control it 100% from the server in my basement without the appliance having any internet access at all.

All my IoT devices are in a wifi without any internet access.

<comment><USER18> Not really an 'internet' of things then is it?

More like 'WLoT' (Wireless LAN of things)

<comment><USER19> In office buildings, devices already talk to each other using a network, so you don't have miles of cables from each switch to light or window-blind. In cars too, with CAN Bus.

Apple sells Apple Home Hub, I wonder if that's their "central control system" so that the Apple Home devices can be a bit dumber, but also it means there's a central firewall and system that can look for updates.

Also if you can install the "cloud-end" on your own device, when the company goes Nest, it means you can at least run an old version to keep your "IoT" gadget running, and it'll be running on the (hopefully) firewalled local hub.

<comment><USER20> > Apple sells Apple Home Hub

Apple doesn't sell a "home hub" product. But their smart speaker (HomePod), TV set top box (Apple TV) and tablets (iPad) can all function as a gateway for HomeKit devices to be securely controlled from outside the LAN without the devices themselves having to be very smart or secure.

<comment><USER21> IIRC, there _was_ AirPort, which was / is a wireless router that had options for things like storing device backups or similar.

Totally feasible to make a killer wireless AP that's Apple branded and connects better to the ecosystem, but that doesn't seem to be the direction Apple is going.

<comment><USER20> Yep, they had a range of WiFi routers, including one with a built-in harddisk for backups. They stopped updating them before they launched HomeKit though, so it never supported that.

It's a shame they stopped investing in them and missing the whole mesh Wi-Fi development. Also in this age where they're touting "privacy first" and iTunes is on the endangered list, not supporting iOS device backups over a LAN is a huge deficiency.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I kind of like how Google is moving all the home related products to the Nest brand. We always talk about Google branding being the worst but I think this is actually a logical move to one brand for everything Home.

I also like that I'll be able to use my google login for my Nest products in the future, and the author even agrees that the Nest app is not great and the Google Home app is what I currently use anyway for my Nest products.

I feel like the only real downside of all this is the Works With Nest platform is dead? Looks like they're working with Amazon on Alexa integration so that is nice, hopefully that will be ready by the end of August and work with more companies about integration.

<comment><USER23> Yes, I agree. The brand consolidation is long overdue, as are any meaningful updates and fixes to the Nest app. Those are two definite positives of this move.

Moving to Google Accounts is more murky: I can definitely see and sympathize with arguments on the basis of Google's overall business model and how it seems off for an ad company to be creating products for the home. With that said, Nest accounts (like the app) are woeful and only support the weakest of 2FA methods. (And in fact, I had that break for me on their desktop site -- enter the 2FA, then infinite loading.)

And the definite downside everyone seems to agree on is that killing Works with Nest (especially on a, IMO, short timeframe) shatters the trust placed in that ecosystem. Clickbait comments are focusing on the short-term which is going to be messy and involve a lot of people ditching Nest, but (whether I agree with it or not) I don't see APIs which give direct device access like Works with Nest even being a thing in the future.

In a world where the WSJ is sounding the alarm at people adding benign add-ons to Gmail by their own hand, not to mention people _blaming Nest for their own weak passwords,_ it may be that even basic security principles need to be re- examined and in a way "dumbed down." An example of this dumbing down is removing the ability to turn the recording light off moving forward.[1]

"Dumbing down" is a negative term, but I'm trying to apply it as neutrally as possible. It makes sense to Google to remove that ability, since any blowback would fall on them. I'm honestly surprised we haven't yet seen the headline "Google's Nest Cam recorded me even though it looked turned off," when the real story there would be an ex-SO or roommate opted to turn the light off and start recording.

1\. [https://www.techradar.com/news/exclusive-googles-security- ca...](https://www.techradar.com/news/exclusive-googles-security-cameras-to- drop-key-customization-option)

<comment><USER24> Agreed. I don't personally have any Nest hardware in my home, but I do have the app on my phone for family members' home, and the app is definitely kind of meh at best.

For all the backlash Google has gotten lately, it really does seem like they're trying to be more open with their privacy controls lately (disabling the option to turn off the camera light), as well as encouraging more security.

</comment></comment></comment><comment><USER25> This article was a surprisingly difficult read. It felt like every other word was a brand name, and the underlying confusing naming scheme surely didn't help. On top of that the author flip-flops between the issues of Nest going away (loss of privacy, and product ecosystem) while excited about Nest functionality moving to Google Home (Google Nest?).

I think the main takeaway for me is that it'll probably be another decade until there's any stability to be found in the "smart home" ecosystem.

<comment><USER26> Of course, a decade is optimistic. You could have felt the same way and written the same thing a decade ago.

It's possible that there will never be any stability in the smart home ecosystem, and constantly buying and throwing away electronic junk is simply the norm.

<comment><USER27> Stability in the ecosystem means loss of revenue stream. Disorder must be preserved to generate revenue reliably.

</comment></comment></comment><comment><USER28> I did quite a bit of experimentation with home automation systems (HomeSeer, Home Assistant, Domoticz and so on) and decided that the best (at least for me) and the most control giving solution is NodeRED - [https://github.com/node-red/node-red](https://github.com/node-red/node-red). You can create pretty complex flows with many already available nodes but if you want something custom - it's trivial either to add JS functions or to create your own node from scratch. Currently running it in a Docker container on an Intel NUC :)

The only downside is that it's not user friendly for non-tech people as you would still have to know few things such as what is HTTP server and how do devices talk to each other. It's not as easy as plugging in Google Home and just talking to it. But on the other hand, I only use my google home to: 1\. Set timer when I am cooking 2\. Send webhooks to my NodeRED to control things.

I don't have Nest currently, although I did use it several years ago, can't say it's very smart :)

<comment><USER29> I've been using Node Red for a few automation things too, basically as a self- hosted ifttt/zapier, and it's been working well. I would recommend it beyond home automation for the kinds of things that are "too small" to warrant their own code project and deployment setup but are still important enough to be automatic. This includes things like checking a webpage every 10 minutes and sending a text if it changes, or remapping webhooks between random services.

<comment><USER28> Exactly! My NodeRED besides doing some home automation actually does a lot more "ops" work for me:

1\. Complex healthchecks for my side project webhookrelay.com (tests backend functionality every 30 seconds) 2\. Normal HTTP healthchecks for all my websites - webhookrelay.com, keel.sh and few other backing services such as drone itself. 3\. Updates homebrew formula hash when a new release is out (there's a super easy to use github integration that allows you to modify files) 4\. Receives and processes emails from Mailgun about delivery failures.

So yeah, probably the best self-hosted IFTTT/Zapier out there :)

</comment></comment></comment><comment><USER30> Curious, does anyone have a good manual thermostat that they like?

Part of the reason Nest has done so well is most programmable thermostats are horrible to use. I'm a product designer and I don't understand how the scheduling works.

Scheduling isn't something I really need for my studio. At night I turn the AC on, in the morning I turn it off. Don't really need to turn on the heat in the winter. I'd love is a quality manual thermostat—something like the Honeywell CT87K1004, but with a metal shell. [https://www.honeywellstore.com/store/products/the-round- non-...](https://www.honeywellstore.com/store/products/the-round-non- progammable-thermostat-ct87k1004.htm)

<comment><USER31> Get a cheap Ecobee lite or one of the many long established manufacturers like Honeywell.

I really like Nest but after the Google acquisition I'm not confident in their products being supported. For me I don't need smart scheduling. My wife works from home and I do a couple days a week.

The Ecobee 4's I have are great and come with a couple room sensors. Had them for a few weeks now. I've briefly looked into the API and it looks like I could integrate it with my Raspberry Pi.

<comment><USER32> I have a Honeywell programmable/smart thermostat and am not particularly happy with it. The interface is confusing, and the smart functionality is limited and clunky.

</comment></comment></comment><comment><USER33> I can't think of a single compelling use-case for home automation systems. I'm trying to understand what other people see in it. I have to wonder if it's driven by the amount of interest a person has in "tinkering" with technology.

<comment><USER34> My system is 100% local, I use zwave, zigbee, and Home assistant. If the internet goes down nothing changes. If the Pi dies, the light switches work like one would always expect.

My favorite use case is simple, I walk into a room the lights turn on, I leave the lights turn off. I open the pantry door, light on, close it light off. I also enjoy getting in bed and the house shutting down, lights, security, temperature all tied to my wife and I just getting into bed.

Where people go wrong is buying light bulbs, well now you have to keep the light switch on 24/7 or the wifi bulk isn't on to know it shoudl be off? like WTH? Just automate the switch and use normal lights. Wifi anything (wemo, etc...) sucks and almost always requires cloud service, why reply on the company that sells a $5 bulb to stay in business? insane.

<comment><USER33> I can see some energy efficiency in the auto turn on/off.

Maybe we're using different terminology, but what do you use in lieu of light bulbs? (I call any of those tubular things, e.g. fluorescent lighting, light bulbs.)

<comment><USER34> You keep the lights you have now, but you put in a smart switch. I prefer wave, like this [https://www.amazon.com/Leviton-DZ6HD-1BZ-Decora-Dimmer- Techn...](https://www.amazon.com/Leviton-DZ6HD-1BZ-Decora-Dimmer- Technology/dp/B01N4F487U/)

Then you can program anything to turn the light on/off. Like for example I also turn off lights even if there is motion if the luminance sensors say it is plenty bright inside from the sun.

Or leave the shower light on when the humidity is really high and there is no detectable motion. I might not be moving enough in the shower but if the humidity is 90% you can assume the shower is on and I don't want to be left in the dark.

Another one of my favorites is in our kids play room. On a school night, if the xbox is on, and there is motion, Alexa will announce a warning about bed time, wrap up the game play. Then in a couple minutes the xbox turns off, and then Alexas tell them to brush their teeth, and eventually turns off the lights in the play room (they would never turn them off on their own). If the xbox turns back on, my wife and I get an alert on our phones so we can manage screen time.

</comment></comment></comment></comment><comment><USER35> It used to be "Embrace, extend, extinguish"\- Microsoft would promote a technology, then extend in their own way, then use that extension to kill off the competitors also using the same tech.

Now it's more like "Acquire, Advocate, Assassinate". Big companies buy small tech startups doing neat things for customers. They fund it, highly promote it, integrate it with their stack. Then they kill off the critical pieces that made the original company loved by their users.

They buy the devs, the tech, and the customers but kill the soul of whatever it was they acquired.

</comment><comment><USER36> > Google's smart home strategy will now revolve around only the "Works with > Google Assistant" program

This arguably makes more sense anyway, and I think it opens up some interesting possibilities that might not have been possible while Nest was a standalone entity.

<comment><USER37> Works With Nest means arbitrary third parties having API access to a Nest device. Any person could make a dev account and start logging data, sending commands, etc.

Works With Google Assistant means Google (and in this case, only Google, given the WwN sunset) having API access to whatever device, in this case a Nest device.

Correct me if I'm wrong.

<comment><USER36> I'm expecting that the extra context available in the Assistant platform will yield integrations that are generally more useful, even if there are fewer of them.

As for tinkering... it's not that difficult to build a smart thermostat these days.

</comment></comment></comment><comment><USER38> This is why we invested in Apple Home, since that is the least likely to go away completely off all the options. Any Google service other than Gmail and Google Maps may come and go so while they offer amazing features at the cost of invading your privacy, there is no guarantee they will there in the long term.

<comment><USER39> Apple has cancelled plenty of things, it's just much better at erasing history and pretending those things never existed than the other companies.

<comment><USER40> I suppose that's why instead of showing examples you are making broad sweeping claims?

<comment><USER39> Airport stuff, Ping, Monster branded beats headphones, etc.

You can get support for mac/etc stuff for 5 years after purchase (which admittedly is nice). However, before you decide that is awesome, things like the headphones were killed with no support regardless of purchase date.

Apple also refuses to call anything it stopped manufacturing "canceled" at all.

It deliberately tries to message this part, calling them "vintage" until they have been "not manufactured" (IE canceled) for at least 7 years. They are then called "obsolete". This is messaging specifically used to try to confuse the issue, and is unfortunately likely effective.

See [https://support.apple.com/en-us/HT201624](https://support.apple.com/en- us/HT201624)

Apple doesn't turn down a lot of open API's because they never have them in the first place, which i'm not sure is better.

(They do turn down existing closed APIs, and not uncommonly by force - <USER2> if you want to put your app on the store, you must use new version of API x)

<comment><USER41> Very weak examples.

Monster and Beats ended their partnership in 2012, and Apple didn't acquire Beats till 2014.

Airport had a long run, and even when discontinued, Apple offered to service Airport products for five years.

Yes, Ping got the axe, and my heart goes out to both of Ping's active users.

<comment><USER39> "Monster and Beats ended their partnership in 2012, and Apple didn't acquire Beats till 2014.

"

Oh well, did you remove everything on the list that Google shut down post- acquisition? No? Okay then.

"Yes, Ping got the axe, and my heart goes out to both of Ping's active users."

Would you change your tune if you discovered the canceled google products had less users than Ping?

Google isn't cancelling majority-user products either. If the whole point is not to hurt the minority, you are just showing you aren't willing to apply the same standards.

This whole comment feels that way - a strong inability to apply the same standards to two companies.

<comment><USER41> Again, the Monster partnership ended _pre-acquisition_.

I'm not criticizing Google or defending Apple. I'm just saying, your examples weren't very convincing. If that's the worst of Apple's product cancellations (including one claim which wasn't even true), that's way better than average.

</comment></comment></comment></comment></comment></comment></comment><comment><USER42> In what world could Nest have been a profitable ongoing concern without being acquired by someone?

It's hard enough going from startup to either IPO or a self sustainable "lifestyle business" for a software company. It's almost impossible for a hardware company - see Eero.

<comment><USER43> I think they had a shot.

It seems to me that they had managed to effectively own the top end segment of the home thermostat market in term of branding and product recognition. I don't see why that wouldn't have enabled a profitable, sustainable company.

The thing is that these days people start this kind of company with their exit in mind from day one.

<comment><USER42> How sustainable? There are only three ways to sell a thermostat.

\- at the time a home is being built when it's easy to get all sorts of add ons bundle through the builder. How many homes are being built in a year?

\- as a self service after market upgrade to your existing thermostat. In the grand scheme of things, how many people are willing to do that?

-working with service companies or building out a network of installers.

Also, how often do you replace your thermostat?

Look at Roku, they knew from day one that money wasn't ultimately going to come from hardware sells. Their business model was always ultimately to get a cut of subscriptions, sell ads, and sell viewing habits.

<comment><USER43> Plenty of thermostats are sold per year. Certainly enough to sustain the many existing vendors.

E.g. I'm in the UK. There are 25 million homes here and pretty much every home has a thermostat. If I assume that a thermostat lasts 20 years so that about 5% must be replaced in a given year that means a market of 1.25 million thermostats every year. Every DIY and plumbing supplies shop sells thermostats, so they must sell.

<comment><USER42> How many companies sustain entire businesses just based on selling thermostats? If Nest captured the entire market and sold $225 thermostats, that's less than a $300 million a year _revenue_ in an entire year. That doesn't take into account wholesale prices. What does the net income look like?

<comment><USER43> Being sustainable does not mean being a unicorn.

As said the issue is that the aim always to exit. And also that they approach this as a Silicon Valley tech company and not as a "standard" company... So spending goes out of hands and it's a billion dollars or nothing.

<comment><USER44> Personally, at this point I refuse to use products and services made by startups unless I have no other choice. Seeking "an exit" is startup code word for "we don't give a flying fuck about customers and our products; it's only a vehicle to get us rich".

<comment><USER42> From a B2B side. I've been on both sides of a startup.

On one side we were a small company with a large company as a customer who demanded that our code be put in escrow in the case we went out of business. The company did, but the customer hired me as a contractor because I was one of a few people in the world who knew how to develop on the proprietary platform. Even better, I was one of only three people in the world who knew how to modify the C++/MFC platform itself.

On the other side, I was the dev lead for a company and our business consisted of 60-70% of the vendors revenue. We had them put the code in escrow as part of our contract.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER45> I've never felt terribly inconvenienced by manually flipping light switches, pushing buttons on the remote, or fiddling with the thermostat. Voice control of these things introduces many new points of failure and aggravations without delivering an order-of-magnitude improvement to my daily life. I just don't find it worthwhile.

The day I can say "Google, fold the laundry" or "Alexa, make me a sandwich" and it _actually does it_ , then I'll happily buy in to a smart home ecosystem. That's an order-of-magnitude improvement! Until then, I'm OK with the analog stuff that lasts for ages and breaks in fairly easy-to-understand- and-fix ways.

</comment><comment><USER46> I got a Nest as a housewarming gift and was excited to set it up and play with it. I set it up in SmartThings, HomeBridge, IFTTT, and Alexa. That was about 2 weeks ago, now I'm considering returning it and going to with some zigbee/z-wave alternative.

This is 100% why I refuse to buy WiFi "Smart" devices. They are always a step away from being shutdown and no longer supported. Tuya devices are sometimes acceptable but normally only if someone has already cracked how to talk to them. My new Eufy RoboVac is in that category for me. I'm going to have to write the majority of the HomeBridge support for it but I know it's possible (and I LOVE Anker products).

<comment><USER47> _This is 100% why I refuse to buy WiFi "Smart" devices. They are always a step away from being shutdown and no longer supported._

It is my understanding that HomeKit devices have to allow direct communication to HomeKit, meaning that $CHEAP_ASS_IOT servers can be taken down, but it will still work with HomeKit. (I did make an attempt to find a link to support this, but a few minutes didn't yield anything for/against.)

<comment><USER34> You'd still be relying on Apple for your UI. Which isn't bad but could be limiting. Better to go with a Raspberry Pi and home assistant, and add home kit as an option. Hell also add alexa and google while you are at it. You wouldn't be tied to anything.

<comment><USER47> _Better to go with a Raspberry Pi and home assistant, and add home kit as an option._

Which I do have, but Home Assistant often relies on APIs that HomeKit doesn't. For instance, EcoBee thermostat: HA needs your creds to go through the EcoBee API that could be turned off in the future. HomeKit doesn't care, it talks directly to the thermostat. Now, get Home Assistant to speak HomeKitese and we have the best of both.

In summary, I'm much less concerned about Apple turning off HomeKit than I am about EcoBee getting bought, or otherwise deciding they don't want to support an API anymore.

</comment></comment></comment></comment><comment><USER48> The meta-observation based on comments here is that smart home technology has bad coupling between volume customers and early adopters, who may be opinion leaders.

"Broken smart home" describes every smart home ever. If you don't believe that I have some used X10 light switches to sell you.

Smart homes are a mug's game, but some smart home devices, like smart speakers, sell well because they do enough straight out of the box and the simplest level of integration with other devices is simple enough.

If the EOL of Works With Nest troubles you, you are not the mass market. The mass market is delighted by being able to shout "Hey Google, where's my phone?" and save a few minutes of searching, and is unconcerned if in two years their Google Home Mini stops working.

</comment><comment><USER49> 1989: About one out of every 63 East Germans collaborated with the Stasi.

2018: About one out every 2 Americans now own a 'smart speaker'

Both Orwell AND Huxley lacked imagination

<comment><USER50> This is intellectually dishonest and dismissive to people who actually had to live in a totalitarian surveillance state for decades.

<comment><USER49> I respectfully disagree. I think those that have lived in a surveillance state (which needs not be overtly totalitarian), are more keen to pick up on the non-advertised impacts of such technologies.

</comment></comment></comment><comment><USER51> The Nest thermostat is really great, a huge leap over crappy manual thermostats and the expensive "high tech" ones that others in the traditional industry have tried to create (bryant, looking at you).

BUT when I purchased this, this is exactly what I was afraid of. I think this is a huge problem for the software industry in general: most companies don't last. As a customer you can't place your trust in them as they'll be gone in 5 years.

<comment><USER52> > The Nest thermostat is really great, a huge leap over crappy manual > thermostats

In what regard? I've yet to run into a problem with my "crappy" thermostats.

<comment><USER51> I didn't mean to provoke anyway by saying "crappy" ;-)

What I notice is that the nest does a really great job managing the temperature in my house and keeping it comfortable. It just works and it became a default expectation. We had to go back to the old thermostat after an issue with our furnace, after which I started getting a ton of complaints from everybody about too cold/too hot. It's a great example of a technology that works really well.

</comment></comment></comment><comment><USER53> I bought two nest outdoor Cameras on the general recommendation that they were the best all around for the job. I have them hooked up to my home automation system so that they sync away statuses - now this is pretty much kaput.

How much would it possibly cost for Google to just keep the Works with Nest Apis on maintenance mode? I personally will never buy another Nest (or I guess Google Nest) product since apparently this is how they are treating folks.

<comment><USER54> > How much would it possibly cost for Google to just keep the Works with Nest > Apis on maintenance mode?

The cost is basically infinite as Google is internally structured, maintenance on anything but a monster service is a career dead end. It would likely be worse for an acquired service like Nest, the experience gained wouldn't transfer over to Google's back end.

</comment></comment><comment><USER55> If there's anything to be learned from Nest, I think it would be interesting to se a full open source stack for things like Nest as well as Google Home / Alexa. If the NLP is right, the actual functionality is not hard to replicated means that third party integrations can be easily added/customized. Then you also eliminate the always on problem with everything going through your own servers.

What I'm imagining (all open source):

\- Hardware Speaker/Microphone device (can be multiple developed of course on one standard)

\- Device OS based on Linux

\- NLP engine

\- Easy Plug and Play Server Box

\- Library / Packages for third party integrations (say Gmail et al, Spotify, Amazon, Weather.com)

\- An open app store type system where all of these "skills" can actually be used with any device instead of only existing in one ecosystem

Does something like this already exist?

It would obviously take more technical know how, but I think done right it could really be a big step towards keeping the usefulness of assistants and smart home devices while building in control and security both in lasting time and attacks.

<comment><USER56> There's home assistant: [https://www.home-assistant.io/](https://www.home- assistant.io/)

And mozilla web things: [https://iot.mozilla.org/](https://iot.mozilla.org/)

Plenty of options these days. I have high hopes for web things to become the "app store" that you mention.

<comment><USER55> Forgive my laziness, but how does this play with third parties and where is it on the NLP/hardware front?

As much as I love the idea of going open source, the practicalities right now is using Google/Spotify/Weather/Netflix via voice control is the majority of my use cases an

I see now I'm talking less smart home and more smart assistant, so I guess this is verging off a bit from Nest's functionality. WebThings looks really good on first glance - the API seems well designed and intuitive and the gateway idea is exactly what I wanted. It seems like the NLP/Speaker to Gateway connection is needed still.

I really hope this also becomes something third parties support. I'm concerned that even if all of these pieces come together, Netflix/Spotify just say "lol no we're gonna only support Amazon/Google".

Appreciate the links!

<comment><USER56> Check out the Respeaker Core v2. Right now there isn't much in the way of an end to end solution, but there are a ton of options to roll your own. And really, rolling your own is the only way to ensure privacy and longevity anyway.

</comment></comment></comment></comment><comment><USER57> Has anyone tried Home Assistant to get around things like this? Or are you locked in proprietary technology anyways?

<comment><USER58> Home Assistant can interface with many different services. I use it with Z-Wave and the (undocumented) cloud API for my A/C, as well as pulling some data from weather services etc.

There are a lot of different Z-Wave devices for controlling lights, motors, heat, as well as sensors for motion, smoke, luminosity etc. Zigbee is another standard which can also be used with Home Assistant, which is mostly for lighting AFAIK.

The way Home Assistant is written it's relatively easy to write a new service which exposes devices that can control or sense. Sensor readings and control is unified, so you can mix multiple platforms in your automation. You could have a Z-Wave motion sensor trigger a Philips Hue (Zigbee) light if the weather service (HTTP) tells you it's past sunset.

You can check out the supported components here: [https://www.home- assistant.io/components/](https://www.home-assistant.io/components/)

</comment></comment><comment><USER59> What I don't understand is... What's in this for Google? Why are they making such a radical, customer-hostile, partner-hostile change in direction? Strategically, this just seems all wrong to me, but there's clearly a Big Picture I'm not seeing.

<comment><USER54> Unless the service is monstrous like search or GMail, working on maintaining existing product infrastructure is a career dead end in the company, the game is to be part of a project launch. And Google's back end stuff constantly changes, so significant amount of maintenance is needed to keep _anything_ running indefinitely, another reason for all the things they've killed.

Maybe the conversion of Nest's infrastructure was internally viewed as more maintenance than new project, so it didn't get much in the way of resources? Google palpably doesn't care about brand damage so that's not a consideration.

</comment></comment><comment><USER60> Good thing i never bought a Nest device. As with most "Google made" devices the lifespan and their commitment to support a product are abysmal.

Honestly we need to change the way we think about products - <USER3> household products like those Nest was selling. No way can i save money with it if i pay 300$ and it gets killed after 2 or 3 years. And i'm not even talking about the environmental aspects.

The documentary about Dieter Rams makes me long for more designers who understand their responsibility.

[https://vimeo.com/ondemand/ramsfilm](https://vimeo.com/ondemand/ramsfilm)

</comment><comment><USER61> (as recently discussed on HN) [https://news.ycombinator.com/item?id=19854381](https://news.ycombinator.com/item?id=19854381)

</comment><comment><USER62> What would you expect to happen. This was written the moment G bought it. Of course they are going to merge the platform into Google-Home. This was inevitable

<comment><USER63> Merging can be done without killing the existing API. I don't care if they stick "Google Home Assistant Plus+" in front of it as long as the API allows for interfacing with the hardware I purchased.

Instead, Google decided to go the full-Google kill-everything route.

<comment><USER64> Can be done, yes - but seemingly not by Google. A purchase by Google seems to be a pretty likely death sentence for a product.

Makes me happy I migrated away from them years ago.

</comment></comment></comment><comment><USER65> This is still the Thread protocol under the hood, right? Are developers prevented from creating another platform based on thread (or openthread) somehow?

Seems like an opportunity to target people who don't want to move to Google. But, in reality, your average person won't really care. They'll just migrate over and not think twice.

</comment><comment><USER66> Its an interesting move. Google has the muscle here to innovate on a good local area IoT protocol and get a large amount of devices using it. There's a slight chance it'll be opened up one day but I won't hold my breath.

</comment><comment><USER67> Thanks Google, I'm moving away from your services and software development stacks (bye Angular.)

The only way Google will change their ways is by losing eyeballs, one set at a time.

</comment><comment><USER68> This so called smarthome stuff is just a bunch of garbage 'solutions' in search of a problem.

</comment><comment><USER69> You can't make this up. Google pushing for privacy and control in one breath, and the very next are merging Nest personal accounts and data into their massive architecture.

Really walking the walk google, great work! /s

</comment><comment><USER70> This is why I'm not buying a Google Home. You never know when Google might kill it, so it's basically lost money.

</comment><comment><USER71> Why was the company expected to survive being bought by another company? only in dreams.</comment>


Stick and Rudder: An Explanation of the Art of Flying (1944) - <AUTHOR> https://archive.org/details/StickAndRudderAnExplanationOfTheArtOfFlying <comment><USER2> I have no idea how it ended up on the front page of HN, but this is an amazing book. Highly recommended for any pilot, especially those flying small airplanes. Don't let the date scare you, it holds up incredibly well. Wolfgang figured out how to describe things that good pilots do unconsciously in a way I've never seen matched.

I'd like to share one passage that because of a small aside in the middle of a sentence has stuck with me for years.

Of course it is conceivable that a perfectly maintained airplane, perfectly trimmed and flying in smooth air, might continue to fly straight ahead indefinitely simply because it would never be disturbed, would never get that first slight deflection from straight flight which starts the spiraling. But it is also conceivable that a pencil, stood on its point, might be so perfectly balanced and so completely shielded from all disturbances that it would stand on its point indefinitely. Both things are philosophically possible; both are so highly improbable as to be practically impossible. And anyway, the stability of a thing, just like that of a man, does not consist in its being shielded from all disturbances and thus preserving a precarious balance; it consists in the ability to recover from disturbances that inevitably will occur, and to regain lost balance.

<comment><USER3> An example from hang gliding: the wings form a shallow "V", with you at the centre. If it tilts left, there's more lift area downwards on the left (and less on the right), so it tends to tilt back, righting itself.

I'm not sure what prevents oscillation; nor how pitch is stablized (pointing downwards vs pointing up), but I've found hang gliders very stable.

<comment><USER4> The "projected area" theory is a common misconception of how dihedral works (that I also subscribed to for many years). All things being equal, the port and starboard wings create the the same amount of roll torque, no matter which one is 'facing' the ground better (of course, dihedral does still work, because all things are not equal).

[https://aviation.stackexchange.com/questions/26759/how- does-...](https://aviation.stackexchange.com/questions/26759/how-does-the- dihedral-angle-work)

<comment><USER5> Check out page 126 of Stick And Rudder for an intuitive illustration of why dihedral works.

</comment></comment></comment></comment><comment><USER6> I'm not a pilot. My father flew small planes for a time and obtained a commercial license. This is just me reminiscencing about two experiences I've had as a passenger in small aircraft.

I hopped on a six or eight passenger tour plane operating from the grass field at Grand Marais Airport in Michigan around 1993. I was in the first row behind the pilot. There were high, gusty winds off Lake Superior and the pilot had to really work the yoke and throttle. It was almost athletic; the pilot was reacting to strong wind gusts -- big deflections of every control surface every second or two -- and yet the plane felt rock stable; if you had closed your eyes you could not have known there was this amazing pilot working it that hard. This went on from the moment he cleared the trees till just before touchdown. Really astonishing.

Around 2003 I took another flight in a Schweizer sailplane out of Boulder Municipal Airport in Colorado. I was amused by how the pilot somehow knew exactly where to find lift. He would deliberately fly along ridge lift, entering and exiting like there were signs in the sky; never a doubt where to find it even though the foothills were so far below there was no obvious correlation between the contours and the lift.

I think piloting is far removed from just about everything else. Non-pilots don't even suspect things that experienced pilots take for granted.

<comment><USER7> Gliding is more or less all the stick and rudder stuff with actually staying up and going places a whole other layer on top.

</comment></comment><comment><USER8> I don't recall ever reading this book, but as a student pilot, I was given a copy of "You have 178 seconds to live" and it had a tremendous impact on me.

[https://www.faa.gov/about/office_org/field_offices/fsdo/fai/...](https://www.faa.gov/about/office_org/field_offices/fsdo/fai/local_more/alaskan_articles/media/178-Seconds_to_Live.pdf)

<comment><USER9> I do not hold a license but have plenty of simulator experience. Do they not teach how to use an attitude indicator even for a VFR license? Or how to do an instrument scan? I thought this is pretty basic. Even with a good forecast, you can get caught badly by weather. The linked document indicates that invertion can happen with no visibility, but can't this being prevented bay paying attention to the attitude indicator.

<comment><USER10> To get a VFR license, yes, you have to know about everything you mentioned. You must learn about all the instruments. What kind of instrument scans to do in various kinds of situations. Ascent/descent, climbing turns, level turns into a heading, etc. VFR pilots do learn about reading the instruments, but at the same time they learn about the dangers that come with focusing too much on the instruments— such as not watching for traffic or other awareness issues. They also must learn a ton about weather.

So a VFR pilot is trained in some of the basic instrument reading things needed for low visibility flight. But there's a lot more expertise involved in safely flying instruments than in visual flight. Precise, mentally demanding procedures, multitasking. VFR pilots are also required to learn about why instrument flying is so much more difficult. A big part of the reason is spatial disorientation[1]. Your senses tell you one thing while the instruments tell you another. And the scary part is that when the equipment fails, sometimes it's your senses that are more correct. Pilots either blindly following their senses when their senses are wrong, or ignoring their senses when their instruments are wrong— both of those kill people.

To compare flying in a real small plane versus a simulator: When you go into a stall in a small plane, the feeling of dropping feels a lot like a roller coaster, with your stomach coming up into your mouth. That woozy feeling is much the same. And certain kinds of weather can cause a similar rapid change in elevation even without you changing the attitude of the plane. The small plane is so much more (potentially) wild than a big jet, it's a bit more like being in a flying lawnmower. A simulator does teach lots of the skills you need to know, and is especially useful for establishing muscle memory for things like instrument scans and other procedures. Then doing that in a real plane is like doing the same thing, but on a wild roller coaster, and with the full knowledge that if you mess up you'll die.

You should go for a ride! Tons of places offer very cheap introductory flights where you get to take the controls for a bit during that first flight.

[1] [https://en.m.wikipedia.org/wiki/Spatial_disorientation](https://en.m.wikipedia.org/wiki/Spatial_disorientation)

</comment></comment></comment><comment><USER11> A true classic; I read (and re-read) the dead-trees version (a library copy, even!) many moons ago.

A similar and more modern take on these same fundamentals of flight dynamics titled "See How It Flies" is freely online at [https://www.av8n.com/how/](https://www.av8n.com/how/) — enthusiastically recommended.

/Acey

<comment><AUTHOR> I've read through at least half a dozen times, and I'm re-reading it in preparation for my first real flying lessons. (I'm very excited.)

</comment></comment><comment><USER12> My understanding is that this book is still basically the bible of aviation.

Of additional potential interest to smart folks who like to read is the fact that the author's son is of note as well; he's written a lot of really great long-form journalism, often but not exclusively about aviation as well, both in high-profile magazines and in book form. He's on the short list of authors whom I read automatically.

[https://en.wikipedia.org/wiki/William_Langewiesche](https://en.wikipedia.org/wiki/William_Langewiesche)

Seek out "The Crash of EgyptAir 990," which ran in the New York Review of Books in 2002. It's STELLAR, but then his work across the board is especially solid.

Of his books, I think my favorites are "Inside the Sky," about flight, and "The Outlaw Sea," about shipping. "The Atomic Bazaar" is also great, if terrifying.

</comment><comment><USER13> It's amazing how literally everything in this book is still relevant in 2018, it really is the bible of flying. Take for example this line:

> The so-called "elevator" is really the airplane's speed control, the > throttle is really its up-and-down control. This is hard to believe but is > one of the keys to the art of piloting.

<comment><USER14> That is one of the most important facts about flying; it is also one of the most misunderstood.

When I read it as a student pilot, I found the book to be oddly written, but so applicable. That one sentence will do wonders for final approach and landings!

</comment></comment><comment><USER15> Seems like this might be a good place to link to _The Turn_ (1993):

> At the very heart of winged flight lies the banked turn, a procedure that by > now seems so routine and familiar that airline passengers appreciate neither > its elegance and mystery nor its dangerously delusive character. The author, > a pilot, takes us up into the subject.

[https://www.theatlantic.com/past/docs/unbound/langew/turn.ht...](https://www.theatlantic.com/past/docs/unbound/langew/turn.htm)

<comment><AUTHOR> That is a great article --- he had the knack of making difficult concepts not only clear but enthralling.

</comment></comment><comment><USER16> So happy to see a well-illustrated book endure the test of time. I still look for old texts on science, physics, chemistry ... even (especially?) electronics.

<comment><USER2> In the chapter on landing, there's a series of illustrations[1] of a giant building with white and gray horizontal stripes. They're used to show how you can tell how high you are when landing.

During a ground lesson, I'd show the student the picture and say "of course, it's not like you'll have a building like that actually next to the runway!." They'd agree, then I'd point out the window at this building[2], right next to the runway.

1\. [https://i.imgur.com/i4qlsYQ.png](https://i.imgur.com/i4qlsYQ.png) 2\. [https://i.imgur.com/vZXZOIp.jpg](https://i.imgur.com/vZXZOIp.jpg)

<comment><USER17> Hope you teach your new students 'crabbing' techniques during cross-wind landings before sending them off solo. I remember during one solo cross country taking-off from a V-shaped private field lined with 50 foot trees, zero evident or forecast winds, and after second rotation (which just happened to be at tree-top level) was hit by a cross-wind from the left. Now as we know it's not particularly healthy to attempt flying sideways 70 feet AGL so full right rudder was applied until the wings 'bit' and ascent was stable. Interesting that early exposure to cross-wind landings did trigger that immediate corrective response.

</comment></comment></comment><comment><USER18> I have a recent hardback version that I lend out to folks interested in flying or are going through their training.

While not to everyone's taste, the style of writing is approachable and distils many somewhat technical concepts (for folks with a poor physics background) into very easily understandable passages.

The book is centred around on more how to fly an aircraft, rather than how an aircraft flies, but covers both equally well, and is quiet a refresher in all the current flight training manuals and regulations that one has to go through.

</comment><comment><USER19> This book is also available as a boxer set with _Weather Flying_ Robert Buck and _Instrument Flying_ by Taylor.

The first of those is almost as good as _Stick and Rudder_.

</comment><comment><USER20> This is still (after 74 years) a hugely popular book among student pilots to understand the basics of fling. Technically, very little has changed over all those years. Popular training and GA aircraft like the Cessna 152/172 are built and powered in the exact same way as back then.

</comment><comment><USER21> Anybody here fly commercially? I always wanted to, then 9/11 happened in my 18th year and caused a lost decade for the aviation industry. Thinking about a mid-life career change now, but it's going to be a very expensive endeavor.

<comment><USER22> It is definitely an expensive road but the regional level pay has gotten much better. The regional I just left was paying new pilots upwards of $55,000 first year. As a junior captain I left making around $120,000. Probably nothing among a crowd of software devs but far above the $23,000 I made my first year, 7 years ago.

If you already have a 4 year degree and a relatively stable financial situation then I'd say go for it! Major airlines are hiring like crazy and just about anyone without skeletons in their closet should be working for a major over the next 10 years because of mandatory retirement.

<comment><USER23> Great to hear that they solved the "mystery" of the lack of new pilots (paying a living wage helps...)

</comment></comment></comment><comment><USER24> Even if the content of this book were bunk, I'd still conclude that this author is great. Good reading for anyone who wants to write an instruction manual for anything.

</comment><comment><USER25> this is a good compliment to Stick and Rudder: [https://www.amazon.com/Compleat-Taildragger-Pilot-Harvey- Plo...](https://www.amazon.com/Compleat-Taildragger-Pilot-Harvey- Plourde/dp/0963913700/ref=sr_1_1?ie=UTF8&qid=1528950509&sr=8-1&keywords=the+compleat+taildragger+pilot) if you are interested in getting into actual "stick and rudder" flying - tailwheel flying (while a bit of a dying art) is kind of key for all test, aerobatic, bush, and most "fun" types of flying where your "involved" with the machine

<comment><USER26> If you're in the SF Bay Area, Palo Alto airport has several clubs offering primary flight training in the Citabria 7ECA ([https://en.m.wikipedia.org/wiki/American_Champion_Citabria](https://en.m.wikipedia.org/wiki/American_Champion_Citabria)). Student in the front, instructor in the back (and out of your line of sight), right hand on the stick between your knees, and left hand on the throttle. Tailwheel. 1120 lbs empty weight.

Thrilling.

An intro flight will cost about $200.

</comment></comment><comment><USER27> In my bookshelf. I think that the most fundamental statement in Stick & Rudder is that you are flying a Wing. And a Wing is something that is inherently non- intuitive to most human beings.

</comment><comment><USER28> Hate to be that guy, but I'm pretty sure this book is still under copyright; the author passed away in 2002. HN is probably not the right place to post this...</comment>


The Batman Equation - <AUTHOR> http://i.imgur.com/CNy9J.jpg

<comment><USER2> Discussion for this is on <http://news.ycombinator.com/item?id=2825402>

Also on [http://math.stackexchange.com/questions/54506/is-this- batman...](http://math.stackexchange.com/questions/54506/is-this-batman- equation-for-real)</comment>


Huawei is banned from using SD cards in future devices - <AUTHOR> https://www.engadget.com/2019/05/24/huawei-sd-association-ban/ <comment><USER2> What next, will they be kicked out of the USB association? Having standards agencies involving themselves in economic warfare doesn't seem like a good idea.

<comment><USER3> Well, the Wi-Fi Alliance kicked them out, so maybe the USB-IF, based in Oregon, is a possibility. It's kind of scary how fast everything under the American sun has been weaponized.</comment></comment>


Nokia N900 Apps - <AUTHOR> http://www.anandtech.com/show/3764/two-omap-3430-phones-nokia-n900-and-motorola-droid/12

<comment><USER2> Nice to see crazy in-depth coverage for phones (this article covers both the Motorola Droid and the N900) that have been around the block a few times rather than just cheer-leading the newest and shiniest. I had to triple-check this wasn't just an old article getting reposted.

Interesting that he keeps saying the N900 is more a tablet than a phone, which I think people have always said, but suddenly in the post-iPad world where Apple have apparently created a new market segment, those years of experience building little internet tablets might stand them in good stead.

Personally I'm glad to see so many worthy contenders in the phone/tablet space (meaning iOS, Android, Meego & WebOS with room for more I think).</comment>


Don't be a Stanford Asshole - <AUTHOR> http://www.48hills.org/2015/01/26/dont-stanford-asshole/ <comment><USER2> Honestly, I hate articles like this because they always fail to recognize the biggest asshole, the landlords who extract economic rent from everyone and prevent all progress because increased supply makes their properties less lucrative.

It shocks me to see brand new condos going up in the city that are 4-5 stories tall when cities like Paris and Munich have shown that you can have human scale living at a much greater density. Why do new buildings have so few stories? Because landlords in the city heavily lobby for restrictions and challenge every project trying to scale them down. There is enough room for SF to keep its eccentrics and welcome newcomers and that solution is supply.

<comment><USER3> From my experience living in the Bay Area, it was definitely not just landlords lobbying against construction. Normal residents often expressed NIMBY concerns like "changing neighborhood character." Many of the people I spoke to were not convinced that increased housing supply could reduce costs, and that "all new housing would just be for rich people."

I think if more residents supported construction, the landlord lobby would have no hope, but unfortunately they have many allies.

</comment></comment><comment><USER4> Sounds like the real asshole is the person who instead of trying to understand and critique people with different opinions, simply lambasts them as "assholes".

A great example of the author's inability to engage with opposing views is in the intro:

 _Afterward, one of the event organizers thanked me for coming, even though, she said, "I disagree with almost everything you said." Seriously? So it's okay to evict poor people to make room for new rich people? Is that what the SF Chron talked about today with a story called "psychology studies suggest rising wealth means more jerks in SF?"_

Note how the author is more interested in psychology studies about people, than what those people would actually say for themselves.

</comment><comment><USER5> "Don't ever move into an apartment, TIC, condo, or house that has been cleared by an eviction."

This is impossible in practice. But more importantly, it is one of those hopelessly naive idealistic rules. Apartments will be rented out, whether it is by you or someone else. Changing an economic trend requires more than rent control and well-intentioned protests.</comment>


UK blames Russia for 'malicious' NotPetya cyber-attack - <AUTHOR> http://www.bbc.co.uk/news/uk-politics-43062113 <comment><USER2> Recently a wave of DDOS attacks hit the banks of the Netherlands. While the large Bank CEOs were on the news saying this was a professional, very possibly the Russians, Jelle M. from the small town of Oosterhout was caught and confessed that he had spend something like 50$ on some DDOS stress testing service. There is a very nice story on this [0], unfortunately it is in Dutch.

Yes, this is different but the ease with which the Russians are blamed seems to be very wide spread. Of course, we never get to see and investigate the evidence.

[0] [https://tweakers.net/reviews/6031/een-ddoser-betrapt-hoe- de-...](https://tweakers.net/reviews/6031/een-ddoser-betrapt-hoe-de-aanvaller- tegen-de-lamp-liep.html)

<comment><USER3> It's starting to become a problem, honestly.

There was a case with a local MP here who was supporting an unpopular bill, so his website got DDOS'd and the next day he was in the media talking about how this had to be a sophisticated attack. Basically implying that it had to be a rogue state behind it, not mentioning Russia by name, but it was obvious, cringy, sad and obvious.

<comment><USER4> I'd say if Russia wasn't messing with other countries (either by hacking, invading or trying to overthrow governments[0]) blaming something on them will be indeed a problem.

But now they're reaping what they sow.

[0] - [http://www.telegraph.co.uk/news/2017/02/18/russias-deadly- pl...](http://www.telegraph.co.uk/news/2017/02/18/russias-deadly-plot- overthrow-montenegros-government-assassinating/)

</comment></comment></comment><comment><USER5> The Mirai botnet was also attributed to "nation state actors." Turns out it was a couple teenagers trying to make some money with Minecraft. [0]

Copy-pasting from an earlier comment of mine [1] on the Mirai/Minecraft story:

> I don't understand why every single cyberattack is immediately blamed on > Russia or China. It's an intellectual embarrassment, and especially worse > when it's coming from experts within the community rather than politicians > in congress.

Adding to that, equally embarrassing is the fact that the media and governments refer to "Russia" as if it's a single, personified entity. Even if an attack _did_ "originate" in Russia, does that mean that it was sanctioned and planned by the Russian government? Or could it be one of the 144 million Russian citizens acting autonomously? It really requires a leap of faith to conclude that not only did the attack originate in Russia, but it was actually planned by the Russian government.

Attribution of cyberattacks is hard, borderline impossible, without non- technical corroborating evidence. For example, a SIGINT or HUMINT intercept that reveals intent would corroborate otherwise unreliable technical attribution. When the only evidence for attribution is Russian IP addresses and "Cyrillic characters," it's irresponsible to go public with accusations like this. Of course, if there _is_ corroborating intelligence pointing to Russia, we'll never see it.

[0] [https://www.wired.com/story/mirai-botnet-minecraft-scam- brou...](https://www.wired.com/story/mirai-botnet-minecraft-scam-brought-down- the-internet/)

[1] [https://news.ycombinator.com/item?id=15921340](https://news.ycombinator.com/item?id=15921340)

<comment><USER6> >Attribution of cyberattacks is hard, borderline impossible, without non- technical corroborating evidence.

Intelligence agency budget increases and sky-high consultancy fees are going to be more forthcoming when it's "a scary nation-state" behind an attack rather than a couple of teenagers or a band of cyber-criminals.

Also, Russia, after North Korea, does seem to be everybody's favorite bogeyman these days.

Intelligence agencies and security consultants will have to balance potential reputation risk as well, of course (if it comes out that they were wrong it's quite embarrassing), but if attributional evidence is weak then it pays to pick the bogeyman.

<comment><USER5> Your point about consultants is an important one, and demonstrates a moral hazard of outsourcing intelligence work.

CrowdStrike is especially guilty of this. It seems whenever there's a cyber attack, CrowdStrike is there to attribute it to whichever bogeyman is most convenient today.

</comment></comment></comment><comment><USER7> > Russia has denied responsibility for the NotPetya attack - which is > estimated to have cost companies more than $1.2bn - and pointed out that > Russian firms were among those whose systems were affected.

Or perhaps this has become a standard OpSec playbook to provide sufficient diplomatic cover? Not sure who to believe.

<comment><USER8> Sure, it's also reasonable to think that these companies were in on it and received compensation or hadn't signed on to an agency's agenda/paid protection money/whatever. Plenty could have happened, we just don't know.</comment></comment>


Did an ice age boost human brain size? - <AUTHOR> http://www.newscientist.com/article/mg20327194.000-did-an-ice-age-boost-human-brain-size.html

<comment><USER2> Most of the heat generated by the brain is dumped into the blood and recirculated thought the rest of the body first. So the brain can dump a lot of heat fairly quickly.

</comment><comment><USER3> The thesis here is easy to believe when I'm stuck in a hot stuffy office, being completely unproductive!</comment>


Lou's Pseudo 3d Page - <AUTHOR> http://www.extentofthejam.com/pseudo/ <comment><USER2> Really enjoyable content. I also like this tutorials on pseudo-3d raycasting: [http://lodev.org/cgtutor/raycasting.html](http://lodev.org/cgtutor/raycasting.html)

A few years ago I used this tutorials to hack together a little raycaster is JS: [http://jsfiddle.net/htyvrjaa/](http://jsfiddle.net/htyvrjaa/)

</comment><comment><USER3> Awesome!

I remember when I first saw SEGA's Virtua Racer in the arcades back in the early/mid 1990s. It was the first impressive true polygon-based racing game I played:

[https://www.youtube.com/watch?v=G3PcHBFsjxg](https://www.youtube.com/watch?v=G3PcHBFsjxg)

The other polygon-based racing game that was impressive, but it hard pretty horrible controls and not as beautiful, was Hard Drivin':

[https://www.youtube.com/watch?v=g6JC- HCNcio](https://www.youtube.com/watch?v=g6JC-HCNcio)

The cool thing about Hard Drivin' is you could go anywhere and do anything, where as with Virtua Racing you had to follow the track.

<comment><USER4> Searching about Hard Drivin' had me looking at very first CGI companies (III) and reminded me of [http://en.wikipedia.org/wiki/Edward_Fredkin#WarGames](http://en.wikipedia.org/wiki/Edward_Fredkin#WarGames) and then [http://en.wikipedia.org/wiki/Reversible_computing](http://en.wikipedia.org/wiki/Reversible_computing)

Surprising.

</comment></comment><comment><USER5> If you like this article you might be interested in this article about the mode7 on the GBA: [http://www.coranac.com/tonc/text/mode7.htm](http://www.coranac.com/tonc/text/mode7.htm)

Personally I love this kind of old-school programming article. It reminds me when I was developing homebrew games for the GBA!

<comment><USER6> GBA programming was used in my school's class that covered (among other things) introductory C. It's really fun and pretty simple for beginners to write for bitmap mode.

<comment><USER5> That's exactly how I started programming! It was indeed a lot of fun. I remember being blown away the first time I saw a game/demo I wrote run on the real hardware. It was so rewarding. It's nice to see teachers using GBA programming as an introduction. It's so much more fascinating for a beginner in comparison to a regular "Hello World" written in a terminal or a basic sorting algorithm in C.

</comment></comment></comment><comment><USER7> This kind of thing is why I got interested in programming in the first place.

Pseudo-3D racing games in particular... as a kid, it was boggling to me how these simple 2D machines could produce a pretty convincing pseudo-3D racetrack! The Atari 2600 could hardly handle drawing the ghosts in Pac-Man; how could it draw a decent "3D" roadway?

Bizarrely, I lost interest in that kind of programming once machines got so powerful that drawing this kind of thing became easy...

<comment><USER8> > I lost interest in that kind of programming once machines got so powerful > that drawing this kind of thing became easy.

Me, too. Once libraries and APIs become commonplace, programming became much more about connecting known working objects together rather than understanding multiple topics in depth.

Just before the internet took off, around 1998 or so, I spent months and months learning what every byte in .jpg, .gif, .mid and .wav files did. That really itched the scratching in my brain. I would love to find a new skill or hobby that affects me like that. Making pictures with ImageMagick just doesn't interest me... I'm actually finding woodworking to be somewhat as engrossing, but the difference is that in woodworking, you constantly see steady progress toward a goal, whereas in computers, a picture or sound would spring to life instantly once you'd cracked the code. You really felt the jump.

Oh well.

</comment></comment><comment><USER9> I did my own little Faux 3d recently. Though I prefer to call it 2.5d instead of Pseudo 3d.

It's much much much much more simpler (since it's top down)

[https://gist.github.com/seivan/b8f50a8505675b61be22](https://gist.github.com/seivan/b8f50a8505675b61be22)

It depends on layers centered on top of each other. Requires special art work.

Here's some videos:

[http://bilder.d.pr/k5Vj](http://bilder.d.pr/k5Vj) [http://bilder.d.pr/mZ5S](http://bilder.d.pr/mZ5S)

<comment><USER10> Looks like you are making GTA 1. :) What's the plan?

<comment><USER9> Finish something :-(

<comment><USER10> That's the hard part(for me, and you apparently). That's why I think it's a good thing to have people with different personalities in a project. Some like to start and organize things, some like to finish things.

</comment></comment></comment></comment><comment><USER11> Ah, this brings back memories. Arcade racing games were my favorite as a kid. High poly models and realistic lighting in the living room will never be as exciting as speakers right behind your head, real steering wheel and pedals bolted to something heavy, and your friends talking shit from the multiplayer linked machines. Plus the background chaos sounds of all the other games in the arcade, token machines, people yelling...

Chase HQ, Cruis'n USA, Suzuka 8 Hours, and Daytona USA were my favorites. Daytona USA was true 3D and lacked the pseudo 3D charm, but carried on their arcade spirit. Its 8 player form was about as good as it gets for a little kid in the arcade with friends. Putting down money for each game made it more meaningful. Kind of sad that kids today will never experience that thrill.

<comment><USER12> Dave and Busters has plenty of multiplayer racing games. I wouldn't be surprised if Chuck E Cheese does as well.

</comment></comment><comment><USER13> For people who do not know this related tut; [http://codeincomplete.com/posts/2012/6/23/javascript_racer_v...](http://codeincomplete.com/posts/2012/6/23/javascript_racer_v1_straight/)

</comment><comment><USER14> The most interesting thing to me was the bit about dedicated road hardware(!). That just sounds so awesome. I imagine someone inveting that or implementing it.

I used to have a ZX Spectrum clone and still remember liking Chase HQ racing game. This was late '80s, on a 3MHz, 48K machine and they had road barriers and tumbleweeds that you'd bump and they'd bounce off. It was a stupid detail but it really stuck with me as it being a fancy feature.

Here is someone playing it:

[https://www.youtube.com/watch?v=yjrbcLm78I8](https://www.youtube.com/watch?v=yjrbcLm78I8)

<comment><USER15> Chase HQ was a great game on the ZX Spectrum. I got an original 48k release copy when it came out so that I could crack the loader for school and drop pokes in. After seeing your comment I thought I'd have a look in an emulator and see how long it'd take me to walk through the loader with modern tools.

The original release uses Paul Owen's protection system, which is really just a headerless loader and some playing around with system variables. If you want a bit of lunchtime fun, go and get an emulator with a debugger, get the original from WoS[1] and switch off all the tape loader acceleration. Type LOAD "" (Usually J, alt-p, alt-p on a modern keyboard) and press return, then make sure you're playing the tape.

If you load it you'll get an initial basic loader, then a screeching red and black striped loader which sets up the initial load.

The loader uses the IX and DE registers to specify where to load the next block of data and how much data to load respectively. The initial bit of data loads in at 0x8200 and is 0x0200 long.

If you break in your debugger after that initial high pitched red and black bit you should be able to see that the IX register will point to 0x4000 and DE will point to 0x1800, 0x4000 is the start of screen memory, which is 6144 bytes (or 0x1800) long.

After the screen loads you'll see the next block (at 0x5B00, 0x4A80 long) - this overwrites the system variables and lower parts of memory. As this is in contended memory it runs more slowly than the rest, this should be used to store the main system code that makes sure everything's ticking along with some of the code to handle bits between the levels and the text used in the game. It's been nearly 25 years since I've hacked ZX spectrum games on a regular basis so I could be wrong.

The following block loads into 0xC000 (IX) and is 0x3F00 (DE) bytes long, which if memory serves is the main in-game code and some game assets but again it's been a long time and I might be wrong. I'd expect music to be up here too and any time sensitive code such as the code handling the countdown timer for the game.

After this a small two byte header is loaded into 0x5BD5 which is used to load a small header. Another block overwrites system variables again at 0x5C00 and some of the earlier loaded game material then jumps to the main game code where it loops around FEFE jumping to the music player and keypress check starting at EF19.

If once you're in the game you want to have a fiddle, go to the redefine keys option and redefine the keys to be "SHOCKED" then press enter for the last key to enter test mode for the game. The 48k version is a multiload game which means each level is loaded from tape. I think the 128k version is similar but with music, but I never looked at the 128k version.

I would've been able to do a bit more with something like ZX32 (which is what I used to fiddle with) but I'm on a Mac and half the fuse debugging stuff doesn't work. Still, it's amazing what you can do with emulators these days compared to my multiface one. I would've killed for tools like this!

<comment><USER14> Wow man, you remember how to do all that. That stuff bring back so many fun memories.

I was younger at the time (13-14) but I got to play with assembly. Remember typing up my own assembly interpreter for fun.

You obviously got into it a lot deeper. I wonder how many kids turned to liking computers because of ZX Spectrum philosophy of dropping the user straight into a programming shell. Other game consoles drop you in some kind of greeting loader screen, so you never see a programming prompt.

I recapture some of the thrill of working closer to hardware, I got a Beaglebone Black. But could never quite get excited about it. I find it more interesting now to learn a new programming language or build a small game or hack on an open source project.

> I would've killed for tools like this!

Exactly. I remember doing POKEs and messing the game up then having to load everything again. Having an emulator and debugger would have been a lot more fun.

<comment><USER15> To be fair I don't remember the offsets or anything, I fired up an emulator and a debugger and had a look through the game again.

> I wonder how many kids turned to liking computers because of ZX Spectrum > philosophy of dropping the user straight into a programming shell.

I think people only began to realise that being dropped into something that required you to know how to tell it what to do next at a lower level than we experience today once people stopped coming into contact with shells and programming interfaces.

> I remember doing POKEs and messing the game up

Usually it was fairly easy to find pokes but sometimes games would rewrite code over the address space that the poke's meant to be used. This was much more common in multiload games on the 48k spectrum. I remember doing an obscure game called braxx bluff and I just gave up on pokes because the different minigames all overwrote different parts of memory. Some of the later spectrum games would store compressed data in memory and decompress it in different places at different times. I remember one game where data would be executed as machine code, but I can't remember which one it was.

</comment></comment></comment></comment><comment><USER16> This page was a gold mine for me a couple years back. If it was a tape I would've worn it out with how many times I re-read it. Had lots of fun experimenting with different features. I've got a javascript version of one of them online: [http://www.elusivegames.com/games/rocketracers/rr.htm](http://www.elusivegames.com/games/rocketracers/rr.htm)

</comment><comment><USER17> I love this effect so much, it's just so fun.

</comment><comment><USER18> Now I want to play Road Rash and Rad Racer! This is a great tutorial because these were some of my favorite games growing up.

</comment><comment><USER19> Coded something a couple years ago with this algo in BlitzBasic.

It is indeed very fast.</comment>


Measuring An Employee's Worth? Consider Influence - <AUTHOR> http://www.fastcompany.com/1842019/evaluating-employees-based-on-influence <comment><USER2> >Salesforce.com won't disclose exactly how the Influencer algorithm works.

So the article proposes to use an obscure, undisclosed karma value for key personnel decisions. If this catches on, the next management bestseller may well be "Leadership secrets of the ancients: how to base important decisions on birds' flight [1] and animal entrails [2]".

[1] <http://en.wikipedia.org/wiki/Augur>

[2] <http://en.wikipedia.org/wiki/Haruspex>

</comment><comment><USER3> An incentive to game this "system" is created the moment employees become aware it influences their performance reviews. Like all your friends' posts and thumb-down your competing co-workers' stuff. Sounds like a fantastic waste of time!

Ideally incentives are aligned with employee cooperation. The goal of this influence-measuring system is ranking employee worth which in general is dissonant and fosters an environment of unhealthy competition.

The big question is how to foster productive competition?

</comment><comment><USER4> The trouble is, surely the most influential (especially in a small company) will influence people more through face-to-face contact than through corporate social networks?

</comment><comment><USER5> Sounds a lot like Klout, and we all know how useful _that_ is.

</comment><comment><USER6> I have seen this product in operation, and I can definitively say that the way to increase your influence score is to post lolcat pictures.

</comment><comment><USER7> chat·ter (chtr) v. chat·tered, chat·ter·ing, chat·ters v.intr. 1\. To talk rapidly, incessantly, and on trivial subjects; jabber. 2\. To utter a rapid series of short, inarticulate, speechlike sounds: birds chattering in the trees.

v.tr. To utter in a rapid, usually thoughtless way: chattered a long reply. n. 1\. Idle, trivial talk. 2\. Communication, such as e-mail and cell phone calls, between people who are involved in terrorism or espionage, as monitored by a government agency.

(Source: The Free Dictionary - <http://www.thefreedictionary.com/chatter>)

</comment><comment><USER8> You gotta to hand it Salesforce for inventing news ways for employees to waste time in their tools and still qualifying it as work.</comment>