Announcing Bluetooth LE Audio - <AUTHOR> https://www.bluetooth.com/learn-about-bluetooth/bluetooth-technology/le-audio/ <comment><USER3> The "Broadcast" mode is really an interesting concept - depending on the available range. There are a lot of potential uses for this technology beyond the basic. Of course "I can share my headphones with you" is great, in the day in age of watching moves on iPads in say a plane. However I think in a business setting the broadcasts could be used for all sorts of cool bits.

Remember the TV's in airports running news on mute? Now just tune in your broadcast bluetooth!

Museums and art galleries don't need to provide audio guide devices - <USER2> tune into the broadcast. Might even be able to do multiple broadcasts, one for each language, for each station.

Silent discos without the need for custom headphones.

Mass transit (trains, buses, subway stations, airport) could broadcast announcements, the same way they do now over speakers, so those who have a hard time hearing the announcements (or just have headphones in anyways) could actually hear them. This would be particularly great if you could listen to your own personal audio source (ex music) AND get the BT broadcasted announcements.

<comment><USER4> The killer application for this technology is a bicycle bell you can use to break the trance of phone-staring pedestrians who are randomly staggering down the pavement.

<comment><USER5> A bicycle is a road vehicle. You shouldn't be riding on the sidewalk.

<comment><USER6> There are valid shared bike/pedestrian spaces, like bike trails. Zoned out pedestrians on phones/headphones are extremely common there.

<comment><USER7> Yes, they can be extra dangerous if they have, say, a curious dog on a long leash on the other side of said trail while they're busy counting Facebook likes

</comment></comment></comment></comment></comment><comment><USER8> _> LE Audio is Multi-Stream_

Praise be to the heavens - we can finally have Bluetooth headphones that don't revert to low-bitrate mono if the microphone is active.

<comment><USER9> YES! This has been bothering me for so long. I'm shocked it's taken them this long to iron it out. I hope the device manufacturers implement it soon.

Edit: on second read, I'm not so sure LE Audio will address this issue.

"Multi-Stream Audio will enable the transmission of multiple, independent, synchronized audio streams between an audio source device, such as a smartphone, and one or more audio sink devices."

This sounds like it's referring to stereo or other multichannel audio, not bidirectional. Hopefully I'm wrong.

<comment><USER8> _> on second read, I'm not so sure LE Audio will address this issue._

The current issue is that headsets only support a single stream and A2DP isn't bidirectional, so the connection has to revert to the low-fidelity Headset Profile. Multistream means that each stereo channel and the microphone should operate fully independently. If this doesn't fix the issue, then it'll be a spectacularly boneheaded error, even by the standards of the Bluetooth SIG.

</comment></comment></comment><comment><USER10> I'm really looking forward to a new range of incompatibilities between Bluetooth audio devices, as well as the new complications this introduces into the Bluetooth software stack.

</comment><comment><USER11> Will phones/computers that have bluetooth 4 or 5 be able to transmit bluetooth LE audio? Is it just a BLE feature that can be added in software, or is it a completely new standard?

<comment><USER12> Most likely no. LE Audio requires controller support for Isochronous channels which is major part of Bluetooth 5.2. Usually firmware updates for bt chipsets are more like bug fixes than new features.

