An Interview with a Kickstarter Success - <AUTHOR> http://www.hackthings.com/an-interview-with-a-kickstarter-success/

<comment><USER2> I'm not sure it counts as a success just because they reached goals. Get back to us when they've shipped.

<comment><USER3> Well, not only that, but even after shipping, life isn't necessarily roses and rainbows for even the most successful Kickstarter campaigns. A story worth writing would be a followup with some of the biggest winners in Kickstarter's history, with sort of a "Where are they now?" angle.

It's awesome that the Thermodo guys were able to get such interest in their product, and to generate such a big round on Kickstarter. But let's ask ourselves: is there _really_ a market for plug-in thermometers for mobile phones? Would they have been able to establish such a market without Kickstarter? Will they maintain a market after the Kickstarter campaign is over? Or, perhaps more likely, is the set of all people who bought into this Kickstarter round = to the set of all people who will _ever_ buy a Thermodo?

Don't get me wrong; I'm a big Kickstarter fan. And I've contributed to plenty of campaigns to get "gee-whiz" types of novelty products. But I have a hard time seeing a sustainable business model in many of these ostensible success stories.

(Maybe that's ok. Maybe some of these guys are just trying to bring cool or interesting products to a big group, and nothing more. So be it.)

<comment><USER4> This is our first attempt to foray into physical hardware products as software developers. It's our MVP. Kickstarter is a fantastic platform for that.

There are still lots of work ahead of us. We have several ideas on where we want take Thermodo project from here. We are already getting lots of feedbacks on ideas from users, too. [http://www.kickstarter.com/projects/robocat/thermodo-the- tin...](http://www.kickstarter.com/projects/robocat/thermodo-the-tiny- thermometer-for-mobile-devices/posts/440535)

We will probably write a post on our journey from software developers to hardware designers when we are a bit closer to the final product.

<comment><USER3> Rock on, then. If this is the MVP of a bigger, Nest-like vision, and/or a springboard into more projects, all the more power to you.

BTW, I did not intend to come off as a dick in my previous post, and I apologize if I did. What I was trying to say is that I am really more interested in the what-happens-after phase than I am in the fundraising phase, and I don't think we -- meaning we, the community, the press, the readers, etc. -- spend enough time or attention following up with the people who've launched big. And we should certainly root for the success of those who do.

</comment></comment></comment></comment><comment><USER5> Kickstarter is NOT an investment platform. That's actually against the law in the USA [1].

Kickstarter is a DONATION platform.

There is a huge difference between the two and people often confuse what Kickstarter really is (and is obligated to do).

[1] <http://www.sec.gov/answers/rule506.htm>

</comment><comment><USER6> My co-founder and I at Lumi ran two successful Kickstarter projects and have been mentoring people on the platform. We turned our workshops into a Skillshare class that contains lots of good material + interviews with other project creators. <http://skl.sh/111uQaJ>

If you want to get a flavor for the course we're doing a live Google Hangout tonight at 6:30PM PDT, that you're welcome to join in on: <https://plus.google.com/events/c1e21ts81gf4gdchcivs7ld8jec>

</comment><comment><USER7> Kickstarter is pretty amazing. My brother's company has had huge success and are only 7 days into their campaign (they got their initial funding in 3 hours) but they have a long time customer base and a lot of pent up demand as they are using Kickstarter to fund a less expensive version of the product they have been selling for years.

[http://www.kickstarter.com/projects/dwarvenforge/dwarven- for...](http://www.kickstarter.com/projects/dwarvenforge/dwarven-forges-game- tiles-revolutionary-miniature)

<comment><USER8> no spamming , it's in the kickstarter rules.

<comment><USER9> Are you...saying that dugmartin is spamming?

</comment></comment></comment><comment><USER4> Thanks for reading the interview. The project from the interview is our MVP of a hardware product as software developers.

Edit: direct link to Thermodo Kickstarter campaign [http://www.kickstarter.com/projects/robocat/thermodo-the- tin...](http://www.kickstarter.com/projects/robocat/thermodo-the-tiny- thermometer-for-mobile-devices)

</comment><comment><USER10> if anyone is launching a project, then check out our bootstrapped service at <https://teelaunch.com> \-- good luck

<comment><USER4> We actually contacted you before we launched, but never heard back.</comment></comment>


Ask HN: Why is Bluetooth audio always so bad? - <AUTHOR> Pairing is famously a UX nightmare [0]. Even Apple's AirPods cut out constantly, suffer from interference from other nearby devices [1], and apparently just don't work in an open space [2].<p>To people with Bluetooth expertise: Why is the Bluetooth audio experience always so...bad? Are there some fundamental technical limitations in the spec? Are my expectations unreasonable? Or is it just always implemented poorly? Followup: are there competing technologies that Just Work™?<p>[0]: https://xkcd.com/2055/<p>[1]: https://support.apple.com/en-is/HT209369 ("move away from places [with] a lot of Wi-Fi activity")<p>[2]: http://www.iphonehacks.com/2018/04/heres-why-your-airpods-or-other-bluetooth-headphones-cut-out-while-crossing-a-street.html <comment><USER2> So, no one has touched on a technical limitation. Bluetooth sucks for going through water. (If you like The Maths [http://www1.lsbu.ac.uk/water/microwave_water.html](http://www1.lsbu.ac.uk/water/microwave_water.html) )

Guess what people are mainly made of?

So, if you are standing between a BT transmitter and a BT receiver a lot of magic needs to happen to get the data moving between the two.

People love Airpods. People often put their phones in their pockets. A lot of water in the way.

If you notice BT being particularly terrible, look for how water might be blocking the signal.

This, of course, isn't the cause of all BT problems, but knowing this fundamental really helps troubleshoot when you run into a lot of them.

<comment><USER3> WiFi also uses 2.4 GHz (or even higher in newer versions) and it seems to be much more resilient. Is it really a matter of the underlying electromagnetic link?

<comment><USER4> Mostly bc WiFi has stronger signal, and the protocol is designed for higher speed and better stability.

</comment></comment></comment><comment><USER5> > Are there some fundamental technical limitations in the spec?

It's the same issue as with practically everything else digital these days. Hugely complicated thousand-page standards that few, if any, understand in their entirety. Implementations that are rushed to market to "be fixed later because it's just software" \- which never actually happens because the next thing comes along and instead of fixing existing shit it's again a rush to the deadline to push more of it out the door.

<comment> seph-reed My dream is for society as a whole to decide we should just go back to the beginning and fix things starting from there until we catch back up with the present and blast right off into the future. For instance, agriculture. It really seems like there shouldn't be any problems. But even a farmer who's outstanding in their field will run into plenty of things that probably should have been solved centuries ago.

<comment><USER6> > outstanding in their field

I see what you did there.

</comment></comment></comment><comment><USER7> It's a low power legacy frequency hopper with a bloated USB like network stack that isn't USB. That was the design from the very beginning.

It's unfixable.

My honest professional opinion is the people that wrote the spec had no idea what they were doing.

<comment><USER8> Would anyone at the time know what they were doing? Was there ever a similar protocol in existence yet? If the answer is yes, why did we need BT to be created?

<comment><USER7> 20 years ago I was working on firmware for cheap narrow band spread spectrum cordless phone IC's.

It's easy to see the mistakes they made. If you look at the early to mid 1990's, there were cheap FM radio IC's that drew a couple of ma. At the same time ISM band microwave IC's were expensive, made of GaAs and just an LNA would cost you 50-100ma.

Wifi did exist back then. But the cost was around $150-200 for a chip set and the power requirements precluded battery operation.

So 'of course' they went with a low power FM radio.

The problem was as you shrink CMOS transistor sizes they get faster. By the late 1990's you could build a direct sequence transceiver IC out of CMOS. The one my group rolled out in 1999 drew about 200mA in receive mode and cost $4/1M

Zigbee came two three years later and the power requirements were down to 25-50mA.

Bluetooth designers completely failed to judge the progress being made in CMOS RF IC design. That was completely obvious to anyone in the industry.

The second problem had to do with the baseband. The Bluetooth baseband has several layers and essentially replicates the USB protocol/driver stack. Notice how easy it was for Microsoft to roll out the USB stack? Yeah total shitshow.

So you had a dumb simple frequency hopping radio married to a complicated baseband.

The rub, out of about two dozen companies that tried to build Bluetooth radios' circa 2000, all but three failed. Because they couldn't get the base band power consumption low enough.

Usually when you design a spec like Bluetooth you get your potential manufacturers on board working on silicon as you design the spec. They didn't.

Notable the Zigbee spec had the same problem with it's baseband and most people solved that problem by ignoring it and just using the radio.

A third problem (which effected Zigbee as well) is the transmit power was too low. Made worse with Bluetooth because the FM radio's sensitivity sucks. Back then I knew from cordless phone stuff that you needed at least 5db of transmit power to get reliable QOS. Bluetooth and first gen Zigbee radio's had less than 0db.

All of the above a small brained primate like myself could have told you.

<comment><USER7> > because the FM radio's sensitivity sucks.

It's worse then you think because Bluetooth is a frequency hopper which means Streaming QOS is limited by the link margin on your worst channel.

</comment></comment></comment></comment><comment><USER9> The core Bluetooth spec is 2985 pages. Essentially no-one correctly implements it; it's arguable that the spec is sufficiently complex, vague and self- contradictory that it's impossible to correctly implement. Unless you're using two devices by the same manufacturer (Earpods with an iPhone, a PS4 with the PS4 controller) your odds of getting a consistent, reliable experience are vanishingly slim.

<comment><USER10> I use airpods with an iphone and I constantly get connection issues, only one pod playing, or sound cutting off.

<comment><USER11> Is it possible you have a defective pair of AirPods?

</comment></comment></comment><comment><USER12> If I remember correctly, the bluetooth headset profile (if you require microphone input) is pretty low bandwidth (think gsm quality), which would explain low quality in that case.

Newer Bluetooth variants support higher quality audio without a microphone (A2DP), and that's what you are likely using today unless you are in a call.

As far as interference in the 2.4GHz range, there is not much you can do about it in areas you don't control.

<comment><USER13> On that topic: why isn't there a way to connect headphones via A2DP and the microphone with HSP? It's rather disappointing that I have headphones with a built in mic, but I can't use the mic while using them as headphones.

<comment><USER14> Limitation of the particular Bluetooth version (4 vs 5?), needs to use one or the other. Believe it's addressed in a later version, either by a new profile or maybe similar to the solution you suggest. Did a little research into this after going nuts when headphone quality dropped when the mic turned on in a mobile game.

</comment></comment></comment><comment><USER15> I'm still annoyed that I can't get FM radio to route over Bluetooth without getting some bizarre up.

My old Moto G could play FM Radio, and you could select Bluetooth as the output. Fast forward to today, and the Samsung A50 (in my hands right now), has the ability to pick the app, and select the output to Bluetooth, but it doesn't work for FM Radio. Why? Because Bluetooth is just not consistent in my opinion.

EDIT: I am probably in the minority of people that insist on FM Radio on their phone. Just putting that out there as most people will not run into my problems.

<comment><USER16> Probably because FM is typically purely analog. You need to record signal, then compress it realtime and send through BT. That uses up battery. When using plain FM Radio, you just connect signal from fm chip to output amplifier.

<comment><USER15> That's a good point. The old Moto G did this out of the box. The newer ones, cannot. You need some "bluetooth router app". Beware of super spammy links if you google that. It's not an elegant solution and may or may not work depending on when Android gets updated.

Right now the A50 has a really nice sounding tuner with either my Samsung earbuds or Sony Headphones. NextRadio appears to be winding down it's features, so you have to use the basic tuner, and manually seek to each station, and add it to your favourites.

All this to say, there's not a lot of attention to FM Radio.

<comment><USER17> We could be using more advanced variants of DAB+/DVB/DMB protocols instead. It is still simple compared to WiFi but way more resilient than Bluetooth. But we get regulation in the way...

</comment></comment></comment></comment><comment><USER18> Bluetooth audio quality, while still noticeably worse than wired connections, is much better on iOS devices using the AAC codec than on earlier codecs. Check device specs before buying. Many currently available Bluetooth devices, even some very inexpensive ones, support AAC. Use aptX on Android, AAC on iOS. If you care more about quality than convenience, use a wired connection. If you are listening to contemporary popular music with extreme dynamic range compression (not the same as data compression), you might not even be able to tell the difference between a quality Bluetooth codec and a wired connection.

<comment><USER19> Recent versions of both iOS and Android include an improved SBC encoder that have a perceived quality equal to aptX, so, as long as you're using a modern device, the codec quality issue is largely moot.

</comment></comment><comment><USER20> Bluetooth is much better on Android/Desktops with support for apt-x HD low latency codecs.

<comment><USER21> Also LDAC on the Sony headsets

<comment><USER22> Yeah, LDAC is mostly supported in new versions of Android. It's really impressive on the Sony Wh-1000xm3 headsets.

[https://www.soundguys.com/ldac-ultimate-bluetooth- guide-2002...](https://www.soundguys.com/ldac-ultimate-bluetooth-guide-20026/)

</comment></comment></comment><comment><USER23> Well Sony WH1000 MX2/3 perform really well, so do Bose QCII and the Harman Kardon Esquire also provide high quality sound.

BT headphones can and do sound nice.

<comment><USER24> My dad recently bought himself a WH-1000MX3, and after trying it myself, I wound up also buying one. Pairing it with my LG Android phone was no problem, and I'm quite impressed with both the audio quality (wired or Bluetooth) and the noise cancellation. They blow away my old MDR-NC60 set in both categories. Sony knocked it out of the park with this set.

It feels weird to shut them down and remove them in a room with modest background noise and feel, for a few seconds, that the noise is quite loud.

The only nitpick I have is, after reading the legalese, I decided that there was no way in hell I was going to use the Sony Connect app, but the phones sound so good to begin with that it's unnecessary to install it in any case.

</comment></comment><comment> seph-reed I do not know why it's so bad, but I do make a point to rant about it whenever I can (around friends). I've had terrible luck with it, absolutely never works for me. Another thing I've noticed about it which drives me crazy is that some devices will try to make up for issues by stretching/shrinking audio. This will either distort the tonality, or the rythm... but either way it messes up the song. And it blows my mind. Aux cords are cheap and foolproof.

In terms of alternatives, I have heard "zigby" mentioned. Also, aux cords Just Work. And I know this wouldn't work for everything, but I always wish I could have infrared transmission wherever possible. Even if I can't actually hear the transmissions, it still feels very loud to be blasting bluetooth out in _every_ direction.

<comment><USER25> Do you mean ZigBee?

[https://zigbee.org/](https://zigbee.org/)

<comment> seph-reed That's got to be the one. ([https://en.wikipedia.org/wiki/Zigbee](https://en.wikipedia.org/wiki/Zigbee))

My friend who's an electrical engineer is quite fond of it. I really don't know more than his opinion

<comment><USER25> I haven't really heard of it being used for audio streaming, I think it's more suited for creating mesh networks meant for IoT purposes.

</comment></comment></comment></comment><comment><USER26> SBC codec, that is default and mandatory suck ass. It was chosen because they didn't want to pay the patent licensing fees of something better.

SBC was made for voice and is acceptable for that. Better codecs like AptX and AAC exists in many devices now, but because of incompabilites SBC is often negotiated anyway.

<comment><USER27> SBC can be quite good, but only if your devices can agree on a high enough bit rate. BlueZ on Linux can be prodded into negotiating a bit rate that's higher than default, and then it sounds pretty good, certainly good enough for BT speakers.

SBC is not a bad codec. It is a low complexity codec (sort of similar to MP2) optimized for low power consumption and quick encoding/decoding, and I think it's been unfairly maligned, due to devices that are way too stingy with bit rates.

<comment><USER26> ok, you are probably correct.

BT music from my iPhone to my car stereo sounds bad. There I cant verify what codec or bitrate is used, but clearly is a difference when comparing to a music file played from an SD card reader on the dashboard.

I also have a pair of Sony bluetooth headphones that I use with my MacBook, here the sound is awful, until I use a BT utility to choose aptX instead, that they also supports, but SBC is default selected anyway.

</comment></comment></comment><comment><USER28> Wish there's easy way to broadcast to multiple devices to share media. Had to use a bluetooth audio receiver with 3.5 jack + splitter + 2 cable headphones.

Also what is it about specific intersections that reliably causes connectivity / stutter issues? Is it something specific to the traffic signalling equipment or spectrum pollution? It happens more in dense urban environments but there are several extremely bland pedestrian crossings in my neighborhood where this happens as well. And then only on certain headphones.

Also the fact that battery reporting is still not standard is annoying.

</comment><comment><USER29> I just bought a new car with BlueTooth integration, my first such car. I listen to Pandora when I drive.

I notice that the connection is not reliable, even when the phone is in a holder on the dash. I end up using the AUX input through the headphone jack.

I'm wondering if this is a common problem in cars, or if I should have my car looked at.

<comment><USER11> Surveying audio support in cars over the last few years has taught me that car manufacturers have some of the worst tech around. It's almost universally bad.

Toyota seems to be less bad than most. I'm sure some others are also less- than-horrific. Maybe Tesla?

<comment><USER29> Interesting, mine is a Toyota 86 (which I guess is really a Subaru BRZ so I guess it's Subaru's Bluetooth stuff).

<comment><USER30> I drive a 2013 FRS (older US version of the 86) and I'll experience weird dropouts all day like once every couple of months. Otherwise it works flawlessly. Very strange. You might try using it now and again and see if the problem "just goes away". Very frustrating though. I did not opt for the touchscreen however. I think my head unit is made by Pioneer.

</comment></comment></comment></comment><comment><USER31> As far as the UX nightmare, I'd attribute that aspect to the same problem EFI has: there are too many implementations, and most of them suck.

</comment><comment><USER32> I think you've used only bad devices so you've had a bad experience. Use a good pair of Bluetooth headphones like Sony WH1000 or Bose Qc35 along with a good phone like Galaxy S10. It's perfect. No cut outs, amazing quality, insane range.

<comment><USER33> FYI, you might be shadow banned.

<comment><USER32> I know but I don't know what to do about it :(

<comment><USER33> Email firstname.lastname@example.com and find out why they banned you.

<comment><USER34> it's really weird, because most of your (apparently perfectly ok) comments are dead, but some not, like this one.

<comment><USER33> It's because I vouched for this one.

<comment><USER34> ok, but then you can't reply to dead messages, so you must have some kind of magic button!

<comment><USER33> That magic button is called "vouch".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER35> Go check the page count of the Bluetooth specs, and you'll have your answer.

</comment><comment><USER36> _Followup: are there competing technologies that Just Work™?_

The W1/H1 chips, here after referred to as "Makes BT Not Suck" chips or MBNS, are the reason I put up with the otherwise unremarkable sound quality of Beats Studios and AirPods. I was reminded why just recently as I took the Bluetooth speaker out to the garage so the wife and I could do yoga. "Oh, yeaaaahhh. I have to go find the last device it was connected to, and disconnect it. Then, and only then, can I pair to her iPad."

If I had a HomePod or other AirPlay speaker in the garage, no matter what the speaker was connected to previous, I could have just told the iPad to use the speaker and be done with it.

<comment><USER37> How are airpod sound quality "unremarkable"? They sound good to me. . .

<comment><USER36> Not bad, not great. I've heard worse, I've heard better. They get the job done, but I otherwise have nothing of note to say about their sound quality. That's the thing about being unremarkable: I by definition don't have much else to say. :-)</comment></comment></comment>


Automatically fixing bugs in C programs with Genetic Algorithms - <AUTHOR> http://epr.adaptive.cs.unm.edu/

<comment><USER2> Their research is certainly cool and novel. On the surface, this is a straight-forward application of genetic programming (evolving abstract syntax trees):

1\. Take function which fails some test case(s)

2\. Parse AST

3\. Find a bunch of other lines of code in the program and use those as possible mutations

4\. Evolve until test performance is improved

The trick is #3. They are going on the hypothesis that the solution to bugs are often found in other parts of a program. For instance, you pass in a variable and forget to check for it being null. It's likely that you have a check for that somewhere else in the program, and if so, then you can add that (templated) line of code into your buggy function and it will now pass that test case.

It's certainly not a panacea, but it does work remarkably well for many bug cases.

<comment><USER3> How readable/maintainable is the resulting code?

<comment><USER4> That's the next genetic algorithms problem :P

</comment></comment></comment><comment><USER5> John Regehr has comments on when this should or shouldn't be used: <http://blog.regehr.org/archives/383>

<comment><USER6> Yep, an evolutionary algorithm will take advantage of any shortcut and any loophope in your fitness function. They're best for optimization, not for ensuring correctness :)

<comment><USER7> If you care to read the output, that seems like a good way to find errors in your fitness function.

</comment></comment></comment><comment><USER8> it's funny, this is exactly how lots of lower-division undergrads at my school approach writing code! i've heard professors refer to it as "debugging via brownian motion"

<comment><USER9> You have very persisting undergrads. Most would skip the "check whether the tests that passed previously still pass" step.

<comment><USER8> their grade is (sometimes) largely based on how well they pass unit tests.

</comment></comment></comment><comment><USER10> Is it just me or is this a horrible idea? Surely the GA will evolve in ways that fix the problem but introduce some new problems that you haven't even considered/tested for?

<comment><USER11> Sure, if you intend to just run the algorithm and check in the changes proudly proclaiming "it's fixed!"

A better use for it would be as an assistant to help you track down the root cause of stubborn bugs.

It's kind of like git-bisect in reverse.

<comment><USER12> I've used a similar technique to this called Mutation Testing to find code that wasn't tested by a unit test.

It doesn't use a GA, but it's still pretty neat. It parses the code into an AST and then mutates each node in the AST, rerunning the tests to see if they pass or fail. They are supposed to fail; if they continue to pass, it means a state isn't being tested.

The computer acts as my assistant tracking down cases I forgot to test, so that I can write the test to catch the mutation. Sometimes it even finds sections of code that are impossible to reach normally, allowing me to remove the dead code paths that I might otherwise have missed.

</comment></comment></comment><comment><USER13> I enjoy the idea a lot, that one day people won't need to program their machines anymore but can discuss with them what they actually want. Yes, there will still be the need for the good old coding (maybe even more, because someone needs to write these eloquent programs, right?). And yes, the resulting programs of these discussions will be a lot more unclear (and thus prone to all kinds of bugs). But for what does your grandfather need a 100% correct program? He needs some food (no matter if carrots or beans), some clean clothes (no matter if the red or the blue shirt) and someone who reminds him to take his pills and tell him how the weather tomorrow maybe could be.

I wonder why we don't read more about these topics. Not just because of the opportunities for less educated people and the chance to automate repeatable tasks we can't repeat just yet. There are so many things where we are actually a lot more flexible then we think. For example when I prototype my new android game, I don't really care what way finding routines the game characters use. In the beginning I just want to put together something really fast to see if my game idea is worth anything. I would really like an IDE to just fill in the empty spots itself with anything that might work. And after time, using my more concrete programming input and the data from the test runs that every coder does while developing the IDE could improve the code itself.

I imagine an IDE that I can tell "I want to code a computergame. It should be rougelike. Very rougelike computergames are rouge, nethack, ADOM. A little rougelike computergames are Diablo, Dungean Siege, Baldurs Gate, Oblivion, World of Warcraft. Not rougelike computergames are Counter Strike, Doom, Sim City. Not computergames are VIM, Firefox, Word. Make prototype!"

<comment><USER7> Vi is actually quite nethack-like in its interface.

</comment></comment><comment><USER14> A more tractable problem is genetic Acovea (Analysis of Compiler Options via Evolutionary Algorithm), a genetic algorithm to find the "best" optimization CFLAGS for compiling programs with gcc. Unfortunately, the Acovea project is no longer maintained.

[http://web.archive.org/web/20101223023921/http://www.coyoteg...](http://web.archive.org/web/20101223023921/http://www.coyotegulch.com/products/acovea/)

I've been told that Intel's compiler performance team has investigated similar genetic algorithms.

<comment><USER15> Such a hugely promising area of research. Also consider something even finer grained, adjusting optimization options on individual blocks of code at run- time or through instrumented binaries using genetic algorithms. It could revolutionize optimization.

</comment></comment><comment><USER16> 1\. The search space is all possible abstract syntax trees. That is a large search space.

2\. The correct solution must also satisfy all test unit tests. Basically the bug fixing is driven by the fitness function that determines if the bug is fixed and the program still satisfies the specification, i.e. the unit tests.

If you have a complex program the challenge will be coming up with a complete specification of the program's behavior.

</comment><comment><USER17> One of the problems with machine generated code is that it's rarely readable by human beings so you'd still have to take a lot of time to see what the algorithm changed. The other huge problem is false positives (although OpenBSD made lint work for them so maybe it's not that bad)

</comment><comment><USER18> Fascinating concept. What if humans wrote the tests, and a genetic system like this used a specialized language (machine code or JVM bytecode, for example) to write a solution? What level of sophistication could a system like this attain?

<comment><USER5> I assume it would be like finding the interpolating polynomial of a bunch of points in a row. (Like this: . . . . . .) The resulting polynomial would go through all of the points, but have very large peaks/valleys in between.

Essentially, you'd get a system that passed all of your tests, but produced garbage for anything not covered by the tests.

<comment> eric-hu Your post got me excited because it sounds like you're describing Runge's Phenomenon ( <http://en.wikipedia.org/wiki/Runge%27s_phenomenon> ).

The wikipedia article doesn't have the best illustration, but I think the inherent idea is really wise: in trying too hard to meet your initial constraints, you can come up with a solution that's only useful at those constraint points.

<comment><USER5> I'd never heard of Runge's phenomenon, but it does indeed sound like I was describing it. Thanks for giving me a name for it.

<comment> eric-hu Interesting, I thought that was exactly what you were talking about :)

I learned about it in numerical analysis. It illustrates the downside of trying to be too precise--you can make a polynomial that will go through an arbitrary number of data points.

As the number of points increases, your function will look less like a line and more like a magnitude 9 earthquake on a seismograph. The function will pass through all the points used to define it. However, it'll be useless when predicting the original data's behavior, as it changes too quickly on small input.

Instead, mathematicians find more useful functions by relaxing the conditions so that the model function only has to come 'near' the data points.

</comment></comment></comment></comment></comment><comment><USER19> I think if you took this technique plus input from compiler warnings and static code analysis and rolled them all together into a real-time IDE advisor you would have a nice product.

I don't think fixing programs in post processing is such a great idea but if the feedback can be used to make me a better programmer I'm all for it.

Scanning neighboring code is a really good idea, when I'm working on someone else's code I'll try to follow the exisiting practices instead of inserting bits and pieces in my own style.

</comment><comment><USER20> That's an interesting concept, but it seems like they are not alone in this field. Just recently I stumbled upon a web page by Moshe Sipper, who seems to work on a very similar topic "Darwinian Software Engineering":

        http://www.moshesipper.com/finch/

He makes a rather grandiose claim -- "We believe that in about fifty years' time it will be possible to program computers by means of evolution. Not merely possible but indeed prevalent."

</comment><comment><USER21> This just looks so cool. I'm sure this would be very useful on giant legacy codebases where the author is long gone but the bugs remain, and I just like the idea of using ai techniques to refactor code. Seems all futuristic and stuff ;)

<comment><USER22> I agree. Fun to imagine the software bugfixing future versions of itself.

<comment><USER23> To some, self improving software is a frightening.

</comment></comment></comment><comment><USER24> Watch out with this. If you auto-fix a Java program, the result is that none of the original code survives; it's rewritten from scratch in Scala!

</comment><comment><USER25> Reminds me of I Robot. Someday these C programs will group together and develop the ability to think independently.</comment>


Experimenting on Mechanical Turk: 5 How Tos - <AUTHOR> http://www.itworld.com/internet/76659/experimenting-mechanical-turk-5-how-tos <comment><USER2> Some useful data in that article, thanks!</comment>


Sam Altman is not a blithering idiot - <AUTHOR> http://unqualified-reservations.blogspot.com/2013/03/sam-altman-is-not-blithering-idiot.html

<comment><AUTHOR> I wonder if there's a fancy (latin?) word for someone who attempts to defeat someone else's argument by making points which actually reinforce the opponent's argument.

e.g.: the "more of the Earth is dangerous to walk today with an iPad than in 1950 with a typewriter" is patently false. Anywhere in USSR, China, etc., a white man with a typewriter would be pretty doomed. In a lot of colonial areas, too. Now, outside North Korea, it's crime which is the only real threat.

There are definitely parts of today which are worse than 1950, but the big problems are the higher derivatives -- growth slowing, and rate of improvement going negative, or at least rate of growth of rate of growth going negative) -- not absolute status.

In the US, being a _black_ man with a typewriter might have been a serious problem in large areas in 1950, too.

Mencius is generalizing, incorrectly, from the horrible anti-growth, anti- civilization policies of San Francisco (and California, and to some extent, the US) and claiming they're universal.

</comment><comment><USER2> I came across this several days ago, and it failed to make any impression on me.

What's the point of this article? Sam Altman is arguing that democracy doesn't work without growth, and hence the government should be trying to promote and measure growth.

Mencius is arguing that the government should manufacture busy work for people to do. Because there's no other viable solution. But he says it will never happen. So the whole article seems pointless to me.

I have read Mencius's blog because he had a good article on the state of CS research. But it is becoming increasingly discursive and low on utility.

Also I think the title is basically link bait. It doesn't have anything to do with anything; it is basically name dropping for no reason.

</comment><comment><USER3> I'm prepared to believe that this writer is smart and serious and just makes consistently unfortunate style choices. But at some point, if you insist on walking like a troll and quacking like a troll, what does that matter? This stuff makes huge demands of any reader who doesn't get off on the author's snark groove, which I don't. Am I missing anything valuable?

<comment><AUTHOR> I think the relevant thing is that the "option C" he dismisses out of hand is actually what we're getting:

<blockquote> Beyond the creepy A and B, all solutions to the problem involve a State which compels, through economic or other means (it hardly matters), humans who are not economically productive to submit to work or some simulation thereof. For instance, especially with the Oculus Rift, technology is beginning to present us with a Solution C, which combines physical imprisonment with virtual enrichment. It's not clear what a life-scale virtual environment would consist of, but it would surely involve work or something like it. I don't find Solution C particularly creepy, but I may be alone in this. It is certainly less creepy than A or B. I suspect that if it was done right, the customers would vastly prefer it to their present vile circumstances. But I also suspect it will never happen. </blockquote>

That sounds like the life of virtually everyone on HN. Some rival goods are in shorter supply even for relative winners than they were in the past (even the relatively rich in the Bay Area don't have very nice houses; a $10mm house in Hillsborough is nice, but it's essentially a $1.5mm house elsewhere.)

We'll put more and more value into information goods and services, relative to a much more slowly growing physical economy.

</comment></comment><comment><USER4> This seems like a great example of how inflammatory language makes an argument less effective.</comment>


Slaughter House Rules - Passing the health-care bill - <AUTHOR> http://online.wsj.com/article/SB20001424052748703909804575123512773070080.html

<comment><USER2> It's silly to rail against this when this situation is being caused by the filibuster being used by Republicans in the senate.

I recently found out that it was in the last 50 years that the Senate implemented dual-tracking, which lets the senate just move on when there is a filibuster threat, drastically reducing the consequences of doing so for the minority party. Some details are here:

[http://voices.washingtonpost.com/ezra- klein/2010/03/how_dual...](http://voices.washingtonpost.com/ezra- klein/2010/03/how_dual-tracking_destroyed_th.html)

I suspect the democrats would have fared better if they forced the republicans to filibuster 24/7 until public opinion turned against them for delaying work on other bills. It's important to remember that you only need 50 votes to pass the bill; 60 people only have to agree to let a vote happen. However, the democrats seem to have a much less effective political machine, so I can't imagine them making a move like this.

<comment><USER3> To be more precise: if it weren't for the filibuster, the House and Senate could have just reconciled the differences between their health-care reform bills in a conference committee, and the whole thing could have been passed the way we learned about it in _Schoolhouse Rock_. But the conference committee's version of the bill could be filibustered again, and the Republicans are determined to do everything in the power of their 41-vote minority to block the bill.

The House could just pass the Senate bill and then pass a separate bill (through the budget reconciliation process, which may not be filibustered) that incorporates the compromise, but House Democrats seem to be afraid that once the Senate Democrats get their bill passed, they won't cooperate with the second bill. ("The Republicans are the opposition. The Senate is the enemy.")

<comment><USER4> I haven't seen anyone explain how the prospect of Senate "betrayal" is diminished by application of the Slaughter rule, especially after the Senate parliamentarian ruled that reconciliation cannot commence until the original Senate bill is passed and signed into law by the President.

</comment></comment></comment><comment><USER3> The Constitution states (Article I, Section 5) that "Each House may determine the rules of its proceedings", and even though the self-executing rule strikes me as a way to hack parliamentary procedure, every member who votes for that bill will know what its effect will be.

Also, the Republicans had no aversion to using self-executing rules back when they were in power. (<http://mediamatters.org/research/201003150041>)

<comment><USER4> Self-executing rules may have issues, certainly, but this is the first time I've heard a fuss being made about that part of the Slaughter rule.

Everyone else is focusing on the prospect of the House "deeming" the Senate bill as being passed without actually voting on it. If you look at the actual "Right Wing Media" _words_ that are quoted by Media Matters, you'll see that _none_ of them include "self-executing".

This is an attempt at misdirection that doesn't hold up to even minimal examination.

<comment><USER3> Look at the quote from the CRS report:

 _This means that when the House adopts a rule it also simultaneously agrees to dispose of a separate matter, which is specified in the rule itself. For instance, self-executing rules may stipulate that a discrete policy proposal IS DEEMED TO HAVE PASSED THE HOUSE and been incorporated in the bill to be taken up. The effect: neither in the House nor in the Committee of the Whole will lawmakers have an opportunity to amend or to vote separately on the "self-executed" provision. It was automatically agreed to when the House passed the rule._

That report is from 2006.

<comment><USER4> You still need to come up with an example where the final language for a bill was "deemed" passed without actually being voted on. As far as I can tell from these excerpts, they apply to the process prior to final passage.

ADDED: if the Republicans had "deemed" the final language of a bill as being passed without actually holding a vote on it don't you think the Democrats would still be screaming about how they had "shredded the Constitution!" etc. etc.?

<comment><USER3> I'm really not enough of a politics junkie to know when this maneuver was used for the _final_ language of a bill and when it was used for something else. It seems clear to me, however, that if the maneuver is constitutionally OK for one kind of House resolution, it's OK for every kind of resolution.

Nothing is being "passed without actually being voted on". There will be one vote, which will simultaneously have two effects: one described by the procedural rule, and one described in the text of the bill itself. Every Representative who votes on the bill will be perfectly aware of those two effects and can choose to vote yea or nay accordingly. And then the majority will rule, which is more than we get from the Senate.

<comment><USER4> OK, but I think it would be best to focus on the point that your opponents are arguing about, a final up or down vote on the final language of a bill, and not the red herring of how the sausage that comprises that bill has been made.

Especially in the current context where everyone has had a chance to analyze the 2,700 pages of the Senate bill that was passed ~ 2.5 months ago.

</comment></comment></comment></comment></comment></comment><comment><USER5> Oh please. Since when is something published on the opinion pages on the WSJ -- or any newspaper for that matter -- anything other than a political hit piece?

I vote we leave this stuff to the Huffington Post, and get back to what HN does best: ^Top (3|5|7|10) (ways to|most annoying|tips for|coolest) (dropout|VC|programmer|hacker) (under 25|in just one year|teen) (founder|failure)

</comment><comment><USER6> I'm shocked that people are shocked that the party in power will bend the rules to serve their own ends. I'm sure if you look back to the heady days of the Bush administration, you would find opinion pieces written in the New York Times railing against how "we have entered a political wonderland" when the tax cuts, etc. were passed.

<comment><USER4> Your argument might have more weight if you could point to a process abuse akin to "deeming" a bill as being passed without actually voting on it, especially if that bill is signed into law as required by the Senate parliamentarian but the Senate never manages to pass the reconciliation bill (the only one the House would actually vote on).

In the history of the Republic I can't remember anything even close to this.

<comment><USER3> If you don't remember it happening before, it's because nobody has made this much noise about it before. When Newt Gingrich was Speaker of the House, for example, this very process was used 90 times. See the link I posted in my other comment.

<comment><USER7> "tu quoque" (party A did this so that makes it right for party B) is not a valid argument. If it was unconstitutional then, it's still unconstitutional now (even if it's now a tradition). (Cf. Gephardt Rule)

</comment></comment></comment></comment><comment><USER8> how can facebook organize 400M people to tell each other what they ate for lunch, and yet we can't get ourselves organized to put pressure on the 535 people who are so interested in protecting their career politician status that they won't solve a single long term problem?

</comment><comment><USER9> I'm upvoting this because as a political junkie I believe a historical change is underway in how the United States government operates. As such, these changes should be important to small business owners from here on out, no matter what your party or policy preferences are. i.e., it's not just about the current party or current proposed law.

But heck if I'll make a comment about the politics. While the overall story is historically important, bickering over the individual case here doesn't seem like a good use of time for anybody.

<comment><USER4> Indeed. Process changes, to the lower case "c" constitution (e.g. on the filibuster) or upper case "C" Constitution (potentially this one) are very important.

Changing the rules of the game will result in unknowable consequences, and as long as limited government is a distant memory our part of Main Street has to pay attention.

E.g. look at the Dodd bill that will decrease the number of angel investors by raising the net worth threshold and by either adding bureaucratic friction and delay or devolving regulation to the states. For all we know, angel financing in California could cease to exist in a few months or years.

(That's a different sort of "changing the rules of the game", but one of particular interest to all of us.)

<comment><USER9> One rhetorical question, simply because I find the meta subject fascinating.

I wonder just how much the House is allowed to set it's own rules of conduct? Could, for instance, the Congress decide that whatever bills the president proposes would have the full effect of law without a follow-up vote?

I think the answer is no, but I'm not completely sure. Congress has ceded a heckuva lot of authority already to the executive branch in terms of regulatory authority. If the answer is no, then where is the line and who the heck would adjudicate? The Supreme Court? The Court has been _extremely_ hesitant to go anywhere near the legislature, and for good reason, but if a majority party were to cede all voting rights for the body, I'm thinking somebody somewhere would have to call them on it. I guess that means the Supremes _do_ have something of a role in the legislature.

It's also interesting that something has to go wrong, or there has to be a big political firestorm, and then suddenly everybody is a constitutional scholar. Kind of civics class by crisis. What a country.

<comment><USER4> " _Kind of civics class by crisis._ "

And one should be cogent of the maxim that "Hard cases make bad law." That from the judicial side of things, but apropos here.

On the other hand, I think we're fortunate to have a meta-process that the public is involved in, that seems to work better than a lot of the alternatives.

As for your question and uncertainty, I've seen quite a bit of good discussion at The Volokh Conspiracy in the comments to various postings (<http://volokh.com/>, it's a high quality group law blog by various law professors and the like). (In fact, if you haven't visited it before, check it out, all sorts of tasty stuff right now, e.g. the 11th Circuit has just made what is possibly a bad ruling on email and 4th Amendment search and seizure. I wish I had time to follow it...).

In the discussions you'll find some comments on at least one prior ruling by the Supremes in this area; they are very reluctant but not entirely so.</comment></comment></comment></comment>


Twitter 'deeply sorry' about Trump's tweets, but won't remove them - <AUTHOR> https://thehill.com/homenews/media/499539-twitter-deeply-sorry-about-trumps-tweets-on-scarborough-late-intern-but-wont <comment><USER2> I just deactivated my Twitter account. I encourage others to do the same. Twitter is fun in a mindless sort of way, but it's time to find a less toxic platform to express ourselves -- or better yet, we can just create our own websites. If you build it, they will come.

</comment><comment><USER3> IMHO removing them is helping Trump cover up what an unstable ass he is. Leave them up there. Better yet, put them on billboards.

<comment><USER4> Indeed, regardless of how you feel about any President, do you really want evidence of what they're saying and doing hidden away? I'd guess that if he himself decided to move to a private list that the same people crying for censorship would be crying about that.

This simply isn't Twitter's bag of crap to deal with.

<comment><USER5> What if Twitter keeps the president's tweets put a banner "this content violates the policies <insert what and why etc>, we don't condone this .... but for the interest of the public discourse we decided to keep this online etc etc"?

<comment><AUTHOR> To my surprise they have just done this with a pair of his tweets about mail- in ballots (adding a 'get the facts about this topic' button to each tweet) and as you might expect he's throwing a fit.

</comment></comment></comment></comment><comment><USER6> How long until someone takes them down _for_ Twitter?</comment>


Microsoft's Cortana Gets Baked into Cyanogen's Forked Version of Android - <AUTHOR> http://techcrunch.com/2016/01/05/cortana-cyanogen/ <comment><USER2> To clarify a lot of the misinformation in the comments:

* To my knowledge, Microsoft doesn't own Cyanogen.

* The genesis of this is old (public) news: [https://cyngn.com/press/cyanogen-announces-strategic-partner...](https://cyngn.com/press/cyanogen-announces-strategic-partnership-with-microsoft)

* Cyanogen OS != Cyanogenmod. Cyanogen OS is a commercial OS. Cyanogenmod is an open source, community-driven OS.

<comment><USER3> Thank you for that clarification. The article didn't explain the difference between CyanogenOS and CyanogenMod, after reading it I thought they were talking about the latter.

</comment></comment><comment><USER4> Hang on, wasn't the whole point of Cyanogen about removing bloatware in standard Android distributions and adding more privacy measures?

How can adding a large app that sends data to Microsoft help with bloatware or security..? I've used Cyanogen a little before on certain Android devices that had tons of built in bloat and themes to slim it down a bit. I definitely wouldn't want to swap one type of bloat for another.

Time to use a different slim rom from XDA I guess?

<comment><USER5> IIRC this only affects Cyanogen OS and not CyanogenMod.

[http://www.androidcentral.com/difference-between-cyanogen- os...](http://www.androidcentral.com/difference-between-cyanogen-os-and- cyanogenmod)

So, you should be able to avoid Cortana by using CyanogenMod instead.

</comment></comment><comment><USER6> This is for Cyanogen OS, not CyanogenMod.

CyanogenMod is the "canonical" generic Android distribution, while Cyanogen OS is a derivative created for monetization purposes and installed by default on some devices.

</comment><comment><USER7> Uhm, why does techcrunch not mention that Cortana's deep integration in Android sounds a lot like Google Now's deep integration into Android? And I agree with others, how can adding a large app that sends data to MS help with bloat or security?

<comment><USER7> I had a good laugh reading the article about how Cyanogen is trying to steal Android from Google, as well. Too funny!

<comment><USER8> How can anyone steal an open source OS?

<comment><USER9> While Android is 'technically' open source, from a practical sense, it is not. It's primarily controlled by the Google MADA agreement, which is how Google dictates terms to OEMs. OEMs have very little ability to negotiate this agreement, and they have almost no alternative to accepting it.

If Microsoft was able to present a viable alternative, such that manufacturers could choose to use Microsoft's flavor of Android over Google's, it'd effectively wrestle control of Android away from Google, because Google would no longer be able to impose such strong terms over access to things like the Play Store.

<comment><USER10> This is correct, although this isn't likely. Replicating the end-user cloud services Google provides is hard enough, but replicating the app store could be much harder since so many Android apps are written to call Google Play Services APIs. Microsoft would have to spend considerable resources getting developers to rewrite (and even harder, maintain!) their Android apps to target Microsoft equivalents for Play Services. Perhaps an easier sell to developers than "hey, learn C# and build your app from scratch for Windows Phone", but easier than impossible does not necessarily mean possible.

</comment></comment></comment></comment></comment><comment><AUTHOR> I've used Cortana and apart from a little minor anthromorphic work to give her a 'personality' (like Siri), I wouldn't say that it's too far ahead of Google Now in terms of features and functionality. Baking Cortana into Cyanogen OS seems a little like overkill in terms of deviating from Google's version of Android

<comment><USER11> I agree completely. I don't see any justification for doing this, and it just further confuses and adds complexity to the user experience. MS/Cortana will never be able to offer as deep integrations across Android as Google does with Now, and that gap's only going to continue to grow as more 3rd party devs create Now cards and Now intents within their apps. I don't see that happening at all with Cortana.

<comment><USER12> Why not? Remember, this is Cyannogen's distribution, so they could change it up so that the things that would be answered by Now are answered by Cortana. Now cards might not carry over, but that shouldn't be a big deal. And Cyannogen should be able to make Cortana respond to the Now intents.

<comment><USER9> Indeed, Cortana's integration with Windows Phones is quite similar to Google Now's with Android. At least as far as the APIs which are open components of Android, rather than proprietary Play services, Cortana should be able to pick up the same intents and all.

</comment></comment></comment></comment><comment><USER13> It's cool to see that Cortana (feels weird to say that because avid Halo player) would have the capability to access and work with 3rd party applications. It's something that I really wish iOS had, Oh well they need something as part of their n-Amount of "new" features for iOS X.

</comment><comment><USER14> I think this kind of intelligent personal assistant is quite useless. Especially for people who are non-native English speaker. The voice recognition is bad and always requires internet connection. This kind of software consumes computing & storing resources.

I don't think it is a good idea for any company to integrate it in the OS.

</comment><comment><USER15> It's hilarious how many people are confused about the proprietary Cyanogen OS vs. the open source Cyanogenmod. Really makes you wonder what they were thinking when they named it the same thing.

</comment><comment><USER16> What is currently an alternative to Cyanogen, that would be relatively easy to install and provide a fairly minimal but comfortable environment?

<comment><USER17> AOKP, if that is what you want AOKP was always the actually right choice.

<comment><USER18> And what phone can I put it on without irreversibly voiding my warranty?

I tried Android a few years ago on an LG G2. Rooting to install CyanogenMod was an EXTREMELY STRESSFUL EXPERIENCE; and flashing back to stock to return the fucking thing every time it broke (every other month) was even more stressful.

I'm on an iPhone now because it works well and doesn't shit out every 5 minutes like my G2 did, but I'm becoming increasingly aware of the myriad ways that my personal privacy is being violated by the apps and services that I use, and I'm considering jumping ship again.

But I can't handle the constant stress of hardware breaking and having to frantically scramble around, downloading random zips off of weird mirrors from the XDA forums and wiping my phone back to stock so I can return it and go through the same thing again, a week later.

<comment><USER17> I see your issue, its the choice of phone actually. Also if a lot of people don't want to hear that, but if you plan to actually use your phone there are not that many android devices to actually choose from.

I have a G3 currently and it also sucks, before that i always had Nexus phones and with them everything worked perfectly without any issues all the time. Non locked, easy to root, many tutorials and many helping tools.

You need to make sure the manifacturer has a open bootloader. I think only Sony does this most of the time, LG promised to but failed it with the G3, not sure about the G4.

No idea about the warranty tho, in my country i can do whatever i want (terms of software) with the hardware i bought, they cant take my warranty for software changes. But again nexus does not care for example.

Also don't use any crazy roms. Use common ones like Cyanogen or AOKP, no forks from one man teams or shit like that. AOKP is more stable and smooth than Vanilla Android in my experience.

<comment><USER18> When I went to buy a Nexus, they weren't available on Verizon, so I went for the LG G2.

They are available on Verizon now though, it seems. It might be worth a look.

Thanks for the info.

</comment></comment></comment></comment></comment><comment><USER19> And so...

Now it becomes clear...

Now we know who was truly behind the mammoth effort to produce Cyanogen all along.

</comment><comment><USER20> What is happening on your smartphone screen is the next battleground for even more data points. Those who will be able to get access to, are only a few (Apple, Google, MS) and mostly only one of them at once.

\- Google Now can screen scrap your current screen and use it how they wish as processing is done on the server side.

\- Siri is well embedded within the iOS ecosystem since a couple of years

\- Since MS' investment in Cyanogen, the try to push Cortana into more devices. Same as with Windows 10.

I really don't like it. As long as we can still turn such features off, I'm fine.

<comment><USER21> The irony and joke is that this is just another wave of standardsless spyware. For example, there is no way to do "voice commands" on desktop Linux because all these systems are proprietary and rely on huge processing networks owned by big tech to implement, and they use them as "features" to sell their particular flavor of vendor lock-in.

Mycroft is literally the only attempt to remedy this but of course you face brick walls to trying to get any interoperatbility between these cloud networks.

</comment></comment><comment><USER22> Cyanogen user on n4 for a long time because I don't want g' bits and bytes on my cellphone I find this unsettling. I see the following points on it (I would refrain from calling them plus or cons).

-The reason I did the change is avoid G using MY device as their personal Wifi scanning station, the switch meant battery 2-3x more, I hope Microsoft doesn't mess with Android that way.

-If they roll it for all devices I hope they keep a version without it, or an extra package to install like g apps.

-Nice to see Microsoft being so flexible and going on so many fronts, the more they diversify the better, if this makes Android better; Android users win.

-Could this be the start of Microsoft Android?.

-Does "deep integration" offer any kind of advantage?.

<comment><USER23> Last time I checked you could turn off the wifi scanning, easily.

As for the "deep integration", I believe that just means they configured the screen-off hotword (which uses the Qualcomm hexagon adsp).</comment></comment>


Go Small Or Go Home: In Praise of Minimalism - <AUTHOR> http://artofmanliness.com/2009/10/11/go-small-or-go-home-in-praise-of-minimalism/ <comment><USER2> Having just returned from 4 months traveling, realizing that little more than what we carried in our packs was truly necessary, my wife and I have already taken the full car to Salvation Army with stuff we just don't use. Twice.

There's a good 'starve the beast' message in there too: quit buying shit you don't need. To add my own editorial comment: '...with money you don't have.'</comment>


The Best Synchronization Is No Synchronization - <AUTHOR> http://www.flounder.com/no_synchronization.htm <comment><USER2> "Programs developed using this [sic] techniques are significantly easier to write, debug, and maintain than programs written with mutexes, CRITICAL_SECTIONs, or semaphores."

No, they damn well aren't. Or, at least, not always. Like most things, it's horses for courses.

This article got under my skin because I had the distinct "pleasure" of maintaining/debugging/enhancing a system designed according to these principles. The problem that crops up over and over and over is that one wants to compute f(X, Y), where X and Y are members of different objects, assigned to different threads. So, one must send messages to retrieve the values and trigger a computation .... and then the result of the computation has to make its way back to the caller.

It. Fucking. Sucks.

I'm sure this isn't a problem if the data is laid out just so, and the system never diverges from its original design, etc. But there are cases where a mutex would be just fine, thank you very much.

As an aside: Can performance considerations _really_ play a role in arguing for messaging as a interthread communication solution? Even if you can construct an environment specific argument that messaging has lower overhead than mutexes (and I find the linked article unconvincing) isn't the latency going to go through the roof? Doesn't that matter?

Bah. Another example of taking something hard and simple, trying to make it easy and complicated, and leaving it instead hard and complicated.

</comment><comment><USER3> Nice find! That guy has lots of good stuff on his site.</comment>


Ask HN: best tools for creating a static site? - <AUTHOR>

I'm writing a team productivity app (will share on HN soon) and now I need to create a static site with the usual "Home/Features/Pricing/About" pages.<p>what tools are out there that can help me do it in a professional style?  I don't mind bootstrapy look and feel, but dunno if i should actually use bootstrap for this, or something else? <comment><USER2> I think Bootstrap is fine, you can use that and create your cool looking static pages very fast.</comment>


My Top Eight Must-Listen Developer Podcasts - <AUTHOR> https://dev.to/ben/my-eight-must-listen-podcasts <comment><USER2> An awesome "miniseries" of podcasts re. gaming by Robert Ashley called a life well wasted. [http://alifewellwasted.com/podcast/](http://alifewellwasted.com/podcast/)

It is a shame he stopped. They were so well produced and fantastic to listen to.

</comment><comment><USER2> I would love to find out other HN readers top dev and technical podcasts?</comment>


No gain from brain training - <AUTHOR> http://www.nature.com/news/2010/100420/full/4641111a.html <comment><USER2> As a counter to this, Dominic O'Brien, the world's memory champion, is a terrific example of how far mental training could take you: <http://en.wikipedia.org/wiki/Dominic_O%27Brien>

He started training his memory at the age of 30 and is also dyslexic. Good youtube interview too: <http://www.youtube.com/watch?v=N60_d8vvl9I>

<comment><USER3> Mental training, or innate ability?

<comment><USER2> Mental training, highly recommend his book: "How to Develop a Perfect Memory" - I practice his system and it works

<comment><USER4> Hmm, I'll have to dig out the Oreilly Brain Hacks, see what was there

<http://oreilly.com/catalog/9780596101534/>

<http://oreilly.com/catalog/9780596007799/>

<comment><USER2> I've read "Mind Performance Hacks" - it's a cool book. The author put up a great wiki on this stuff too: <http://www.ludism.org/mentat>

Though I went right ahead to Dominic O'Brien's stuff first - he's the world's best. Like any skill though, it's tedious to get the system down first, but once you do, it's a life skill that gets better w/ practice.

</comment></comment></comment></comment></comment><comment><USER5> It does seem that brain training doesn't _directly_ improve anything but what was trained for.

I buy that. Taken from a more computational standpoint, that'd be the holy grail: we'd have to be nigh perfectly abstracted to allow improvement in any one area to improve another area. We're generalists, but we're not _that_ good of generalists.

Training _does_ encourage you to learn ways to learn what you're being trained on, and those ways of learning things may very well translate to learning other things. Direct cause-effect? No, thus no _guarantee_ , which is what science wants very much. But I'd argue some gain is indeed, uh, gained.

</comment><comment><USER6> They don't mention specifically whether they tested dual n-back, which as far as I know is the only task that some studies have shown to increase fluid intelligence.

<comment><AUTHOR> That's a very difficult task. Can you point to those studies?

<comment><USER7> Small sample, improvement mostly in the people who were scoring worst to begin with if I recall correctly. <http://www.iapsych.com/articles/jaeggi2008.pdf> Jaeggi et al also have a 2010 paper extending/replicating the results.

More interesting to me is that after reading a popular article about an increase in lucid dreaming since the 1980s I thought there would be a connection to gaming. Turns out there are a few academic papers exploring this. This is important to the type of culture technology engenders and the type of internal actors or agents we are at the core, passive or active. I think computer games rather than TV or flim, the active hyperlink rather than the "take our word for it" print hold promise in the sense of making us better at being individuals. Attention-seeking bleating about the lowering of attention spans in recent decades doesn't take into account that there is something to be said for brevity; and that there are far too many system- building waffling patriarchal walruses "performing" their alpha-male genius through turgid prose (especially in philosophy and related disciplines).

</comment></comment></comment><comment><USER8> I'm desperately trying to think of any human activity that would substantially improve after ten minutes of practice, three times a week, for six weeks. My general inclination is to agree with their hypothesis, but testing it like this is just embarrassing.

<comment><AUTHOR> Try doing sit-ups or push-ups that much and that often. I'm pretty sure you'll improve over six weeks.

That said, more works needs to be done.

<comment><USER9> Agreed, but you would only improve at sit-ups or push-ups, and there is a point where you will plateau. Doing push-ups 3 times a week for 10 min. won't make you good at pull-ups, which it seems is what people are expecting with these brain 'training' games. If you want to improve your mind, you do have to work it, but the work needs to be varied and consistent: work on your memory, read, learn to play a musical instrument, learn new physical skills, do math problems, etc. You have to do it all and keep doing it (unless you want to specialize, in which case you do one thing over and over as has already been said in the comments).

<comment><AUTHOR> Couldn't agree more. But then that's the problem with the concept of fluid intelligence.

</comment></comment></comment></comment><comment><USER10> Would be good to see how longer training for a way more extended period of time works out.

Still, I wasn't expecting an IQ bump from playing a lot of Brain Age on the DS, but I bet many people did.

</comment><comment><USER11> <http://groups.google.com/group/brain-training?hl=en>

</comment><comment><USER12> The volunteers were self-selected so probably already did this sort of thing online, the exposure extremely short and the testees from a broad age range who are not the intended audience for these type of games.

All outlined in the article, but I restate it as it's a travesty that attention grabbing 'research' like this still gets published and worse still reported on.

<comment><AUTHOR> All volunteers are self-selected.

Nature is the right venue. It will spur much more research which is the only way to evaluate the science.

<comment><USER12> Admittedly I wasn't clear there about the volunteers, these are people who volunteered via a BBC programme called 'Bang goes the theory' and I suspect probably also recruited via the BBC's website.

They do not represent a broad demographic, they are extremely biased. They are not, and never will be, a good group to base any sort of scientific test on. It violates the scientific method and these 'results' should never have been published in any serious form. To be frank it is medieval quackery.

Owen should go read some Karl Popper and bow his head in shame for even trying to draw any conclusions from results obtained by recruiting test subjects from a tv programme.

I'm not saying that he's wrong, he may be totally right. But his test was inherently flawed, yet he presents his results to Nature? He should never have written to Nature and his 'test' is as scientifically significant as 'Ask HN: Which browser do you use?'.

It happens all the time, but it's really beginning to piss me off.

<comment><AUTHOR> Yup, college undergrads are the perfect research subjects - easily available and inexpensive.

That said, wouldn't Popper care more about replication and falsification then with sample design?

</comment></comment></comment></comment><comment><USER13> Nature News certainly seems to do a better job of summarizing the research and important caveats. I'm looking over the website, but I'm having trouble telling what they focus on. Do they mostly just give a layman's version of Nature articles?</comment>


Useful commands for text manipulation - <AUTHOR> https://www.luiz.tech/blog/2018/05/05/useful-commands-for-text-manipulation/ <comment><USER2> Today I learned that you can type content into a new file with `cat`. So far I only used it for printing and concatenating files.</comment>


A giant neuron found wrapped around entire mouse brain - <AUTHOR> http://www.nature.com/news/a-giant-neuron-found-wrapped-around-entire-mouse-brain-1.21539 <comment><USER2> Discussed 5 months ago:

[https://news.ycombinator.com/item?id=13730876](https://news.ycombinator.com/item?id=13730876)</comment>