MPEG1 Single file C library - <AUTHOR> https://phoboslab.org/log/2019/06/pl-mpeg-single-file-library <comment><USER2> > This gross oversight in the overengineered (especially for its time) MPEG-PS > and MPEG-TS container formats just leaves me dumbfounded. If anybody knows > why the MPEG standard doesn't just provide a byte size in the header of each > frame or even just a FRAME_END code, or if you have a solution for this > problem, let me know!

Because the video encoding was created in 1988 and the mux format in 1995 when large amounts of fast RAM were incredibly expensive and recording/transcoding and processing devices didn't always even have a framebuffer to store a full frame. Many many MPEG-1, MPEG-2 and even MPEG4 AVC Baseline limitations become very obvious when you consider that they were encoded on CPUs that might be slower than 150MHz and be decoded on devices which may only have a few macroblocks worth of storage for decoded frame.

> Interestingly, if I interpret the source correctly, ffmpeg chose the second > option (waiting for the next PICTURE_START_CODE) even for the MPEG-TS > container format, which is meant for streaming. So demuxing MPEG-TS with > ffmpeg always introduces a frame of latency.

I think the confusion here is because MPEG-TS was created for broadcast TV streaming, not realtime streaming. Broadcast TV can easily be seconds behind the source these days and has probably travelled at least once from geostationary orbit so one frame really isn't something anyone cares about. The more modern HLS/DASH formats tend to be even worse at this, with many sources waiting for a full several-second long chunk to be complete before transmitting it to the viewer's device.

<comment><USER3> I think the MPEG people and the authors of pl_mpeg probably just differ on how "very hairy" it is to represent the byte-by-byte state of a single-threaded decoder. In other words, how hard is it to create a continuation object that lets the decoder run out of buffer at any byte location, return to the caller, and later resume from the same place when more bytes are available? The MPEG people were mostly thinking about hardware decoders, but this is not _that_ hard in software -- and it's been done successfully by every major decoder implementation afaik.

The page writes: " _if we 're in the middle of decoding a video frame and the buffer doesn't have any more bytes yet (e.g. because it's streaming from the net) we would need to pause the decoder, save its exact state and later, when enough bytes are available, resume it again. Of course this isn't particularly difficult to achieve using threads, but if we want to stay single threaded it gets very hairy._"

But I'm pretty sure the MPEG people would just say, "look, this is not that hard and was a solved problem 20 years ago. We're not going to introduce a 1-frame delay at the encoder (which is what you want us to do by putting a frame length in the PES header) but we're also not making you introduce a 1-frame delay at the decoder. Just do what libmpeg2 has been doing since 1999: make a state object that represents the byte-by-byte evolving state of the decoder. Update the state object as you go. If you run out of bytes in the buffer, return STATE_BUFFER to the caller. When the caller gives you more bytes later, use the state object to resume from where you left off."

"Here's what that object looks like for MPEG-2: [https://github.com/cisco- open-source/libmpeg2/blob/master/li...](https://github.com/cisco-open- source/libmpeg2/blob/master/libmpeg2/mpeg2_internal.h#L67-L155)

Yes, it's not beautiful, and yes, it would be more elegant if these variables were broken out into different scopes (current block, current slice, current picture, current sequence), but this is basically what you're in for and it's not that hard. And it avoids a 1-frame delay at either end. (And no, you don't need a 1-frame delay just because you're demuxing from a transport stream either -- just throw each TS packet into the video ES decoder as soon as you get it.)"

<comment><AUTHOR> Thanks for the explanation! It hadn't occurred to me that an encoder would spit out packets for part of a frame, while it's still encoding. For what it's worth, ffmpeg's public API - at least the one I used in a previous project[1] - only produces full frames.

The MPEG-2 state object you linked to looks a lot like the private data of my decoder already[2]. I wonder if there's any restriction on when a packet may be concluded. I.e. do MPEG-PS packets have to contain full slices, or can they be cut off in the middle of slice?

The "hairy" part with my current design would be to reproduce the call stack. Again, if the decoder would live in its own thread, it would be a no-brainer.

> and it's been done successfully by every major decoder implementation afaik

As far as I can tell, ffmpeg's decoder does not allow for this. It always searches for the next picture's START_CODE before starting to decode the frame. Similarly, the libmpeg2 source you linked to doesn't seem to provide any functionality to resume decoding from anywhere in the stream either!? The NEEDBITS and DUMPBITS macros just assume there's always more data.