<comment><USER13> Not to mention majority of devices on the market already ship from the factory with depleted firmware update slots. [https://www.youtube.com/watch?v=4_nI9ok7iQg](https://www.youtube.com/watch?v=4_nI9ok7iQg)

</comment></comment></comment><comment><USER14> Where can I find more about LC3 codec? What about LE audio specs? Is this open source or do they sell licenses for this?

<comment><USER15> I too am interested in this. The only thing I've been able to dig up so far is that it's a new codec, built for BT LE Audio, that seems to have been designed by Synopsys[1]

1\. [https://markets.businessinsider.com/news/stocks/synopsys- rel...](https://markets.businessinsider.com/news/stocks/synopsys-releases- industry-s-first-bluetooth-le-audio-codec-for-power-sensitive-audio-and-voice- applications-1028799666)

</comment></comment><comment> jagged-chisel I personally would not have predicted something like this was needed. How long has this been in the works? Now that I can see how useful this is, I'm amazed this didn't happen much sooner. Is this one case where "we" knew we needed it, but the tech just wasn't available?

<comment><USER16> Bluetooth LE uses substantially less battery than older Bluetooth devices do. It makes a big difference for anything that's battery powered. I was really bummed when I found out BLE didn't support audio at all.

I can't quite tell from the website, but I'm assuming we will need new BT antennas BLE Audio support before we can use it, which sadly means yet another generation of computers & smartphones have to come out before this can become ubiquitous.

</comment></comment><comment><USER17> I love the use case of being able to sync with local audio sources, whether in the gym, the airport, a cafe, or a retail store. I wonder if an "audio sink" can then turnaround and rebroadcast the input to a different sink, creating a sort of chain of local communication?

</comment><comment><USER18> Is LC3 superior to existing codecs like Opus?

<comment> 0-_-0 Opus is not low complexity

<comment><USER18> Found this:

LC3 at 32 kbps (LC3 32) provides significantly better audio quality than Opus- CELT at 32 kbps and complexity level 0 (OPUS_v114_c0 and COPUS_v114_c0).

[https://www.etsi.org/deliver/etsi_tr/103500_103599/103590/01...](https://www.etsi.org/deliver/etsi_tr/103500_103599/103590/01.01.01_60/tr_103590v010101p.pdf)

<comment><USER19> I'm of the opinion that Codec 2 [0][1] should pause on trying to perform better at lower and lower bit rates, and put some work into higher ones.

Getting down to 700 and even 450 b/s is neat and all, but there seems (to me) to be a gap between 4000 and 10000 b/s in the patent-free space.

* [0] [http://www.rowetel.com/?page_id=452](http://www.rowetel.com/?page_id=452)

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

</comment></comment></comment></comment><comment><USER20> Scenario: Two people, quiet room, watching TV, each wearing their own Bluetooth headphones to listen together. As I understand Bluetooth audio standards, until now, this is impossible without additional hardware to split the source and allow multiple 1:1 pairings. Ugh.

Will this seemingly simple scenario be handled by Bluetooth LE Audio? I'm reading about its one-source:multi-sink capability with some hope.

</comment><comment><USER21> In slightly related news, does anyone know where in the Bluetooth spec soft power buttons are required? (press for three seconds to turn on, oh wait it was already on, not it's off, press for three more seconds...) My biggest complaints with Bluetooth are exacerbated by the fact that it's not possible to flick a power button off and back on again.

</comment><comment><USER22> Just yesterday I was discussing how one might do live translation for someone speaking to a multi-lingual group, for example a tour guide at a museum. The broadcast features mentioned here would make things way easier, and people could use their own headphones to boo.

</comment><comment><USER23> This literally addresses none of my complaints regarding Bluetooth Audio.

Latency needs to be on the order of single-digit milliseconds. LC3 can achieve around 20. One order of magnitude too high.

Audio needs to not sound like it's being played underwater.

And give me 100 feet of range.

<comment><USER24> "Audio needs to not sound like it's being played underwater."

What kind of bluetooth have you been using? Modern codecs sound perfectly fine.

<comment><USER25> Modern codecs are non standard vendor extensions.

<comment><USER26> A2DP standard supports both MP3 or AAC.

<comment><USER25> Optionally.

<comment><USER27> Right, which pretty much any modern device and host supports. Any Android phone since 8.0 should have LDAC. Pretty much any headphones you would use with this should also have LDAC or AAC (or both).

</comment></comment></comment></comment></comment></comment><comment><USER28> Man I hope they have a good plan for fixing pairing with all the millions of different devices.

Either that or the whole ordeal will be hilarious to watch.

<comment><USER29> Bluetooth LE is a completely different protocol and fixes the pairing issues.

</comment></comment><comment><USER30> really interested in latency here

<comment><USER31> It's not mentioned, seeing as this was a press release if it was better than the current standard then one would assume they would have mentioned it. Assuming this is the case, 200-500ms in real world conditions. With super duper non-standard proprietary tech on both ends from vendors like Qualcomm it can be in theory be as as low as 32ms, but in practice I don't see those numbers. New airpods with apple's proprietary tech get mid 100s ms of latency and that is considered pretty good for BT headphones in the real world.

BT5 does make things better if for no other reason than less re-transmits vs 4 in the same conditions.

<comment><USER27> Yeah, according to some news articles, I see Airpods Pro have a latency of ~144ms end-to-end. I haven't noticed that latency when I watch videos on my phone... On the other hand, I definitely noticed the latency with a much cheaper pair of true wireless earbuds. They probably had the ~500ms latency you mention.

I wonder how much the real-world latency is. If the codec itself is only adding 20ms, what about the rest of the system?

<comment><USER31> Definitely not an expert in BT but I've worked with it on the edges. Bluetooth is the biggest standard I've ever worked with by far in just terms of sheer page count, to say nothing of its complexity. That's just the core spec, not any of the other pieces you need too to make it do useful work.

I would not believe the 20ms number without real world performance benchmarks tested in operational conditions for my specific product but if that is what is actually happening, I suspect something with the implementation on the specific platform is to blame - again, the standard is ridiculously complex and hard to implement. It's notoriously bad on android (by bad I mean a dumpster fire) and while windows is actually been making progress, depending on the SoC of the physical adapter your experience can range from great to near android level dumpster fire.

</comment></comment></comment></comment><comment><USER32> Odd that they don't include power consumption specs.</comment>


Ask HN: Anyone else think it's a major security problem to open source Flash? - <AUTHOR>

Flash is installed on some 95% of machines (or so it's said), and we can safely assume that the codebase is full of security holes. Why is it a good idea to suddenly open source it? As soon as it's open there will be a flood of exploits faster than any patching and updating can protect us from. This is not an issue of "obscurity != security." We all know that. However, revealing all the exploits at once != smart.<p>Am I the only person who thinks this? <comment><USER2> The portions of Flash that would concern the security of a user are already pretty well open-sourced, IMO. Most notably - the Tamarin project/ActionScript VM (<http://www.mozilla.org/projects/tamarin/>), BlazeDS (<http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/>). I don't think Adobe was having to stretch the truth that much when they said it was mainly the video codecs that had to be kept proprietary. Yes, they're far from being truly open-source, but they're a lot more open-source than we give them credit for.

<comment><AUTHOR> A security hole was _just_ found last week, was it not? Edit: Well, resurfaced anyway.

<comment><USER2> Then what's your point? And can you post a reference to the specific problem you're referring to? I don't believe they've open-sourced anything new within the past couple of weeks.

To clarify - I'm not saying they don't have security holes. I'm just saying that the portions of Flash most likely to be of security concern are _already_ open-source.

edit: The bug I believe you are referring to was actually found in 2008, and is hardly different from the memory-management issues that are rampant through-out Flex anyway.

[http://www.h-online.com/security/news/item/Adobe- apologises-...](http://www.h-online.com/security/news/item/Adobe-apologises- for-unpatched-Flash-vulnerability-925396.html)

<comment><AUTHOR> I think you made my point for me. A hole that has existed since 2008 in the closed source portion of Flash. True, they said that particular exploit can't be used to compromise a system, but that is just one bug out of an unknown number. The developers of Flash likely do not know the number themselves.

<comment><USER2> Generally speaking, holes in open-source projects are found by contributors much faster than by malicious attackers. If Flash really was a security concern, and I don't believe it is, I would personally rather have it open- sourced than closed source. The very intelligent hackers that would find the holes faster than open source contributors, are probably capable of finding the holes regardless of their possession of the source code (or lack thereof). That, however, is an entirely separate issue.

Second, can you post some more specific details about concerns you have about Flash? I really don't see how your concern is any different than the standard concern about any open-source project. A lot of that comes down to opinion, and has already been overly debated. I've look at a lot of Adobe's open-source stuff, and I'm of the opinion that almost all of Flash is already open-source, and that it presents very little security risk. Both products I posted have a very healthy following of people looking over the code and reporting issues. Other than your opinion, what are you basing this question on?

edit: Perhaps it's clearer to ask the question: What's different between Adobe finding bugs in their closed-source code and Microsoft finding bugs in their closed-source code? And yet Linux finds itself with much fewer attacks in the wild - because the people who know Linux best are the ones maintaining the code!

<comment><AUTHOR> The difference is that most open source projects start out open. They also don't start out on 95% of computers. Let me put it this way: if Windows were open sourced today, would Windows users be safe? Would the legion of "Good Hackers" be quicker and brighter than the legion "Bad Hackers?" There is no possible way, on a level playing field, that we would not be attacked by several new exploits a week. Every day possibly.

<comment><USER3> If Windows were open sourced today, would Windows users be safe? No. Parts of Windows have such bad design that they'll _never_ be safe. Big example: the silly "attributes" that don't include "executable". Having a file name determine executability is prone to human errors, especially since a definitive list of "extensions" that make a file executable is not forthcoming.

But if you open-sourced it, someone would eventually provide you with that list of "extensions".</comment></comment></comment></comment></comment></comment></comment>


The Great Stink of 1858 - <AUTHOR> https://en.wikipedia.org/wiki/Great_Stink <comment><USER2> Great stink of 2016: Milpitas Sewage Plant and Alviso Dump.</comment>


Oil soars 6 percent as OPEC reaches deal to limit output in November - <AUTHOR> http://www.reuters.com/article/us-global-oil-idUSKCN11X03E <comment><USER3> The game theory on this is awesome.

You've got OPEC a collection of countries that don't all like each other, trying to agree to lower their individual production knowing that they can't trust each other.

At the same time this exact group of countries are running deficits and any cut's they make will increase those deficits in the short term. Keep in mind these are countries who can't be described as stable. In many the only thing keeping the government in power is they oil money they sprinkle on their populations.

You've got oil producing countries outside of OPEC who would love to see the price of oil rise so they can expand their production of oil that's more expensive to produce. Keep in mind there is a prominent theory that OPEC flooded the market with cheap oil to drive these countries out of the oil producing business.

You've got world economies that depend on oil, all of which are using cheap oil to prop themselves up to differing degrees. A return to $100/barrel oil would be short term trouble for many 1st world economies.

I love the oil market. I can't figure it out, but I love trying:)

<comment><USER4> > "...love to see the price of oil rise so they can expand their production of > oil that's more expensive to produce"

Yeah, it's a weird dynamic. For example, the higher the price of oil, the less dependent the US is on the rest of the world. Lots of oil in that $60-$80+ range in and around the US.

<comment><USER5> The 60-80$ range US Oil only lasts for a few years at US consumption rates, but that's plenty to influence OPEC. The real issue is Expensive Oil has a lot of competition but Cheap Oil does not. Further, it takes years for substitutes to get onto the market. So, OPEC is better off with large price swings than a steady state which causes long term demand to fall off a cliff or uses up their supply at very low prices.

On top of that, politics can make price swings a useful weapon. Cheap Oil makes Russia for example far weaker.

PS: IMO, small scale Russian aggression actually fits as a 'wag the dog' distraction from how bad things are going for them.

<comment><USER6> > small scale Russian aggression

Let's hope they keep it small and don't try to covertly start a big fire that will drive oil prices back up. It's scary to see a world economic situation where starting/fueling wars starts to make more and more economic sense... I can almost imagine a future "WarEnron" selling the future profits indirectly caused by future wars :)

We should find a way to make sure we have profits aligned with peace and abolish the concept of "wars that make economic sense"! The US and EU at least do this (more or less unintentionally) by keeping weapons and military operations very expensive. Russia probably has more practical means for "cheap destruction" and this is dangerous because at some point some will start placing bets on this and then try nudging world events in the direction of their "win".

<comment><USER7> > I can almost imagine a future "WarEnron" selling the future profits > indirectly caused by future wars

Pretty sure you just described every fund that's big into Honeywell, General Dynamics, Lockheed, etc. Many of these companies profits depend on the US insisting on maintaining the largest military in the world (by a _lot_ ) as a hedge against just these sorts of "profit wars" from being waged.

</comment></comment></comment></comment></comment><comment><USER8> Is it possible that oil prices will never be that high again due to renewables? Part of me feels like the games OPEC members are playing will be to their long term detriment. Renewable cost is only going down year after year, really the oil states have a limited time to extract as much money as possible before alt energy kicks into high gear. By the time they're done fighting with each other it may be too late to get the money that they are banking on.

Also bets on whether any member countries actually follow this?

<comment><USER9> Renewables depend on oil. You can't make renewables with renewables energy, because their overall EROI is insufficient to both maintain the current standard of life, and make them. The other issue is mobility, oil has the best volume/energy content ratio of all energy sources we know (except uranium). Renewables can only make electricity and you need about 10x the same battery volume (and weight) to move a vehicle, compared to oil. Unfourtunately for all of us, fosil fuels are here to stay for a while, until they run out. Or until the economy crashes. Or until climate change kicks in real bad.

<comment><USER10> > Renewables can only make electricity

If renewable energy becomes abundant/cheap enough, you can convert electricity into hydrogen or other high energy density chemicals.

<comment><USER11> Hydrogen is a nightmare to work with, and store. Other high energy-density chemicals tend to be complex hydrocarbons... So you're still burning oil - <USER2> just happens to be made from coal, or algae slush, or whatnot.

<comment><USER12> Algae slush is carbon coming from our current system, our current atmosphere, it is renewable. Fossil fuel is releasing carbon from and external source (external on a human timescale at least). It will be essential in creating a renewable replacement for oil.

Burning hydrocarbons is not the issue. Burning hydrocarbons that were extracted from the atmosphere millions of years ago, is.

</comment></comment></comment></comment></comment><comment><USER13> Possible corollary: "Tesla stock rises in response."

We may be heading towards a world of permanently low oil prices, as rising prices will cause more people to switch to electrics or plug-in hybrids.

Car buyers exhibit amazingly lemming-like behavior, switching to more fuel- efficient cars as prices rise and switching away from those fuel-efficient cars as prices fall. That process is likely to become more pronounced as electrics become more available and affordable.

<comment><USER14> What kinds of car people use is irrelevant as long as the power grid is predominantly powered by fossil fuels. The number to watch is percentage of "green" power generation, which changes far too slowly to respond to market lurches like this.

<comment><USER15> Oil is not a big part of electricity generation in most places.

<comment><USER16> Major energy sources and percent share of total U.S. electricity generation in 2015

Coal = 33% Natural gas = 33% Nuclear = 20% Hydropower = 6% Other renewables = 7% Biomass = 1.6% Geothermal = 0.4% Solar = 0.6% Wind = 4.7% Petroleum = 1% Other gases = <1%

An electric fleet (powered by coal, natural gas, and nuclear) will reduce demand for oil, so movement in that direction is likely cause falling oil prices. Which could lead to more people buying oil-powered cars again.

<comment><USER17> I think the genie is out of the bottle with regards to electric cars. They've proven they work and can compete with internal combustion cars on most metrics that people care about and exceed ICEs in a number of ways. Battery capacity generally increases 8% per year, and battery production is ramping up in ways never seen before. The mindshare has already left Gas cars, it's just a matter of time before sales slip to electric, a bit like Nokia compared to the smartphone, Nokia were still shipping millions of units but consumer demand was waiting for cheaper smartphone units, once it did Nokia was destroyed.

<comment><USER18> By the time electric cars are ready for ubiquity, transportation-as-a-utility will have exploded thanks to autonomous vehicles. Why buy an electric car with less maintenance than a gas one when you can just skip out on owning a car entirely? Governments and/or insurance can directly or indirectly subsidize this move for the sake of safety.

<comment><USER19> Why would insurance companies do this? They stand to lose a TON by autonomous vehicles. Estimates are in the 60 to 80% of the market to go away.

<comment><USER20> Risk versus technological change is a dynamical system, yet many of the sky- is-falling estimates for the insurance industry myopically forecast assuming an invariant risk set-point.

For an alternate perspective of a potential (lucrative) future for insurance, see my post here: [https://news.ycombinator.com/item?id=12245312](https://news.ycombinator.com/item?id=12245312)

<comment><USER17> I disagree with you, OP mentions 60% reduction in the civilian insurance market and there's studies to back that up- [http://www.insurancejournal.com/news/national/2015/10/23/385...](http://www.insurancejournal.com/news/national/2015/10/23/385779.htm)

Any large scale car accidents will be re-simulated, analysed and scoured until they are fixed, the general public will not permit them to persist. This means a complete collapse of the entire industry except for enterprise scale underwriting of the car manufacturers which they may already have for recalls.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> The US producers have promised they would turn fracking back on if oil crossed above the mid-40s. Canada will also be back online as the wildfires have burned out.

[http://www.cnbc.com/2016/02/29/us-shales-message-for-opec- ab...](http://www.cnbc.com/2016/02/29/us-shales-message-for-opec-above-40-we- are-coming-back.html)

<comment><USER9> Smoke & mirrors. Art Berman has shown that none of the Tight&Shale producers are/has been profitable. They are largely there because of credit/debt (which of course can't grow for ever)

"Tight oil companies outspend cash flow by an average of 120%: spend $2.20 for every dollar earned from operating activities." "Tight oil company debt-to- cash from operating activities ratio averages 3.3: would take more than 3 years to pay down debt if all cash flow was used."

Please see: [http://www.artberman.com/wp-content/uploads/The-Shale- Revolu...](http://www.artberman.com/wp-content/uploads/The-Shale-Revolution- The-Current-Oil-Price-Collapse-21-Sept-2015-copy.pdf)

<comment><USER22> Does it really matter if you can just print more money? As in borrow indefinitely at tiny tiny rates?

</comment></comment></comment><comment><USER23> I explained the game theory behind the oil markets, and predicted OPEC would reach a deal, in this article from March:

[http://seekingalpha.com/article/3960625-prisoners-dilemma- oi...](http://seekingalpha.com/article/3960625-prisoners-dilemma-oil-prices- will-rise-60)

</comment><comment><USER24> I wonder if this will be like the Atlantic City Conference. See how long this lasts before someone breaks the peace.

<comment><USER25> My guess: December.</comment></comment>


Ask HN: What could be the challenges in vaccine distribution for Covid-19? - <AUTHOR> Considering, the vaccine is probably the only long lasting solution, what could be the challenges in vaccinating the world population. <comment><USER2> \- production at scale

\- rivalry about countries to acquire it first

\- .. followed by unwillingness of low-risk populations to be vaccinated for safety reasons

\- backlash after the first side-effects are found

</comment><comment><USER3> Profiteering.</comment>


Mom, this is how Twitter works - <AUTHOR> http://www.momthisishowtwitterworks.com/

<comment><USER2> > by putting another person's username at the start of a statement, it limits > who sees it

Is this correct?

<comment><USER3> It limits who sees it in their default stream. Anyone could still go to your page (assuming it's public) to see your tweets that start with a username, however.

<comment><USER2> Fascinating - I never noticed that.

</comment></comment></comment><comment><USER4> LOL, I think this might be a little bit ahead of its time. My mom still needs MomThisIsHowACellPhoneWorks.com

</comment><comment><USER5> Why the u/vs?

It's not very good, it's not funny and it's not on topic. It uses weird things like @me without even explaining that @x means a username, @me means the author and is incredibly over verbose.

It's at times like this I wish I had a d/v still...</comment>


Photos of Crashed Tesla Electric Roadster in Junkyard (100 MPH crash) - <AUTHOR> http://www.wreckedexotics.com/articles/012.shtml

<comment><USER2> I'm kind of in awe that there is such a specialized photo blog site.

<comment><USER3> The site has been around for quite some time. For us auto nuts, it showed us that those who can afford a supercar are not superhuman. And sometimes a good laugh (dependent on the story of the crash of course).

</comment></comment><comment><USER4> My first thought was "man I wonder if there is a motor or battery packs I could salvage!?"

</comment><comment><USER5> _"The accident was very serious, with the passenger being ejected upon impact."_

...

 _"So far, the Tesla has proven to be a fairly safe vehicle with none of the 3 crashes resulting in serious injuries."_

Huh? Is ejecting the occupants upon a crash the accepted safety mechanism these days?

Seems like these guys were mostly lucky.

Three crashes out of the couple hundred vehicles that exist doesn't seem like a very good record...

<comment><USER6> Are any (non-race) cars designed to be safe at 100MPH?

But anyway, the car can't be blamed for any of the three accidents. They were all due to the driver not paying attention -- a problem in any car.

</comment></comment><comment><USER7> I confess that schadenfreude overcame my better judgment and I upvoted this post. Bad raganwald! No cookie for you!!

</comment><comment><USER8> Are those the batteries still in the trunk in the 2nd pic from the bottom?

</comment><comment><USER9> This is fantastic... what a find and what a sad sad day.</comment>


Linux Development Experience in Windows with WSL and Visual Studio Code Remote - <AUTHOR> https://devblogs.microsoft.com/commandline/take-your-linux-development-experience-in-windows-to-the-next-level-with-wsl-and-visual-studio-code-remote/ <comment><USER2> I'm quite amazed at WSL. Everything (almost) works. Emacs keeps losing the blinking cursor which is annoying. Other than that everything I've tried worked.

I started developing on it and was making great progress. I had several days worth of work in many different forms.

Then Microsoft decided to reboot my device and I lost it all.

WSL is now "just a toy". Real tools do exactly what you tell them to do WHEN you tell them to do it. Rebooting my machine without asking makes EVERY Microsoft product a toy.

Don't use WSL for anything valuable.

<comment><USER2> What's really sad is that Microsoft claims it wants "developers, developers, developers". But when I pay over $1000 for a computer I expect it to work for me. Losing work at any time, for any reason, is a problem.

Losing work because Microsoft "needs to reboot" is unacceptable.

<comment><USER3> I won't disagree that it's unacceptable.

But in practice you can prevent the automatic reboots happening while you're working with the 'Change Active Hours' feature (just search on that term in settings).

Again, not arguing about the rightness of Microsoft's silly policy here, but if you're using Windows you might as well obviate the issue. You can - I've never had an automatic update & reboot interrupt me.

</comment></comment></comment><comment><USER3> Crossing OS boundaries like this just to do development is kind of silly in a way, and still has some frictions. But for the most part it does work really well. The VS Code wsl remote extension is the first thing to tempt me away from IntelliJ Idea in many years.

WSL2 + VS Code + Windows terminal has become a truly viable dev environment.</comment>


Google maps gets data/map improvements in southern hemisphere.  - <AUTHOR> http://googlegeodevelopers.blogspot.com/2010/11/map-data-update-for-australia-new.html

<comment><AUTHOR> I wonder how much this was prompted by the fairly recent border issue between Nicaragua and Costa Rica ([http://www.washingtonpost.com/wp- dyn/content/article/2010/11...](http://www.washingtonpost.com/wp- dyn/content/article/2010/11/10/AR2010111002918.html))</comment>


The Super Productive Programmer - <AUTHOR> http://seriouslackofdirection.blogspot.com/2012/11/the-super-productive-programmer.html

<comment><USER2> My experience is that we validate our assumptions when debugging far less than we should. Most of the time your assumption can be tested very trivially, while you can waste a huge amount of time if it's wrong.</comment>


Huge System for Skype Surveillance, Censorship Discovered in China - <AUTHOR> http://www.nytimes.com/2008/10/02/technology/internet/02skype.html

<comment><USER2> Encrypted comm channels, tunneling, and anon networks are tools we hackers are good at utilizing. There are many solutions that enable these tools for "joe user". The problem is that any solution I can think of that simplifies privacy for the end user is fairly easily blocked by a government that controls the network.

I think it comes down to the fact that if you're a great tool-smith, you can have some privacy. Others get to be monitored or blocked.

Note: my opinion is based on my experience as an American living in Shanghai for 8 years.

<comment><USER3> I'm tempted to think that a Chinese national using encryption would be subjected to stronger, maybe even in person surveillance.

<comment><USER2> Chinese savvy programmers use encryption tools and I have not heard of them being "visited" by officials. Its not a big problem. Censorship is a numbers game. It doesn't matter much if highly educated tech savvy people have access to info. The government isn't concerned with what this sub group reads. They do care what they say ;).

</comment></comment></comment><comment><USER4> "To his surprise, the coded messages were being stored on Tom Online computers. When he examined the machines over the Internet, he discovered that they had been misconfigured and that the computer directories were readable with a simple Web browser."

How dumb can that company be?

<comment><USER5> The phrase "It's good enough for government work" comes to mind.

</comment></comment><comment><USER6> Why not create a spambot that spews "democracy now" or something to everyone? It will make the haystack much larger.

<comment><USER7> Do you want to turn the Chinese off to the concept for good?

</comment></comment><comment><USER8> Fuck Great Firewall !

</comment><comment><USER9> Tomorrow on the NY Times:

Bear Shits in Woods

Clay Aiken is Gay

Pope Reveals That He Is Of The Catholic Faith

St. Louis Might Not Win The NFC West

Does anybody think the American government isn't either doing the same thing or trying really hard to get that power?

<comment><USER7> Certain members of government certainly are, though I don't think you can say that the government as a whole is pursuing this.

<comment><USER10> If the government as a whole could pursue anything, we'd all be screwed.

<comment><USER7> True, true.</comment></comment></comment></comment>


Zed Shaw: Github's Favorite Joke - <AUTHOR> http://sheddingbikes.com/posts/1306816425.html <comment><USER2> I'm the GitHub employee that fixed the bug. I usually try not to get involved with stuff like this but I feel like I'm in a unique situation to correct the record here.

 _"They purposefully allow this glaringly obvious mechanism for insulting and annoying their members and are actually involved in the joke."_

I've never heard of the joke. I've never heard of anyone at GitHub being involved in one of these jokes.

There has been one case that I'm aware of where someone mass added people to a repository in order to fill up activity feeds. That person was banned. It's an issue we'd like to address more generally.

 _"Until I broke their server they were all laughing at my 'testing' then they were pissed when they had to fix the bug I found."_

I fixed the bug without being aware of any of this. I check our exception monitor every day. It was there. It was obvious. I fixed it.

It was a simple bug triggered by branch names that look like commit SHA1s. Here's the commit:

<https://gist.github.com/88bc774d0c97e6c955c0>

It affected only branch list pages with branch names matching [0-9a-f]{40}.

 _"If you don't believe me, look at the HackerNewsTips twitter account, which I know is astroturfed by a github employee."_

That is _not_ a GitHub employee. We don't hire anyone that witty as a rule.

<comment><USER3> > It's an issue we'd like to address more generally.

I wish you would. I'm apparently not the only one who's had this "joke" played on them, and it'd be nice if it was ended.

Here's how you do it: If someone adds me to a project, either I can reject that add, OR I can block a project and they can never say anything to me again.

Pretty easy.

Also, you should talk with Tom about this joke, I'm sure he knows allll about it.

<comment><USER2> As a first measure I think we could make it so that once you removed yourself as a collaborator from a project, it would not be possible for the person to re-add you. I realize that's not ideal but would be much more trivial to implement than UI / additional server state for confirmation before being added.

<comment><USER3> That'd be a good moderate solution. It'd keep the simplicity of your collaborator UI intact, but let me avoid this kind of abuse. You might want to make it a "remove" and a "remove and block" so that people don't get into a bad state on accident.

<comment><USER4> Twitter's "block" and "report as spam" choices for unwanted followers seem an obvious thing to copy here...

</comment></comment></comment></comment></comment><comment><USER5> Zed really has a victim complex. As Ryan validated above, I can guarantee you anyone who has any authority at all at github did _not_ encourage or sanction this behavior. It may not have been high on the fix queue, but thats because they expected people to be rational, and they can just manually ban the people who abuse the system.

Zed.. seriously... the world is not out to get you. We love your code and your contributions. Don't let a few losers get you down.

<comment><USER3> I don't have a victim complex, I stand up for myself, there's a big difference.

<comment><USER5> Also a difference between standing up for oneself and feeding the trolls.

<comment><USER3> You have to stand up to the trolls now. The internet has created a permanent record of slander and humiliation from anonymous people, so if you don't stand up to it then it'll be assumed that there was some merit to what they said.

<comment><USER6> If you paid it no attention it would go away and find someone else to annoy.

<comment><USER4> If Zed's story is correct, an it'd be foolish of him to have claimed this it if wasn't, then this particular individual is proof that ignoring trolls doesn't work.

There's also another problem with your response - why the hell should anyone _else_ have to deal with unwanted dickjokes? Github almost certainly don't like the way Zed's brought attention to this, but it's _their_ poorly though out infrastructure (or more optimistically, their incomplete implementation of a good idea) that's providing a platform for Nick to go round harassing people he doesn't like. Nick needs to grow the fuck up and understand that unwanted dickjoking and homophobia isn't funny outside his special little circle of friends, but Github need to understand there's millions of idiot-Nicks out there, and ensure their product doesn't even allow this sort of behaviour to start.

<comment><USER7> I wouldn't necessarily fault github in this situation. The product started with a great community and it would have been wasteful for them to have spent their time early on implementing defense mechanisms against abuse instead of focusing on features.

For example, I wouldn't expect them to add spam filtering to their message system, but if viagra ads started popping up on github it'd be a worthwhile addition. However, to label that poorly thought out or an incomplete implementation of messaging seems unfair.

Of course, now that the community is larger and github is being used as a platform for childish squabbles/recruiters/etc, it's a good idea for them to fix these types of issues as they pop up (which they're already doing).

<comment><USER4> Yeah, I guess that's where I was going with my "incomplete implementation" alternative.

Sure, you launch with a MVP that doesn't include protection against trolls, but you really want to have at least a plan for how you're going to deal with them when you finally gain enough traction to start attracting them (and if _I_ were Github, I'd be profusely apologising to Zed, and _very_ publicly smacking down Nick (and his idiot copycat friends)).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Love Zed, Hate Zed or neither, it is disappointing if Github really allows this type of abuse to happen with no repercussions.

...and I have been a major Github fanboi from day 1, so it sucks for me to see such pettiness.

Quite frankly, I am not a big fan of Zed Shaw either...his hissy fits tend to get on my nerves....but come on man Github.

You are a damn company!

<comment><USER9> As far as I can tell the only side effect of being added to a project, is that it shows up in your list of your repositories on your [private] dashboard.

Edit: see <http://github.com/zedshaw> , he's not listed on the dongml project, because that link only shows your forks, not repos you have commit access to

Edit 2: Why the downvotes, am I wrong?

<comment><USER10> Zedshaw is visible here <https://github.com/nickmartini/dongml/contributors> Not sure if that is because he pushed commits or because he is added as a contributor.

<comment><USER9> It's because he pushed commits. I have commit access on a private repo on github that I have not pushed commits, and I am not listed on the contributors page.

</comment></comment></comment></comment><comment><USER11> I'm a bit surprised that Github would allow one of their employees to behave that way without firing them. Love Zed or hate Zed, he's still a user, and you're still a company providing a service; show some professionalism.

Zed: I'm on your side here, but _please_ stop rising to these assholes' attacks. You're not going to convince them to change their ways, and getting into a pissing match with them gives them what they're looking for. You won this one, but your time is worth more than this.

<comment><USER12> I wouldn't mind finding out more about the whole story. Did Zed try to contact someone at github to try to get a fix for this problem before writing his little script? To get this person banned? Whatever it takes for him to stop showing up as a collaborator, regardless of what dick obsession github employees might have?

Or is the extent of his github contact just passive aggressively trolling a troll and then blaming github for doing nothing when he did nothing to work with them?

All I'm reading is assumptions and more assumptions in his post about who might be the author of @HackerNewsTips and github employees liking dicks therefore they won't help him and will just laugh. That's not terribly convincing.

<comment><USER3> Yes, one of their employees actually fixed a bug I caused so someone there knows, yet here we are again.

Now I know what you're saying, I should go through their bug tracker bureaucracy for a few weeks. File some nice bugs, talk with people, go down to their office, pick up some schwag, and _then_ after they've had about 6 months to fix the problem I'll finally have dongml off my project list.

Sorry, but if they don't fix it after it causes a bug in their system, and after other people complain about it, then it probably won't get fixed. Based on that, I'll just write about it and move on to something else (again).

<comment><USER12> No matter github's priorities or prior knowledge of this issue, there is always the option of manual intervention. That is probably what I would have contacted github for if I found myself in your problem.

I was just wondering if you tried to contact someone at github before reaching the conclusion that you needed to take this into your own hands. This is _before_ finding the bug they needed to fix and letting the world know in a super high profile blog post that you had a problem. Even if it wouldn't do anything in the short term other than banning the account in question, github would have documented history of abuse and another big +1 for fixing the way adding collaborators works. I don't mean that you have to spend 6 months and become drinking buddies with everyone at github to get anything done. Even a simple one liner email like "this dick is being a dick with his dicks" to support would be better than assuming they're not going to do anything.

Basically, I'm trying to see this from a developer perspective. We expect these kinds of bug reports and emails from users (or, at least, analytics that would correspond with a problem) and we know that we can't read minds (well, I don't know about you, but I know I can't). We also have priorities. Yet we have users and clients and bosses that want to disregard all that :) If you do know that this was a well known problem to github and they didn't want to address your particular issue, then kudos to you for your creative trolling of a troll and deciding to switch to another provider. Otherwise, I don't know, I'm pretty ambivalent on how I feel about people complaining without saying anything to the company/person in question. I can't blame you for being frustrated, but part of your frustration might be self-inflicted.

</comment></comment></comment></comment><comment><USER13> Interesting how this disappeared from HN's front page without being dead-ed.

I seem to recall the 'Programming, Motherfucker' link meeting a similar mysteriously early demise, despite its 800+ upvotes.

<comment><USER3> Hehe, yeah, and I'm probably in their weird secret block list they vaguely mention.

The thing to remember is most of the entrepreneurs claim to want a meritocracy but don't really. They don't want people to criticize their products, call bullshit on their marketing, or make something better to compete with them directly. When they say "meritocracy" they mean "everything I make has merit".

So, in keeping with that, they like to take communities like HN and pretend it's a free market of ideas supporting the meritocracy, then secretly manipulate your opinions behind the scenes by killing articles and blocking people they just don't like.

But hey, it's fun talking to everyone late at night between hacking bouts. :-)

<comment><USER14> >The thing to remember is most of the entrepreneurs claim to want a meritocracy

Do they really? I think most people here are fine with pg weighing down on what he thinks is inappropriate.

I have no idea what it is that got blocked or killed here so won't comment on that but I don't think many people on HN are under the delusion that this is a free market community of any sort.

</comment></comment></comment><comment><USER15> Is GitHub really aiding and abetting this kind of anti-social behaviour/feature? This kind of allegation demands an official response, and soon. Otherwise it's mega bad PR.

More than anything, I'm surprised that you can add a collaborator to a project unilaterally. A way to request an add seems like a natural choice considering you can request pulls.

<comment><USER16> It probably was never a top priority feature ... until now.

But they should definitely respond, with an apology, regardless if they all personally hate Zed and would love nothing more than see him get hit by a bus.

Zed throws hissy fits about shit like this, and attracts trolls, because, trolls love public hissy fits. But at the same time Zed writes awesome code and is well known in the open source community.

I am not saying whether we should personally like him or not, but Github getting into a spat with him over this in public can only result in their PR failure.

<comment><USER3> I don't want an apology, I want them to add a feature that prevents people from abusing others. If throwing a "hissy fit" gets it done then rock on. If not then I'll go somewhere else.

That's what's great about a meritocracy in a free market.

</comment></comment></comment><comment><USER17> I think the larger community has to shun this kind of behavior from Github. It's unacceptable and unprofessional.

Although I don't like how Zed is repeatedly qualifying the homophobic Martini as a Ruby guy, as if Ruby made him this way, Martini is a douche from his behavior. This has nothing to do with languages.

I'm with Zed on this.

</comment><comment><USER18> It should be noted that GitHub does allow users to remove themselves from collab'd repos (the article stated otherwise.)

Being a collab on a repo has no affect (public or private), other than the fact that it will show up in your personal repo list when you're logged in.

GitHub has also banned users in the past for abusing the service. I'm sure they would have acted accordingly if a complaint was filed.

<comment><USER19> Yes, that functionality is at <https://github.com/account/repositories> . I think the problem here is that there's nothing (?) to prevent the user being re-added. The article does state a github employee showed Zed how to do this - no details though

<comment><USER3> There is nothing to block someone from doing it other than report them for abuse or get a different account and hope they don't find you.

The problem with reporting this as abuse though is the owner of the project wins his little lame-troll attempt. He got you to react, so he's all happy. The only way to really stop it is if people's whole accounts were removed from the site, but then they'd just go make another account and do it again.

Instead, they need to require a confirmation, and/or let you block projects. I prefer the confirmation because you can just ignore it and then nothing happens. A block would mean someone does it and then you have to do work to stop them.

</comment></comment></comment><comment><USER20> Yet another reason why some of us fear getting too close to the Ruby hipsters.

<comment><USER21> Broad generalities like "Ruby hipsters" are just as juvenile as the stupid dick jokes that begot the stereotype.

<comment><USER22> I think his sentiment resonates with the numerous outsiders who are amazed that this kind of drama always seems to bubble up from the Ruby community.

<comment><USER23>
      > bubble up from the Ruby community.

And somehow always involves Zed.

<comment><USER22> I was referring more to the latent sexual confusion.

</comment></comment></comment></comment></comment><comment><USER24> What a bunch of children.

It's not cool to antagonize people

It's not cool to DDOS a service.

It's not cool to call someone out in a public forum.

Grow up people.

<comment><USER3> Github is a company. Remember, they make money, have employees, and are a corporation. I didn't say Tom Preston-Warner was an asshole, I said github has a problem with how their collaborators work and they refuse to fix it. Without people pointing out flaws like this and reporting on companies like this we'd all just be a bunch of corporate slaves buying their random crap.

<comment><USER25> Here's a question: why didn't you take the issue up with Github before trashing the dongml repository?

<comment><USER3> I knew some github employee(s) were in on it, and that if I removed it he'd just add it again, and at that point just figured why the hell am I bothering with this? Might as well fight back at the jerk and then hope he gets a hint.

</comment></comment></comment></comment><comment><USER26> Professionall trolling. GitHub made the world a better place - assuming open- source makes the world better that is which I do - and they've done this pixel-perfectly IMO downtimes aside. What this is about is pure hate from Zed, probably jelousy that some people from his past succeeded silently building one of the greatest web companies that exists with hardly no funding while Zed himself was writing rants. Mongrel might very well require a intelligent mind, but every intelligent person knows that the only way of owning trolls are by the dog treatment: ingore the trolls, and go on building great stuff. I know average people knowing this as common sense.

<comment><USER26> ...and this was not snacks for the troll, this was a note for those who don't know the history.

</comment></comment><comment><USER27> All the dick jokes are hilarious when you're hanging out with your buddies, but GitHub is a professional forum. Would you do the same thing on LinkedIn? How does that kind of misogyny reflect on your colleagues and employer?

<comment><USER3> While I don't claim to be any kind of feminist or understand gay rights, I will say this kind of odd "macho homophobe" seems to be a Ruby on Rails thing.

</comment></comment><comment><USER28> Livejournal had this problem a few years ago. You could add anyone to a community, and everyone's profile page had a list of all the communities they were in...

Zed should absolutely get off Github; he's enough of a troll magnet that people will figure out ways to mess with him even after this is fixed. It's easy enough to set up a bare repository on a random machine you have SSH access to.

<comment><USER3> That's why I liked fossil. It was like a little mini-github in a tiny cross platform package. Too bad it nuked my code.

<comment><USER28> Someone should make the Git equivalent of Wordpress: deploy this thing on your server and have your own private Github-like engine.

I think Github is a lot like Rails: they took this cool thing (Ruby / Git) and made it attract a bunch of douches.

</comment></comment></comment><comment><USER29> The most entertaining thing about all this is that you can merge against nonexistent branches in git.

I think my eyes just crossed.

<comment><USER28> You can't. Maybe Github lets you, git just says "fatal: 'doesnotexist' does not point to a commit."

<comment><USER29> 'doesnotexist' wouldn't be a valid commit though, yes? From @zedshaw, when I asked him: '@edropple Yep, you can just push randomness in various ways, my favorite is: git push -f origin master:BIGASSHEX'

<http://twitter.com/#!/zedshaw/statuses/75423197192921088>

I don't have any git projects on my machine (migrated off of github and git a while ago), so I can't try.

<comment><USER28> That doesn't actually do anything though. It pushes your local master branch to a remote branch called BIGASSHEX (creating it if it doesn't exist). So if you generate a new bigass hex each time you'll end up with a ton of randomly- named branches that all point to the same commit, so they use no space.

I think he found a way to take down Github (having to do with having too many branches in a project), but not actually a hole in Git.

</comment></comment></comment></comment><comment><USER30> Would be good to see github do something about it. Was looking to use github for some new projects but after reading this now I might have a look at alternatives

<comment><USER19> I'll take the article with a pinch of salt. There's no indication that github did anything actively here. Github's just missing some abuse reporting functionality here.

</comment></comment><comment> ryan-allen This story is no longer on the front page for some reason.

</comment><comment><USER31> This whole thing is a waste of bytes.

Simply adding someone to a repo makes it show up in their _private_ repositories list and nowhere else. Annoying? Probably. A big deal? Hardly. (To have it show up _anywhere_ else you have to commit to it.)

The HackerNewsTips twitter account is not confirmed to be a GitHub employee and rtomayko, who is _at least_ somewhat trustworthy, flat out says it isn't.

The only interesting thing here is the bug related to the `[0-9a-f]{40}` regex -- and that's been fixed.

It's over, and it would be great if we could move on quickly from this one.

<comment><USER32> Except you also get emails and whatnot regarding that repo and when certain actions occur.

<comment><USER31> I'm not disputing that it's annoying. Props to GitHub if they improve it soon for sure.

I just have better things to do than start a big flamewar over something like this. If you add me to some joke repo and start doing these 'certain actions' so I get useless emails... well, I'll just write a mail filter that blackholes them and get right back to work.

</comment></comment></comment><comment><USER19> Time for Github to start banning people

<comment><USER33> Banning people is not enough, at least not if you only do it via technical means. If you let the banned user know that further interaction with the company's services will lead to legal action, you might have something that could work, but I doubt that too.

Github should take a clue from Facebook and other social network sites. Those sites often work in a explicitly-include-someone-in-my-social-sphere way instead of the other way.

</comment></comment><comment><USER34> While it would've been better to just ignore him, I must say, fighting back with working code lends Zed some amount of class.

<comment><USER35> [https://github.com/nickmartini/dongml/commit/b9b8ba94e807fc7...](https://github.com/nickmartini/dongml/commit/b9b8ba94e807fc70c3f8b20995388db6a675bbb9)

That isn't very classy, automated or not. It seems more like a pissing match.

</comment></comment><comment><USER36> Zed, you gave me a hearty laugh.

But please take a minute to think about starting a mud-slinging contest with a pig. Think about how you repeatedly stated that you didn't understand the motivation to show you the peni, where you direct your limited attention and time, etc.

If you are considering all that already, well rock on :)

</comment><comment><USER37> Reminds me of this troll 'Insulting source code': <http://bugs.debian.org/cgi- bin/bugreport.cgi?bug=477454>

</comment><comment> brown9-2 So does anyone know who runs the HAckerNewsTips twitter?

</comment><comment><USER38> That was an obnoxious read.

</comment><comment><USER39> > Getting off github and onto bitbucket would another 20-30 minutes.

Actually, much less than that - 5 minutes at most, for creating the repo.

<http://hg-git.github.com/>

</comment><comment><USER40> Wow, so much drama.

</comment><comment><USER41> Zed: Here's how you fix it - Get the 4chan on it. They'll create projects with all sorts of unsavoury content then add all sorts of people. They'll fuck up GitHub once and for all and force it to shut down.

Live by the trolls, die by the trolls</comment>


Google Glass – a fascinating failure? - <AUTHOR> http://www.bbc.com/news/technology-27585766 <comment><USER2> The author's comments don't really suggest a "failure", IMO, but rather, a product that is still undergoing testing and development -- which describes Glass.</comment>


Ask HN: What do you do when your DNS fails? - <AUTHOR>

Zerigo is having an outage right now on all name servers. This means all heroku apps using zerigo (the only DNS addon) probably don't resolve at their usual domain.<p>What do you smart people who have a plan B do when SHTF with your DNS? <comment> mike-cardwell I use three separate and unrelated providers. The first being myself (a single Linode VM), and the other two:

[http://rollernet.us/](http://rollernet.us/) [https://puck.nether.net/dns](https://puck.nether.net/dns)

They both offer free backup DNS.

</comment><comment><USER2> You use a major provider. Providers that have the resources to defend against almost any attack. I trust Route53, Dyn, and Cloudflare. You can also use your registrar (but that often has limitations).

</comment><comment><USER3> I just use CloudFlare. They just can't really afford going down, and if they do, they're big enough to fix it quickly enough I guess.</comment>


Myspace Sale Begins - <AUTHOR> http://www.billboard.biz/bbbiz/industry/digital-and-mobile/myspace-sale-begins-1005047972.story

<comment><USER2> Interesting.

Haven't checked, but wondering what's the current user base and growth rate.

<comment><USER3> The growth rate?

Imagine a big upward curve... then rotate the graph 90 degrees clockwise.

<comment><USER2> Sure, I asked 'tongue in cheek' ;-)</comment></comment></comment>


Crypto-artwork of a rose sells for $1M - <AUTHOR> http://money.cnn.com/2018/02/14/technology/crypto-art-valentines-day/index.html <comment><USER2> Pardon me, I'm being slow. Is the rose a token of some kind?</comment>


Quit Sugar - <AUTHOR> https://medium.com/1-one-infinity/quit-sugar-2d6741ed67f0 <comment><USER2> Quitting sugar can be very difficult if you are on a low income level: Also all cheap and easily accessible foods a stuck full of it. In the US, sugar is added to so many products where it is totally unneeded. As a european, I find that most supermarked items taste unnaturally sweet.</comment>


Techstars startup: Open-source and serverless DMARC report analysis system - <AUTHOR> https://www.github.com/fraudmarc/fraudmarc-ce/ <comment><USER2> "Email is dead. Long live email"

A few years ago, I kept hearing about how email was dead and Slack and HipChat were the future.

Now email is the future, again: [https://www.fastcodesign.com/90160460/google- thinks-the-futu...](https://www.fastcodesign.com/90160460/google-thinks-the- future-of-the-web-is-email)

and it seems like there's a new generation of ecosystem tools coming out to support email's new lease on life.

I still have a few hotmail and juno accounts -- think they'll be worth something someday now?

<comment><AUTHOR> I'll bid on the Juno account when I find a 3.5" drive for the install disk. Would you consider throwing in a few hours of AOL access time?

</comment></comment><comment><USER3> I have set up and run DMARC for quite a few domains and have always been at p=none, just because I never got enough confidence with existing tools. The switch to Fraudmarc has been just awesome for monitoring our DMARC implementation, and I have loved their product since they graduated Techstars. Kudos to the team for open sourcing their solution. It will definitely help improve email security for everyone!

<comment><AUTHOR> Thanks for the kind words and we're happy to help. Lmk when we can AI-test the PWA on MoQuality.com.</comment></comment>


Human Brain Is Limiting Global Data Growth, Say Computer Scientists - <AUTHOR> http://www.technologyreview.com/blog/arxiv/27379/

<comment><USER2> This is one of the most ludicrous inferences I've ever seen made from a set of data. Theorizing from Weber-Fechner law to this hypothesis might be fun at a bar after a few drinks, but as serious science? Come on.

<comment><USER3> Yea that sounds pretty out there. I don't see why data should be linked to human brain power when you can generate gobs of data and use computers to search through it for the few bits of interesting stuff.

<comment><USER2> Quite frankly, I'm shocked this was published anywhere. What sort of a distribution would they have expected? A normal distribution where the average filesize was 5GB? And to then infer that this has to do with _mental_ constraints... this will be a laugh with my colleagues.

</comment></comment></comment><comment><USER4> Article: "Gros and co then plotted the size of each of these files types against the number of files to get the file size distribution...audio and video file distribution followed a log-normal curve..."

Are they concluding that compressed videos fit through our internet pipes best?

</comment><comment><USER5> Interesting and the full data file can be downloaded at <http://www.findFiles.net> /public without restrictions.</comment>


Apple adds closures to C family of programming languages - <AUTHOR> http://ezrakilty.net/research/2009/06/dept_of_wheel_reinvention.html <comment><USER2> This sounds cool, but I think I will just make a jumble if I try to actually use it. What I like most about closures in most languages is how quickly it lets you work. In C, I don't want to work quickly. I need to be methodical and pay close attention to detail -- this usually means I'm going to keep track of what I'm doing both in my head, in notes I'm taking, and in the actual C code. Passing pointers along with the callbacks (for example) isn't such a big deal when I'm already doing all of this extra work.

I mean, I'm writing C in the first place since I'm doing something low-level, something that needs careful optimization, implementing some kind of base system for something else, etc. Otherwise I'd just use a higher level language.

In the context of Obj-C it makes more sense, though, since you're already writing C while working with a higher-level language, too. You use obj-c objects if you need refcounting or GC at the moment; I can definitely see the usefulness of having closures in C. I know lots of people will probably use it just fine, but for me, I think I would just make a hash of my own code.

Or maybe when I give it a shot it'll work out fine. Ok done with rant :)

</comment><comment><USER3> This seems to be relevant: [http://lists.cs.uiuc.edu/pipermail/cfe- dev/2008-August/00267...](http://lists.cs.uiuc.edu/pipermail/cfe- dev/2008-August/002670.html)

In short: per default, you get copies of captured variables, but you can mark variables to be writable from blocks. In order to be able to call a block after the function call where it was created has ended, closures may be copied to the heap (with refcounting).

<comment><USER4> The syntax for this is quite nice.

      call_me(^int (int x, int y) { return x + y; });

I like it quite a bit better than the proposed c++ lambda syntax.

      [](int x, int y) -> int { return x + y; }

The ^ is very ananogous to *. You could declare the above function call_me() with something like this

      void call_me(int (^fun)(int x, int y))
      {
         fun(fun(4,5), fun(3,6));
      }

which is quite "C like".

</comment></comment><comment><USER5> The optimist in me sees this getting used to greatly reduce the amount of code required for many repetitive things that are often done in C. Partial Application could be really powerful in such a verbose language, and MACRO tricks to accomplish similar results are hard to debug and pretty ugly.

The pessimist in me sees a lot of very poor design decisions resulting from this feature, because everyone will be excited to play with the new toy.

The realist in me does not expect to see this in ANSI C any time soon.

</comment><comment><USER6> Read the comments on the blog, actually a lot more insightful then his post

<comment><USER7> I think the distinction between a lambda and a closure is especially important. Closures maintain references to the local stack and I shudder to think the kind of bugs and unsafe memory operations that can result to writing to bad places in the stack. Buffer overflows anyone?

<comment><USER8> No. Closures, if implemented properly, may contain references to variables in the enclosing lexical environment where the closure was defined.

Whether they live on the stack or in the heap is an implementation detail, and may have everything to do with the provable dynamic extent of the closure (e.g., downward funargs can point back onto the stack whereas upward funargs must be heap-allocated).

</comment></comment></comment><comment><USER9> I think this will be a neat feature for Obj-C, but it'd be a neat concept (not in this implementation) for C/C++. Closures/lambdas aren't greatly leaving the strict language world, but they ease development vastly. I'd like to see closures being added/removed as if they were an array/vector/something in C/C++.

</comment><comment><USER10> Brilliant. Can't wait to try this out.</comment>


Reductionism can explain neither carrots nor consciousness - <AUTHOR> https://chad.is/reductionism/ <comment><USER2> The article never discuss carrots, but milk for newborn/babies. It says that the first versions caused problem because they had the right macronutrient, but not the right micronutrients.

I had the same concern about a 100% diet on Soylent, so I think it makes sense. Anyway, I guess the first versions were cow milk mixed with something, so it must have some micronutrients. But cow milk is optimized for fatty acid shield, not optimized as a whole food, and mixing it may make it even worst. I'd love to see a link to the study.

Anyway, for some reason the author think that micronutrients are a failure case of reductionism, but I think it's a success case.</comment>


Show HN: tooltipster - semantic, modern tooltips - <AUTHOR> http://calebjacob.com/tooltipster/ Disclaimer: The person behind it is http://calebjacob.com/, not me. <comment><USER2> Interesting, but ow my eyes, everything is so big.I'm on 1920x1080 and even so, I have trouble getting a global 'view' to properly navigate around. I like the fact that the tooltips are theme-able.</comment>


How do you let PG know you're the Jobs? - <AUTHOR>

<comment><USER2> I think the main part of the "Jobs-Wozniak" relationship that people forget to mention is that Jobs approached Wozniak and thought that's what they should market.

In other words, you're not a Wozniak just because you're heavily into technology. Wozniak created a bunch of stuff because he wanted something very useful for himself and he was going to create it on a tight budget. That is actually what great leaders do (at least according to some leadership books and my own experience)--they don't create something and then force it onto other people. Nor do they tell people what to do. They simply start doing it themselves and then other people notice and want to take part. (In other words, if you want people to do what you're saying, start doing it yourself and people will copy it or want to be around you when you prove it works. Don't just start telling people what to do.)

So, Wozniak is more than a technical guy. He was exhibiting silent leadership about hardware. And Jobs was exhibiting leadership in how software should be later on.

If you think you want a Jobs, are you a Wozniak to even have such a comparison? In other words, are you creating a software or hardware product for yourself that makes things so much easier and better that other people notice it and approach you and tell you, we can sell this? Remember, Wozniak didn't ask anybody. That's the relationship that happened. Not, "Oh, you created a bunch of code, let's try to somehow convert it into a business." The idea made sense in the first place.

So, if you're 100% technical, the best thing to do is to show what you do to everybody. Don't force it on to them, and don't worry about anybody copying you since if you're clearly enjoying what you're doing and they think it's a worthwhile thing to do, everybody will want to join you. Remember, if you're a Wozniak, it means you can basically display your ideas everywhere, even to roomfuls of technical people like Woz did, and know that everything will be OK.

</comment><comment><USER3> IMHO - I don't think there is a very good way to "tell" someone you are a visionary.

Nor do I think there is any good way to know of yourself that you are a visionary to the tune of Steve Jobs. People say that the ideas that Jobs has that seem to "change the world" come to him as clear solutions to obvious problems. So you likely think your ideas seem fairly simple and makes perfect sense, only assuming that others could come up with them just as well.

I think the mentality of "something is obviously broken and if no-one else can see this seemingly obvious solution, then I'll just do it myself" is common among great inventors.

Steve and Woz shared this inventor's mentality, however Woz was content building stuff for fun to show friends. Jobs (being a visionary) saw the business potential and wanted to lead the technology into changing the future.

So to answer your question: All that you can show PG (especially in these applications) is that you have a cool idea, and that as a visionary you have plans for a real business that will make sense (aka have value) to people.

If you have an idea that will change the future, or just improve people's general quality of life... it is your responsibility (as Jobs) to mold that idea into your vision for a business that will make you and your co-founder(s) some money.

Woz created the Apple computer, but SJ convinced Woz and investors that they had a greater market than DIYers, and that "personal computers" was the way of the future.

Hopefully your vision works out as well as the Personal Computer, and then whether your start is with PG or not - people will be able to see you for the visionary that you are.

</comment><comment><USER4> The Jobs is the one filling out the application for the Woz.

</comment><comment><USER5> If you're the Jobs, you would find a way to get your message across effectively even if the questions on the application didn't present an easy opportunity to do so. For someone who's a Steve Jobs, the application questions provide a natural opportunity to market yourself.

(My first answer was going to be "If you have to ask you're not the Jobs", but I'm working on tact in my comments.)

<comment><AUTHOR> I actually like your first answer more though. =)

</comment></comment><comment><USER6> If you really were a Jobs, it wouldn't matter whether he can tell, or not?

</comment><comment><AUTHOR> i.e. how does YC judge non-technical people on the app?</comment>


Rqlite: Replicated SQLite using the Raft consensus protocol - <AUTHOR> https://github.com/otoolep/rqlite <comment><USER2> ActorDB takes this about 100 steps further. It replicates the actual WAL pages instead of SQL commands. So the leader executes the SQL, followers just write the pages from leader.

[https://github.com/biokoda/actordb](https://github.com/biokoda/actordb)

It uses LMDB to store everything instead of storing raft log in one place and SQLite in another. It can run thousands of SQLite instances at the same time and it actually compresses the pages when storing to LMDB.

You can query it with a MySQL client library (though Thrift is recommended). You can have multiple raft clusters, there is a complementary actordb_console app to manage it easily, it supports distributed transactions and more.

<comment><USER3> ActorDB is very cool, but from what I gather it's — at least nominally — designed to work with many small databases (one per "actor") as opposed one large one, and that the constraints it puts on the query model means you have to carefully design your data model to be heavily compartmentalized from the beginning. It also poses some problems for database-wide queries, which have to fan out to every separate actor database. Whereas rqlite acts like one single SQLite instance, and can work with existing schemas.

Please do correct me if I'm wrong. Would ActorDB be happy and perform well with, say, just one actor?

<comment><USER4> To me, that just sounds like it forces you to do the Right Thing from the beginning. Eventually, you _will_ need to shard your data in some way†.

If you're already locked into a "global queries against tables containing Everyone's Stuff" data model, you end up doing this through Stupid Database Tricks like "see-other" redirection or silent persistent-hash load-balancing (with constant ops-heavy rebalancing as you grow.)

If you think about sharding from the beginning, though, you end up just dividing your data into little naturally-atomic "worlds." Like sharding email [headers, not bodies] by user, or sharding StackOverflow posts by community.

If you don't think you'll ever scale to the point where you'll be forced to make those calls, just pick a different database. (But then, if you don't think you'll ever reach that scale, then literally _any_ database will do.)

\---

† Unless you're EVE Online. They could probably write a really good whitepaper about how they've scaled their single-node MSSQL database so far. I presume they're mostly following the same patterns you would when running e.g. Oracle on big iron; but—according to most sources—they're just using some heavily- loaded commodity hardware with no fancy IO offloading et al. No idea how they do it.

<comment><USER5> Please excuse my ignorance - how do I enforce nontrivial system-wide invariants with lots of little databases rather than a single consolidated one?

The invariants I care about are:

(0) Referential integrity. If the table `Foo` has a `FOREIGN KEY (BarID) REFERENCES Bar (BarID)`, then no row in `Foo` must be seen as having a `BarID` whose value can't be found in the table `Bar`.

(1) Linearizability. There must exist a total order on the entire transaction history of a database, such that, starting from the empty database, and executing the transactions nonconcurrently in the given total order, the result is the current state of the database. (NOTE: The transaction history need not be physically stored anywhere. So this invariant can't be "tested" - it has to be proven to hold.)

These guarantees are so basic, so fundamental in my everyday use of RDBMSs, that I need to be convinced that they hold.

<comment><USER2> By finding the natural sharding factor. If you have one, which very often you do. Three completely different examples:

\- Are you running a mail server? Every user is an actor (i.e. an sqlite instance).

\- Are you running a backend for a dropbox/evernote/messaging type app? Every user is an actor.

\- Do you have a distributed filesystem? Use the KV mode and shard on file hash.

\- Do you need scalable counters? Use KV mode again, split every counter into 10 (or 100) and increment/decrement on those.

<comment><USER5> Again, please excuse my ignorance - what is the definition of "natural sharding factor", and how would I compute it for, say, an ERP system?

<comment><USER2> I have no experience in developing in ERP systems. I do have experience on being at the end of a very poorly working one.

These systems seem (from my outside view) to have a tendency to become giant monoliths. So when developing you must fight against increasing monolithic complexity. Using something like ActorDB can be somewhat of a beneficial constraint. It forces you to maintain a clean design.

I would force sales, marketing, shipping, product planning (taking from wikipedia here..), to be their own separate actors with their own schemas. Then if possible shard within those types. So if something is customer service, have an actor per customer and have all his data there. If you're developing multiple products, every product has an actor.

<comment><USER5> > These systems seem (from my outside view) to have a tendency to become giant > monoliths. So when developing you must fight against increasing monolithic > complexity.

You aren't wrong, that's my experience as well. It's just as annoying for programmers (or, at least, for me) as it is for users. The following question has popped out countless times in my head: "Why do I have to rely on an implicit convention that this application module never touches this database table?" There was never a good answer.

The only reason why I put up with such things is that I have no idea how to prevent more modular designs from turning into a data integrity nightmare. (I'll freely admit my lack of education is to blame here.) For instance, let's say we have three modules: inventory, sales and shipping. Furthermore, let's assume each module is its own actor and uses its own backend database. We must implement the use case "enter a sale in the system":

(0) The sales module queries the inventory module whether there is enough of a product in stock to satisfy a customer order. The expected sequence of actions is:

(1) The inventory module "locks" the requested quantity/amount of the product [so that it can't be used, say, for another sale], and gives the sales module a "token" that can be used to confirm or cancel the withdrawal.

(2) The sales module queries the shipping module if there are enough available trucks/ships/whatever to ship the product to the customer's location by a given delivery date.

(3) The shipping module "locks" however many trucks/ships/whatever it deems necessary to ship the product, and gives the sales modules a "token" that can be used to confirm or cancel the shipping.

(4) The sales module queries the user for the customer's credit card number and verification code, interfaces with the bank's system, blablabla...

(5) The sales module confirms to the inventory and shipping modules [in this specific order] that the product will be withdrawn and shipped.

Now some exception handling:

(6) If step 3 fails, the sales module cancels the product withdrawal.

(7) If step 4 fails, the sales module cancels the product withdrawal and shipping.

(8) If any system [inventory, sales, shipping] goes down, neither the product nor the trucks/ships/whatever can be kept locked forever. So each lock must have a timeout, and, if it's neither explicitly confirmed nor explicitly cancelled by the sales module, it will be implicitly cancelled by the inventory and/or shipping module when the timeout elapses.

(9) It may happen [unlikely, but not impossible], that the inventory and shipping module's clocks get unsynchronized in such a way that, when the product withdrawal has been been confirmed, the shipping lock has already elapsed. _Oh, the nightmare._

Implementing all of this _correctly_ in all cases is actually tricky! And if anything is implemented _slightly_ wrong, the whole system goes kaboom! With a monolithic database, there is no need to "lock" any resources, nor issue "confirmation tokens" - just use the DBMS's built-in transaction system!

<comment><USER2> > Furthermore, let's assume each module is its own actor and uses its own > backend database.

I would have every module an actor type. There can be multiple types each type has its own schema. Within an actor type many actors. An actor for every product for instance. So all X widgets are in one actor.

> With a monolithic database, there is no need to "lock" any resources, nor > issue "confirmation tokens" - just use the DBMS's built-in transaction > system!

ActorDB has distributed ACID transactions so I would use that. You can create a transaction over multiple actors. The reason I would split it into many actors is that you're always locking small parts of the system for the duration of the transaction not the entire DB.

<comment><USER5> > I would have every module an actor type. There can be multiple types each > type has its own schema. Within an actor type many actors.

Noted.

> ActorDB has distributed ACID transactions so I would use that. You can > create a transaction over multiple actors.

Sweet! In particular, the second sentence is exactly what I wanted to hear.

I will give ActorDB a try.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> I've written something similar for PostgreSQL using Paxos: [https://github.com/citusdata/pg_paxos](https://github.com/citusdata/pg_paxos) . It can replicate tables across a set of PostgreSQL servers.

pg_paxos is an extension that uses PostgreSQL's query execution hooks so it doesn't require any external components. An advantage of pg_paxos is that you can do reads and writes on any node. Would love to know what people think and whether it's something you would use (if rigorously tested). Small warning: it replicates SQL queries and doesn't stop you from using volatile functions like now() yet, which would give inconsistent results.

A possible application is a reliable cron service. Each cron node tries to add an entry to a replicated locks table with the same primary key on any of the PostgreSQL nodes. Only one will succeed and then runs the cron job.

Some more details in these slides: [http://www.p2d2.cz/files/pg_paxos.pdf](http://www.p2d2.cz/files/pg_paxos.pdf)

<comment><USER7> What was your motivation to DIY instead of using Bucardo?

<comment><USER6> Bucardo provides asynchronous (eventually consistent) replication. If you need strong consistency with fault-tolerance, you need something like pg_paxos, but it comes at a significant performance penalty so it's not really an alternative for existing replication solutions.

<comment><USER7> Thanks. I've been looking at PG replication solutions to get rid of the hand- coded synchronization built into a couple of my apps that date back to the dial-up days.

</comment></comment></comment></comment><comment><USER8> "Due to the nature of Raft, there is a very small window (milliseconds) where a node has been disposed as leader, but has not yet changed its internal state. Therefore, even with the leader check in place, there is a very small window of time where out-of-date results could be returned."

No, that's absolutely not inherent to the nature of Raft. It sounds like they're making the same mistake that etcd did, simply relying on whether a node believes it's still the leader rather than having it confirm that fact by committing a log entry: [https://aphyr.com/posts/316-jepsen-etcd-and- consul](https://aphyr.com/posts/316-jepsen-etcd-and-consul)

<comment><USER9> We're way ahead of you.

[https://github.com/otoolep/rqlite/issues/5](https://github.com/otoolep/rqlite/issues/5)

But yeah, that is awkwardly phrased -- let me fix it.

<comment><USER9> Done. You're right that it's not Raft, it's rqlite. Though I plan to add an option that will send all queries through Raft, if so requested.

<comment><USER8> Great - sorry for the harsh words, I guess I've just come to expect people to screw up distributed systems :)

</comment></comment></comment></comment><comment><USER10> > rqlite reports a small amount anonymous data to Loggly, each time it is > launched. This data is just the host operating system and system > architecture and is only used to track the number of rqlite deployments. > Reporting can be disabled by passing -noreport=true to rqlite at launch > time.

This is very close to the end of the Readme in my opinion the wrong default setting.

<comment><USER9> This behaviour has been in the program from the very start, and was a poor decision on my part. I've pulled it completely from the code.

</comment></comment><comment><USER11> Hey! This was the Stripe CTF 3 final challenge problem. Good work making a polished version.

<comment><USER12> It was a fun level :)

Anyone know if Stripe is planning another CTF? The last one was great fun.

</comment></comment><comment><USER13> I'm having trouble understanding this (but everyone here thinks it's rather cool, so I think I'm missing something).

I've used SQLite mainly for small, app-local data storage (because it's easier than creating a custom file-format). What is the purpose of doing replication on such a database?

<comment><USER9> If you don't care about losing your data if you lose your host machine, then there is no point.

The point is to have copies of your SQLite data on multiple different machines so if you lose one of the machines, you don't lose your data. The same reason anyone replicates a database.

<comment><USER9> Though there are other reasons to replicate databases -- read replicas. rqlite can do this do.

</comment></comment></comment><comment><USER14> Branding feedback: I can't be the only one who immediately thought this had something to do with R!

sqldf is a pretty popular package in R; RSQLite also exists. Maybe the R language shouldn't have a monopoly on packages starting with R, though...

<comment><USER9> That's because the OP called it "Rqlite". I actually named it "rqlite". "r" as in replicated.

[https://github.com/otoolep/rqlite#pronunciation](https://github.com/otoolep/rqlite#pronunciation)

<comment><USER14> Makes sense, thanks!

</comment></comment></comment><comment><USER15> Here is a similar project built on the etcd raft package: [https://github.com/chzchzchz/raftsql](https://github.com/chzchzchz/raftsql)

The etcd raft package is used by CockroachDB and etcd. The godoc is over here: [https://godoc.org/github.com/coreos/etcd/raft](https://godoc.org/github.com/coreos/etcd/raft)

</comment><comment><USER16> can anyone recommend a good overview of Raft vs. Paxos?

<comment><USER17> While this doesn't answer your question, you will find this interesting - [https://ramcloud.stanford.edu/~ongaro/userstudy/](https://ramcloud.stanford.edu/~ongaro/userstudy/)

<comment><USER18> That's pretty interesting and doesn't look like it has been discussed on HN before. You should submit it.

<comment><USER19> I'm almost positive that I heard about it here. It's Raft's primary distinguishing feature from Paxos, right?

But hey, if you hadn't heard about it then there's a good chance that other HNers haven't either.

</comment></comment></comment></comment><comment><USER20> Since SQLite can do in-memory, does this now make a good replacement for distributed in-memory databases like memSQL and voltDB? Also, could this act as a replacement to memcached/redis?

To me, it looks like there's a explosion in database solutions, that most solutions are converging with overlapping set of features.

<comment><USER21> To me it doesn't make a good replacement. It is replicated, but not scalable. All the hard work is thrown at the leader.

<comment><USER9> That's right. I wouldn't claim that rqlite is scalable. That's not the point.

</comment></comment></comment><comment><USER22> Was thinking of doing this myself! Awesome.

</comment><comment><USER21> The description suggests it was fault-tolerant, but then I read about all writes and queries going through a single leader, which is an obvious SPOF. Even if temporary, SPOF is still a SPOF.

<comment><USER23> You can have a leader and still be fault tolerant...

At any rate, if the leader dies another member of the cluster is elected and operations proceed. Yes, it's not "always available", but that's the trade-off you make when you impose strong consistency.

<comment><USER21> "Not always available" means "not fault tolerant" to me.

You can have strong consistency with no leader and no temporary SPOF with Egalitarian Paxos. And even with standard Paxos/Raft it is possible to architect the system to not have a single leader, but multiple leaders responsible for different partitions of data.

<comment><USER23> Even if you had multiple leaders responsible for different partitions you'd still be (temporarily) unavailable if the leader died, so...while you have improved the system's availability characteristics you haven't changed the underlying fault model.

Also, keep in mind that not _everything_ has to go through the leader. If your application is OK with stale reads you can read committed data from any follower, allowing you to be available (for some definition of available) while the master is down.

Also, IIRC most _practical_ strongly-consistent systems aren't egalitarian (I'd love to hear otherwise) and instead, rely on a leader.</comment></comment></comment></comment>


Hire HN: Looking for a developer to help with dead simple dating site - <AUTHOR>

Hey all,
I have an idea, and a couple sketches, for a site I'd like to get help on developing. I think it's a relatively simple idea to actualize, along the lines of a twitter/craigslist mashup. The idea's imagined success is found in its simplicity, so I'm not looking to pack it with features.
Anyway, I noticed several recent posts about hackers here finding work, so I thought I'd come here to tell you that I need work done! This will be a paid gig.
What I'm looking for is a rockstar ninja fighter pilot sniper beast of a coder. I know that pisses off the majority of you. I wasn't serious. :P
Anyway, I'm looking for a talented developer with knowledge in your preferred language of choice, although, I'd prefer ruby/python because I hope to jump in and help out in the near future, as well. Good with databases, javascript, css, xhtml. A skill level sufficient enough to build something like a twitter.
If you're interested, you're more than welcome to email me at firstname.lastname@example.com.
Apologies if this job post comes off as wildly novice. I'm not a hacker myself, so my requirements and such might seem rooted in a bit of ignorance. But hopefully you get the gist of what I'm looking for.
Thank you. <comment><USER2> This is almost the perfect job ad for here, except for what someone in at the beginning is going to look for - a little bit of equity, with the promise of a lot of control (i.e. a co-founder-ish role) down the road if they rose to the occasion. I'd be tempted myself, but I'm in the middle of something.

</comment><comment><USER3> There's nothing simple about dating.

<comment><USER4> Tell me about it.

The good news is I don't have to pay for roses or a fancy Valentine's dinner this year.

</comment></comment><comment><USER5> might want to mention how much you plan to pay, since for a lot of people the "its really simple" means that they only want to pay $100

<comment><AUTHOR> Well, I was expecting a coder name their hourly wage, or what they'd prefer to charge. I'm not sure if that's the accepted convention. I'm always open for advice.

<comment><USER5> if you go by hourly rate you really have no idea what it will cost in the end. A good programmer at $100/hour, can get the whole thing done in a week. A crappy programmer at $20/hour will take a year, and it'll cost you 3 times as much.

You really can't know how long it'll take, since most people will overpromise and underdeliver. At least if its a fixed cost, you don't lose any extra money for someone else being lazy

<comment><USER6> I've never yet seen fixed price work well, and I think on something of this size it's doomed to fail. The biggest problem is defining the scope which is almost impossible to do in any detail at the beginning of a project.

Instead, I'd recommend either fixed price for small, bite sized tasks, or (as per my current contract) a weekly rate until completion. I work on rapid turn- around, so the client almost always knows exactly where the project's at and how it fits with their requirements. Of course a precondition of this is a decent level of trust on both sides, and a client who's not a pain.

</comment></comment></comment></comment><comment><USER7> Not a great deal of content in this message. It comes down to "This will be a paid gig", "email@example.com" and "dating site". The rest is just plain weasel speak.

Hopefully you express yourself more succinctly in the spec.

However there are some things that a potential coder would be interested in that it might do for you to answer here.

1) What are you plans for hosting this site 2) How do you intend to promote the site 3) Given that coders are crap at graphics do you have a designer to make the site attractive 4) What is the timescale

And as a side note any competent coder can do this, the rocket scientists are capable of developing it for themselves and cutting you out of the loop. Thats if they would be interested in a dating site.

<comment><USER4> I'm a potential coder, and I think there's enough information: preferred language, general complexity of the project, and required skills. Everything else would be outlined in initial communication.

Posting a budget would be disadvantageous to him, as the answer is probably, "the least possible, and no higher than a certain amount."

This post is not "weasel speak," whatever that means.

<comment><USER7> "I have an idea, and a couple sketches, for a site I'd like to get help on developing. I think it's a relatively simple idea to actualize, along the lines of a twitter/craigslist mashup. The idea's imagined success is found in its simplicity, so I'm not looking to pack it with features."

Ok, just what does that paragraph mean. What the hell is a "twitter/craigslist mashup"? Do you have any idea how this proposed site would actually work from that description?

And if you don't know what weasel speak is how do you know that it is not weasel speak? Weasel speak is the sort of buzzword laden zero content nonsense that marketing usually churn out.

There were enough words in his post to actually describe the site or at least what a "twitter/craigslist mashup" was and how it would be different from any other 'me too' dating site.

I have personally been on too many projects where the specification was full of this kind of nonsense to take such things kindly. A project that may end up being conducted by people on different continents needs to be clear. Other than it is a dating site I have no idea what he wants. If he justs wants to rip off craigslist or plenty of fish then fine, but at least say so.

Hell if he just wants to rip off a site but is prepared to make sure that it is hosted and promoted then people would probably do it for free just to get it on their CV. Hence the reason I asked for clarification of those four points.

<comment><USER4> This person wants to pay someone money to create a product. He's not forcing you to "rip off a site" or divine his intentions.

While I generally appreciate the cantankerous developer, there's no reason to go on the warpath here.

</comment></comment></comment></comment><comment><USER8> Good luck...just promise not to use the word "dead" tagline.

</comment><comment><USER9> No one wants a reverse engineer/systems programmer anymore :(

<comment><USER10> Hey linux does ;-> Lots of device drivers still need to be written.

<comment><USER9> No one's asked me to contribute. I actually am going to be helping the nasm project instead. They needed me.</comment></comment></comment>