Rocket Helicopter (2010) - <AUTHOR> https://www.tecaeromex.com/ingles/RH-i.htm <comment><USER5> Wow, I used to make rocket-powered helicopters in Kerbal Space Program a few years ago by putting a "Sepratron" on the tip of the "blade" made from structural wing parts. How appropriate :)

See this video for more details: [https://www.youtube.com/watch?v=1Sj_jgrokww](https://www.youtube.com/watch?v=1Sj_jgrokww)

</comment><comment><AUTHOR> The way these work is pretty interesting. Rather than combusting a fuel and an oxidizer as in a typical rocket, these use hydrogen peroxide that is exposed to a platinum catalyst, which causes the rapid decomposition of h202 into h20 and 02, which is then expelled through the rocket nozzle, generating thrust. This greatly simplifies the design of the rocket engine.

<comment><USER6> The claim in this article is that the motors use 70% hydrogen peroxide with alcohol (it does not say which one), without a catalyst. I have not found any explanation of the alcohol's purpose, or whether it is oxidzed in the process.

<comment><USER7> It's confusing, because at the top they say "This rockets don't use a catalyst" but further down the page they say "all this thanks to our proprietary formula of the penta metallic catalyst pack invented by Juan Manuel Lozano Gallegos from TAM."

(Side note: I saw that name and wondered where I had seen it before; turns out he's the guy Popular Science wrote about fifteen years ago for building his own peroxide-powered jetpack.)

<comment><USER8> Maybe they meant the catalyst is not a liquid catalyst that is consumed.

</comment></comment></comment></comment><comment><USER9> Sounds a bit like the Fairey Rotodyne which had the same setup using small jets. It was very loud even for the standards of the day.

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

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

</comment><comment><USER10> I'm a little skeptical about the claim of 'performance is the same at any altitude'... while yes, the engine performance is similar at altitude, the helo performance is not (what with the fewer air bits for the blades to move around)

<comment><USER7> The thing is, there's less air for the blades to move, but there's also less drag on the blades for the same reason, so they spin faster with the same power input. This ends up cancelling out the loss of lift, meaning that the performance stays roughly constant with altitude until it is high enough that the blade tips start to approach the speed of sound.

<comment><USER11> What happens at the speed of sound?

<comment><USER12> I wondered too; here's some information I found: [https://aviation.stackexchange.com/questions/16948/do- helico...](https://aviation.stackexchange.com/questions/16948/do-helicopter- rotor-tips-regularly-go-supersonic/16958#16958)

From the middle of that answer:

> In normal operations, and design aims to achieve this, the rotor tips do not > go supersonic since when they do, there is a sudden and large decrease in > performance with more power required, higher blade loads, vibration and > noise.

> Think about a helicopter flying forwards. The advancing blade at its most > perpendicular position experiences a relative airflow which is equal > (ignoring all kinds of minor side effects) to the forward speed plus the > speed of the blade. The retreating blade is experiencing a relative airflow > equal to the speed of the blade minus the speed of the helicopter.

> If the blades rotate so fast that the tips are supersonic, then the main > lift generating part of the retreating blade, the outer two thirds of the > span, would experience such a low airspeed, for some of the span it will > even be negative, that the blades will stall causing a catastrophic roll > into that side. It is this phenomenon which ultimately limits the rotational > speed of the blades and the maximum speed of the helicopter.

I also found this: [https://www.quora.com/Does-every-helicopter-main-rotor- blade...](https://www.quora.com/Does-every-helicopter-main-rotor-blade-tip- move-at-the-speed-of-sound/answer/Tom-Farrier)

</comment></comment></comment></comment><comment><USER13> For any HN'ers in the bay area, if you're into this stuff you should pay a visit to the Hiller Aviation museum. It's right by EA on the San Carlos Airport. Hiller was a pioneer in helicopter design, and they have a ramjet tipped 'copter on display. Here's their website: [https://www.hiller.org/museum/aircraft-on- display/](https://www.hiller.org/museum/aircraft-on-display/)

</comment><comment><USER14> doesn't this tiny rocket have very low range and bad efficiency compared to a traditional helicopter engine? the energy density of h2o2 is close to the one of a ion lithium battery (2.7MJ/Kg) vs the traditional gasoline+o2 (13.3 MJ/Kg) [1]. It seems like more a cool trick than something which can replace helicopter engines?

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

<comment><USER15> but one is not carrying around a very heavy engine, gearbox and tail structure.

(no heavy tail structure because there is no rotational torque from driving the blades around against the tail rotor only gyroscopic precession when changing direction/ tilt etc)

</comment></comment><comment><USER16> How does the fuel get to the rockets without the hoses getting torn off?

<comment><USER17> It flow inside the wings (yes copters have wings).

<comment><USER18> Nobody actually involved with helicopters calls them wings. They're called rotor blades.

Similarly, nobody actually involved with helicopters calls them copters.

<comment><USER12> Terminology aside, I think the comment was accurate.

I think it would have been better to kindly correct any terminology issues you noticed without saying "nobody actually involved with helicopters calls them" twice. For example:

"While `rotary wing` is an accurate term, most people in the industry would probably call them rotor blades."

I don't think the "copter" correction was necessary, since that is in fact one of the slang terms for a helicopter and it's clear what they were referring to, whereas 'wing' could confuse someone into thinking of fixed wings on the side. But if you were going to mention it, it would have been helpful to mention what you thought would be a more appropriate term.

Just some friendly feedback! :)

<comment><USER18> The comment was accurate, but the parenthetical came off as arrogant and condescending so that's how I responded.

Nothing posted here is necessary. Doesn't change the fact that nobody actually involved with helicopters calls them copters.

Some friendly feedback right back at you! :)

<comment><USER12> I'll just finish with this rule from the Recurse Center User's Manual[1] that I think applies very well to this situation:

> No well-actually's

> A well-actually happens when someone says something that's almost - but not > entirely - correct, and you say, "well, actually…" and then give a minor > correction. This is especially annoying when the correction has no bearing > on the actual conversation. This doesn't mean the Recurse Center isn't about > truth-seeking or that we don't care about being precise. Almost all well- > actually's in our experience are about grandstanding, not truth-seeking. > (Thanks to Miguel de Icaza for originally coining the term "well-actually.")

Direct link: [https://www.recurse.com/manual#no-well- actuallys](https://www.recurse.com/manual#no-well-actuallys)

[1] [https://www.recurse.com/manual](https://www.recurse.com/manual)

<comment><USER18> Why not follow your own advice?

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Honestly makes a lot of sense.

Might be possible do do it as a ram jet too, that would get you a lot of efficiency upsides. Typical jet engines probably wouldn't work well however due to force but you get a fuel feed upside from the centrifugal force.

<comment><USER20> Ramjets work at supersonic airflow speeds. You really don't want your helicopter blade tips going supersonic.

<comment><USER21> Ramjets do not require supersonic flow speeds. They require positive speed (they don't work at a standstill), and are usually tuned for a sweet spot. This is usually supersonic because most applications are military, where the supersonic capability is desired. That said,they usually don't produce much thrust until you get over M0.5.

</comment></comment></comment><comment><USER22> Why doesn't this helicopter need a tail rotor? I was under the impression that it was to counteract the spinning main rotor

<comment> daniel-thompson The difference is in where the torque is generated. In a traditional helicopter, the engines (mounted to the main body) generate torque to spin the main rotor. Since the body spins the rotor, by Newton's third law, the body and the rotor spin in opposite directions. Therefore, you need a tail rotor to counteract that.

With this design, the torque to spin the rotor is generated on the rotor itself, so there is no torque effect on the airframe. Note that there is still a (rotorless) tail with fins, probably to stabilize the aircraft in forward flight.

For more on this design, see [https://en.wikipedia.org/wiki/Tip_jet](https://en.wikipedia.org/wiki/Tip_jet)

<comment><USER23> If you want to attach a spinning object to a stationary one you need bearings, which means friction, which means torque. Nowhere near the torque of a normal helicopter, but something. I take it the double fins in the back (at the end of a long lever) can more than handle that. Or at least, as long as the bearings don't fail.

Gyroscopic precession, though... Is that enough tail or do you have to be gentle changing directions in this thing?

<comment> daniel-thompson > Or at least, as long as the bearings don't fail.

If the bearings fail, counteracting torque is the least of your worries - <USER2> should land immediately before the rotor shits itself and you turn into a flaming lawn dart. From the UH-60 operator's manual:

> 9.22.10 Main Transmission Failure.

> WARNING

> If % RPM R decreases from 100% to below 96% with an increase in torque > during steady flight with no engine malfunction, the main transmission > planetary carrier may have failed. During a main transmission planetary > carrier failure, it may be impossible to maintain % RPM R at 100%.

> NOTE

> Decreasing % RPM R may be accompanied by a drop in transmission oil pressure > of 10 psi or more, and possible unusual helicopter vibrations.

> PROCEDURE

> 1\. Collective - Adjust only enough to begin a descent with power remaining > applied to the main transmission throughout the descent and landing.

> 2\. LAND AS SOON AS POSSIBLE.

<comment><USER23> I like to keep people guessing by alternating between ironic understatement and hyperbole. Too much BBC perhaps.

I know in low rpm devices, especially with radial forces (wheels) a bearing or race can start to go without destroying the whole assembly. To the point that bicyclists can bring in a wheel that's so far gone that the labor to fix it is twice the cost of a new wheel (I can fix this or we can get you a new _pair_ of wheels for the same price, installed). How long do you have between the first chip and game over on a rotor?

Some how, even though "LAND AS SOON AS POSSIBLE" is in all caps, I doubt it entirely captures the urgency. If anything involved with keeping the blades attached fails, sounds like a case of any other plans you had are over and you need to be on the ground RFN while it's still a choice.

</comment></comment></comment></comment></comment><comment><USER24> I think Juan Lozano was making peroxide engines for early iterations of John Carmack's Armadillo Aerospace (whose website, sadly, is now only available via web archive...)

EDIT: yes, AA is listed as a customer.

<comment><USER8> And very early on, Armadillo actually tested rotors with tip peroxide jets. Only ground tests that I know. Moved to pure rockets quickly. High test peroxide. Mixed monoprops with low grade peroxide and alcohol. Biprops. Peroxide-alcohol? Lox-alcohol? Lox-methane eventually.

</comment></comment><comment><USER25> my favorite application of that tech - Roton, a helicopter to space - [https://en.wikipedia.org/wiki/Rotary_Rocket](https://en.wikipedia.org/wiki/Rotary_Rocket) . USSR people know it as "Pepelats" [http://copy-cats.work/aircraft02/rotary- rocket-roton](http://copy-cats.work/aircraft02/rotary-rocket-roton) :)

<comment><USER26> > _my favorite application of that tech - <USER3>

 _Rotary Rocket_ ("Roton") is vise versa opposite design concept to _Rocket Helicopter_.

</comment></comment><comment><USER27> Tip jets can use compressed air. That would be more efficient.

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

As with all cool concepts "Zee Germans" had the idea [https://en.wikipedia.org/wiki/Focke- Wulf_Triebfl%C3%BCgel](https://en.wikipedia.org/wiki/Focke- Wulf_Triebfl%C3%BCgel)

<comment><USER28> Not _all_ the cool concepts.

The Dutch came up with the 'ornicopter': [https://youtu.be/0Z2Rr39hiUs](https://youtu.be/0Z2Rr39hiUs)

<comment><USER8> That's ingenious. It's one of those rare mechanisms that are hard to come up with but obvious once you learn of them. I recommend everyone to watch this video.

(The presentation spends a lot of time explaining tail rotors, which this invention does not need. Skip to about halfway to see how it works.)

</comment></comment></comment><comment><USER29> Doesn't the pitch of a helicopter blade change as it goes around the rotation? With a traditional rotor, the torque is always angular, but with these, the torque will be angular plus a cyclical vertical component, since the rocket pitch is the blade pitch. I'm wondering what the the structural and vibrational implications are of a rocket launching the blade tip up and down at 500 RPM.

<comment><USER30> There is no cyclic. The entire mast is gimbaled.

<comment><USER29> Wow, cool. I wonder if that's a big factor in why the test pilot said it was so vibration free.

</comment></comment></comment><comment><USER31> The spiritual successor to Fairey Rotodyne[1] and other tip jet helicopters and autogyros[2].

Hope this one takes off!

One of the reasons Rotodyne was not adopted was because it was too loud. Hope this technology solves this shortcoming.

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

</comment><comment><USER32> OK, dumb questions - the H202 is entering the combustion chamber at what pressure? below chamber pressure,with a valve, like a pulsejet? or is there a turbopump somewhere? and what powers it? I'm guessing centripetal force once the rotors are spinning helps (but isn't there a potential evil feedback loop hiding in there somewhere?)

<comment><USER33> More fuel -> faster blades -> more fuel

Eventually the blades would tear themselves off and end the the cycle.

<comment><USER32> yeah exactly

</comment></comment></comment><comment><USER34> So does anyone know what happened after the last company that backed the project went bancrupt?

</comment><comment><USER35> Looks like there are quite a few similar rotorcraft:

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

</comment><comment><USER36> Something that spins around at high speed using 70% hydrogen peroxide....

Don't think I'd want to be anywhere close to that device.

<comment><USER37> It doesn't spin that fast (linear speed) close to the helicopter, and any fuel leaking out of the wings during flight will fly outwards so you would be safe inside ;-)

However, I expect they pump the fuel from the helicopter body into the wings, and I wonder how they guarantee the seal between the two. Helicopters must continuously adjust the angle of attack of the wings, so it isn't even a matter of a single fixed axis, and the chemical properties of hydrogen peroxide won't make things easier.

<comment><USER38> Once it's started up, it's a centrifugal pump all on its own. You don't need a positive pressure pump on the body, the fuel would be sucked out and along the blades like a siphon.

That doesn't make the seal problem much easier, but it at least does mean that if a seal were to fail, it would fail safe without spewing h2o2 everywhere.

</comment></comment></comment><comment><USER39> One of the earliest efforts of this type was in 1950's, by Hiller Aircraft - and you can see the helicopter itself in the Bay Area, in the Hiller Aircraft museum. It achieved flight and was tested by US Navy & US Army.

[https://en.wikipedia.org/wiki/Hiller_YH-32_Hornet](https://en.wikipedia.org/wiki/Hiller_YH-32_Hornet)

</comment><comment><USER40> Seems obvious now I see it!

</comment><comment><USER41> It looks cool but the last update was 10 years ago for PoC?

</comment><comment><USER42> Isn't this fuel rather toxic in case of accident?

<comment><USER36> One of concerns would be how much of it gets converted by the catalyst - <USER4> it's not 100% for any reason you've basically got a rotating sprinkler throwing HTP about.

Edit: To be fair it's not HTP, fortunately for those under the flight path...

<comment><USER43> Everyone around it will turn blonde.

<comment><USER44> The Nazis would have loved this thing :D</comment></comment></comment></comment>


Digital Aristotle: Thoughts on the Future of Education (2012) [video] - <AUTHOR> https://www.youtube.com/watch?v=7vsCAM17O-M <comment><USER3> So, Kahn Academy, eh?

But seriously, I think the biggest problem with this "future of education" proposal is that it STILL assumes that we consume education, and that all people need all the education.

With a digital tutor, fine-tuned to my learning styles, what if I still don't give a shit about understanding partial differentiation? At some point, education has to be about more than an accumulation of knowledge.

For my money, I see the future of education going back to apprenticeships and well-timed opportunities for growth rather than new ways to shovel the Knowledge into the brain holes of children.

<comment><AUTHOR> Maybe Kahn Academy but more likely Stamford's [https://giftedandtalented.com](https://giftedandtalented.com).

As the cost of a good education declines it could diminish as a test of capability. That leaves the test of actual practice in the art - <USER2> apprenticeship.

Broadly I agree that apprenticeship is a likely model if what you are learning is the trade of discovering a market for your creativity. The market will determine if creativity is improved when primed with a broad or narrow education.</comment></comment>


Late talkers twice as likely to have severe, frequent temper tantrums - <AUTHOR> https://news.northwestern.edu/stories/2019/11/toddler-speech-delays-and-temper-tantrums <comment><AUTHOR> The article points to sciencedirect, which doesn't seem to offer access to the research paper without paying, but I could find the paper elsewhere: [https://ei.northwestern.edu/wp- content/uploads/2019/11/Manni...](https://ei.northwestern.edu/wp- content/uploads/2019/11/Manning_2019.pdf)

> Among children who are late talkers at 24 months, 40% qualify for a > diagnosis of language disorder or impairment at school age</comment>


Go, D, Erlang and C in real life: MQTT broker implementation shootout (2013) - <AUTHOR> https://atilanevesoncode.wordpress.com/2013/12/05/go-vs-d-vs-erlang-vs-c-in-real-life-mqtt-broker-implementation-shootout/ <comment><USER2> > What about readability and ease of writing? I can't read Erlang so I can't > comment on that.

The Erlang code looks very nice. If you read this, great work Patrick!

[https://bitbucket.org/pvalsecc/](https://bitbucket.org/pvalsecc/)

Nice use of gen_fsm + binary matching.

Here is an example of the client code that takes only 200 lines:

[https://bitbucket.org/pvalsecc/erlangmqtt/src/f37505188c1f1c...](https://bitbucket.org/pvalsecc/erlangmqtt/src/f37505188c1f1c62aa2b4b94121330d779975d3d/src/mqtt_client_protocol.erl?at=default)

<comment><USER3> Yeah, it all depends on code authors. This is one more example of an mqtt broker in Erlang - VerneMQ; and it's very readable: [https://github.com/erlio/vmq_server](https://github.com/erlio/vmq_server) We are currently estimating it.

<comment><USER4> Thanks, we're working hard to improve our codebase even more! :)

Umbrella Project can be found on [https://github.com/erlio/vernemq](https://github.com/erlio/vernemq) as well as our website [https://verne.mq](https://verne.mq)

</comment></comment></comment><comment><USER5> This being from 2013 and using Go 1.2, I'd be interested to see an update using Go 1.5.

Thanks to the author for including standard deviation numbers and not just the averages like so many other "benchmarks".

<comment><USER6> Thanks, came here to say this. Go GC and code generation are improving all the time.

</comment></comment><comment><USER7> I really can't imagine that this benchmark is relevant anymore. Haven't Go, D, and Erlang had major changes since then? E.g., Go is now compiled by a compiler written in Go.

<comment><USER8> I'm planning on updating it this year once I finally find the time to learn Rust. Developing an MQTT broker has become my go-to task for learning new languages.

<comment><USER9> How about Java, then? It's a little less esoteric than most of those languages.

<comment><USER8> Funny you should ask: [https://atilanevesoncode.wordpress.com/2014/01/08/adding- jav...](https://atilanevesoncode.wordpress.com/2014/01/08/adding-java-and-c- to-the-mqtt-benchmarks-or-how-i-learned-to-stop-worrying-and-love-the-garbage- collector/)

<comment><USER9> So Java is the pingtest winner, and I'm sure that with just a little more work it can be the loadtest winner as well.

<comment><USER8> I doubt it, Patrick properly profiled and optimised it. Later on I got the D version to within 3% of Java's performance in pingtest.

<comment><USER9> It's clearly optimized for latency over throughput. For one, it is single threaded -- unlike the Erlang, Go and, I believe D (vibe.d) implementations. Also, I don't know exactly how the benchmark was performed, but Java takes time to warm up (otherwise you're testing a completely different implementation of Java, which is only used at startup time).

I've found that for long-running server-side apps, Java is very hard to beat in terms of performance, especially relative to the effort spent. I also think it's a nicer language than Go (I also prefer it over C++ and D).

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> > pingtest (latency - bigger is better)

This is an odd way to measure latency. Could someone explain further?

<comment><USER8> As someone pointed out to me later, it's not really latency but latency- constrained throughput.

</comment></comment><comment><USER11> "Since the Erlang unit tests are in the same files as the implementation, it's hard to know exactly how many lines long it is. It gets worse since it implements most of MQTT, the D implementation essentially only implements what's necessary to run the benchmarks."

Benchmarking the entire spec versus only the minimal set is almost certainly part of the problem here. If you want to benchmark implementations against each other, you should probably make sure they implement the same thing!

<comment><USER8> No, not really. I understand why you'd think that but knowing the MQTT spec and the benchmark, it shouldn't make any difference at all.

<comment><USER12> Are you sure about that one? I am thinking about the situation where presence of alternative code paths that never actually get executed can lead to fairly large differences in timings, particularly for tight loops. (At least in computational code; I'd expect it to be much less common for protocol handling benchmarks like these...)

<comment><USER8> Pretty sure yeah, I looked at a lot of profiling logs.

</comment></comment></comment></comment><comment><USER13> This is slightly offtopic, but MQTT says it can provide "exactly once" delivery. I thought that wasn't possible?

<comment><USER14> It is possible if you are prepared to wait for an unbounded amount of time.

</comment></comment><comment><USER8> I'm the author but not the OP.

<comment><USER15> Out of morbid curiousity, how many lines of code did the C implementation clock in at?

<comment><USER8> ~20kSLOC IIRC. It's not a fair comparison since it does more, but let's face it, if these implementations did the exact same thing I doubt they'd pass the 5kSLOC mark.

<comment><USER15> I get about 1.5-2x for c vs c++. Genuinely surprised that erlang took so many lines of code.

</comment></comment></comment></comment><comment><USER16> did you use GOMAXPROCS=$YOUR_CORES ? or just the standard in 1.2? Actually golang is really good in multithreading. Next you also have a Java example, did you warm it up or not? Actually thats why I hate benchmarks, since mostly they are screwed since most people who are writing benchmarks actually knowing just a little of each language. (actually they just want to show that "their" language is good)

<comment><USER8> Back then I tried GOMAXPROCS from 1 to 8 and it didn't make much of a difference. Later on with a different version of Go (I don't remember which), increasing GOMAXPROCS to 2 made a difference, but any more than that was pretty much the same. In any case (and again, the last time I tried), the Go implementation with GOMAXPROCS=2 was the slowest even though it was using twice as many threads as the other ones!

As for showing "their"/"my" language: there were implementations from 4 different sources, and I didn't write the benchmarks; the guy who wrote the Go implementation did (and that's why the benchmark app is in Go).

</comment></comment><comment><USER17> It's interesting to see the lowest throughput provided by the C implementation for the 1k case. Any idea why?

<comment><USER8> No, I didn't dig deeper.

</comment></comment><comment><USER18> 2013 ? Would gladly see the same benches with Go 1.5.

</comment><comment><USER19> Is there any hardware that uses MQTT?

<comment><USER3> There is. For example, we use it for our hardware product: [https://www.relayr.io/products- services/wunderbar/](https://www.relayr.io/products-services/wunderbar/)

</comment></comment><comment><USER20> update from go 1.2? since there have been many performance improvements since then...

<comment><USER21> It seems this article was posted in 2013. Not sure where that falls in the Go release timeline, but I'm guessing the version wasn't was far behind then as it seems now.

Edit: After a quick search, it looks like Go 1.2 was released only 4 days prior to this article being posted.

<comment><USER8> I run Arch Linux, all the versions were whatever was newest at the time.</comment></comment></comment>


The need to code - <AUTHOR> http://jacquesmattheij.com/The+need+to+code <comment><USER2> _And then, one day it clicked. I don't know what exactly caused it but it was as if the light had been turned on, I suddenly understood the program that I'd just typed in_ and* all the ones that I'd been typing in before it. And the next program I typed in was one that I came up with, not one from the exercises*

That's _exactly_ what happened to me, and you're the first person I've ever seen express it.

I was about 10/11 at the time with a Vic20. I spent quite some time with nothing really making sense. No specific memories, just that I didn't really get it and was close to getting bored with the whole thing. My next memory is that suddenly, I _got_ it. One minute I understood nothing, then it all made sense. Some window opened in my mind and understanding flooded through, an experience I can't explain and have never had since.

Here's how my story differs though - Once I was midway through high school I became embarrassed by my affinity with computers. Bit of a social stigma I spent the next 15 years trying to avoid, working all sorts of different jobs trying to fit in somewhere. It wasn't until I ticked over 30 that I was able to admit it (writing code) was the one thing I kept coming back to; the drug I'd been addicted to for the last almost 20 years, but tried to hide from.

And now here I am, almost 40 and I've just got myself a cofounder, we've registered a company and I've spent what's been (so my wife says) a lovely Sunday sweating in the hottest room of the house (the study) working on the beginnings of a new life. And I can't think of anything I'd rather be doing. Sad, isn't it :)

<comment><USER3> Not sad at all (that you're working right now). Sad perhaps that you tried to avoid computers for so long.

I wonder what people like us would have done in BC times ("Before Computers"). I doubt pure algorithmic math work or sciencey research really would have cut the mustard for me.

<comment><USER2> for me, programming is a creative tool. In pre-BC times I guess I'd have pursued art, sculpture or some other creative endeavour.

<comment><USER4> ... or been a slave and been beaten for absent-mindedness ;)

</comment></comment></comment></comment><comment><USER5> A lovely article. I did not start programming with intensity until I was 30, almost two years ago. Now I look back to my youth, when I was poking around in Basic, trying to figure out how to write a login system for my computer (running DOS 5 or something similar), and I wonder, what happened? Why did I ever stop? Why didn't I carry it through? I spent my teenage years and my 20s doing work I wasn't passionate about simply because it was easy.

Now programming has changed the way my brain works. I'm a much more critical thinker. I wake up in the morning and the first thing I do is crack open Emacs (yep.) and start hacking. I _need_ to program. Creating software is the first thing I've ever been truly passionate about in my entire life. My entire wasted life. At least I found it. Better late than never.

<comment><USER6> I followed a very similar pattern. I got stuck at DOS 5 and BASIC. At the time, I had a C book but my 286 couldn't run the compiler. Also, I couldn't run Windows 3.1. So I stopped learning and picked up the electric guitar.

Like you, I've come back to it full force in my 30s. Programming has invaded my brain, and shapes the way I think. I have rekindled the excitement I felt as a child and I won't let go of it again.

<comment><USER7> Weird. I have a memory of when I was about 12, attempting to code BASIC on a VTech PreComputer Prestige (not a 'real' computer!):

[http://ttggallery.blogspot.com/2010/01/vtech-pre-computer- pr...](http://ttggallery.blogspot.com/2010/01/vtech-pre-computer- prestige.html)

The manual had some instructions for learning BASIC. I messed around with it for a few days, but never stuck with it long enough with it to have an epiphany. It was only when I got to college in my late teens that my eyes were opened to the possibilities of programming. Wish I taught myself to code instead of wasting time moping around during my school years!

<comment><USER8> I learned how to program BASIC on Vtech too. It was "Precomputer Power Pad Plus", and it had a similar blue top spiral bound manual. I wish I still had the print copy, but I found an electronic one here: [http://www.vtechkids.com/_f/_pw/_manual/Precomputer_PowerPad...](http://www.vtechkids.com/_f/_pw/_manual/Precomputer_PowerPad_Plus.pdf) .

</comment></comment></comment></comment><comment><USER9> A great story.

 _That process, the act of programming is something that I need to do._

My feelings exactly. I can't not program. If I'm burned out with some complex work-related problem during the day, I can still catch myself fiddling around some random unrelated little code that does something "cool" (whatever might be cool for me at that moment) in the evening.

I started programming in elementary school (10yo), when I got a C64 computer, which was very popular at the time. BUT, I got it with a disk drive (1541-II drive, which cost more, and had more CPU power than the actual computer), and all my friends had tape drives, so I couldn't exchange games with them..

So I read and re-read the owner's manual, which was in German, and I didn't really know German .. so I would type these BASIC examples and try to figure out what happens. I think one of the first programs I wrote and understood was a variation of "guess the number" game.

<comment><USER10> My first programming experience was with a guess the number program that I partly got from a magazine which came with a free copy of Delphi 3.

I didn't understand enough to do anything but use integers though, so all the cheat codes I put into it was numerical.

Thanks for the memories.

<comment><USER11> Not counting 7 years of GWBASIC on MSDOS, my first experience was with LOGO in class II. REPEAT 360 [FD 1 RT 1] for making a circle, nostalgic. :)

EDIT: Downloaded BASIC from [http://www.weihenstephan.org/~michaste/pagetable/recompiler/...](http://www.weihenstephan.org/~michaste/pagetable/recompiler/apple1basic_osx.zip) and now writing some silly codes.

</comment></comment></comment><comment><USER4> Wow. I can almost picture that kid!

I've only done limited amounts of programming, but I can certainly see how it could be addictive as you get better. A lot of the time I've spent has been utterly wasted, e.g. fighting for a week to get a rails install configured 2 years ago and then mostly giving up as various tutorials I was following were all out of date. But when I've gotten something working such as the kongregate shootorial, it's been easy to spend all my free time for a week tweaking it and improving it.

I also have to say that the entry point for programming (aside from setting up the environment) has been a lot less frustrating than for some of my other pursuits such as language learning. I must have learned a good 200 words of Swedish before my pronunciation was good enough that natives could even guess at what I was saying. Obviously at a higher level, language learning is more about memory than intense thought like programming is, but a lot of people get frustrated long before reaching that point. Programming is also a hobby that won't lead to being a perpetually broke translator.

</comment><comment><USER12> >> Programming has an addictive component that is very strong. As you get better you gain more expressive power, you can do more complicated things than you could do before, solve more complex problems.

and

> > It's like a drug. I'm still fascinated by it, even almost 30 years to the > day later I still read about languages, new ways to solve old problems, all > kinds of developments in software and hardware as though it is the first > time that I hear about these things.

It is like a drug. I think our brains fire off the same pleasure inducing endorphins when we figure something out or learn something new. And it happens so much in programming: you implement something old in a new way and you get a little buzz, you squash a bug that's been getting to you for a period of time and you get a bigger buzz. I think curiosity when we were little got us interested, but ever since we, or at least I, have been a junky. I sometimes wonder how my life would be different if, by chance, I would have gotten addicted to something else. There's so many things to get addicted to these days.

my other drug of choice is mathematics. the highs are higher, but they take a lot longer to reach. programming gives you rewards almost instantly.

</comment><comment><USER13> I've never understood why Byte magazine was shut down. There's been nothing like it. I can't imagine it not being popular in today's tech culture. I'd pay $100 or more for a year's subscription to it right now.

<comment><USER14> Because of the web. Writers no longer need printing presses to reach interested readers. Readers no longer need managing editors to select good writers and articles. (Writers can still benefit a lot from good editing. Witness the long list of thank-yous on every Paul Graham article.)

<comment><USER13> Would that this were true. There just isn't anything on the web that compares. (or if there is, please please tell me!)

After writing my comment I did some research and found this: <http://www.halfhill.com/bytefaq.html>

It turns out that BYTE was shut down because it didn't focus on WinTel enough - which was the dominant platform at the time (late 90's). I had always suspected this.

It wasn't some overt conspiracy though. Byte had above average circulation for a computer magazine, and far higher resubscription rates. The problem was that because it didn't cater to a specific well defined segment of buyers, it was less appealing to advertisers.

Given that so much of the web is advertising driven, I don't see how it's immune from this. There can be a huge number of people who want a source of well written _broad ranging_ tech material but it's the advertisers who fund the web and they don't want broad ranging. They want people neatly divided up into predictable segments of buyers.

What gets funded on the web isn't determined by what users want - it's what advertisers will pay for.

<comment><USER14> > There just isn't anything on the web that compares. (or if there is, please > please tell me!)

The breadth and depth of well-written technical information available on the web is far, far beyond what was available in Byte in its heyday. Consider:

<http://lwn.net/Articles/428530/bigpage> <http://www.airs.com/blog/archives/category/programming> <http://hackermonthly.com/issue-10.html> <http://blogs.msdn.com/b/oldnewthing/> <http://prog21.dadgum.com/> <http://www.dadhacker.com/blog/> <http://diveintomark.org/> <http://lambda- the-ultimate.org/> <http://www.facebook.com/Engineering> <http://research.google.com/video.html> <http://rentzsch.tumblr.com/> <http://perspectives.mvdirona.com/> <http://www.exampler.com/blog/>

The big difficulty these days is not getting access to well-written, broad- ranging tech material; it's choosing which well-written, broad-ranging tech material you want to read out of all the immense quantity of material out there, and avoiding spending all of your time reading it. Services like HN, Reddit, Digg, Facebook, Delicious, and Slashdot basically exist to solve this filtering problem (although not, obviously, limited to the tech press).

> What gets funded on the web isn't determined by what users want - it's what > advertisers will pay for.

That's true, but fortunately it's irrelevant, because what gets written about on the web isn't determined by what gets funded—it's what people want to write about.

<comment><USER13> I respectfully disagree with you. There is obviously a far higher quantity of technical 'information' on the web, but almost none of it reaches the standards of the professional writing that was done by Byte.

The articles I see on the sites you list are typically narrow, sensationalist, or self-serving. Some of them are informative but most of them lack perspective, and many of them are written to gain votes on these sites, which are themselves advertising driven. There are notable exceptions, HN obviously, and LTU for example. But most of what gets posted on HN is junk. Hacker Monthly is a gorgeously executed but frankly it reads like an 80's fanzine, and LTU is great but super-narrow.

What you may not be aware of is that a well written technical magazine article takes weeks of research writing and careful editing, not to mention interviewing experts and preparing of graphics. Professional writers add breadth and perspective gathered from multiple domain experts and synthesize it to produce something with added value.

That kind of activity only happens when there are professionals who are skilled and able to do it. Just wanting to write about stuff isn't enough.

We do get some good stuff on business written by independently wealthy ex- entrepreneurs, and some deeply technical stuff written by domain experts, but we've lost perspective and sadly social news sites don't magically bring it back. They can only filter what actually gets produced.

I would link you to some of the articles I am referring to, but whoever owns byte.com now has taken the archive off-line.

Don't get me wrong, I'm not dissing the web - it's added a lot. But it's also taken stuff away that it hasn't replaced so far, and the everything is free but ad-supported model has a lot to do with that.

<comment><USER14> > The articles I see on the sites you list are typically narrow, > sensationalist, or self-serving.

I'm shocked that you would say that about LWN, or Ian Lance Taylor's blog, or Landon Dyer's blog, or James Hamilton's blog, or Google Research Videos. It's so far from reality that I feel compelled to ask if you've actually read them.

> many of them are written to gain votes on these sites, which are themselves > advertising driven.

Or that. I mean, maybe Mark? Or Gruber? But can you seriously see James Hamilton or James Hague or Raymond Chen or LWN writing an article "to gain votes on these sites"? I mean, come _on_.

> But most of what gets posted on HN is junk.

True. But Byte published less than one article per day, and only a minority of its articles were of the high quality that we're talking about here.

> What you may not be aware of is that a well written technical magazine > article takes weeks of research writing and careful editing, not to mention > interviewing experts and preparing of graphics. Professional writers add > breadth and perspective gathered from multiple domain experts and synthesize > it to produce something with added value.

Well, I haven't written for Byte, but my limited experience writing magazine articles falls pretty far short of what you're describing there. Byte _did_ have some pretty good stuff, it's true. But as often as not, professional writers synthesize those perspectives with errors and FUD.

And I'd like to point out that in [http://web.archive.org/web/20050101022330/http://www.byte.co...](http://web.archive.org/web/20050101022330/http://www.byte.com/) there were three articles written by Ernest Lilley in, I believe, the same month. So I think "weeks" may be an overestimate of how much time was normally spent on an article. Maybe in 1998 or something they had a much larger staff?

Looking at November 1997: [http://replay.waybackmachine.org/19980204071948/http://www.b...](http://replay.waybackmachine.org/19980204071948/http://www.byte.com/art/9711/9711.htm)

This was close to Byte's peak of the 1980s. Yet what do we find? A 20-paragraph article cluelessly claiming that autoconf "neatly eliminates this work [of porting software between Unix variants]" and that most "public-domain software packages" use autoconf; an in-depth article about classes of ATM service by a guy who writes books about ATM and TCP/IP that somehow neglects to mention how people in the TCP/IP world solve the same problems, and fails to note the degree to which ATM and TCP/IP were increasingly in competition, to the point that ATM is today a minor niche physical-layer protocol; an editorial in favor of standardizing Java; reviews of 26 new MMX laptop models; a one-paragraph article about delays in the shipment of Tillamook; a competitive review article of cryptography software that pits PGP against Netscape and Microsoft Outlook; a competitive review article of web server software that reviews Microsoft IIS and Netscape SuiteSpot, but somehow failed to include Apache (despite noting that it was the market leader); an evaluation of the new Number Nine graphics card; and so on.

The vast majority of this stuff is of essentially no lasting value. And, while competitively testing 26 models of laptop against each other may be expensive (well, I'm guessing that the vendors footed the hardware bill), it's not really in the same ballpark as [http://www.facebook.com/notes/facebook- engineering/hybrid-in...](http://www.facebook.com/notes/facebook- engineering/hybrid-incremental-mysql-backups/10150098033318920) or <http://lwn.net/Articles/429086/> or <http://www.airs.com/blog/archives/464> or <http://prog21.dadgum.com/87.html> or [http://blogs.msdn.com/b/oldnewthing/archive/2011/03/02/10135...](http://blogs.msdn.com/b/oldnewthing/archive/2011/03/02/10135747.aspx) — the closest current equivalent would probably be stuff like [http://www.anandtech.com/show/4207/asus-g73sw-third-times- th...](http://www.anandtech.com/show/4207/asus-g73sw-third-times-the-charm).

> We do get some good stuff on business written by independently wealthy ex- > entrepreneurs, and some deeply technical stuff written by domain experts, > but we've lost perspective…

Can you elaborate on what you mean by "lost perspective"?

<comment><USER13> > I'm shocked that you would say that about LWN, or Ian Lance Taylor's blog, > or Landon Dyer's blog, or James Hamilton's blog, or Google Research Videos. > It's so far from reality that I feel compelled to ask if you've actually > read them.

I have read them.

I think that even the byte examples you linked are better than 99% of the articles that appear even on HN and certainly what passes for tech journalism. They don't stir the heart but they are informative and concise - reading them even now doesn't feel like I've wasted my time. I disagree about the lasting value - they are concise and provide a very quick way to get an understanding of what was going on in the industry at the time. Mocking them for using terminology which now seems dated is out of place.

There simply isn't a place now where I can even pay to get this kind of concise but technical view of what's going on.

The LWN stuff is narrow and much less concise, and although the blogs you mention do have very good stuff, they are also narrow and also have some intensely time wasting hobby horses.

 _BUT_

I will concede: most of the individual pieces you list in your penultimate paragraph are indeed excellent. Even though even some of them are surrounded by time wasting random personal fluff, and a couple of them take 10 paragraphs to beautifully make a single emotive point. Which frankly, I can do without most of the time.

It's quite possible that there wasn't even one article per issue on average that compares favorably to the very best blog pieces.

But none of that changes the fact that there is no source for this kind of concise and consistent material anymore.

I want a magazine (electronic is fine) that gives good _technical_ coverage of the industry with concise articles that don't waste my time, where every piece is of reasonable quality and some special pieces are really great. Monthly would be fine.

What I have is tens of sites that give narrow coverage, and are mostly full of dross. In order to find the good material (none of which is the concise cross- industry coverage mind you), I have to visit all of them every day and sift through hundreds of pieces of rubbish looking for the odd gem. Oh - and guess what? I have to read a lot more rubbish to even know whether it was good or not.

As I said originally, the web has brought us stuff we didn't have before - volume, and I'll concede some higher quality stuff than we ever had before.

But we've also obviously lost something. I honestly don't know why you're so trying so hard to claim otherwise.

<comment><USER14> > Mocking them for using terminology which now seems dated is out of place.

I wasn't mocking the autoconf article for using dated terminology. I was criticizing it for containing serious factual errors in its main points. I didn't even mention the terminology of the encryption-software article and the laptop-review article I was mocking.

> I think that even the Byte examples you linked are better than 99% of the > articles that appear even on HN and certainly what passes for tech > journalism.

Better than 99% of what appears on HN is no great feat, but earlier in the thread you seemed to be saying that Byte "add[ed] breadth and perspective gathered from multiple domain experts and synthesize[d] it", and by contrast, what is available today was "typically narrow, sensationalist, or self- serving. …[sometimes] informative but most of them lack perspective," but the Byte articles I mentioned were for the most part extremely narrow, often written by a single domain expert and completely lacking in any larger perspective. Many of them were also indirectly self-serving — they read like sales brochures for certain Byte advertisers.

> Even though even some of them are surrounded by time wasting random personal > fluff, and a couple of them take 10 paragraphs to beautifully make a single > emotive point.

Which ones are you talking about? I went back and followed the links and read the articles in depth (which I hadn't done the first time) and I'm completely mystified by your assertion. It's as if you're writing your comments from a parallel dimension with a completely different set of articles. Those articles, by the way, aren't cherry-picked from among the best; I just went to the home page of several of the sources I'd mentioned earlier and picked the first article that looked like something good.

It _is_ true that the articles in Byte were very short, and the average quality was okay.

> But we've also obviously lost something. I honestly don't know why you're so > trying so hard to claim otherwise.

I was going to agree with you, because my memory of Byte was of some extremely high-quality and pioneering articles. But then I dug the old Byte issues out of the Wayback Machine, and it turned out that the problems you were complaining about were worse in late-1990s Byte than in the current web — at least the parts of it that I read. I'd forgotten all about the endless piles of reviews of insignificant graphics cards from now-defunct manufacturers.

> In order to find the good material (none of which is the concise cross- > industry coverage mind you),

Can you point me at an example or two of what you're talking about from the Byte archives? I'm not sure what you mean by "cross-industry coverage". Maybe if you give me an example I can tell you where to find similar stuff on the current web.

> I want a magazine (electronic is fine) that gives good _technical_ coverage > of the industry with concise articles that don't waste my time, where every > piece is of reasonable quality and some special pieces are really great. > Monthly would be fine.

I'd like that too. It seems like to the extent that the articles already exist, you could put it together simply as an RSS feed of links. Maybe you could do it as a Delicious tag.

<comment><USER13> Who could put it together simple as an RSS feed or delicious tag?

Are you suggesting I make it for myself? Which would defeat the purpose. Or are you suggesting that I hire someone else to make it?

<comment><USER14> I don't think I understand you.

What do you think about the other questions I asked?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> When I was first programming I didn't have a computer and so I'd write programs in little notebooks. When I finally did get a computer it had a very slow tape recorder for saving programs. I would frequently write programs and simply switch the computer off without saving. Saving was a hassle and I knew that the programs worked once I'd executed them.

</comment><comment><USER16> This captures more of the story of my life than I'd care to admit. I'm lucky to earn good money doing something that I can't stop doing.

Once, I was deeply burnt out. I took up knitting in an effort to get away from programming for a while. And just like Feynman in yesterday's front-page story, I was once again writing toy programs within a month.

Sometimes I wonder what I would have done if I was born 20 years earlier.

</comment><comment><USER17> > Programming is not like playing a musical instrument, it is not something > that you have to have a genetic disposition for.

As someone who is stumbling through the basics of programming and learning guitar, I can tell you that the secret to success in both is practice and putting in the time. There are very few activities that you cannot become good at with sufficient time and resources.

<comment><USER18> The thing is, there has to be some genetic/early developmental disposition. I "got" programming the first time I tried. 5 years on I'm still fumbling my way through beginner guitar.

<comment><USER19> I don't know if there is or if there is not any disposition or genetic element but if it applies to one, it applies to the other. There are people who, even with effort, fail to "get" programming (or, more specifically, the logical concepts behind it) in the same way that you're struggling with the physical aspects of the guitar.

I've had to do quite a lot of DIY as a home owner but I still feel as useless and incompetent as I did years ago. The difference between DIY, though, and programming is that the average joe doesn't _have_ to program whereas I still have to do house repairs.. :-)

<comment><USER18> Yeah that's the point I'm trying to make I think - I get programming when others don't (even without practice, the practice just made me a lot better). And as much practice as I give it I don't get much further with guitar.

</comment></comment></comment></comment><comment><USER20> _...if you add up the number of hours that I've spent in conversation with editors, compilers and debuggers over the years..._

I'm afraid to do that. I would probably be shocked by the number, and then would quickly calculate my lifetime rate, which would probably be about 28 cents per hour. This is the thing non-programmers never understand; programming takes _a lot of time_.

 _It's like a drug._

Great analogy! For me, there's no bigger high than the exact moment of the conclusion of this process:

NothingThere + IDidSomething = SomethingThereForTheFirstTimeEver!

 _That process, the act of programming is something that I need to do._

Sometimes I think this is the difficult-to-define missing requirement for software success. Some call it "passion". Some call it "determination". I call it "I can't imagine doing anything else".

 _but it has all the components of a 'real' program, input, computation, output._

Don't forget storage. That was the killer feature that got me hooked. You could write a simple program, store the result (on a disk!), come back later and build upon that result. Before disk storage, computers were toys. After disk storage, they changed the world.

 _there is nothing that can't be learned._

I've never had a tatoo, but if I did, this probably would be it (backward, on my forehead).

 _...all you need to be is a little bit better than you were yesterday and to keep doing that for a long time._

This advice:

1\. is excellent. Maybe the best you'll ever read here.

2\. is _not_ intuitive. Most people don't get it. Like compound interest, it's hard to wrap a human brain around it.

3\. is universal. It applies to almost anything you can do.

4\. is very difficult to teach. As soon as you think people get it, they don't. They stop measuring their own deltas and resume comparing to perfection. Grrrrr.

5\. the single most important thing I've ever programmed in business turn- arounds. The best dashboards and report writers I've ever written are time- phased; they clearly show improvement _over time_ , which is almost always more important than any snapshot:

Losing + Improvement + Time = Winning

 _Beware of that bug though, once it bites you, you'll be hooked for life._

To this day, whenever I need something for myself and can't find it in 5 minutes, I build it. It may not be the most effective way, but I just can't help myself. There must be a (3)(2)(2) program for people like me.

</comment><comment><USER21> > And so I did. That first copy of byte magazine got read to pieces, I even > knew the words of the ads by heart.

:-3

I grew up in a later era and one time in the late 80's my mom brought a portable computer home. When you turned it on the screen would shimmer and my mom let me type in the word processor. It was disappointing, since I expected computers to be so much more Amazing than a word processor. Then, later, we got a home computer, and we had it for seven years, and internet access for two, without the idea clicking that yes, I could probably write programs on it somehow. (I couldn't, actually, because QBASIC was not installed.) Finally I got my start writing "programs" when in eighth grade they taught us how to do word processing and make spreadsheets, and using MS Works Spreadsheet '99 (on a new PC) I made a spreadsheet for managing a basketball pool. I was still unaware of the idea of having a programming environment on a computer. A year later, though, we had to get TI-83 calculators for math class, and that's how the hobby of programming kicked in for a lot of people of my generation. Programming on calculators sure as hell beat devising ways to sort a deck of cards.

</comment><comment><USER22> This is so similar to what I've done .... My first computer was a Casio PB100, with the 1548 bytes memory extension :) I still have the programs I've done on small cardboard sheets.

Then I had an MSX in 1986. I made dungeons games, drawing programs... all in BASIC of course. When I got bored with BASIC I plunged into Rodney Zack's "programming Z80" and wrote a crude assembler in BASIC.

From there I had a grandiose plan of a 3D 3rd person adventure game in an open world... I began some work on it and realised I'd need about 10000 times the 64KB RAM to get anything done, and a CPU 100 times as fast, and countless other stuff :) Happy days, everything was possible back then.

</comment><comment><USER23> Drug Wars on the TI-83 is largely responsible for my interest in computers.

<comment><USER24> Loved that game!

</comment></comment><comment><USER25> What is probably most significant point of this article is that he has enjoyed programming for that long and still enjoys it, and gets to do it. It is refreshing to read that, amongst all the craze for startups, somewhere folks are interested in programming as a hobby, as an art. And not just high school or college but life-long. I certainly think that just like music, art, sports there is an aspect to programming which is as fulfilling as these art form. And more than the end goal, the act itself is also filled with purpose and fun.

</comment><comment><USER26> The end really hit me deep...very assuring " It may take a while (it took me more than a year to learn 'BASIC', which is a very simple language) and I gave up several times only to go back to it once more." I don't know how many times I've tried learning python only to fail..but I'm going to keep trying until I can stick with it and get better...bit by bit.

</comment><comment><USER13> I had one of those sharp pocket computers - though I was a but younger at the time. It was 4 bit!

</comment><comment><USER27> My need to code comes almost exclusively fromy my need to understand. If I can understand a problem space well enough to explain it to a computer, I probably understand it.

<comment><USER28> This is only one side of the virus. There's another one: the need to create things. I feel a great need to implement my _own_ ideas both in software and in hardware, i.e. first to understand the problem domain, then to create something that relys on this new knowledge and that does not yet exist. And it's a great great pleasure to observe the thing I created works. Maybe not as I initially imagined, but works! And I feel so miserable when it does not, usuaully because of some nasty bug (or a bad concept) and I cannot help stop debugging and debugging till I get it working! :-)

</comment></comment><comment><USER29> I actually once asked the StackOverflow community where the software we make isn't so dear to us as "one's own child" - at least I feel that way so often.

I(){ _just_love_code;} I();</comment>


I2C in a Nutshell - <AUTHOR> https://interrupt.memfault.com/blog/i2c-in-a-nutshell <comment><USER2> Probably one of the least painful digital buses.

If anyone is wondering how to access an I2C bus from a Linux computer, say, a raspberry pi:

int fd = open("/dev/i2c-1", O_RDWR);

ioctl(fd, I2C_SLAVE, [slave address here]);

Then you can read() and write() to the device with the kernel taking care of all the transmission details. Usually all that's exposed is a few bytes for the registers. To set a register, write two bytes: first the register address, and then the value. To read a register, write the register address and then read a byte. Most of the devices have linear address spaces, so reading out multiple registers is as simple as reading multiple bytes.

The i2c-tools package has some very handy CLI tools for exploring an I2C bus.

Electrically, the bus is an open-collector design on both ends, so devices can only pull the lines to low, and they release them to set them high. Don't forget pull-up resistors!

<comment><USER2> A quick note: buy one of the really cheap (~$10) logic analyzers on ebay and use Sigrok/Pulseview to to watch the bits get sent over the wire! It's an absolutely invaluable tool for the price.

The hardware inside those logic analyzers is fascinating in its own right, too!

<comment><USER3> I've found the [I2CDriver]([https://www.adafruit.com/product/4267](https://www.adafruit.com/product/4267)) device to be really useful with debugging, poking, and otherwise prodding I2C devices.

</comment></comment></comment><comment><USER4> I really don't like I2C. Yes, in principle it's pretty simple, but if you consider NACKS, slaves holding SCK low, what happens if your master resets while the slave is trying to send a 0 bit (hint: power cycle!), etc, it's so easy for the peripheral to get stuck.

SPI is much easier to write correctly, and pretty much only has the extra wire (usually not a problem) and the phase polarity issues as a negative point.

<comment><AUTHOR> I think I2C and SPI have very different use cases. Over I2C, you can interact with 127 devices with just 2 pins. To do the same with SPI, you'd need 130 (4 + an additional CS for every device on the bus).

You may think of the extra pins as not a problem, but on every product I've worked on we've been pin-limited on the MCU.

<comment><USER5> > Over I2C, you can interact with 127 devices with just 2 pins.

In practice, I don't see that many chips offering 7 bits of address configuration. You buy a chip, it has a hardwired address. Maybe a pin or two for selecting another address.

<comment><USER6> That's still seven bits of address, though. If you're lucky, the hardwired part will be different enough between chips that you can still have a significant number of them on a bus.

<comment><USER7> I've yet to get above 4 devices without conflicts. Even with evenly distributed addresses, you reach about 50% chance of conflict with 13 devices because of the birthday paradox.

</comment></comment></comment></comment></comment><comment><USER8> Very nice! I especially like that it starts with a discussion of why you would choose to use I2C, as well as why you may not, depending on your application:

>I2C is not appropriate for all applications however: When higher bandwidth is required, SPI may be the right choice and can be found in many NOR-flash chips. MIPI can go even faster, and is often used in displays and cameras. If reliability is a must, CAN is the bus of choice. It is found in cars and other vehicles. When a single device is on the bus, UART may work just as well.

<comment><USER9> Article misses two of the best features of CAN: Built-in, non-corrupting collision resolution (lowest CAN ID wins) and CRC-protected frames. The latter feature is usually done by hardware, just as in Ethernet.

<comment><USER10> CAN also autobauds so if you have frequency drift it compensates. That's why it forces bit transitions via bit stuffing if it gets too many 1's or 0's in a row.

<comment><USER11> I would not call bit-resynchronization as "autobaud". Because CAN has no autobaud.

That said, with Classical CAN you can implement an autobaud (better: automatic bit rate detection) like mechanisms when you can make some assumptions on the used bit rates. With CAN FD and the upcoming CAN XL you cannot do that.

PS: Baud is a term specifically applying to communication systems that transmit symbols and a symbol can represent more than a bit. That is why I2C, SPI, LIN, CAN, Ethernet have a bit rate. While RS232 has a baudrate, which is different from the bit rate depending on the type of symbol used.

</comment></comment></comment></comment><comment><USER12> Here is a shameless plug for a build-it-yourself multi-function FT232H-based (USB interface) board that can do I2C among other things (JTAG/SPI/UART/GPIO) and has a few extras compared to similar commercial boards from elsewhere (pullups and some blinkenlights).

The board works with various apps and frameworks, including OpenOCD and CircuitPython.

Full build details and some other resources are here:

[https://github.com/linker3000/shukran](https://github.com/linker3000/shukran)

</comment><comment><USER13> Worth reading this afterwards: [https://hackaday.com/2019/04/18/all-you-need- to-know-about-i...](https://hackaday.com/2019/04/18/all-you-need-to-know- about-i2s/)

<comment><AUTHOR> Yes! I considered adding a bit about i2s, but since the article is already clocking at ~2500 words I thought I'd leave it to another time.

I2S is everywhere in audio.

<comment><USER13> Agreed, you can oversaturate the learning process and what you have is elegant, laid out well and wonderful, also covers the subject and I2S would be another subject.

<comment><AUTHOR> Thanks for the kind words! I was up late last night writing this up, it's encouraging to see folks enjoy it.

</comment></comment></comment></comment><comment><USER14> I just want to take a moment to thanks folks over at memfault for bringing us in depth content from the world of embdedded systems. Be sure to check out their articles on ARM, RTOS etx.

<comment><AUTHOR> Thanks! We've been writing all the content we wish had existed when we started out as embedded software engineers. It's fantastic to hear from folks who enjoy reading it as much as we do writing it.

</comment></comment><comment><USER15> > _In doubt, go to 2K resistors._

I find handwaving recommendations like this rather pervasive and annoying, especially in a professional setting.

If you're serious about I2C after gratifying yourself with this bootcamp-style smashbang intro, I highly recommend reading the actual spec[1] (which is more like a casual app note IMHO); the blog apparently doesn't link to it. It's free, relatively short, and oh by the way, there's an entire section which properly addresses pull-up resistor sizing and then some. You'll also be able to spot inaccuracies like:

> _It has transfer rates up to 400Kbps_

[1] [https://www.nxp.com/docs/en/user- guide/UM10204.pdf](https://www.nxp.com/docs/en/user-guide/UM10204.pdf)

</comment><comment><USER16> I wonder what people think about i2c connectors? I see that Sparkfun has Qwiic and Adafruit has Stemma, and there are others like Grove.

I'm designing my first circuit board and I'm wondering if I should bother with JST connectors or just use header pins.

<comment><USER17> This. I would also love to know what connectors I should use for my hobby projects. I'm also designing my first PCB board and something as simple as choosing connectors is daunting...

<comment><USER10> Through-hole .100 headers. Always. Unless you have a _REALLY_ good reason otherwise. (weatherproofing, signal integrity, compatibility with existing solution, etc.)

First, if you have a small number of pins (up to about 4-6), a 2x2 or 2x3 .100 header isn't that much larger than any alternative. Compare this: [https://www.tag-connect.com/product/tc2030-fp-footprint](https://www.tag- connect.com/product/tc2030-fp-footprint) to a 2x2 of .100 headers. It's actually bigger, and now you need a special cable instead of that bag of .100" jumper wires you have.

If you have something like 20 genuinely used pins (not 6 active and 14 unused), okay, you may need a different connector. But are you really sure about this? 20 pins communicating simultaneously has signal integrity needs and small connectors have _WAY_ more coupling than .100" spacing.

Second, through-hole is always way more stable than no-through hole. Once you give your smaller pitch connector through holes, is it really smaller than .100"?

Third, manufacturers have no problems with .100" headers. Smaller pitches may increase the cost of your board. Try costing out a board that can mount and route a modern USB-C connector which has both surface mount and through-hole at small pitch. You're probably going to get a cost bump.

Fourth, you can buy _really_ long .100" headers which allow you to conect to them _and_ put a scope probe underneath. That's really convenient for debugging.

So, go through-hole .100" header until you've got a good reason otherwise.

<comment><USER18> I agree overall but that's a weird comparison with the tag connect. It's not meant to be small, it's meant to avoid soldering a header down to the target board for programming. It's useful for Z-height or cost savings, not for XY savings.

<comment><USER10> Sadly, it's not uniquely useful for _that_ either.

I can solder a set of pins (or pogo pins) on a .100 spacing and mate into the .100 header holes. Or I can offset the .100 holes very slightly so they friction grab a .100 2x2 male header in the holes.

Or I can buy a breakout board that does the same thing for $7.00 for 2 rather than $50 per cable like Tag-Connect: [https://www.pcbway.com/project/gifts_detail/PogoProg_Model_D...](https://www.pcbway.com/project/gifts_detail/PogoProg_Model_D_Pogo_Pin_Programmer___2_Pack.html)

.100" headers are hard to beat for general effectiveness.

</comment></comment></comment></comment></comment><comment><USER19> I don't know if anyone else noticed, but the web page uses SVG for signal graph, which I originally thought was an image. The way SVG is used is very subtle but very nice looking.

<comment><USER15> The right-click-to-save-as-PNG-or-SVG feature is quite nice as well.

</comment></comment><comment><USER10> I'm happy to see all the discussion against I2C in the comments here. I thought I was the only one who loathed debugging I2C stuff.

The only things I take exception in the article to is:

> When a single device is on the bus, UART may work just as well.

The problem with UART is _clock drift_. It's remarkably easy for your two chips to get out of sync if they don't use crystals and don't have autobaud (normally rare). That is one thing that I2C, SPI, and CAN do better. They either don't care as they have a single master clock (I2C and SPI) or they autobaud detect and then adjust (CAN).

</comment><comment><USER20> I've been having a lot of fun learning how to work with I2C on a Raspberry Pi with the Nerves framework. tl;dr it's an end-to-end development framework for deploying Elixir to embedded devices.

I2C was easy enough to understand, but understanding the obscure ways to configure and speak to a device has been really challenging. Spending a ton of time reading datasheets and experimenting with assembling binary messages.

The next time you are frustrated and unhappy with the state of modern web development (REST and/or GQL) take a ublox GPS chip for a spin and try to get it to give you high frequency location data. You will think, hey gee this isn't so bad after all compared to encoding and decoding a binary protocol by hand.

<comment><USER21> > Spending a ton of time reading datasheets and experimenting with assembling > binary messages.

That's embedded development in a nutshell. The only part you're missing is wasting a week of your life tracking down a compiler heisenbug, because embedded devices have niche, poorly maintained compilers.

Though to be honest it's a matter of taste; natural sadists tend to "enjoy" embedded.

<comment><USER22> Take the sadomasochism one step further; do FPGA programming, learn the joys of properly enumerated case statements (or the hell of finding what one is blowing up your flip-flop/latch diagram).

<comment><USER21> You don't know true embedded BDSM until you've debugged incorrect timing constraints on an FPGA ... with a customer on the other side of the planet ... only to realize later that they have no idea how to design an HDMI compliant board and none of it was your own fault.

Or spending three weeks trying to achieve timing closure on a design, only to finally realize after much inspection of the routed designs by myself and an IntelFPGA FAE that the router was smoking digital crack the whole time and had no clue how to route their own divider units?

Or maybe the programming facility reversed bit ordering on a batch of the FPGA's flash chips and you only learn of that after a very, very long couple of nights of language barrier back and forth with a flummoxed customer.

The joys are endless.

</comment></comment></comment></comment><comment><USER23> Here's an I2C to RS-232 serial converter for long term monitoring of an I2C bus. I needed this at one point, and made it with the cheapest FPGA board available on eBay:

[https://github.com/jhallen/i2cmon](https://github.com/jhallen/i2cmon)

</comment><comment><USER24> I'd like to know why 1-wire isn't more common. It seems to me like a more elegant protocol than I2C. Not least because every device has a unique baked- in address so you don't need to worry about address collisions or dip switches to alter them.

(Also: needs one fewer wire)

<comment><USER25> If I had to guess, using clock-less (serial) protocols like 1 wire and UART requires some logic on each RX side to figure out what the clock of the incoming signal is, usually a PLL of some sort, and you'll need lots of crystal oscillators to ensure that clocks are sufficiently stable and accurate as to ensure reliable communication.

<comment><USER26> 1-wire is pretty slow (kbps max in normal mode) and very tolerant of devices with a wide range of timing skew.

<comment><USER27> I wouldn't call it very tolerant. Some timings are pretty tight, like 1 to 15 microseconds, and every microsecond can count. And I am not talking about the overdrive mode where the timings are much tighter.

<comment><USER26> One of the datasheets I have here says:

\----- During the initialization sequence the bus master trans- mits (TX) the reset pulse by pulling the 1-Wire bus low for a minimum of 480µs. \-----

There is no maximum time limit for the reset pulse.

\----- The bus master then releases the bus and goes into receive mode (RX). When the bus is released, the 5kΩ pullup resistor pulls the 1-Wire bus high. When the DS18B20 detects this rising edge, it waits 15µs to 60µs and then transmits a presence pulse by pull- ing the 1-Wire bus low for 60µs to 240µs. \-----

A tolerance of 15uS to 60uS on the device side and 60uS to 240uS on the driver side seems pretty wide to me.

Now, it's hard to actually get a good figure for these specifications because different datasheets give different values, which further suggests the tolerances are large.

Another datasheet that I have here says that the presence pulse should be sampled after 72uS. This leaves at least 12uS slack for rise times, long wires, etc.

To give an idea of whether 10uS is very long or not, remember that the cycle time on, for example, an 8MHz AVR as you might find in an Arduino, is 125nS. That gives you 80 instructions every 10uS (at the AVR8's advertised 1MIPS/MHz). This is plenty of time to implement the 1-Wire driver in software.

<comment><USER27> It seems that you didn't reach the part of the spec that describes how to read and transmit data bits.

Also, even for simplest slaves there is still a need to keep track of time which requires additional hardware (an oscillator or some such).

</comment></comment></comment></comment></comment></comment><comment><USER28> This article has appeared at the perfect time for me. I was just trying to use i2c with a BMP180 temperature/pressure/altitude sensor and a micro python board and was rather confused. Love Hacker News

<comment><USER29> hah i'm doing the same thing, building an altimeter for my son's model rocket. There are altimeters out there for sale but i wanted to get into embedded programming as a hobby.

<comment><USER28> ha me too. I wanted to learn micro python and record the altitude of my quadcopter.

</comment></comment></comment><comment><USER30> Comparison of I2C and SPI: [https://news.ycombinator.com/item?id=9303405](https://news.ycombinator.com/item?id=9303405)

</comment><comment><USER31> > _We're partial to Saleae devices, which come with an easy to set up I2C > decoder._

I can vouch for these. We have a couple for our team to debug HW issues, and I was amused, once in a Chinese factory, to be handed one there when I asked for a logic analyzer (I know Saleae had issues with clones in the past, and had to implement countermeasures some years ago...)

</comment><comment><USER32> [https://12minuteaffiliatereviews.blogspot.com](https://12minuteaffiliatereviews.blogspot.com)

</comment><comment><USER33> FYI you're missing a word in "for pulse on the SCL line", I think is supposed to read "for every pulse"

</comment><comment><USER34> am I correct on the I2C use cases?

\- reduce number of wires / overall length of cable runs \- more sensors/actuators than GPIO pins

</comment><comment><USER35> Was this a nutshell??</comment>


Show HN: The result of donating 8 hours design time - <AUTHOR>

Early this week I offered to donate 8 hours to any project that needed some design help. There were a few candidates and thanks to everyone that emailed me and posted in the comments. I decided to lend my time to Simple Invoices, an open source invoicing system.
You can see the result here: http://jasonstrachan.com/clients/simpleinvoices/
And the original site here: http://simpleinvoices.org/
Comments and feedback welcome. <comment><USER3> Hey Jason,

awesome work!!!! love the design

in my original email i said 'clarity,simplicity, community, not overly flashy' - this design communicates this on a level that me as a php guy would have no hope of coming up with - refer original site for my attempt :)

the simple invoices community thanks you for your work - it will really help us communicate what were on about

now onto the fun part - turning the psd into html/css reality :) \-- any html/css gurus want to lend a hand ?

again - really appreciate this help !!

will post here once we have implemented the design

Cheers

Justin \-- simpleinvoices.org

<comment><AUTHOR> Oh and a little help: why is it I can't post linkable URL's? Do I need more karma?

<comment><USER3> "Urls become links, except in the text field of a submission"

refer: <http://news.ycombinator.com/formatdoc>

i assume that this means if a title of a post is a url then its a link - <USER2> is formatted as plain text

cheers

justin

</comment></comment></comment><comment><USER4> Really, amazing and sleek design.</comment>


Mystery Missile Launch Seen off California Coast - <AUTHOR> http://www.cbsnews.com/stories/2010/11/09/national/main7036716.shtml

<comment><USER2> The fact that the US military response was 'nope, wasn't us' instead of 'oh my fucking god can you believe somebody just fired a missile off the coast of LA!' pretty much tells me it was them.

<comment><USER3> If it is a missile, then clearly a group of people with a boat should go and recover whatever it is. Since the military denies that they own it, then it seems to be abandoned property.

Surely someone would be interested in buying the remains of it for the technology.

Since the military doesn't own it, then they can't really say anything about you selling/reverse engineering/posting online abandoned property that's probably sitting in international waters now can they?

Either that, or the military is caught in a lie to the American people.

I know if I see what looks to be an ICBM over my city, I'm headed for the closest fallout shelter and assuming the worst. Anyone putting up faux-ICBMs over major cities is clearly causing terrorism, as in causing terror, uncertainty and fear among the public by not explaining and warning them.

<comment><USER4> > _Surely someone would be interested in buying the remains of it for the > technology._

...unless it, say, _exploded._

Personally, I wouldn't want to pick up an unexploded missile anyway; there'd be no way to know whether it didn't explode because it doesn't have a warhead, or just hasn't exploded _yet._

<comment><USER3> I'd really hope that (if it was the US Military) that they wouldn't shoot live weaponry like that on US territory. Sounds like a great lawsuit- although not one that I'd want the damages (death, harm) originally from.

<comment><USER5> Actually, that happens all the time. There are many live fire ranges for planes, artillery, etc. scattered across the US. No reason the Navy wouldn't light a few off from a sub.

<comment><USER6> There isn't a reason that the military can't test weaponry, they just usually do it in quarantined areas or with notice to the public.

<comment><USER5> Haha - tell that to my uncle who got buzzed by an F16 in his Cessna outside the live fire zone ;-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I think Asia already knows we can launch missiles from submarines.

<comment><USER8> Yeah, that comment didn't make a lot of sense to me. If we have to launch a missile to prove to the PLA that our deterrent is still in place, um, we have bigger problems than I thought. EDIT: To say nothing of the Taiwanese.

<comment><USER9> Maybe the idea is that we're not just proving that we're capable of launching missiles that way, but that we have enough of them to waste some on pointless launches. If we only had one to protect our whole west coast, we wouldn't launch it without good reason.

</comment></comment></comment><comment><USER10> [http://www.reddit.com/r/reddit.com/comments/e3gf3/a_missile_...](http://www.reddit.com/r/reddit.com/comments/e3gf3/a_missile_was_launched_off_the_california_coast/c14zqpm)

tl;dr: We're launching a missile tonight. Stay away please.

Edit: Doh. The date for this is Nov 9th, not last night. Not sure how I missed that - this isn't rocket science.

<comment><USER11> But this is for _tonight_ , not _last night_ when the phenomena occurred.

<comment><USER12> Wonder who didn't adjust a calendar for a leap year in some government code. Surely today could be Nov. 10, right? It's not like someone's hacked together version of a date/time system hasn't made it's way across my desk, I don't know, fifty million times...

"Why don't use you a DateTime object for that?" "They have those?" ...

<comment><USER11> I choose to pick the obvious answer first.

(Military alerts like these are almost daily on the Pacific coast)

</comment></comment></comment></comment><comment><USER13> i wonder how much bandwidth is required for the administration to remain in contact with washington while abroad. it must be someones job to decide how large of a one time pad to order up from the nsa before air force one departs.

<comment><USER14> I'm sure NSA can design a secure cryptosystem that does not require key material of the same length as plaintext.

<comment><USER13> but why bother? storage is so cheap nowadays, and one-time padding is as secure as your physical security detail.

<comment><USER14> Key management is hard. Keys need to be encrypted at all times and only duplicated when authorized. Generally people use dedicated secure storage hardware for this purpose. The more "key" you have lying around the harder it is to keep all of it secure.

</comment></comment></comment></comment><comment><USER15> Jet contrails from some angles look like missile trails: <http://news.ycombinator.com/item?id=1887890>

<comment><USER16> Indeed, it appears it was America West flight 808.

</comment></comment><comment><USER17> It's probably just airplane contrails stretching from the horizon. If it were a missile, then it'd be a bit surprising that the FAA isn't aware of any unusually fast moving objects in the area based on their radar replays:

[http://www.cnn.com/2010/US/11/09/california.contrails/index....](http://www.cnn.com/2010/US/11/09/california.contrails/index.html)

</comment><comment><USER18> Slow news day?

This is not that unusual of an occurrence, and they're not always announced.

<comment><USER19> How often does this happen? Do you have sources (a long-shot, considering the fact that they're not always announced)?

<comment><USER18> Just going from personal experience.

Submarine and Vandenberg launches are visible a few times a year to those living Southern California.

They're visible from I-10 near the AZ border as well.

</comment></comment></comment><comment><USER20> Clearly it's a weather balloon...

<comment><USER21> Whose swamp gas was trapped in a thermal pocket...

<comment><USER22> which reflected the light from Venus...

</comment></comment></comment><comment><USER23> A solid hypothesis from a redditor: <http://bit.ly/aNr7sm>

</comment><comment><USER5> My dad fired a Minuteman II from Vandenberg AFB (just North of LA) into the ocean in the late 70's. I'd be surprised if the Navy didn't do the same, and you probably don't want to do it outside of your own territorial waters unless it's a large naval exercise.

</comment><comment><USER24> It could also be a test of the missile shield. Like this one [http://www.spacedaily.com/reports/Japan_says_succeeds_in_mis...](http://www.spacedaily.com/reports/Japan_says_succeeds_in_missile_shield_test_with_US_999.html)

<comment><USER25> This still amazes me. Being able to detect, aim at and strike something flying at the speed of a rocket - with another rocket - in outer freaking space.

Even the patriot missiles back in the early 90's always awed me. I have trouble hitting a target in a consistent spot with a bullet from 100 yards.

<comment><USER26> If you had trouble consistently hitting targets, you would probably fit right in with Patriot missiles.

[http://en.wikipedia.org/wiki/MIM-104_Patriot#Success_rate_vs...](http://en.wikipedia.org/wiki/MIM-104_Patriot#Success_rate_vs._accuracy)

<comment><USER25> Hitting still targets is easy. Consistently hitting the same spot on a still target is difficult. What I'm saying is I'm impressed we can hit anything!

Think about the margins of error involved - how precisely do you have to know the Patriot rocket's position, vector and speed to intercept something falling from space? How do you take into account the fragmentation issues of a device like a MIRV? How do you account for any differences in the target projectile's path?

It's just an astounding problem to me. I very much dig the thought that I'm the same species as those that figured it out.

</comment></comment></comment></comment><comment><USER27> Companion metafilter thread (direct your snark here):

<http://www.metafilter.com/97436/LA-Missle>

</comment><comment><USER28> Isn't the X-37B still in orbit? Could this have been a test for it (missile detection / destruction)?

<comment><USER29> Could this be the contrail from the X-37's re-entry? It is due to come back soon and would be coming in to cali...

</comment></comment><comment><USER30> Interesting that Obama's trip abroad has been accompanied by so much saber rattling from our end.

Makes me wonder what they know and why all the chest thumping all of a sudden.

<comment><USER31> Could be to improve the presidents image -- he just lost the election (the republicans can now block legislation in both houses) -- now he needs to seem tough so he has a chance in 12.

</comment></comment><comment><USER32> Article seems to make assumption it was one of our missiles. Kind of probable given distance off of coast. But, still an assumption reporters/news orgs should not make.

<comment><USER33> I don't think any country is stupid enough to 'show off' missiles that near to the USA. Well, there's North Korea but the rocket didn't explode.

<comment><USER8> They might be dumb enough, but I'd wager all the money in my wallet that they don't they have any boomers.

<comment><USER34> As much of a horrible, tragic joke as the KWP and its Dear Leader are, I tend to assume a lot of the highest-ranking officials there know their limits, and, despite the daily charade each of them lives, the smarter ones wouldn't actually allow such an act to occur.

Of course, I could be wrong.

</comment></comment></comment></comment><comment><USER33> Does anyone know what the precision of these missiles are? I don't suppose they could be used for precision strikes in e.g. Afghanistan, or could they?

<comment><USER35> ICBMs are reasonably accurate - a couple dozen meters - but there are far, far better options.

There are already plenty of airborne/seaborne cruise missiles and guided bombs in the region, with nearly pinpoint accuracy and much faster time-on-target. Much cheaper and less likely to start a nuclear war with Russia, too.

I don't think anyone knows the accuracy of this particular missile because no one seems to know whose missile it was.

<comment><USER16> Indeed, there are no conventionally-armed ICBMs or SLBMs, for precisely this "likely to start a nuclear war" reason.

</comment></comment></comment><comment><USER16> Has anyone checked for a NOTAM covering the area at the time?

<comment><USER36> I've heard from others who are researching the issue that there was no NOTAM. Also, people in the amateur rocketry community are being asked if this was one of theirs.

My guess: contrail + some people in the gov't bought the missile angle, but there was no missile. So now some officials are worried that _someone_ launched a missile that they don't know about.

<comment><USER16> Agreed. There's a picture here of a similar-looking jet contrail: [http://lewis.armscontrolwonk.com/archive/3136/it-aint-no- thi...](http://lewis.armscontrolwonk.com/archive/3136/it-aint-no-thing)

</comment></comment></comment><comment><USER37> That's no missile, it's Tony Stark.

</comment><comment><USER38> Can't believe that no one on HN has figured this out yet. The missile was actually just one rather careless salvo in the US joint military campaign to halt "Operation Black Swan," the long-anticipated alien invasion that was expected to begin on November 8. Collen Thomas described the whole thing in _excruciating_ detail on Youtube last month:

<http://www.youtube.com/watch?v=5hvtOEHKJsI></comment>


I will sell my automated Swoopo bidding software if 100 people each pledge $100. - <AUTHOR> http://www.pledgebank.com/SwoopoBot This was just a little hobby project, but I figured other people would probably want it too, so I'm making it available exclusively to 100 people.<p>Has anybody else successfully sold software in this fashion before? <comment><AUTHOR> This started off as a hobby project, but I figured that other people would probably be willing to buy it from me - so I'm making it available to 100 people exclusively.

Placing bids on the Swoopo website is tedious and expensive, and also unreliable (all those javascript timers tend to lock up the browser). Instead of biddign on impulse, I've found that leaving my robot in charge reduces the overall number of bids that I need to make in order to remain competitive - <USER2> only jump in when certain conditions are met (when other people either run out of bids or walk away).

Has anybody else successfully sold software in this way before?</comment>


Windows 7 support will end on January 14, 2020 - <AUTHOR> https://support.microsoft.com/en-ca/help/4057281/windows-7-support-will-end-on-january-14-2020 <comment><USER2> My one windows machine (gaming rig) is still waiting for a simple, low cost option to get a LTSB release that has zero telemetry code, zero upsell gimicks in the start menu and has a simple option to look identical to windows 7, but with a newer kernel. I have used wine for games, but the performance just does not meet my own personal needs.</comment>