[1] [https://github.com/phoboslab/jsmpeg- vnc/blob/master/source/e...](https://github.com/phoboslab/jsmpeg- vnc/blob/master/source/encoder.c#L76)

[2] [https://github.com/phoboslab/pl_mpeg/blob/master/pl_mpeg.h#L...](https://github.com/phoboslab/pl_mpeg/blob/master/pl_mpeg.h#L1775-L1825)

<comment><USER3> Well.... now that I've gone to read the code again, you're absolutely right that I was too hasty in calling it the "byte-by-byte" state. It's more like the "slice-by-slice" state. libmpeg2 goes header-by-header, so, it can process each individual slice without waiting for the next picture start code, but it does buffer up a whole slice before starting any work.

If you just give it a single byte (or any number of bytes that doesn't include some subsequent start code, including a sequence_end_code for the end of the whole video), it just copies it to an internal buffer and then asks for more until it sees the beginning of the next slice or some other header. That's why NEEDBITS and DUMPBITS don't have to bail out in the middle -- by the time you get there, you know they have a whole slice to play with. So, yes, libmpeg2 does go start-code (or sequence_end_code) by start-code -- but not a _picture_ start code.

ffmpeg/libavcodec is a wrapper around like 75+ different decoders, so I'm not too surprised if they have to go with a least-common-denominator interface.

In general an MPEG-2 TS or PS packet is just a fixed size packet and doesn't have to be aligned with any ES syntax element. Typically the PES packets (the much larger packets encapsulated in PS/TS packets) _do_ contain exactly one video picture (i.e. the data_alignment_indicator is set on every video PES packet), but even this isn't formally required. Note that the PES packet header also includes an _optional_ length field that would do what you want (but it's optional, in part to accommodate encoders that don't want to buffer the whole image before starting to encode pixels).

You might be interested in our TS/PES demuxing code that wraps libmpeg2/liba52 and tries to maintain a/v sync in the presence of arbitrary corruption -- it's more than half the size of your entire decoder!

[https://github.com/StanfordSNR/puffer/blob/master/src/atsc/d...](https://github.com/StanfordSNR/puffer/blob/master/src/atsc/decoder.cc)

</comment></comment></comment></comment><comment><USER4> MPEG2 is mostly patent-free too now, though I'm not sure how much larger its decoder would be.

<comment><USER3> The core of libmpeg2 is 3,810 lines of C (not including any systems-stream demultiplexer or audio decoder) versus about 2,400 for pl_mpeg.h. So not dramatically larger.

On the other hand, for progressive-scan 30fps video on computers without a VBV constraint and with a deterministic known decoder, I'm not sure any of the extra features in the MPEG-2 spec are very helpful compared with MPEG-1.

</comment></comment><comment><USER5> Do you have the encoder side of this also?

</comment><comment><USER6> I have been wondering if we could built something on top of MPEG2 and AC3 and MP3, Codec with patents that had expired and something that is truly patents free. Which reminds me of Musepack, based on MPEG-1 Layer 2 [1]. Truly amazing quality at the time even when comparing to high bitrate AAC.

[1] [https://www.musepack.net](https://www.musepack.net)

</comment><comment><USER7> Love to see stuff like this. I wonder why he put all of the code in a header file, though... I've never seen that done before; it seems like it would make it impossible to invoke this from two separate source files?

<comment><USER8> It's somewhat trendy these days, but the main reason I've found is windows developers struggle with adding third-party dependencies to their projects because their development environment sucks.

<comment><USER9> Although this is getting downvoted because it is somewhat inflammatory (stops just short of using "winblowz" and "M$"), there is some truth to it. Visual Studio _does_ have a package manager but its not widely used, and in practice can't be used in a lot of environments that C\C++ Windows developers (often game developers) are using. That said, I've seen stb_image used widely in environments that are not Windows because even if you have package manager and a build system that manages dependencies better than vanilla MSBuild it's still lower friction to include a single header file library. Last time I used xcode, dependency management was about as painful as visual studio but I might have been doing it wrong.

</comment></comment></comment><comment><USER10> How long until someone emscripten's this, so it runs directly in JS in the browser?

And how would that compare to others?

[https://jsmpeg.com/](https://jsmpeg.com/)

<comment><USER11> Here you go :)

[https://floooh.github.io/sokol-html5/plmpeg- sapp.html](https://floooh.github.io/sokol-html5/plmpeg-sapp.html)

</comment></comment><comment><USER12> As an aside, it makes me happy that Bink is still around. I remember using their Bink video codec for VJing way back in 2000 or whatever.

</comment><comment><USER13> Excellent stuff, really excellent. Thanks for the additional links and cool tangents too!</comment>


USB 3.0* Radio Frequency Interference on 2.4 GHz Devices (2012) - <AUTHOR> https://www.intel.com/content/www/us/en/io/universal-serial-bus/usb3-frequency-interference-paper.html <comment><USER2> I ran into this a few weeks ago with a USB 3.0 thumb drive interrupting my Wi- Fi network communication on my PC.

I fixed this by putting the USB 3.0 thumb drive through the washing machine in my pants pocket. After being washed, the thumb drive no longer works, but my wi-fi is working great now, thanks to the washing machine. Problem gone.

<comment><USER3> I found a similar fix, but instead put my laptop in the wash

USB now works great!

<comment><USER4> Is your USB hitting 24fps?

<comment><USER5> No, but for a few minutes it hit 1000rpm

</comment></comment></comment></comment><comment><USER6> This is definitely a known issue on 2012/14 the Mac Minis (USB 3.0). [https://support.apple.com/en-us/HT203729](https://support.apple.com/en- us/HT203729)

[https://forums.macrumors.com/threads/usb-3-causing- interfere...](https://forums.macrumors.com/threads/usb-3-causing-interference- with-bluetooth.1696604/)

Apple's article mentions USB 3 devices, but the issue is very much with Mac Mini's ports. Moving the devices further away doesn't help much.

I have a pair of cheap Bluetooth earbuds. They have a range of about 30 feet with when paired with an iPhone and about 4 feet when paired with the Mini. Apple's Magic Mouse needs to be within about 4 feet to work as well.

<comment><USER7> The article here is from 2012, so not surprising that devices made as early as 2012 would be affected.

</comment></comment><comment><USER8> If I have my USB external drive plugged into the port next to the little USB dongle for my wireless logitech mouse, the mouse doesn't work properly. I have to shift one of the USB connectors to the other side of the laptop.

<comment><USER9> Omg, I had the same problem few years back and was blaming Logitech for poor wifi connection. Now I know..

<comment><USER10> Same here. I had an issue with Logitech wireless keyboard and mouse. Whenever a pendrive was plugged in to an USB hub both the mouse and keyboard had their ranges reduced to about 20cm.

I'm glad I can finally have some closure :P

</comment></comment></comment><comment><USER11> I was having issues with my wireless mouse getting flaky when my phone is on my desk; I thought it might be WiFi or Bluetooth signals from the phone, but this makes me wonder if it's because I plug in to charge over USB.

</comment><comment><USER12> Note that this also pertains to USB-C. This has been a personal nightmare on the new MacBook Pros.

<comment><USER13> That's because USB Type C is just a connector standard for a cable containing (among other things) a standard set of USB 2 and 3 signals.

<comment><USER14> Indeed. What most people refer to as USB-C is a combo of three, highly optional(!), specs.

The first is the C plug spec.

The second is the USB 3.1 protocol and cable spec.

The third is the USB power delivery spec.

All of these can be mixed and matched as the OEM sees fit.

<comment><USER15> You forgot thunderbolt 3...

<comment><USER14> That one is outside of the main USB specs, piggybacking on the Alternate Mode part of the wiring spec...

</comment></comment></comment></comment></comment><comment><USER16> I just saw somebody mention (on an amazon review for an Aukey charger) that their USB-C car charger was interfering with TPMS system on their car. That's a little scary. Hopefully they'll get it ironed out soon.

I realize TPMS is not 2.4gz but thought that was relevant to interference concerns

<comment><USER17> There's actually a _ton_ of RF interference out there, just that it doesn't impact enough people on a regular basis for anyone to do anything about it.

The 2 meter radio I have in my car goes _crazy_ with RF(up to S9) when I drive through the local Starbucks. That said bringing it up with anyone will probably get you a couple funny looks and not much else.

(things are even worse on HF and the like)

<comment><USER18> A number of ham radio bands became unusuable due to interference over the years.

<comment><USER19> Notably, powerline ethernet destroys nearly the entire HF range, from 3 to 30MHz. This isn't just bad for radio hams, it ruins shortwave and some AM radio too.

<comment><USER17> The hell? (just checked youtube and you're right.)

How did that ever make it past FCC certification? I understand unintentional QRM from cheap things but that is something that's spec'd out.

<comment><USER20> HAM operators don't have money. Networking equipment makers do have money.

<comment><USER17> Oh they do, we just spend it all on our radios ;).

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> Logitech Unifying products (which also work at ~2.4GHz) have been affected by this for a long time too.

[http://support.logitech.com/en_my/article/38032?product=a0qi...](http://support.logitech.com/en_my/article/38032?product=a0qi00000069vCQAAY)

<comment><USER22> Yep, my "docking station" at work consists of a USB3 hub that I plug in to my laptop.

Took me a week before I learned that I need to plug in the Logitech wireless USB thinger directly in to my laptop. Plugging it into the hub made the mouse partially unresponsive.

</comment></comment><comment><USER23> Main points:

1\. Do not place USB ports near antennas, or RF parts 2\. USB allows for rather large deviation from base frequency, use a drifting frequency source to spread the emission spectrum 3\. Use shielding where possible

</comment><comment><USER24> This was a big issue for me on my Intel NUC, the wireless keyboard's receiver dongle was plugged into a USB3 port and received lots of interference. Installing it into a 1-ft USB extension cable solved the problem completely.

<comment><USER25> I have two of those, and they don't even work well as doorstops. Intel crippled them in multiple ways, apparently varying by model, to the point where I'm not even sure it was intentional. But both of mine are useless to me because the BIOS refuses to boot without a monitor attached[1]. Apparently that was fixed in some models, but updates made no difference.

[1] One I can sometimes trick with a "headless" DP cable, but even that isn't reliable enough to stick in a closet and forget about.

<comment><USER26> Just to offer a contrary pov, I have a gigabyte brix that I use as a headless VM cluster workhorse - worked fine with the headless HDMI dongle.

<comment><USER25> Both of mine are Intel-branded, I forget which models. (They're in a box of things I've been too lazy to try to sell.)

I really love the form factor - about four of these would replace close to a kW-worth of hardware I currently run, and could hide in a closet. Maybe I should try again with known-good versions.

</comment></comment></comment></comment><comment><USER27> I bought a USB 3.0 Ethernet to USB adapter and it seems since then my Logitech wireless mouse has troubling hold a mouse down. I've been trying to nail down the issue. Maybe the interference is the cause. What do you think?

<comment><USER22> I commented above about this: remove the Logitech dongle from your USB3 hub and plug it directly into your machine. That was the only way I could "fix" it.

</comment></comment><comment><USER28> What is the meaning of the asterisk in "3.0*"?

<comment><USER29> From the website:

"*Trademarks"

<comment><USER30> Only Intel seems to do it like that. Weird "house style".

</comment></comment></comment><comment><USER31> I had concerns about RFI when purchasing my LimeSDR[1] USB version. Perhaps adding more shielding on the back side of the ports and around the unit itself is in order? I imagine that aluminum could help and it is fairly easy to put in place.

[1] [https://myriadrf.org/projects/limesdr/](https://myriadrf.org/projects/limesdr/)

<comment><USER32> are you saying you were concerned about RFI before you purchased the LimeSDR or that you've noticed RFI when attempting to use the LimeSDR? is this the one with the usb-a connector or the usb 3 micro b? Thanks.

<comment><USER31> Sorry for the delay in responding, I didn't notice the reply. I was concerned with it before purchasing because I had heard there was a good amount of RFI produced by USB in general. I have the USB 3 micro B, I feel that a good enclosure could mitigate a lot my concerns (and the article seems to back it up). If you would like any pictures please let me know, I can try to provide them.

</comment></comment></comment><comment><USER33> I wonder if this why my new Logitec mouse works poorly in the default wireless mode but is OK in the Bluetooth mode.

<comment><USER34> That would make sense, as flaky as Bluetooth can be one of its more futuristic features is supposed to be aggressive frequency hopping to avoid interference.

<comment><USER14> Yeah i think the biggest source of flakiness with Bluetooth is when people pretend it is wifi and stick devices behind various objects but expect the connection to remain flawless.

Only usb-to-bluetooth dongles are likely to have the signal strength to penetrate walls. Mobile devices, and in particular earpieces and similar small devices, are likely to use weaker signals that rely heavily on being reflected off surfaces to get around obstacles.

And one such obstacle is the human body. Thus putting you phone on one side, and the ear piece on the other side may results in poor reception. But standing near a surface, be it a wall, a car, or something else, in front or behind may allow better reception as the signal can bounce off said surface.

<comment><USER35> Not meaning to contradict you because most of my experience matches this, but I would really like to get more detail on Apple's W1 enchanted bluetooth as used in AirPods, which consistently work smoothly through 2 or 3 walls.

<comment><USER36> That W1 is magic. I'm blown away by its range.

</comment></comment></comment></comment></comment><comment><USER37> So does this mean that USB 3.0 will be banned from use on airplanes as well?

<comment><USER38> No, only when they come out with fly-by-wireless planes.

(also, when I first wrote this, I was half-kidding until I read [https://en.wikipedia.org/wiki/Fly-by-wire#Fly-by- wireless](https://en.wikipedia.org/wiki/Fly-by-wire#Fly-by-wireless))

<comment><USER37> Well, I ask because I thought the reason you needed an airplane mode on your phones was because of radio interference with some kind of equipment... but of course they do have wifi during the flight so I think it might be related to take-off and landing procedure were interference is a problem? Or else just total BS?

<comment><USER39> There are no FAA regulations regarding phones/electronic devices other than a blanket rule that you can only enable them with the permission of the captain. The rules regarding cellphone use on planes is from the FCC. They don't want tubes full of transceivers broadcasting at max power (phones ramp up power to search for towers where there are none) high above the earth where they can broadcast over the greatest physical area. At 30k+ft this is not a huge concern (too high for a noticeable increase in the noise floor) but in terminal areas they could conceivably tie up bandwidth on every tower in the city. Whether this is a concern with modern cell towers is up for debate however.

<comment><USER40> This doesn't explain cell site simulators well though, they are at the perfect altitude and power rating to cause interference.

<comment><USER39> I don't really understand. Do you mean cell site simulators (IMSI catchers?) interfering with aircraft or flying the simulators on aircraft to broaden their reach?

In the latter case, they would (I'm assuming) be flown with proper high gain directional antennas instead of tiny antennas mostly hidden inside a metal tube that attenuates most of their signal

</comment></comment></comment></comment></comment></comment><comment><USER41> Had this with a 3.0 USB-C to USB-A hub I bought a while ago for the Macbook Pro. It was really a lil' portable Wi-Fi jamming device.

Advice: buy USB 3.0 accessories with good shielded cables.

</comment><comment><USER42> It's been 5 years and no one has managed to turn a USB controller into a WiFi adapter (nor a WiFi adapter into a USB sniffer), so I'm guessing the signals are only near enough to intefere and not anything beyond that.

...That would actually be rather fun to see, like [http://www.erikyyy.de/tempest/](http://www.erikyyy.de/tempest/)

</comment><comment><USER43> This is from 2012 and old news in the Vive community where we try to use USB2.0 to avoid these and other issues. There's a few 3.0 chipsets/configs/layouts/whatever that cause serious 2.4ghz interference and that can affect motion controller latency, wifi internet connections, etc.

Of all the frequencies to interfere with...

</comment><comment><USER44> This explains why my short stint with an XPS 13 and it's dock was nothing but headaches.

<comment><USER45> The solution to fixing the dock issues (partially) is to swap out the wifi card. The Broadcom card puts out lots of interference (no issues with a Intel AC wireless card).

<comment><USER44> I returned it and bought a macbook pro.

<comment><USER20> This is a great example of an Apple-style solution vs a Dell style solution.

Just bought a laptop, and now you need to start hacking it up and changing the wifi-card so it doesn't cause interference to itself? What next, break out the soldering iron and go over all the cold joints?

</comment></comment></comment></comment><comment><USER46> Thanks for posting this! Whenever I plug my backup hard drive into my laptop (it connects over USB 3), my wifi connection drops. I guess I'll have to try switching to 5GHz during backups…

</comment><comment><USER47> I once had a similar problem with a Mini-DP to DVI adapter.

I bought a cheap 3rd party one, when I used it I could not use WiFi. When I replaced the cheap one with an Apple one everything worked perfectly.

</comment><comment><USER48> Had an issue with my previous Macbook Air and a USB3 external drive where the wifi would completely stop working when I plugged the drive in. Sounds like it might be related to this.

</comment><comment><USER49> I started getting interference on my wireless keyboard + USB hard drive when using my USB-C hub … I'd been blaming it on the hub for this whole time. Thanks for sharing!

</comment><comment><USER50> 5Ghz wifi for all the things!

<comment><USER51> I want this, but 5GHz doesn't permeate the walls in my bedroom as well. :( I figured we'd be living in a dual-band world for quite some time.

<comment><USER52> I had the exact same propagation issue as you. Fortunately, I found a solution that's both inexpensive _and_ incredibly effective.

[http://amzn.to/2AgqfsI](http://amzn.to/2AgqfsI)

<comment><USER18> A drill bit for wood... for drilling through walls? Wat?

</comment></comment></comment></comment><comment><USER53> same weird issue with logitech mouth and usb C port

</comment><comment><USER54> It's great to see RFI problem that impact the profits of big firms. Most RFI is generated because firms cut corners and lazy/crony regulators fail to enforce FCC part 15 rules.

<comment><USER55> Do you have any proof for this? I think it's much more likely that low cost components from off-brand vendors cause issues.

<comment><USER56> [http://www.arrl.org/news/switching-power-supplies-a-more- com...](http://www.arrl.org/news/switching-power-supplies-a-more-common-noise- source-than-power-lines-arrl-lab-manager-says)

The issue isn't that the components in these supplies are cheap, it's that necessary filtering components are not in there at all.

[https://en.wikipedia.org/wiki/Power_factor#Switched- mode_pow...](https://en.wikipedia.org/wiki/Power_factor#Switched- mode_power_supplies)

<comment><USER54> Exactly. In many devices, including switching supplies, a bit of attention (and a few very low-cost parts) will bring the devices into compliance. RFI suppression steps are in the data sheet / example circuit for nearly all components used in switching supplies, FWIW.

But just as firms want to be able to import steaks that have been made from cattle raised near polluted foreign rivers, firms import power supplies made with RFI-suppression parts omitted because someone along the way wants that $0.15 as profit and US regulators don't care.

Incidentally, a law was passed fairly recently that allows agricultural firms to remove information about where food items were produced, so quite possibly the steaks we eat will soon be made from cows who drink the water runoff from the polluting factories that make the low quality switching supplies.

Our "first world" environmental regulations (food quality, air and water quality, RF noise floor) are only as good as our regulation of imported products that commit fraud by selling products that do not comply. By failing to enforce these laws, US regulators have helped foreign firms cheat their way into the US market, putting US firms out of business and harming consumers indirectly by polluting their environment.

I'm not arguing that all of those regulations make sense, just that it is silly to have laws that we don't enforce when the health consequences and RFI consequences harm everyone.

</comment></comment></comment></comment><comment><USER57> Yep, this bit me hard with my NVidia Shield TV. Plug in the portable USB HDD and the remote stopped worked.

Thankfully Kodi streams from SMB shares extremely well.</comment>


The Military Now Has Tooth Mics for Invisible, Hands-Free Radio Calls - <AUTHOR> https://www.defenseone.com/technology/2018/09/military-now-has-tooth-mics-invisible-hands-free-radio-calls/151145/ <comment><USER2> I've learned a little bit about bone conduction from reading about products based on the technology - bluetooth earbuds a few years ago, and microphone+speaker units for airsoft/paintball more recently.

One of the major things I've heard about the technology is that it's generally not really very good - that the sound isn't ideal.

Obviously what's presented here is a few shades better than anything I can get my hands on - or apparently manufactured in the first place, at least not without military-scale funding.

Is the impression I've gotten incorrect? Is there anything out there I _can_ get my hands on that _is_ any good?

<comment><USER3> It's fine enough for radio communications. I doubt someone is going to use this to listen an orchestra performance. Moreover, it's mono channel audio.

</comment></comment><comment><USER4> Metal Gear?!</comment>


Warn HN: Google Calendar is not reliable - cool-RR

I've been using Google Calendar for a few years now.
I've been relying mainly on its "alerting" options -- For example if there's something important I'm supposed to do two months from now, I would set an event for that time with an e-mail alert, and then I'll get an e-mail from Calendar reminding me of that.
I was very happy that there is some service I can write things down in and then completely forget them, trusting it will alert me by e-mail.
Well... Lately I've been suspecting that Calendar is simply dropping e-mails occasionaly. Sometimes there will be an event and I won't get an e-mail. For a while I thought I was missing something, maybe I didn't set the e-mail alert right, or deleted the e-mail and forgot.
But it kept happenning, and today I confirmed it. I made a reminder and made sure everything was set up right, and then I didn't receive the e-mail, and I also checked the spam folder. I'm pretty sure it was just not mailed.
So be warned: You cannot trust Google Calendar to alert you to your important events. <comment><AUTHOR> Email is not a guaranteed delivery protocol. Messages get dropped if any server in the path has a problem. With 80+% of email being spam, it's also possible that an aggressive filter on your ISP or an intermediate machine is selecting the messages incorrectly. Treating email as a reliable protocol does not make it so.

<comment> cool-RR No ISP involved -- It's all in-Google.

<comment><USER2> If it's all in-house Google, there's no reason why they can't develop some sort of guaranteed delivery protocol, just for internal use. That would be a huge boon to a calendaring app with notification.

<comment><USER3> I think about 5 googlers just got yanked from their fun 20% projects into a meeting room.

Yes, of course!

</comment></comment></comment></comment><comment><USER4> That IS scary. I too rely on Google Calendar completely. Thank you for the alert. From now, perhaps I'll check the 'agenda view' first thing in the morning every day.

</comment><comment><USER5> I've had problems, but only with recurring events; I wasn't getting reminders for those so I made them one-time events and dragged them to a future date upon notification.

</comment><comment><USER6> I agree with the others. There are too many variable to the situation to simply assume that you can't trust Google. Now, I don't doubt that have dropped emails as you suggest, but at a rate that is worse than Exchange or any other calendaring applications?

Perhaps your title should be "Google Calendar is not perfect" and we could all respond with "What is?"

<comment> cool-RR Dude, have you read my comments to all the people below? This is ALL GOOGLE. The alerts go from my Google Calendar to Gmail, and I read them from the browser.

</comment></comment><comment><USER7> The nice thing about Google Calendar is it supports iCal and various other standard protocols to get your calendar out. You can even import it to Windows Calendar. So you are not limited to relying on Google for updates, just set up synching with any service or application that supports iCal and configure that application to give you alerts.

</comment><comment> cool-RR Also, I would be very happy to hear a recommendation about an alerting service that you _can_ trust.

<comment><USER8> Um, Outlook does a pretty good job.

<comment><USER9> That it does, and with Exchange (gasp) its amazing what you can do. Vendor agnosticism is a virtue. Remember that. :) I <3 exchange, but I'll agree its expensive.

</comment></comment></comment><comment><USER10> There are too many points on the path where something could go wrong. Given that this is the first time that I am hearing about Google Calendar being a problem, I doubt it's the actual problem. What email service are you using?

<comment><USER11> I use Google Calendar alerts and have regularly noticed late email notifications (up to an hour or two), but never failed deliveries. I use Yahoo mail.

<comment> cool-RR Possibly you don't use it as heavily as me, I have maybe ~5 reminders a day.

</comment></comment></comment><comment><USER12> Use the SMS notification feature. It's free and in my experience 100% reliable.

<comment> cool-RR Been using the SMS alerts for years as well - It's much LESS reliable than the e-mail alerts for me, with SMSs being dropped all the time, but this is probably because of my phone company which is in Israel, so I won't hold it against Google and this is why I did not mention it at all in this complaint.

</comment></comment><comment><USER13> Be double sure and set up an SMS & email reminder & confirm that Google calendar forgot about it altogether, or just that something went wrong with the email somewhere

</comment><comment><USER14> Kiko resurrection?

</comment><comment><USER15> are you using gmail mailbox for that??? i also had issues with local mailbox but gmail+googcal pair works fine for me.

<comment> cool-RR Yes, Gmail. What do you mean, "works fine" for you? In more than 95% of the time it works fine for me too, I'm just concerned about it not being close enough to 100%.

<comment><USER16> Yes, I can see how this might trouble you. I mean, you've paid good money for a 100% performance SLA.

</comment></comment></comment><comment><USER17> 30boxes does good enough for me.

</comment><comment><USER18> use rememberthemilk.com

its very reliable, also it can remind you via IM or SMS

</comment><comment><USER19> Well, I've been using Google Calendar for several years now, too, and have always received my alerts, afaik.

<comment><USER20> Same here never had an issue.</comment></comment>


Whitehat SEO is a Joke - <AUTHOR> http://www.krisroadruck.com/rants/whitehat-seo-is-a-joke/

<comment><USER3> This sums up everything that is wrong with folks who limit themselves to a narrow focus on SEO hat tricks: "It's easy to preach great content when you have a great subject. But no one gives a shit about non-clog toilets or pulse oximeters or single phase diode bridge rectifiers."

The missing ingredient that the author can't figure out is CREATIVITY. If you're an advertising creative you can make non-clog toilets sexy to their intended audience (who will be building contractors, architects, etc.). This is the sort of 101 problem that any average PR or advertising person tackles in a day -- how to make the product a hero.

The problem with many SEO folks is that they're so obsessed with gaming algorithms that they forget that it's really all about creating content that your audience cares about. Honestly if you can't make insurance or incontinence products sexy you're in the wrong game. Folks from David Ogilvy to copyblogger have spent years documenting how to make the mundane interesting. If you can't so it yourself, then hire someone who can...

PS Radio Shack made a solid business for years by cramming a geektastic catalog with products like a diode bridge! The key is knowing your audience and knowing how to engage them.

<comment><AUTHOR> There's a big difference between what you're critiquing (marketing messaging) and what blackhats are focused on manipulating (links).

Your diagnosis, "if you can't make insurance or incontinence products sexy you're in the wrong game," would be correct if Google had a function called getSexiness(URI uri, TargetAudience audience, String strKeyword). But they don't. Google uses citations/links instead.

I think what Kris is saying is that it's harder to drive "earned" LINKS for insurance or incontinence products than it is to astroturf your way there with blackhat techniques.

</comment></comment><comment><USER4> If anyone who read this was like me and generally unfamiliar with how SEO people self select into hat color I did a bit of googling. It would seem that some techniques considered "grey" would be paid link building, cloaking - <USER2> act of showing the crawlers one thing and visitors another, and purposely duplicating your competition's content so that all locations of it rank worse due to unoriginal content filters. I'm sure that's no where close to a complete list, but it gave me a sense of where he's coming from. I would have thought that stuff would have been "black", but apparently that's just reserved for SQLi's, comment spam and what not.

<comment><USER5> _purposely duplicating your competition's content so that all locations of it rank worse due to unoriginal content filters_

I've been a victim of this. I would have classified it as "black" also.

</comment></comment><comment><USER6> Wow I cant believe this little post made it all the way to HN. TBH I do believe in most of what I said but the post was intentionally over the top. It was a bit of rantbait. The irony which sadly only one commenter seemed to figure out was that it was a post on how whitehat doesnt work which demonstrated it does. That post got tons of links in a very short time.

That being said my real point was don't limit yourself or the client because you believe google guidelines somehow translate to ethics. Instead do an honest evaluation of the clients expectations, budget, and risk tolerance.

Provide service based on that information. Google is in it for google. SEOs should be in it for the client. Even if that sometimes means bending googles rules.

</comment><comment><USER7> I think the post makes an excellent point, if you're willing to take the time to understand what the author is saying, rather than bristling at his rant. Google makes ITS rules, but they're made for their benefit, not that of our clients. It's up to SEOs to guide their clients through the process of an educated risk/reward assessment, and implement a campaign according to their wishes. If the client wants me to do something I'm not comfortable with, I walk away. But if I'm going to stick around and take their money, they deserve my best effort, regardless of what the search engines might say.</comment>


Things learned from Anthony Levandowski's deposition in Waymo vs. Uber - <AUTHOR> http://spectrum.ieee.org/cars-that-think/transportation/self-driving/waymo-vs-uber-8-things-i-learned-from-anthony-levandowski-taking-the-5th <comment><AUTHOR> Waymo's allegations now go much deeper and further back than just Otto:

* "Levandowski was deceiving Google almost from the moment it hired him to work on the Street View maps project back in 2007."

* "Levandowski controlled a company called Dogwood Leasing that hired ex-Google contractor and 510 Systems engineer Asheem Linaval to use Google's secrets to develop self-driving car technology."

* "Levandowski founded yet another startup, Odin Wave, feeding it confidential lidar technology ... renaming the company Tyto, to hide his involvement."

<comment><USER2> How did he have time to do his day job with all this scamming on the side?

<comment><USER3> I met him when he was doing a DARPA Grand Challenge vehicle in 2004. He was an undergrad at UC Berkeley then, was doing the self-driving motorcycle, and had a successful startup selling a large folding tablet computer for viewing engineering drawings at construction sites. He does seem to get a lot done.

<comment><USER4> Some people are just driven that way. They don't watch much TV or play video games. They just eat, sleep and breath their designs.

<comment><USER5> > They just eat, sleep and breath their designs.

I think a different verb may apply in this particular case.

</comment></comment></comment></comment></comment><comment><USER3> The use of OMW Corp, which is just a contract CNC machine shop, indicates the LIDAR in dispute has moving parts. It's probably just another rotating scanner. That approach is just for prototypes. Everybody serious is going with flash LIDAR or MEMS.

If he'd been talking to somebody about custom GaInAs photosensor ICs, that would indicate a more advanced technology.

<comment><USER6> Does MEMS count as solid state or is it also seen as a moving part?

<comment><USER7> Probably depends if the service life is in practical terms limited. Offhand I'd guess it's probably very long. MEMS accelerometers in airbag sensors have to stay within tolerances for the life of a car.

<comment><USER6> For sensors I can see how you could do that (piezo with a small weight attached) and it will likely live a very long time. But for an MEMS actuator that would be driven to oscillate it would be a lot harder to make that long- lived.

<comment><USER7> To the extent I can find serivce life specs for MEMS tuning fork gyroscopes, which are driven to oscillate, they say "more than 100,000 hours" \- about 10 years of powered-on time, which, for an automotive application like roll-over sensing, is essentially forever, since cars have a low duty cycle.

</comment></comment></comment></comment></comment><comment><USER8> I'm kind of stunned at the amount of side-hustling that Levandowski seems to have been doing while at Google. How could the Google not have been aware of it, and how could it let it continue for so long?

If I were more conspiracy-minded, I'd think they let Otto happen in order to feed a poison pill to Uber... In reality, I think they were just complacent, but still :\

<comment><USER9> > If I were more conspiracy-minded, I'd think they let Otto happen in order to > feed a poison pill to Uber...

That would be a very bad strategy if true so I highly doubt it. IANAL, but I believe under estoppel Google's knowledge of Levandowski's activity and implicit permission to continue would forfeit Google's right to sue later. Likely as soon as they came to know about it they took immediate action to prevent him from taking this defense.

</comment></comment><comment><USER10> Levandowski has absolutely tarnished his own reputation. Sooner or later he will be abandoned by Uber - how could they possibly trust him if his thieving goes back a decade? - and finding employment or trust in the industry is going to be extremely difficult.

<comment><USER11> If he really made $120m from Google alone, he probably thought he was safe by that point, I mean, he must have thought through this and bought himself a private island somewhere to go to when the shit was going to hit the fan..?

<comment><USER12> Or maybe he'll take his talents to China?

</comment></comment></comment><comment><USER13> What's Google's policy on side businesses? They're cool if you work on self- driving cars and start LIDAR and "self-driving truck" side projects?

Did Levandowski have some sort of special pass due to the unicorn nature of his experience and expertise?

<comment><USER14> [https://opensource.google.com/docs/iarc/](https://opensource.google.com/docs/iarc/)

</comment></comment><comment><USER15> Can someone (with hopefully a legal background) comment on what the judge will be looking at when deciding if there should be an injunction against Uber and stopping ALL their self-driving car work? What criteria are they specifically looking at/how much burden of proof do they need?

</comment><comment><USER16> seems Levandowski is out as head of the self-driving project at Uber, will remain in some role but recuse himself from Lidar

"Uber's self-driving car boss, Anthony Levandowski, is stepping aside amid legal fight with Waymo"

[http://www.businessinsider.com/anthony-levandowski-no- longer...](http://www.businessinsider.com/anthony-levandowski-no-longer-leads- uber-self-driving-cars-2017-4)

<comment><USER17> Discussed here: [https://news.ycombinator.com/item?id=14214772](https://news.ycombinator.com/item?id=14214772)

</comment></comment><comment><USER18> Anyone have the link to the original document? Could not find it (I understand the original version was pulled due to the index, but other versions).

<comment><USER19> Yeah I'm also interested in the original deposition

</comment></comment><comment><USER20> Some good stuff in here worth reading if you're following this case. The author was able to figure out the names of redacted component suppliers.

</comment><comment><USER21> Great analysis and generally a good read.

However, to simplify, I think the biggest lesson learned is:

When you create a product at a company and use the company's resources, the IP belongs to the company. If you're going branch out and work on a related product, you better understand the legal issues first.

Also, stealing is bad.

<comment><USER22> "When you create a product at a company and use the company's resources, the IP belongs to the company. If you're going branch out and work on a related product, you better understand the legal issues first. "

I mean, this should be pretty obvious to anyone who has so much as had a passing glance on their employment contract. I doubt very much that Levandowski didn't know this could put him in trouble.

</comment></comment><comment><USER23> Link to deposition source doc?

</comment><comment><USER24> [https://news.ycombinator.com/item?id=14214772](https://news.ycombinator.com/item?id=14214772) is more newsy so we'll treat this one as a semidupe (there probably being no need for 2 Levandowskis in the top 4).</comment>


Albert Einstein: Why Socialism? (1949) - <AUTHOR> http://monthlyreview.org/598einstein.php <comment><USER2> Here's some important things to think about:

First, socialism is defined as worker or public control of the means of production and distribution. This has been interpreted in both libertarian and authoritarian ways.

Second, if socialism is worker control, then it is fully compatible with free markets. Mondragon and Semco are both worker democracies, and operate successfully in the global market.

If socialism is public control, this does not equal totalitarianism. Social democracy is a form of democratic public control of resources.

I understand people's reasoning for preferring capitalism (ownership defined by contract) or socialism (ownership defined by use), and I respect that, but I would love to be able to have political discussions about these issues which take into account the complexity and diversity of these two very broad terms.

<comment><USER3> > I would love to be able to have political discussions about these issues

I'll bite.

> socialism is defined

From each according to his ability, to each according to his need. Socialism is the way. Communism is the unreachable goal.

> If socialism is public control, this does not equal totalitarianism. Social > democracy is a form of democratic public control of resources.

You can discuss things ad nauseum and it will mean nothing. The human mind is too primitive to account for all the facets of reality. There is an almost infinite number of factors that play into the reality of the state.

In the end, the only way to know if something works is to try it.

Socialism was tried. Repeatedly. It always led to a totalitarian state.

Democracy is tyranny by the majority. When protections of the individual are removed for the sake of "social justice" or socialism or for any other reason, the majority is free to abuse the minority for its gain. And they do. Very quickly. This escalates over and over, until a totalitarian state is born.

<comment><USER2> _Socialism was tried. Repeatedly. It always led to a totalitarian state._

Marxist-Leninism is what you're referring to, and yes, that has led to totalitarianism. However, socialism predated Marx, and there are non-Marxist (and anti-Marxist) socialist philosophies.

 _"From each according..."_ is not a tenet shared by all socialists.

<comment><USER4> Also, Marx was really good at critiquing capitalism, but he never actually had a plan for after the revolution. Except to think everybody would be happy and a collective, pretty much perfect, rationalism would be manifest because of the dynamics of history. Then we would all just see the answer, which is to share and be nice. (He was a hegelian, remember, even if he didn't like to admit it.)

Also ... its not like there was some blueprint that the Soviet Union applied as if they were building a machine tool on a large scale. The Soviet State has, in its large scale state organized brutality and corruption, is completely in line with Russian history (no offense to my Russian friends.... Russia is also soulful and brilliant).

</comment></comment></comment></comment><comment><USER5> Albert Einstein was certainly smart, but he did not live to see how socialism worked out.

<http://www.victimsofcommunism.org/>

<comment><USER6> _Albert Einstein was certainly smart, but he did not live to see how socialism worked out._

Einstein lived long enough to see how Stalinism worked out; he outlived Stalin. On the other hand, by some definitions Norway is socialist and things seem to have worked out pretty good there.

This kind of discussion is pointless: everyone uses "socialism" to mean whatever they think it should mean and then argues. It's like a bunch of people getting together to play a game, except one is playing chess, one checkers, and someone else poker. Then they all get indignant and yell at each other, which I suppose is the real game.

By how much would the world supply of argumentation deflate if people paid attention to whether they were even talking about the same thing?

<comment><USER7> > On the other hand, by some definitions Norway is socialist and things seem > to have worked out pretty good there.

Anything works with a small population of Scandanavians.

</comment></comment></comment><comment><USER8> I think this has to be the 10th time this article was posted on HN. Seems as if every college student discovers this paper and thinks they are the first one.

<comment><AUTHOR> really?! I'm a 35 year-old physician with a degree in physics. I just heard about in a biography and looked it up and posted it. Do you think that we should resist citing interesting articles in absolute favor of novelty at all costs? Is every character worth the same? In that case, we should probably fire you and get someone cheaper.

<comment><USER9> You are ignoring the fact that an interesting article is much less interesting the tenth time it is posted.

<comment><AUTHOR> No, until now I was ignoring the fact that a few folks seem to have added some evidence that it is possible to spend way to much time on HN.

</comment></comment></comment></comment><comment><USER10> _Technological progress frequently results in more unemployment rather than in an easing of the burden of work for all. The profit motive, in conjunction with competition among capitalists, is responsible for an instability in the accumulation and utilization of capital which leads to increasingly severe depressions._

One of the promises of increased automation was supposed to be more leisure time for the individual. If Einstein is correct, and he may well be, then future economic restructurings may be far worse than than the one we are experiencing now.

<comment><USER11> "One of the promises of increased automation was supposed to be more leisure time for the individual."

Unions have pretty much put a stop to the automation of most industries.

</comment></comment><comment><USER12> Meh. There's no unique claims in this essay, and it really does not matter that Einstein wrote it, it still has a lot of erraneous assumptions about value creation.</comment>


Powerful battery informer and save power assistant for Mac - <AUTHOR> Wattagio is powerful battery assistant. It informs you about current battery health and helps to decrease power usage. Flexible settings in the application give you options to customize your profile to meet your needs.
Features:
-Helps you to keep battery healthy -Reads out the raw battery data to give you more precise information -Detailed stats & health Information for MacBook's battery -Shows proportion of battery used by each app -Customizable battery status in menu bar for every mode (On Battery/Charging/Full Charged) -Automatically closes applications being unused for a long time -Comfortable notifications help to determine applications that consume big amount of MacBook's energy -Battery widget -Battery level notifications -Airplane mode
Customizable battery status in menu bar - advanced battery settings in menu help to adjust many options: battery's level in percentage, amperage, tension, temperature, horizontal or vertical battery status icon. https://wattagio.com/ <comment><AUTHOR> Hi! We're excited to launch Watagio. Wattagio is your assistant. Using it, you can not think which app is discharging the battery of your MacBook, it will show you them and close it yourself, according to your settings. Airplane mode will quickly turn off all wireless networks with one click. And these are just a few of the many useful features. We are glad to know that this app is useful for you. Try Wattagio for free and try all the features. We are glad to answer any of your questions! [https://wattagio.com/](https://wattagio.com/)

<comment><USER2> Do you want to add a 'Show HN:' prefix to your submission?

<comment><AUTHOR> Yes</comment></comment></comment>


The (un)Official Hacker Tee - <AUTHOR> http://shop.joelglovier.com/product/hacker-tee

<comment><USER2> Ouch. Tough crowd here. I've designed a few t-shirt websites in my day and I just want to say that your JAG Shop is really, really well done. The typography, the cleanliness, the sliding images on the homepage... nice work.

<comment><AUTHOR> Hah, thanks alot jbenz! I appreciate the encouragement.

</comment></comment><comment><USER3> This would make a great gift for programmers I don't like.

</comment><comment><USER4> It's a little heavy-handed... don't you think?

<comment><AUTHOR> What do you mean by "heavy-handed"?

<comment><USER4> 1\. Clumsy; awkward.

2\. Tactless; indiscreet.

3\. Oppressive; harsh.

<comment><AUTHOR> Posting my t-shirt design here? Is that what you mean? Or the design itself?

If you mean posting the shirt, I'm sorry you don't like it. Just thought some other hackers may enjoy it. I had over 100 people who loved it enough to back it as a Kickstarter project.

If you mean the shirt design itself, then I'm not sure I even understand your perspective.

Peace.

</comment></comment></comment></comment><comment><USER5> Could save your time and just skip right to something like this: <http://www.zazzle.com/pretension_tshirt-235267390483827838>

<comment><AUTHOR> LOL that's awesome.

</comment></comment><comment><USER6> wonder if this shirt would make me more prone to "random" search via the tsa</comment>


Ask HN: Salary Expectation for Junior Developer - <AUTHOR> How do you answer this question if you are a junior developer, with no work experience just side projects? <comment><USER2> Find companies you want to work for, then look on glassdoor for salaries.

Location + tech stack determine your salary and there is no single answer. If you find comparative salaries to your skill set you can pretty much ask for that, refuse to go lower and get the salary you want.

</comment><comment><USER3> Look at your market, maybe off of angel-list, go off of that.

In the Midwest (at least Houston), about 50k starting is reasonable until you prove your value, including insurance.

Naturally, you should seek to increase this number soonest.</comment>


Ask HN: Easiest Way To Formalize with Cofounder - <AUTHOR>

My cofounder and I are looking to formalize our arrangment.  Is there a legalzoom for start-ups or anything to make it easy to work through all the issues and file all the necessary papers.  We don't want to shell out tons for attorneys at this point or over-complicate this but we do need to form an entity as are starting to work with outside parties. <comment><USER2> Forming a startup without a real lawyer is very difficult, especially if you have to create contracts with outside parties. For a basic incorporation and issuing of shares, you are looking at a few thousand in legal fees. Though it may seem like a lot, it's best to do it correctly from the start, rather than doing it multiple times.

<comment><USER3> I'm going to echo the 'real lawyer' advice. It's really not that expensive - your first consultation is likely free, giving you the ability to shop around to find a firm that you trust. With the right lawyer and a boilerplace incorporation, you should be able to get incorporated with only $2-3K.

Though there's nothing terribly complicated about forming an S-Corp or a LLC (the two entities you'd be likely to form), there are a lot of little niggles that, should you get wrong, can go _very_ wrong. Allow me to remind you of this disaster that happened on HN just a few days ago: <http://news.ycombinator.com/item?id=2399139>

tl;dr Don't hack your legal stuff. Get a real lawyer.

</comment></comment><comment><USER4> Depends on what type of business. My first startup was a mobile app development business, so I formed an LLC on LegalZoom. It was no more than $200.

My current startup, Munch On Me, was going to be much bigger and I needed several contracts drafted with founders and such. I knew I wanted funding eventually so I set it up as a C Corporation from the start. Legal fees are in the several thousands for a good lawyer. There was a lot of customization in the process, which is why it costs so much as opposed to a one stop shop like LegalZoom.

</comment><comment><USER5> Like @rdon stated, lawyers cost a lot, and that's fine if you have the capital. But if you are in the early stages of a start-up without the resources, all you need is a written document that states your terms that you would liked 'formalized', make a copy of it (prevents people from conveniently misplacing it), then both sign it with dates (consider having a witness sign it too). Then in the event that you need to 'sort' things out, both your pieces of the signed document act as your contact.

</comment><comment><USER6> I still dont understand why your startup incorporation has to be very difficult and expensive. There should be a template that works for 90% of startup cases(which would avoid any unneccessary annual taxes as mentioned in the HN post several days ago).

<comment><AUTHOR> This is what I had in mind. Are there specific templates that are recommended or heavily used?

</comment></comment><comment><USER7> <http://nolo.com></comment>


Ask HN: Where do you want to work? - <AUTHOR> I'm 21, graduating college in May, have a solid resume and experience, and want to explore the world a bit. Where would you suggest I apply to (companies) or travel to (locations)? <comment><USER2> How can someone possibly give you a meaningful answer to this question if you don't provide basic information about yourself?

\- What country do you currently live in?

\- What did you study in college?

\- What kind of jobs are you interested in?

\- What kind of experience do you currently have?

\- Do you prefer big or small companies?

For example, if your interest is in programming embedded systems, people aren't going to recommend that you go work for Facebook, and if you like building web sites, you probably wouldn't be interested in working at Qualcomm.

</comment><comment><AUTHOR> No? okay.</comment>


How an informal IM exchange cost one business a million dollars - <AUTHOR> http://blog.ericgoldman.org/archives/2011/03/court_rules_tha.htm

<comment><USER2> Judging from the article alone, this seems like a triumph for common sense. When a guy with the title of Vice President promises you money, in writing, you should be able to rely on that promise.

The defendants tried a variety of lame excuses for why they should not be held to their promises, and the court preferred the common sense interpretation of the conversation.

Bravo!

<comment><USER3> An argument could be made that IM, while written in form, is actually oral communication due to its characteristics. In fact, many linguicist consider IM and texts as verbal communication.

<comment><USER4> > many linguicist consider IM and texts as verbal communication

All linguists consider IM and texts as verbal communication{1}. The same for books, magazines, and websites: the word "verbal" generally just means "using words." Non-verbal would mean communicating without using words--such as pointing your finger, taking an item from the shelf, or giving a suggestive look.

You really mean "oral" versus "written."

It's not just pedantry; in cases like this the difference between "verbal" and "oral" is part of what is at stake. And for any startup, it's important to understand the legal language in agreements you make. The term "verbal agreement" has become so abused by the media, but it still makes a difference among lawyers (who might one day control the fate of that contract you signed).

{1} A smiley-face in a text or IM is borderline, but I assume you mean something like "NO LIMIT!" from OP.

<comment><USER5> One of the accepted meanings of "verbal" is "spoken, rather than written" [1].

[1] <http://www.merriam-webster.com/dictionary/verbal>

</comment></comment></comment></comment><comment><USER6> Since some will wonder, an e-cigarette is "an electrical device that attempts to simulate the act of tobacco smoking by producing an inhaled mist bearing the physical sensation, appearance, and often the flavor and nicotine content of inhaled tobacco smoke." <http://en.wikipedia.org/wiki/Electronic_cigarette>

So, it's a physical object that makes you feel like you're smoking a real cigarette. I was picturing some kind of software. :)

<comment><USER7> One of my colleagues recently bought one of these and has been puffing away at his desk and in meetings. He paid $200 for his but I've seen them for about $10 on Dealextreme. The article talks about a $45 referral fee so I guess the markup is quite high. Interesting side note is that his "cigarette" is USB rechargeable.

</comment></comment><comment><USER8> I do find it slightly troubling that a single utterance of "NO LIMIT" is enough to alter a contract.

"NO LIMIT" is not very explicit in what it refers to.

A contract signed and in place was able to be refined without additional signatures nullifying the previous contract -- This is a scary precedent. May there be mercy on anyone that IMs me something that could be perceived as altering a contract we have.

<comment><USER9> As the article notes, the court considered whether there could be any other feasible explanation for the "NO LIMIT" response - and Smoking Everywhere failed to provide one.

An agreement to modify a contract is subject to the same requirements as the formation of an initial contract - it requires a "meeting of minds" (the trite legal phrase for it).

So to avoid taking on unwanted contractual obligations from your hypothetical IMer, don't say "SURE, DEAL" in a situation where it might reasonably be considered a commercial agreement :).

<comment><USER8> I understand that the court offered to allow an explanation for the "NO LIMIT" response, but that is not where I was going with the lack of explicitness with the "NO LIMIT" response.

What is troubling about it is that contracts can be altered (by an IM conversation no less) from extremely explicit verbiage to less explicit verbiage.

But be careful to note that I am not so much concerned about the particular case in question, but rather the precedent it sets.

More regarding this case - I am shocked a single person has the ability to completely nullify a previous contract stipulation and provide a new one without so much as a signature.

<comment><USER10> I agree, it seems strange that the clause in the contract, which before must have been something along the lines of "$45.00 per referral, to a daily maximum of $XX or 200 referrals..." has been changed to simply "NO LIMIT." Add to that the fact of how vague "NO LIMIT" as a statement is (perhaps he meant "NO, LIMIT"?) and the dubious authenticity of the actual purchases, and it seems strange to me that this was decided in favor of the affiliate.

<comment><USER11> The VP could have responded to "awesome!" with "I think you didn't understand me if you think that's awesome. I meant, 'NO, THERE IS A LIMIT.'"

But he didn't.

</comment></comment></comment></comment></comment><comment><USER12> How did the court verify the authenticity of the IMs?

<comment><USER13> The same way they verify anything else: one side says "These are IMs", the other side declines to say "No, they aren't" (wisely).

<comment><USER12> This is where I was leading with my original question. If the IMs _are_ contested, what happens then? Do we go to the ISP? What if the session is encrypted? Do we go to the IM service provider? Ultimately, the burden of proof should be on CX to actually prove those are the IMs, right? Would CX have the ability to request logs from a provider anyway, since this is a civil case?

I think it's important to know the answers to these questions because anyone can show up in court one day claiming to have incriminating IM chats for XYZ - so the question is how to prove it's false, or what happens if they are false.

<comment><USER14> Bad things happen to people who fake documents or falsely claim real documents are fake. Your lawyer will be disbarred if he knows or suspects and doesn't report you. I don't think it happens because people would rather lose their company's money, even a lot of it, before they want to go to jail.

</comment></comment></comment></comment><comment><USER15> So basically one affiliate was generating sales of $50000 / day for these. Impressive.

<comment><USER16> Some affiliates are phenomenal marketers. Frank Kern claims to have made 23.8 Million dollars with one of his product launches. In 24 hours.

<comment><USER15> What impressed me was that this $50k/day was from a court document, so I assume it to be true. With affiliates it's often difficult to know, since they have an incentive to project success to boost e-book sales.

<comment><USER17> >With affiliates it's often difficult to know, since they have an incentive to project success to boost e-book sales.

If you're a successful affiliate I find it hard to imagine that you'd want to write an e-book and even harder to imagine that you want to have more people competing with you for affiliate money. So presumably the intention is to go pyramid and get referral fees for those you subscribe in?

<comment><USER18> More money in selling dreams than products

</comment></comment></comment></comment></comment><comment><USER19> Why was Smoking Everywhere upset? They got around 1244*30 + 670 sales. Based on their agreement of $45 per sale, that's about 1.7 million.

Isn't that what they want? Lots of sales?

<comment><USER20> That's how much they had to pay out to the affiliate network operator, in return for successfully completed registration forms for a free trial Smoking Everywhere was running. It's most likely that they had a limited amount of resources to dedicate to the campaign.

<comment><USER19> So why did they keep taking orders? Shut down their website if they don't want orders. Or don't make a deal for $45 in the first place.

</comment></comment></comment><comment><USER21> From reading the article it sounds like SE decided they did not want to pay for services rendered then tried to hide behind an obviously modified contract to limit cash outflow 20 < 200 referrals per day.

So I think the headline of this post is a little misleading.

Its is widely accepted that affiliate marketers can borderline on sleazy but my experience with e-cigarette dealers makes them look like saints in comparison.

</comment><comment><USER22> Of course, the solution is not to put stuff like that into the contract.</comment>


Ask HN: I want to start a security company, where should I start? - <AUTHOR>

Hi guys, I've been thinking a lot recently about starting my own security/network security business; but I don't know where I should start. Any advice? <comment><USER2> If you're in the bayarea, let's talk! firstname.lastname@example.com</comment>


Go does not inline functions when it should - <AUTHOR> https://lemire.me/blog/2017/09/05/go-does-not-inline-functions-when-it-should/ <comment><USER2> >My expectation would be that Go and Java should have similar performance in due time. Indeed, both are modern garbage-collected languages supported by major corporations with deep pockets.

Google only dedicates a small amount of resources to Go, the vast majority of Google's software is not written in Go nor is that planned.

In contrast Java has enormous enterprise support, and not just one company throwing money and manpower at it.

You can run a profitable company which does nothing but develop and sell a special purpose garbage collector for Java.. try that with Go.

No, the comparison does not fit at all. Java is in a completely different league.

</comment><comment><USER3> Not sure if this is a fair comparison/criticism. Java has had 20 years to optimize what it does and doesn't inline and it isn't perfect either.

<comment><USER4> Who cares about fairness? This isn't about whether you like Go, or like its creators. It's about the performance characteristics of the language. And there the question is whether the comparison is representative, which sounds a bit like "fair", but isn't really the same thing.[0]

The point about 20 years to optimize only matters so far as it gives you some reason to believe that Go will improve, and catch up or surpass Java. If your timeline is a decade or more, that's quite important. If your timeline is this year, it's not.

[0] I think there's a lot of room to criticize this benchmark's representativeness. It's literally one case.

</comment></comment><comment><USER5> Micro benchmarks don't matter. Only particular benchmarks of your project/system matter. Benchmarks of how fast your team produces value matter most.

<comment><USER6> A benchmark of how quickly a development team produces value has no relevance whatsoever to whether a language can, or should, be more aggressive at function inlining. These two notions are orthogonal.

The benchmark detailed doesn't necessarily make a bulletproof case for the usefulness of more inlining in the Go compiler, as it's only a single benchmark, but for its intended purpose it at least shines a light on one aspect of the Go compiler the team may wish to evaluate more extensively in the future.

</comment></comment><comment><USER7> All in good time....

<comment><USER8> He could wait 2 weeks before Java9 is released.</comment></comment>